* {
box-sizing: border-box;
}

html {
font-size: 100%;
}

body {
margin: 0;
}

.pg_hdr {
background: #ffffff;
border-bottom: 1px solid #FAD3DF;
font-family: 'DM Sans', sans-serif;
}

.hdr_strip {
background: linear-gradient(90deg, #A1106B 0%, #7a0d52 100%);
padding: 8px 0;
}

.hdr_strip_in {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px;
}

.strip_contact {
display: flex;
align-items: center;
gap: 24px;
}

.strip_lnk {
color: #FAD3DF;
font-size: 13px;
font-weight: 400;
line-height: 1.55;
letter-spacing: 0.02em;
text-decoration: none;
transition: color 0.45s ease-in-out;
}

.strip_lnk:hover,
.strip_lnk:focus {
color: #ffffff;
outline: none;
background: transparent;
}

.strip_sep {
width: 1px;
height: 13px;
background: rgba(250, 211, 223, 0.35);
display: inline-block;
}

.hdr_nav_row {
padding: 16px 0 0 0;
}

.hdr_nav_in {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
display: flex;
align-items: stretch;
gap: 0;
}

.hdr_nav_list {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 0;
list-style: none;
margin: 0;
padding: 0;
flex: 1;
justify-content: flex-end;
}

.hdr_nav_list li {
display: block;
}

.hdr_nav_list li a {
display: block;
color: #2d0a1e;
font-size: 13px;
font-weight: 500;
line-height: 1.55;
letter-spacing: 0.03em;
text-decoration: none;
padding: 16px 16px;
position: relative;
transition: color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hdr_nav_list li a::after {
content: '';
display: block;
position: absolute;
bottom: 0;
left: 16px;
right: 16px;
height: 2px;
background: #1EE6F9;
border-radius: 2px;
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.hdr_nav_list li a:hover,
.hdr_nav_list li a:focus {
color: #A1106B;
outline: none;
background: transparent;
}

.hdr_nav_list li a:hover::after,
.hdr_nav_list li a:focus::after {
transform: scaleX(1);
}

.hdr_brand_row {
max-width: 1170px;
margin: 0 auto;
padding: 16px 40px 24px 40px;
display: flex;
align-items: center;
gap: 24px;
}

.logo_ring {
width: 64px;
height: 64px;
border-radius: 40px;
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
margin-left: 8px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07), 2px 4px 28px 0 rgba(30, 230, 249, 0.10), 0 0 0 3px #FAD3DF, 0 0 0 5px #A1106B;
overflow: hidden;
}

.logo_ring img {
width: 55px;
height: 55px;
object-fit: contain;
display: block;
}

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

.brand_nm {
font-size: 23px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0510;
font-family: 'DM Sans', sans-serif;
}

.brand_nm span {
color: #A1106B;
}

.brand_tag {
font-size: 13px;
font-weight: 300;
line-height: 1.55;
letter-spacing: 0.04em;
color: #5a2040;
font-family: 'DM Sans', sans-serif;
}

.trust_badge {
margin-left: auto;
display: flex;
align-items: center;
gap: 16px;
padding: 16px 24px;
background: linear-gradient(135deg, #FAD3DF 0%, #f5e8ef 100%);
border-radius: 12px;
border: 1px solid rgba(161, 16, 107, 0.15);
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.badge_icon {
width: 40px;
height: 40px;
border-radius: 24px;
background: #A1106B;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.badge_icon svg {
width: 20px;
height: 20px;
display: block;
}

.badge_info {
display: flex;
flex-direction: column;
gap: 0;
}

.badge_val {
font-size: 23px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.02em;
color: #A1106B;
font-family: 'DM Sans', sans-serif;
}

.badge_desc {
font-size: 13px;
font-weight: 400;
line-height: 1.55;
letter-spacing: 0.02em;
color: #5a2040;
font-family: 'DM Sans', sans-serif;
}

.pg_ftr {
background: #1a0510;
font-family: 'DM Sans', sans-serif;
}

.ftr_top {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px 40px 40px;
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.ftr_logo_col {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
flex: 0 0 auto;
}

.ftr_logo_ring {
width: 64px;
height: 64px;
border-radius: 40px;
background: #2d0a1e;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07), 2px 4px 28px 0 rgba(30, 230, 249, 0.10), 0 0 0 2px #A1106B;
overflow: hidden;
}

.ftr_logo_ring img {
width: 55px;
height: 55px;
object-fit: contain;
display: block;
}

.ftr_copy {
font-size: 13px;
font-weight: 300;
line-height: 1.55;
letter-spacing: 0.03em;
color: rgba(250, 211, 223, 0.55);
text-align: center;
}

.ftr_mid {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px;
padding-left: 40px;
}

.ftr_brand_nm {
font-size: 23px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.02em;
color: #ffffff;
font-family: 'DM Sans', sans-serif;
}

.ftr_brand_nm span {
color: #1EE6F9;
}

.ftr_tagline {
font-size: 13px;
font-weight: 300;
line-height: 1.55;
letter-spacing: 0.04em;
color: rgba(250, 211, 223, 0.7);
}

.ftr_nav_row {
display: flex;
align-items: center;
gap: 24px;
margin-top: 8px;
flex-wrap: wrap;
}

.ftr_nav_lnk {
font-size: 13px;
font-weight: 400;
line-height: 1.55;
letter-spacing: 0.03em;
color: rgba(250, 211, 223, 0.65);
text-decoration: none;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ftr_nav_lnk:hover,
.ftr_nav_lnk:focus {
color: #1EE6F9;
outline: none;
}

.ftr_divider {
max-width: 1170px;
margin: 0 auto;
padding: 0 40px;
}

.ftr_divider_line {
height: 1px;
background: linear-gradient(90deg, transparent 0%, rgba(161, 16, 107, 0.4) 30%, rgba(30, 230, 249, 0.3) 70%, transparent 100%);
}

.ftr_bottom {
max-width: 1170px;
margin: 0 auto;
padding: 24px 40px 40px 40px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 16px;
}

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

.ftr_legal_links li a {
font-size: 13px;
font-weight: 400;
line-height: 1.55;
letter-spacing: 0.02em;
color: rgba(250, 211, 223, 0.45);
text-decoration: none;
transition: color 0.45s ease-in-out;
}

.ftr_legal_links li a:hover,
.ftr_legal_links li a:focus {
color: #FAD3DF;
outline: none;
}

.ftr_addr {
font-size: 13px;
font-weight: 300;
line-height: 1.55;
letter-spacing: 0.02em;
color: rgba(250, 211, 223, 0.35);
text-align: right;
}

.ck_bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 2000;
background: #1a0510;
border-top: 2px solid #A1106B;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
font-family: 'DM Sans', sans-serif;
transform: translateY(100%);
transition: transform 0.32s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.ck_bar.ck_vis {
transform: translateY(0);
}

.ck_in {
max-width: 1170px;
margin: 0 auto;
padding: 24px 40px;
display: flex;
align-items: center;
gap: 24px;
flex-wrap: wrap;
}

.ck_txt {
flex: 1;
font-size: 13px;
font-weight: 400;
line-height: 1.55;
letter-spacing: 0.02em;
color: rgba(250, 211, 223, 0.8);
min-width: 240px;
}

.ck_acts {
display: flex;
align-items: center;
gap: 16px;
flex-shrink: 0;
}

.ck_btn {
display: inline-block;
padding: 16px 24px;
background: #A1106B;
color: #ffffff;
font-size: 13px;
font-weight: 500;
line-height: 1.1;
letter-spacing: 0.03em;
border: none;
border-radius: 6px;
cursor: pointer;
font-family: 'DM Sans', sans-serif;
transition: background 0.45s ease-in-out, box-shadow 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
min-height: 44px;
}

.ck_btn:hover,
.ck_btn:focus {
background: #8a0d5b;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
outline: none;
border: none;
}

.ck_deny {
font-size: 13px;
font-weight: 400;
line-height: 1.55;
letter-spacing: 0.02em;
color: rgba(250, 211, 223, 0.55);
background: none;
border: none;
cursor: pointer;
font-family: 'DM Sans', sans-serif;
padding: 16px 8px;
min-height: 44px;
transition: color 0.45s ease-in-out;
}

.ck_deny:hover,
.ck_deny:focus {
color: #FAD3DF;
outline: none;
}

@media (max-width: 768px) {
.hdr_strip_in {
padding: 0 24px;
}

.hdr_nav_in {
padding: 0 24px;
}

.hdr_brand_row {
padding: 16px 24px 24px 24px;
flex-wrap: wrap;
}

.trust_badge {
margin-left: 0;
width: 100%;
}

.hdr_nav_list {
justify-content: flex-start;
}

.hdr_nav_list li a {
padding: 16px 8px;
}

.ftr_top {
padding: 40px 24px 24px 24px;
flex-direction: column;
align-items: flex-start;
}

.ftr_mid {
padding-left: 0;
}

.ftr_bottom {
padding: 24px 24px 40px 24px;
flex-direction: column;
align-items: flex-start;
}

.ftr_addr {
text-align: left;
}

.ck_in {
padding: 24px;
}

.ftr_divider {
padding: 0 24px;
}
}

.content-legal {
max-width: 1170px;
margin: 0 auto;
padding: 80px 40px;
color: #2a1a22;
line-height: 1.55;
}

.content-legal h1 {
font-size: clamp(45px, 6vw, 62px);
line-height: 1.1;
letter-spacing: -0.03em;
color: #A1106B;
margin-bottom: 40px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 2px solid #FAD3DF;
}

.content-legal h2 {
font-size: clamp(23px, 3.5vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0d14;
margin-top: 80px;
margin-bottom: 24px;
}

.content-legal h3 {
font-size: clamp(23px, 2.5vw, 23px);
line-height: 1.55;
letter-spacing: -0.01em;
color: #A1106B;
margin-top: 40px;
margin-bottom: 16px;
}

.content-legal h4 {
font-size: 23px;
line-height: 1.55;
letter-spacing: 0em;
color: #2a1a22;
margin-top: 24px;
margin-bottom: 16px;
}

.content-legal h5 {
font-size: 13px;
line-height: 2.0;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #A1106B;
margin-top: 24px;
margin-bottom: 8px;
}

.content-legal h6 {
font-size: 13px;
line-height: 2.0;
letter-spacing: 0.06em;
color: #5a3a4a;
margin-top: 16px;
margin-bottom: 8px;
}

.content-legal p {
font-size: 23px;
line-height: 1.55;
color: #2a1a22;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch;
}

.content-legal ul,
.content-legal ol {
font-size: 23px;
line-height: 1.55;
color: #2a1a22;
margin-top: 0;
margin-bottom: 24px;
padding-left: 40px;
max-width: 72ch;
}

.content-legal ul {
list-style: none;
padding-left: 24px;
}

.content-legal ul li {
position: relative;
padding-left: 24px;
margin-bottom: 8px;
}

.content-legal ul li::before {
content: "";
position: absolute;
left: 0;
top: 12px;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: #1EE6F9;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
}

.content-legal ol {
list-style: decimal;
}

.content-legal ol li {
padding-left: 8px;
margin-bottom: 8px;
}

.content-legal ol li::marker {
color: #A1106B;
font-weight: 700;
}

.content-legal li ul,
.content-legal li ol {
margin-top: 8px;
margin-bottom: 8px;
}

.content-legal strong,
.content-legal b {
font-weight: 700;
color: #1a0d14;
}

.content-legal em,
.content-legal i {
font-style: italic;
color: #5a3a4a;
}

.content-legal a {
color: #A1106B;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.45s ease-in-out, text-decoration-color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.content-legal a:hover {
color: #1EE6F9;
text-decoration-color: #1EE6F9;
}

.content-legal a:focus-visible {
outline: 2px solid #1EE6F9;
outline-offset: 2px;
border-radius: 2px;
}

.content-legal table {
width: 100%;
border-collapse: collapse;
margin-bottom: 40px;
font-size: 13px;
line-height: 2.0;
letter-spacing: 0.02em;
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
}

.content-legal thead {
background-color: #A1106B;
}

.content-legal thead th {
color: #ffffff;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
padding: 16px 24px;
text-align: left;
border: none;
}

.content-legal tbody tr {
background-color: #ffffff;
transition: background-color 0.45s ease-in-out;
}

.content-legal tbody tr:nth-child(even) {
background-color: #FAD3DF;
}

.content-legal tbody tr:hover {
background-color: #f5e8ee;
}

.content-legal td {
padding: 16px 24px;
color: #2a1a22;
border-bottom: 1px solid #FAD3DF;
vertical-align: top;
}

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

.content-legal div {
max-width: 100%;
}

.content-legal div+div {
margin-top: 24px;
}

@media (max-width: 768px) {
.content-legal {
padding: 40px 24px;
}

.content-legal h2 {
margin-top: 40px;
}

.content-legal p,
.content-legal ul,
.content-legal ol {
font-size: 23px;
max-width: 100%;
}

.content-legal table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 6px;
}

.content-legal thead th,
.content-legal td {
padding: 16px;
white-space: nowrap;
}
}

@media (max-width: 480px) {
.content-legal {
padding: 40px 16px;
}

.content-legal ul,
.content-legal ol {
padding-left: 16px;
}

.content-legal ul li {
padding-left: 16px;
}
}

.lp-det {
max-width: 100%;
overflow-x: clip;
}

.lp-det .pg-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.lp-det .pg-wrap.wide {
max-width: 1170px;
}

.lp-det a {
color: #A1106B;
text-decoration: none;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det a:hover {
color: #1EE6F9;
}

.lp-det .dot-acc {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 40px;
background: #A1106B;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -2px;
}

.lp-det .arr-lnk {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 13px;
letter-spacing: 0.04em;
color: #A1106B;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det .arr-lnk svg {
transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det .arr-lnk:hover svg {
transform: translateX(5px);
}

.lp-det .arr-lnk:hover {
color: #1EE6F9;
}

.lp-det .kw-hl {
background: #FAD3DF;
padding: 2px 6px;
border-radius: 6px;
color: #A1106B;
}

.lp-det .diag-line {
position: absolute;
width: 1px;
background: linear-gradient(17deg, transparent 0%, #1EE6F9 40%, transparent 100%);
opacity: 0.35;
pointer-events: none;
}

.lp-det button:focus-visible,
.lp-det a:focus-visible,
.lp-det input:focus-visible,
.lp-det textarea:focus-visible,
.lp-det select:focus-visible {
outline: 3px solid #1EE6F9 !important;
outline-offset: 3px !important;
}

.lp-det .btn-pri {
display: inline-flex;
align-items: center;
gap: 8px;
background: #A1106B;
color: #fff;
border: none;
border-radius: 12px;
padding: 16px 40px;
font-size: 13px;
letter-spacing: 0.06em;
cursor: pointer;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
transition: background 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.45s ease-in-out;
position: relative;
overflow: hidden;
}

.lp-det .btn-pri:hover {
background: #7d0d53;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.lp-det .btn-pri:active {
background: #5e0a3e;
}

.lp-det .btn-sec {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: transparent;
border: 2px solid #FAD3DF;
border-radius: 12px;
cursor: pointer;
transition: border-color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), background 0.45s ease-in-out;
}

.lp-det .btn-sec:hover {
border-color: #A1106B;
background: #FAD3DF;
}

.lp-det .chk-anim {
display: none;
align-items: center;
gap: 8px;
color: #A1106B;
font-size: 13px;
}

.lp-det .btn-pri.success .chk-anim {
display: inline-flex;
}

.lp-det .btn-pri.success .btn-txt {
display: none;
}

.lp-det .wave-div {
display: block;
width: 100%;
line-height: 0;
overflow: hidden;
}

.lp-det .wave-div svg {
display: block;
width: 100%;
}

.lp-det .desat-bg {
animation: desat-cycle 8s ease-in-out infinite;
}

@keyframes desat-cycle {
0% {
filter: saturate(1);
}

50% {
filter: saturate(0.3);
}

100% {
filter: saturate(1);
}
}

.lp-det .pat-dot {
position: absolute;
width: 4px;
height: 4px;
border-radius: 40px;
background: #FAD3DF;
pointer-events: none;
}

.lp-det .ttl-blk {
padding: 80px 0 40px;
position: relative;
}

.lp-det .ttl-blk .pg-wrap {
position: relative;
}

.lp-det .ttl-grid {
display: grid;
grid-template-columns: 340px 1fr;
gap: 40px;
align-items: start;
}

.lp-det .ttl-img-card {
position: relative;
border-radius: 24px;
overflow: hidden;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
aspect-ratio: 4/3;
}

.lp-det .ttl-img-card img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: blur(0px);
transition: filter 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det .ttl-img-card:hover img {
filter: blur(2px) brightness(0.92);
}

.lp-det .ttl-img-fore {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(17deg, rgba(161, 16, 107, 0.55) 0%, transparent 100%);
pointer-events: none;
}

.lp-det .ttl-img-badge {
position: absolute;
top: 16px;
left: 16px;
background: #fff;
border-radius: 6px;
padding: 8px 16px;
font-size: 13px;
color: #A1106B;
letter-spacing: 0.04em;
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.lp-det .ttl-txt {
padding: 16px 0;
}

.lp-det .ttl-pre {
font-size: 13px;
letter-spacing: 0.08em;
color: #A1106B;
margin-bottom: 16px;
line-height: 1.55;
}

.lp-det .ttl-h1 {
font-size: clamp(45px, 5vw, 62px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0011;
margin: 0 0 24px;
}

.lp-det .ttl-h1 em {
font-style: italic;
}

.lp-det .ttl-meta {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px;
margin-bottom: 24px;
}

.lp-det .meta-pill {
display: inline-flex;
align-items: center;
gap: 8px;
background: #fff;
border: 1.5px solid #FAD3DF;
border-radius: 6px;
padding: 8px 16px;
font-size: 13px;
color: #3d0025;
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.lp-det .meta-pill svg {
flex-shrink: 0;
color: #A1106B;
}

.lp-det .ttl-desc {
font-size: 23px;
line-height: 1.55;
color: #2a0018;
margin-bottom: 24px;
max-width: 560px;
}

.lp-det .ttl-actions {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
}

.lp-det .price-tag {
font-size: 23px;
line-height: 1.1;
color: #A1106B;
font-weight: 700;
}

.lp-det .price-note {
font-size: 13px;
color: #6b3050;
margin-top: 8px;
line-height: 1.55;
}

.lp-det .seats-warn {
display: inline-flex;
align-items: center;
gap: 8px;
background: #FAD3DF;
border-radius: 6px;
padding: 8px 16px;
font-size: 13px;
color: #A1106B;
margin-top: 16px;
}

.lp-det .seats-warn svg {
flex-shrink: 0;
}

.lp-det .prog-sec {
padding: 80px 0;
background: linear-gradient(17deg, #fff 60%, #FAD3DF 100%);
position: relative;
}

.lp-det .prog-sec .diag-line {
height: 100%;
top: 0;
right: 18%;
}

.lp-det .prog-lbl {
font-size: 13px;
letter-spacing: 0.08em;
color: #A1106B;
margin-bottom: 16px;
line-height: 1.55;
}

.lp-det .prog-h2 {
font-size: clamp(23px, 3vw, 45px);
line-height: 1.1;
letter-spacing: -0.01em;
color: #1a0011;
margin: 0 0 40px;
}

.lp-det .prog-body {
display: grid;
grid-template-columns: 1fr 320px;
gap: 40px;
align-items: start;
}

.lp-det .prog-content {
color: #2a0018;
font-size: 13px;
line-height: 1.55;
}

.lp-det .prog-content p {
margin: 0 0 16px;
font-size: 13px;
line-height: 1.55;
}

.lp-det .prog-content h2 {
font-size: 23px;
line-height: 1.1;
color: #1a0011;
margin: 24px 0 16px;
letter-spacing: -0.01em;
}

.lp-det .prog-content h3 {
font-size: 13px;
line-height: 1.55;
color: #A1106B;
letter-spacing: 0.04em;
margin: 16px 0 8px;
text-transform: uppercase;
}

.lp-det .prog-content ul {
margin: 0 0 16px;
padding-left: 24px;
}

.lp-det .prog-content li {
margin-bottom: 8px;
font-size: 13px;
line-height: 1.55;
}

.lp-det .prog-content strong {
color: #A1106B;
}

.lp-det .prog-content dl {
margin: 0 0 16px;
}

.lp-det .prog-content dt {
font-size: 13px;
font-weight: 700;
color: #1a0011;
margin-top: 16px;
}

.lp-det .prog-content dd {
margin: 8px 0 0 24px;
font-size: 13px;
line-height: 1.55;
}

.lp-det .prog-content details {
border: 1.5px solid #FAD3DF;
border-radius: 12px;
padding: 16px;
margin-bottom: 16px;
}

.lp-det .prog-content summary {
font-size: 13px;
font-weight: 700;
color: #A1106B;
cursor: pointer;
list-style: none;
padding-right: 24px;
position: relative;
}

.lp-det .prog-content summary::after {
content: '';
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
width: 8px;
height: 8px;
border-right: 2px solid #A1106B;
border-bottom: 2px solid #A1106B;
transform: translateY(-70%) rotate(45deg);
transition: transform 0.45s ease-in-out;
}

.lp-det .prog-content details[open] summary::after {
transform: translateY(-30%) rotate(-135deg);
}

.lp-det .metrics-panel {
background: #fff;
border-radius: 24px;
padding: 24px;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
position: sticky;
top: 24px;
}

.lp-det .metrics-h {
font-size: 13px;
letter-spacing: 0.06em;
color: #A1106B;
margin-bottom: 24px;
line-height: 1.55;
text-transform: uppercase;
}

.lp-det .metric-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
gap: 16px;
}

.lp-det .metric-row:last-child {
margin-bottom: 0;
}

.lp-det .metric-lbl {
font-size: 13px;
color: #6b3050;
line-height: 1.55;
min-width: 80px;
}

.lp-det .metric-bar-wrap {
flex: 1;
height: 6px;
background: #FAD3DF;
border-radius: 6px;
overflow: hidden;
}

.lp-det .metric-bar {
height: 100%;
border-radius: 6px;
background: linear-gradient(17deg, #A1106B 0%, #1EE6F9 100%);
transition: width 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det .metric-val {
font-size: 13px;
color: #A1106B;
font-weight: 700;
min-width: 32px;
text-align: right;
}

.lp-det .desc-sec {
padding: 0;
position: relative;
}

.lp-det .diag-split {
position: relative;
background: linear-gradient(17deg, #FAD3DF 0%, #FAD3DF 45%, #fff 45%, #fff 100%);
padding: 80px 0;
}

.lp-det .diag-split .diag-line {
height: 80%;
top: 10%;
left: 30%;
}

.lp-det .desc-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: start;
}

.lp-det .desc-left {
padding-right: 0;
}

.lp-det .desc-h2 {
font-size: clamp(23px, 3vw, 45px);
line-height: 1.1;
letter-spacing: -0.01em;
color: #1a0011;
margin: 0 0 24px;
}

.lp-det .desc-body {
color: #2a0018;
font-size: 13px;
line-height: 1.55;
}

.lp-det .desc-body p {
margin: 0 0 16px;
font-size: 13px;
line-height: 1.55;
}

.lp-det .desc-body h2 {
font-size: 23px;
line-height: 1.1;
color: #1a0011;
margin: 24px 0 16px;
}

.lp-det .desc-body h3 {
font-size: 13px;
line-height: 1.55;
color: #A1106B;
letter-spacing: 0.04em;
margin: 16px 0 8px;
text-transform: uppercase;
}

.lp-det .desc-body ol {
margin: 0 0 16px;
padding-left: 24px;
}

.lp-det .desc-body li {
margin-bottom: 8px;
font-size: 13px;
line-height: 1.55;
}

.lp-det .desc-body strong {
color: #A1106B;
}

.lp-det .desc-body blockquote {
border-top: 2px solid #FAD3DF;
border-bottom: 2px solid #FAD3DF;
margin: 24px 0;
padding: 16px 24px;
color: #A1106B;
font-size: 23px;
line-height: 1.55;
letter-spacing: -0.01em;
}

.lp-det .desc-body cite {
display: block;
font-size: 13px;
color: #6b3050;
font-style: normal;
margin-top: 8px;
}

.lp-det .desc-body figure {
margin: 24px 0;
}

.lp-det .desc-body figcaption {
font-size: 13px;
color: #6b3050;
margin-top: 8px;
line-height: 1.55;
}

.lp-det .desc-body details {
border: 1.5px solid #FAD3DF;
border-radius: 12px;
padding: 16px;
margin-bottom: 16px;
}

.lp-det .desc-body summary {
font-size: 13px;
font-weight: 700;
color: #A1106B;
cursor: pointer;
}

.lp-det .desc-body dl {
margin: 0 0 16px;
}

.lp-det .desc-body dt {
font-size: 13px;
font-weight: 700;
color: #1a0011;
margin-top: 16px;
}

.lp-det .desc-body dd {
margin: 8px 0 0 24px;
font-size: 13px;
line-height: 1.55;
}

.lp-det .desc-right {
padding-top: 40px;
}

.lp-det .enroll-card {
background: #fff;
border-radius: 24px;
padding: 40px;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
position: relative;
overflow: hidden;
}

.lp-det .enroll-card .diag-line {
height: 100%;
top: 0;
left: 60%;
}

.lp-det .enroll-h {
font-size: 23px;
line-height: 1.1;
color: #1a0011;
margin: 0 0 16px;
letter-spacing: -0.01em;
}

.lp-det .enroll-price {
font-size: clamp(45px, 4vw, 62px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #A1106B;
margin-bottom: 8px;
}

.lp-det .enroll-pnote {
font-size: 13px;
color: #6b3050;
line-height: 1.55;
margin-bottom: 24px;
}

.lp-det .enroll-form {
display: flex;
flex-direction: column;
gap: 16px;
}

.lp-det .enroll-field {
display: flex;
flex-direction: column;
gap: 8px;
}

.lp-det .enroll-field label {
font-size: 13px;
color: #6b3050;
letter-spacing: 0.04em;
}

.lp-det .enroll-field input {
border: 1.5px solid #FAD3DF;
border-radius: 12px;
padding: 16px;
font-size: 13px;
color: #1a0011;
background: #fff;
transition: border-color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.45s ease-in-out;
box-shadow: inset 0 2px 4px 0 rgba(161, 16, 107, 0.04);
}

.lp-det .enroll-field input::placeholder {
color: #c9a0b5;
font-weight: 300;
}

.lp-det .enroll-field input:focus {
border-color: #1EE6F9;
box-shadow: inset 0 2px 4px 0 rgba(30, 230, 249, 0.08), 0 0 0 3px rgba(30, 230, 249, 0.15);
outline: none;
}

.lp-det .enroll-seats {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
background: #FAD3DF;
border-radius: 6px;
padding: 8px 16px;
font-size: 13px;
color: #A1106B;
}

.lp-det .enroll-seats svg {
flex-shrink: 0;
}

.lp-det .enroll-submit {
width: 100%;
justify-content: center;
}

.lp-det .anim-sec {
padding: 80px 0;
background: #fff;
position: relative;
}

.lp-det .anim-sec .desat-bg {
position: absolute;
inset: 0;
background: linear-gradient(17deg, rgba(30, 230, 249, 0.08) 0%, rgba(161, 16, 107, 0.06) 100%);
pointer-events: none;
border-radius: 2px;
}

.lp-det .anim-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 40px;
}

.lp-det .anim-card {
background: #fff;
border-radius: 24px;
padding: 24px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
border-top: 3px solid #FAD3DF;
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.45s ease-in-out;
position: relative;
overflow: hidden;
}

.lp-det .anim-card:hover {
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
border-color: #1EE6F9;
}

.lp-det .anim-card-num {
font-size: 62px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #FAD3DF;
font-weight: 900;
margin-bottom: 8px;
transition: color 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det .anim-card:hover .anim-card-num {
color: #A1106B;
}

.lp-det .anim-card-h {
font-size: 23px;
line-height: 1.1;
color: #1a0011;
margin: 0 0 8px;
letter-spacing: -0.01em;
}

.lp-det .anim-card-p {
font-size: 13px;
line-height: 1.55;
color: #6b3050;
margin: 0;
}

.lp-det .anim-h2 {
font-size: clamp(23px, 3vw, 45px);
line-height: 1.1;
letter-spacing: -0.01em;
color: #1a0011;
margin: 0 0 16px;
}

.lp-det .anim-sub {
font-size: 23px;
line-height: 1.55;
color: #6b3050;
max-width: 600px;
}

.lp-det .mask-reveal {
position: relative;
display: inline-block;
cursor: default;
}

.lp-det .mask-reveal .mask-txt {
background: linear-gradient(17deg, #A1106B 0%, #1EE6F9 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
transition: opacity 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lp-det .mask-reveal:hover .mask-txt {
opacity: 0.7;
}

@media (max-width: 900px) {
.lp-det .ttl-grid {
grid-template-columns: 1fr;
}

.lp-det .ttl-img-card {
max-width: 100%;
aspect-ratio: 16/9;
}

.lp-det .prog-body {
grid-template-columns: 1fr;
}

.lp-det .metrics-panel {
position: static;
}

.lp-det .desc-grid {
grid-template-columns: 1fr;
gap: 40px;
}

.lp-det .desc-right {
padding-top: 0;
}

.lp-det .diag-split {
background: #FAD3DF;
}

.lp-det .anim-grid {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 600px) {
.lp-det .ttl-h1 {
font-size: 45px;
}

.lp-det .ttl-meta {
flex-direction: column;
}

.lp-det .anim-grid {
grid-template-columns: 1fr;
}

.lp-det .ttl-actions {
flex-wrap: wrap;
}

.lp-det .enroll-card {
padding: 24px;
}

.lp-det .enroll-price {
font-size: 45px;
}
}

.upg-pg {
max-width: 100%;
overflow-x: hidden;
}

.upg-pg .upg-wrap {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.upg-pg .prog-band {
background: linear-gradient(17deg, #fff5f9 0%, #e8feff 60%, #fff 100%);
padding: 40px 0 40px;
position: relative;
}

.upg-pg .prog-band::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: #A1106B;
}

.upg-pg .prog-band::after {
content: "";
position: absolute;
top: 16px;
right: 40px;
width: 60px;
height: 60px;
border: 1.5px solid rgba(30, 230, 249, 0.35);
border-radius: 2px;
transform: rotate(15deg);
pointer-events: none;
}

.upg-pg .geo-corner {
position: absolute;
bottom: 16px;
left: 40px;
width: 40px;
height: 40px;
border-bottom: 1.5px solid rgba(161, 16, 107, 0.3);
border-left: 1.5px solid rgba(161, 16, 107, 0.3);
border-radius: 2px;
pointer-events: none;
}

.upg-pg .band-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
}

.upg-pg .band-text {
flex: 1 1 0;
min-width: 0;
}

.upg-pg .band-text .eyebrow {
font-size: 13px;
letter-spacing: 0.08em;
color: #A1106B;
font-weight: 600;
line-height: 1.55;
margin-bottom: 8px;
display: block;
}

.upg-pg .band-text h1 {
font-size: clamp(45px, 5.5vw, 62px);
line-height: 1.1;
letter-spacing: -0.025em;
color: #111;
margin: 0 0 16px;
font-weight: 800;
}

.upg-pg .band-text h1 em {
font-style: italic;
color: #A1106B;
}

.upg-pg .band-text .sub-line {
font-size: 23px;
line-height: 1.55;
color: #2a2a2a;
margin: 0 0 16px;
max-width: 480px;
}

.upg-pg .band-text .sub-line strong {
font-weight: 700;
color: #111;
}

.upg-pg .band-img {
flex: 0 0 340px;
position: relative;
}

.upg-pg .band-img img {
width: 340px;
height: 240px;
object-fit: cover;
border-radius: 12px;
display: block;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.upg-pg .band-img::before {
content: "";
position: absolute;
inset: -8px -8px 8px 8px;
border: 1.5px solid rgba(30, 230, 249, 0.4);
border-radius: 12px;
pointer-events: none;
z-index: 0;
}

.upg-pg .band-img img {
position: relative;
z-index: 1;
}

.upg-pg .blur-fg {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 60px;
background: linear-gradient(to top, rgba(255, 245, 249, 0.7), transparent);
border-radius: 0 0 12px 12px;
pointer-events: none;
z-index: 2;
}

.upg-pg .prog-grid-sec {
padding: 80px 0;
background: #fff;
position: relative;
}

.upg-pg .prog-grid-sec::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #1EE6F9 30%, #A1106B 70%, transparent);
}

.upg-pg .sec-head {
margin-bottom: 40px;
}

.upg-pg .sec-head h2 {
font-size: clamp(45px, 4vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #111;
margin: 0 0 8px;
font-weight: 800;
}

.upg-pg .sec-head h2 .dot-acc {
display: inline-block;
width: 8px;
height: 8px;
background: #1EE6F9;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px;
}

.upg-pg .sec-head p {
font-size: 23px;
line-height: 1.55;
color: #333;
margin: 0;
max-width: 560px;
}

.upg-pg .outer-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 24px;
align-items: start;
}

.upg-pg .prog-card {
background: #fff;
border-radius: 12px;
box-shadow: 2px 4px 28px 0 rgba(30, 230, 249, 0.10);
overflow: hidden;
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.upg-pg .prog-card::before {
content: "";
display: block;
height: 4px;
background: #1EE6F9;
border-radius: 12px 12px 0 0;
}

.upg-pg .prog-card:hover {
box-shadow: 2px 9px 40px 0 rgba(30, 230, 249, 0.11);
transform: translateY(-4px);
}

.upg-pg .prog-card.alt::before {
background: #A1106B;
}

.upg-pg .prog-card.feat::before {
background: linear-gradient(90deg, #1EE6F9, #A1106B);
height: 5px;
}

.upg-pg .card-body {
padding: 24px;
}

.upg-pg .card-body h3 {
font-size: 23px;
line-height: 1.55;
color: #111;
margin: 0 0 8px;
font-weight: 700;
letter-spacing: -0.01em;
}

.upg-pg .card-body .tag-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 16px;
}

.upg-pg .card-body .tag {
font-size: 13px;
line-height: 1.55;
background: #FAD3DF;
color: #A1106B;
border-radius: 6px;
padding: 2px 8px;
font-weight: 600;
letter-spacing: 0.04em;
}

.upg-pg .card-body .tag.cyan {
background: rgba(30, 230, 249, 0.15);
color: #0a7a88;
}

.upg-pg .card-body p {
font-size: 13px;
line-height: 2.0;
color: #444;
margin: 0 0 16px;
}

.upg-pg .card-meta {
display: flex;
flex-direction: column;
gap: 8px;
border-top: 1px solid #FAD3DF;
padding-top: 16px;
margin-top: 8px;
}

.upg-pg .meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.upg-pg .meta-row .meta-lbl {
font-size: 13px;
line-height: 1.55;
color: #888;
font-weight: 400;
letter-spacing: 0.03em;
flex: 0 0 90px;
}

.upg-pg .meta-row .meta-val {
font-size: 13px;
line-height: 1.55;
color: #111;
font-weight: 600;
}

.upg-pg .prog-card.feat {
grid-column: 1 / 3;
}

.upg-pg .feat-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 0;
}

.upg-pg .feat-inner .card-body {
padding: 24px;
}

.upg-pg .feat-inner h3 {
font-size: 23px;
line-height: 1.55;
}

.upg-pg .feat-sub {
background: rgba(30, 230, 249, 0.07);
padding: 24px;
border-radius: 0 0 12px 0;
}

.upg-pg .feat-sub h4 {
font-size: 13px;
line-height: 1.55;
color: #A1106B;
font-weight: 700;
letter-spacing: 0.06em;
text-transform: uppercase;
margin: 0 0 16px;
}

.upg-pg .module-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.upg-pg .module-list li {
font-size: 13px;
line-height: 2.0;
color: #333;
padding-left: 16px;
position: relative;
}

.upg-pg .module-list li::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 5px;
height: 5px;
background: #1EE6F9;
border-radius: 40px;
}

.upg-pg .tall-card {
grid-row: 1 / 3;
grid-column: 3 / 4;
}

.upg-pg .tall-card .card-body {
display: flex;
flex-direction: column;
height: 100%;
}

.upg-pg .prog-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 13px;
line-height: 1.55;
color: #A1106B;
font-weight: 700;
text-decoration: none;
letter-spacing: 0.04em;
margin-top: 16px;
transition: gap 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.upg-pg .prog-link:hover {
gap: 16px;
color: #1EE6F9;
}

.upg-pg .prog-link .arr {
display: inline-block;
width: 16px;
height: 16px;
position: relative;
flex-shrink: 0;
}

.upg-pg .prog-link .arr::before {
content: "";
position: absolute;
top: 50%;
left: 0;
width: 12px;
height: 1.5px;
background: currentColor;
transform: translateY(-50%);
}

.upg-pg .prog-link .arr::after {
content: "";
position: absolute;
top: 50%;
right: 0;
width: 6px;
height: 6px;
border-top: 1.5px solid currentColor;
border-right: 1.5px solid currentColor;
transform: translateY(-50%) rotate(45deg);
}

.upg-pg .outline-flicker {
animation: flicker-outline 3.5s ease-in-out infinite;
}

@keyframes flicker-outline {

0%,
100% {
outline: 2px solid transparent;
outline-offset: 3px;
}

48% {
outline: 2px solid transparent;
outline-offset: 3px;
}

50% {
outline: 2px solid rgba(30, 230, 249, 0.45);
outline-offset: 3px;
}

52% {
outline: 2px solid transparent;
outline-offset: 3px;
}

54% {
outline: 2px solid rgba(30, 230, 249, 0.3);
outline-offset: 3px;
}

56% {
outline: 2px solid transparent;
outline-offset: 3px;
}
}

.upg-pg .icon-spin {
display: inline-block;
width: 32px;
height: 32px;
margin-bottom: 8px;
animation: spin-settle 2.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s 1 forwards;
}

@keyframes spin-settle {
0% {
transform: rotate(0deg);
}

70% {
transform: rotate(375deg);
}

85% {
transform: rotate(355deg);
}

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

.upg-pg .prog-card.topo-bg {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cpath d='M10 100 Q50 60 100 80 Q150 100 190 70' fill='none' stroke='%23A1106B' stroke-width='0.5' opacity='0.08'/%3E%3Cpath d='M10 120 Q50 80 100 100 Q150 120 190 90' fill='none' stroke='%23A1106B' stroke-width='0.5' opacity='0.08'/%3E%3Cpath d='M10 140 Q50 100 100 120 Q150 140 190 110' fill='none' stroke='%231EE6F9' stroke-width='0.5' opacity='0.07'/%3E%3Cpath d='M10 80 Q50 40 100 60 Q150 80 190 50' fill='none' stroke='%231EE6F9' stroke-width='0.5' opacity='0.07'/%3E%3C/svg%3E");
background-repeat: repeat;
background-size: 200px 200px;
}

.upg-pg .bottom-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 0;
}

@media (max-width: 900px) {
.upg-pg .band-strip {
flex-direction: column;
gap: 24px;
}

.upg-pg .band-img {
flex: 0 0 auto;
width: 100%;
}

.upg-pg .band-img img {
width: 100%;
height: 200px;
}

.upg-pg .outer-grid {
grid-template-columns: 1fr;
}

.upg-pg .prog-card.feat {
grid-column: 1 / 2;
}

.upg-pg .feat-inner {
grid-template-columns: 1fr;
}

.upg-pg .tall-card {
grid-row: auto;
grid-column: 1 / 2;
}

.upg-pg .bottom-row {
grid-template-columns: 1fr;
}
}

@media (max-width: 600px) {
.upg-pg .band-text h1 {
font-size: 45px;
}

.upg-pg .prog-grid-sec {
padding: 40px 0;
}
}

.cnt_pg {
background: #fff;
overflow-x: clip;
}

.cnt_pg .pg_band {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.cnt_pg .ttl_strip {
padding: 80px 0 40px;
position: relative;
}

.cnt_pg .ttl_strip .pg_band {
display: flex;
flex-direction: row;
align-items: center;
gap: 80px;
}

.cnt_pg .ttl_left {
flex: 0 0 42%;
position: relative;
}

.cnt_pg .ttl_right {
flex: 1;
position: relative;
}

.cnt_pg .circ_dec {
position: absolute;
border-radius: 40px;
pointer-events: none;
overflow: hidden;
}

.cnt_pg .circ_dec.lg {
width: 320px;
height: 320px;
border-radius: 40px;
background: linear-gradient(17deg, rgba(30, 230, 249, 0.08) 0%, rgba(161, 16, 107, 0.05) 100%);
top: -80px;
right: -40px;
border-radius: 50%;
}

.cnt_pg .circ_dec.sm {
width: 120px;
height: 120px;
border-radius: 50%;
background: radial-gradient(circle at 30% 40%, rgba(161, 16, 107, 0.1) 0%, rgba(250, 211, 223, 0.15) 100%);
bottom: -24px;
left: -16px;
}

.cnt_pg .pg_eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
color: #A1106B;
text-transform: uppercase;
margin-bottom: 16px;
line-height: 1.55;
}

.cnt_pg .pg_h1 {
font-size: clamp(45px, 5vw, 62px);
line-height: 1.1;
letter-spacing: -0.03em;
color: #111;
margin: 0 0 24px;
}

.cnt_pg .pg_h1 em {
font-style: italic;
color: #A1106B;
}

.cnt_pg .pg_h1 .dot_acc {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background: #1EE6F9;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px;
}

.cnt_pg .pg_desc {
font-size: 23px;
line-height: 1.55;
color: #333;
margin: 0 0 40px;
max-width: 420px;
}

.cnt_pg .act_lnk {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 13px;
color: #A1106B;
text-decoration: none;
letter-spacing: 0.06em;
border-bottom: 2px solid rgba(161, 16, 107, 0.3);
padding-bottom: 4px;
transition: border-color 0.5s ease-in-out, gap 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cnt_pg .act_lnk:hover {
border-color: #A1106B;
gap: 16px;
}

.cnt_pg .act_lnk .arr {
display: inline-block;
width: 16px;
height: 2px;
background: #A1106B;
position: relative;
}

.cnt_pg .act_lnk .arr::after {
content: "";
position: absolute;
right: 0;
top: -3px;
width: 7px;
height: 7px;
border-right: 2px solid #A1106B;
border-top: 2px solid #A1106B;
transform: rotate(45deg);
}

.cnt_pg .ttl_vis {
background: linear-gradient(17deg, rgba(30, 230, 249, 0.12) 0%, rgba(250, 211, 223, 0.3) 60%, rgba(161, 16, 107, 0.08) 100%);
border-radius: 24px;
padding: 40px;
position: relative;
overflow: hidden;
}

.cnt_pg .ttl_vis::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 70% 30%, rgba(30, 230, 249, 0.15) 0%, transparent 60%);
border-radius: 24px;
}

.cnt_pg .ttl_vis_inner {
position: relative;
z-index: 1;
}

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

.cnt_pg .stat_item {
padding: 24px;
background: rgba(255, 255, 255, 0.85);
border-radius: 12px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
}

.cnt_pg .stat_num {
font-size: 45px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #A1106B;
display: block;
}

.cnt_pg .stat_lbl {
font-size: 13px;
line-height: 1.55;
color: #555;
letter-spacing: 0.04em;
}

.cnt_pg .frm_area {
padding: 80px 0;
background: #fff;
position: relative;
}

.cnt_pg .frm_area::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(17deg, #1EE6F9 0%, #FAD3DF 50%, #A1106B 100%);
}

.cnt_pg .frm_grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 40px;
align-items: start;
}

.cnt_pg .frm_col_accent {
grid-column: 1;
padding-top: 8px;
}

.cnt_pg .frm_col_main {
grid-column: 2 / 5;
}

.cnt_pg .accent_bar {
width: 6px;
height: 80px;
background: linear-gradient(17deg, #1EE6F9 0%, #A1106B 100%);
border-radius: 6px;
margin-bottom: 24px;
}

.cnt_pg .frm_side_lbl {
font-size: 13px;
line-height: 2.0;
color: #777;
letter-spacing: 0.08em;
writing-mode: vertical-rl;
transform: rotate(180deg);
text-transform: uppercase;
}

.cnt_pg .frm_h2 {
font-size: 45px;
line-height: 1.1;
letter-spacing: -0.025em;
color: #111;
margin: 0 0 8px;
}

.cnt_pg .frm_h2 .dot_acc {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 50%;
background: #A1106B;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px;
}

.cnt_pg .frm_sub {
font-size: 23px;
line-height: 1.55;
color: #444;
margin: 0 0 40px;
}

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

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

.cnt_pg .fld_grp {
display: flex;
flex-direction: column;
gap: 8px;
}

.cnt_pg .fld_grp.full {
grid-column: 1 / -1;
}

.cnt_pg .fld_lbl {
font-size: 13px;
letter-spacing: 0.06em;
color: #333;
line-height: 1.55;
}

.cnt_pg .fld_lbl .req {
color: #A1106B;
margin-left: 2px;
}

.cnt_pg .fld_inp {
padding: 16px;
border: 2px solid rgba(161, 16, 107, 0.15);
border-radius: 12px;
font-size: 13px;
line-height: 1.55;
color: #111;
background: #fff;
transition: border-color 0.5s ease-in-out, box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
outline: none;
width: 100%;
box-sizing: border-box;
}

.cnt_pg .fld_inp::placeholder {
color: #bbb;
font-weight: 300;
}

.cnt_pg .fld_inp:focus {
border-color: #1EE6F9;
box-shadow: 2px 4px 28px 0 rgba(30, 230, 249, 0.10);
}

.cnt_pg .int_areas {
display: flex;
flex-direction: column;
gap: 8px;
}

.cnt_pg .int_lbl {
font-size: 13px;
letter-spacing: 0.06em;
color: #333;
line-height: 1.55;
margin-bottom: 8px;
display: block;
}

.cnt_pg .chk_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px;
}

.cnt_pg .chk_item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 16px;
border: 2px solid rgba(161, 16, 107, 0.12);
border-radius: 12px;
cursor: pointer;
transition: border-color 0.5s ease-in-out, background 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
position: relative;
}

.cnt_pg .chk_item:hover {
border-color: #1EE6F9;
background: rgba(30, 230, 249, 0.05);
}

.cnt_pg .chk_item input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #A1106B;
cursor: pointer;
flex-shrink: 0;
}

.cnt_pg .chk_item label {
font-size: 13px;
line-height: 1.55;
color: #333;
cursor: pointer;
letter-spacing: 0.02em;
}

.cnt_pg .prv_row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: rgba(250, 211, 223, 0.2);
border-radius: 12px;
border: 2px solid rgba(161, 16, 107, 0.1);
}

.cnt_pg .prv_row input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #A1106B;
cursor: pointer;
flex-shrink: 0;
margin-top: 2px;
}

.cnt_pg .prv_txt {
font-size: 13px;
line-height: 1.55;
color: #444;
letter-spacing: 0.02em;
}

.cnt_pg .prv_txt a {
color: #A1106B;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.45s ease-in-out;
}

.cnt_pg .prv_txt a:hover {
color: #1EE6F9;
}

.cnt_pg .sbm_btn {
align-self: flex-start;
padding: 16px 40px;
background: #A1106B;
color: #fff;
border: none;
border-radius: 12px;
font-size: 23px;
line-height: 1.1;
letter-spacing: -0.01em;
cursor: pointer;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
transition: background 0.5s ease-in-out, box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.cnt_pg .sbm_btn:hover {
background: #8a0d5a;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
transform: translateY(-2px);
}

.cnt_pg .sbm_btn:active {
transform: translateY(0);
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.cnt_pg .sbm_btn:focus-visible {
outline: 3px solid #1EE6F9;
outline-offset: 3px;
}

.cnt_pg .dtl_area {
padding: 80px 0;
position: relative;
background: #f5f5f5;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
}

.cnt_pg .dtl_area::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(17deg, rgba(30, 230, 249, 0.04) 0%, rgba(250, 211, 223, 0.08) 100%);
pointer-events: none;
}

.cnt_pg .dtl_grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
position: relative;
z-index: 1;
}

.cnt_pg .dtl_card {
padding: 40px;
background: #fff;
border-radius: 24px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
position: relative;
overflow: hidden;
}

.cnt_pg .dtl_card::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(17deg, #1EE6F9 0%, #A1106B 100%);
border-radius: 24px 24px 0 0;
}

.cnt_pg .dtl_h3 {
font-size: 23px;
line-height: 1.55;
color: #111;
margin: 0 0 24px;
letter-spacing: -0.01em;
}

.cnt_pg .dtl_h3 .dot_acc {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 50%;
background: #1EE6F9;
margin-left: 5px;
vertical-align: middle;
position: relative;
top: -3px;
}

.cnt_pg .dtl_item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 24px;
}

.cnt_pg .dtl_item:last-child {
margin-bottom: 0;
}

.cnt_pg .dtl_ico {
width: 40px;
height: 40px;
border-radius: 12px;
background: linear-gradient(17deg, rgba(30, 230, 249, 0.15) 0%, rgba(161, 16, 107, 0.1) 100%);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.cnt_pg .dtl_ico svg {
width: 20px;
height: 20px;
}

.cnt_pg .dtl_txt_grp {
display: flex;
flex-direction: column;
gap: 8px;
}

.cnt_pg .dtl_lbl {
font-size: 13px;
letter-spacing: 0.08em;
color: #888;
text-transform: uppercase;
line-height: 1.1;
}

.cnt_pg .dtl_val {
font-size: 23px;
line-height: 1.55;
color: #111;
letter-spacing: -0.01em;
}

.cnt_pg .dtl_val a {
color: #A1106B;
text-decoration: none;
transition: color 0.5s ease-in-out;
}

.cnt_pg .dtl_val a:hover {
color: #1EE6F9;
}

.cnt_pg .fact_card {
padding: 40px;
background: linear-gradient(17deg, #A1106B 0%, #7a0d52 100%);
border-radius: 24px;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
position: relative;
overflow: hidden;
display: flex;
flex-direction: column;
gap: 24px;
}

.cnt_pg .fact_card::after {
content: "";
position: absolute;
bottom: -40px;
right: -40px;
width: 180px;
height: 180px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.04);
pointer-events: none;
}

.cnt_pg .fact_h3 {
font-size: 23px;
line-height: 1.55;
color: #FAD3DF;
margin: 0;
letter-spacing: -0.01em;
}

.cnt_pg .fact_body {
font-size: 13px;
line-height: 2.0;
color: rgba(250, 211, 223, 0.8);
letter-spacing: 0.03em;
}

.cnt_pg .fact_hl {
display: inline-block;
background: rgba(30, 230, 249, 0.15);
border-radius: 6px;
padding: 0 8px;
color: #1EE6F9;
font-size: 23px;
line-height: 1.55;
letter-spacing: -0.01em;
margin: 16px 0;
}

.cnt_pg .fact_detail {
font-size: 13px;
line-height: 1.55;
color: rgba(250, 211, 223, 0.7);
letter-spacing: 0.03em;
padding-top: 16px;
border-top: 1px solid rgba(250, 211, 223, 0.15);
}

.cnt_pg .cascade_el {
opacity: 0;
transform: translateY(16px);
animation: cascadeIn 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.cnt_pg .cascade_el:nth-child(1) {
animation-delay: 0.1s;
}

.cnt_pg .cascade_el:nth-child(2) {
animation-delay: 0.22s;
}

.cnt_pg .cascade_el:nth-child(3) {
animation-delay: 0.34s;
}

.cnt_pg .cascade_el:nth-child(4) {
animation-delay: 0.46s;
}

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

.cnt_pg .chk_item:hover {
background-position: 0 0, 8px 8px;
}

.cnt_pg .chk_item input[type="checkbox"]:checked+label {
color: #A1106B;
font-weight: 600;
}

.cnt_pg .chk_item:has(input[type="checkbox"]:checked) {
border-color: #A1106B;
background: rgba(161, 16, 107, 0.05);
background-image: repeating-linear-gradient(0deg,
transparent,
transparent 7px,
rgba(161, 16, 107, 0.03) 7px,
rgba(161, 16, 107, 0.03) 8px),
repeating-linear-gradient(90deg,
transparent,
transparent 7px,
rgba(161, 16, 107, 0.03) 7px,
rgba(161, 16, 107, 0.03) 8px);
}

@media (max-width: 900px) {
.cnt_pg .ttl_strip .pg_band {
flex-direction: column;
gap: 40px;
}

.cnt_pg .ttl_left {
flex: none;
width: 100%;
}

.cnt_pg .frm_grid {
grid-template-columns: 1fr;
gap: 24px;
}

.cnt_pg .frm_col_accent {
grid-column: 1;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
}

.cnt_pg .frm_col_main {
grid-column: 1;
}

.cnt_pg .accent_bar {
width: 80px;
height: 6px;
margin-bottom: 0;
}

.cnt_pg .frm_side_lbl {
writing-mode: horizontal-tb;
transform: none;
}

.cnt_pg .dtl_grid {
grid-template-columns: 1fr;
}

.cnt_pg .vis_stat {
grid-template-columns: 1fr 1fr;
}

.cnt_pg .chk_grid {
grid-template-columns: 1fr;
}
}

@media (max-width: 600px) {
.cnt_pg .pg_h1 {
font-size: 45px;
}

.cnt_pg .fld_row {
grid-template-columns: 1fr;
}

.cnt_pg .vis_stat {
grid-template-columns: 1fr;
}

.cnt_pg .ttl_strip {
padding: 40px 0 24px;
}

.cnt_pg .frm_area,
.cnt_pg .dtl_area {
padding: 40px 0;
}

.cnt_pg .dtl_card,
.cnt_pg .fact_card {
padding: 24px;
}
}

.abt_pg {
background: #fff;
overflow-x: clip;
position: relative;
}

.abt_pg .pg_schema {
display: none;
}

.abt_pg .grad_div {
height: 3px;
background: linear-gradient(90deg, #1EE6F9 0%, #A1106B 100%);
border: none;
margin: 0;
}

.abt_pg .grad_div_alt {
height: 3px;
background: linear-gradient(90deg, #A1106B 0%, #FAD3DF 60%, #1EE6F9 100%);
border: none;
margin: 0;
}

.abt_pg .ttl_blk {
position: relative;
padding: 80px 24px;
background-color: #f5f0f3;
overflow: hidden;
}

.abt_pg .ttl_blk::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");
background-repeat: repeat;
background-size: 300px 300px;
pointer-events: none;
}

.abt_pg .ttl_blob_a {
position: absolute;
width: 420px;
height: 420px;
background: #1EE6F9;
border-radius: 40px;
opacity: 0.13;
filter: blur(80px);
top: -120px;
right: -80px;
pointer-events: none;
}

.abt_pg .ttl_blob_b {
position: absolute;
width: 280px;
height: 280px;
background: #A1106B;
border-radius: 24px;
opacity: 0.10;
filter: blur(60px);
bottom: -60px;
left: 10%;
pointer-events: none;
}

.abt_pg .ttl_inner {
position: relative;
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 80px;
}

.abt_pg .ttl_text_col {
flex: 1 1 55%;
min-width: 0;
}

.abt_pg .ttl_tag {
display: inline-block;
font-size: 13px;
letter-spacing: 0.12em;
color: #A1106B;
font-weight: 600;
margin-bottom: 16px;
text-transform: uppercase;
}

.abt_pg .ttl_h1 {
font-size: clamp(45px, 6vw, 62px);
line-height: 1.1;
letter-spacing: -0.03em;
color: #1a0010;
margin: 0 0 24px 0;
font-weight: 800;
}

.abt_pg .ttl_h1 em {
font-style: italic;
color: #A1106B;
}

.abt_pg .ttl_sub {
font-size: 23px;
line-height: 1.55;
color: #3a1228;
max-width: 500px;
margin: 0 0 40px 0;
font-weight: 400;
}

.abt_pg .ttl_sub strong {
font-weight: 700;
color: #A1106B;
}

.abt_pg .ttl_img_col {
flex: 0 0 38%;
position: relative;
}

.abt_pg .ttl_img_frame {
border-radius: 24px;
overflow: hidden;
box-shadow: 2px 9px 40px 0 rgba(30, 230, 249, 0.11);
position: relative;
}

.abt_pg .ttl_img_frame img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center top;
display: block;
transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abt_pg .ttl_img_frame:hover img {
transform: scale(1.04);
}

.abt_pg .ttl_img_badge {
position: absolute;
bottom: -16px;
left: -16px;
background: #A1106B;
color: #fff;
border-radius: 12px;
padding: 16px 24px;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
}

.abt_pg .ttl_img_badge .badge_yr {
font-size: 45px;
line-height: 1.1;
font-weight: 800;
display: block;
letter-spacing: -0.03em;
}

.abt_pg .ttl_img_badge .badge_lbl {
font-size: 13px;
line-height: 1.55;
letter-spacing: 0.08em;
display: block;
opacity: 0.88;
}

.abt_pg .story_sec {
padding: 80px 24px;
background: #fff;
position: relative;
}

.abt_pg .story_sec .circ_deco {
position: absolute;
top: 40px;
right: 0;
width: 260px;
height: 260px;
pointer-events: none;
overflow: hidden;
}

.abt_pg .story_sec .circ_deco svg {
width: 100%;
height: 100%;
opacity: 0.07;
}

.abt_pg .story_inner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 5fr 7fr;
gap: 80px;
align-items: start;
}

.abt_pg .story_img_col {
position: relative;
}

.abt_pg .story_img_primary {
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
}

.abt_pg .story_img_primary img {
width: 100%;
height: 380px;
object-fit: cover;
object-position: center;
display: block;
}

.abt_pg .story_img_secondary {
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
margin-top: 24px;
margin-left: 40px;
}

.abt_pg .story_img_secondary img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
display: block;
}

.abt_pg .story_text_col {
padding-top: 8px;
}

.abt_pg .sec_eyebrow {
font-size: 13px;
letter-spacing: 0.14em;
color: #1EE6F9;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 16px;
display: block;
filter: brightness(0.7);
}

.abt_pg .story_h2 {
font-size: clamp(23px, 3.5vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0010;
margin: 0 0 24px 0;
font-weight: 700;
}

.abt_pg .story_h2 .dot_acc {
display: inline-block;
width: 8px;
height: 8px;
background: #A1106B;
border-radius: 2px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px;
}

.abt_pg .story_para {
font-size: 23px;
line-height: 1.55;
color: #2d0f1e;
margin: 0 0 16px 0;
font-weight: 400;
}

.abt_pg .story_para_sm {
font-size: 13px;
line-height: 2.0;
color: #4a2236;
margin: 0 0 24px 0;
}

.abt_pg .pull_quote {
border-top: 2px solid #FAD3DF;
border-bottom: 2px solid #FAD3DF;
padding: 24px 0;
margin: 40px 0;
}

.abt_pg .pull_quote p {
font-size: 23px;
line-height: 1.55;
color: #A1106B;
font-weight: 600;
font-style: italic;
margin: 0;
letter-spacing: -0.01em;
}

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

.abt_pg .chk_list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
font-size: 13px;
line-height: 2.0;
color: #2d0f1e;
cursor: default;
border-radius: 6px;
padding: 8px;
transition: background-color 0.5s ease-in-out, box-shadow 0.5s ease-in-out;
}

.abt_pg .chk_list li:hover {
background-color: #FAD3DF;
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.abt_pg .chk_list li:hover~li {
background-color: rgba(250, 211, 223, 0.3);
}

.abt_pg .chk_icon {
flex-shrink: 0;
margin-top: 6px;
}

.abt_pg .chk_list_grp {
display: flex;
flex-direction: column;
}

.abt_pg .chk_list_grp:hover .chk_list li {
background-color: rgba(250, 211, 223, 0.25);
transition: background-color 0.45s ease-in-out;
}

.abt_pg .chk_list_grp:hover .chk_list li:hover {
background-color: #FAD3DF;
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
transition: background-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.abt_pg .team_sec {
padding: 80px 24px;
position: relative;
background: linear-gradient(17deg, #f9f2f6 0%, #eefcfe 100%);
}

.abt_pg .team_sec::before {
content: "";
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23g)' opacity='0.06'/%3E%3C/svg%3E");
background-repeat: repeat;
background-size: 200px 200px;
pointer-events: none;
}

.abt_pg .team_sec .circ_deco_b {
position: absolute;
bottom: 40px;
left: -40px;
width: 220px;
height: 220px;
pointer-events: none;
overflow: hidden;
}

.abt_pg .team_sec .circ_deco_b svg {
width: 100%;
height: 100%;
opacity: 0.06;
}

.abt_pg .team_inner {
max-width: 1170px;
margin: 0 auto;
position: relative;
}

.abt_pg .team_top {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
margin-bottom: 40px;
gap: 40px;
}

.abt_pg .team_h2 {
font-size: clamp(23px, 3.5vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0010;
margin: 0;
font-weight: 700;
max-width: 520px;
}

.abt_pg .team_h2 .dot_acc {
display: inline-block;
width: 8px;
height: 8px;
background: #1EE6F9;
border-radius: 2px;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px;
}

.abt_pg .team_desc {
font-size: 13px;
line-height: 2.0;
color: #4a2236;
max-width: 340px;
margin: 0;
}

.abt_pg .team_grid {
display: grid;
grid-template-columns: 3fr 2fr 2fr 3fr;
gap: 24px;
align-items: start;
}

.abt_pg .tm_card {
background: #fff;
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abt_pg .tm_card:hover {
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
transform: translateY(-4px);
}

.abt_pg .tm_card.offset_top {
margin-top: 40px;
}

.abt_pg .tm_card_img {
overflow: hidden;
}

.abt_pg .tm_card_img img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center top;
display: block;
transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abt_pg .tm_card:hover .tm_card_img img {
transform: scale(1.05);
}

.abt_pg .tm_card_body {
padding: 16px;
}

.abt_pg .tm_name {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #1a0010;
margin: 0 0 8px 0;
letter-spacing: -0.01em;
}

.abt_pg .tm_role {
font-size: 13px;
line-height: 1.55;
color: #A1106B;
font-weight: 600;
letter-spacing: 0.06em;
text-transform: uppercase;
margin: 0 0 8px 0;
}

.abt_pg .tm_bio {
font-size: 13px;
line-height: 2.0;
color: #4a2236;
margin: 0;
}

.abt_pg .tm_card.feat {
grid-column: span 1;
}

.abt_pg .tm_card.feat .tm_card_img img {
height: 280px;
}

.abt_pg .metrics_row {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px;
padding-top: 40px;
border-top: 1px solid #FAD3DF;
}

.abt_pg .metric_itm {
flex: 1 1 0;
text-align: center;
padding: 24px 16px;
border-radius: 12px;
background: #fff;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
transition: box-shadow 0.5s ease-in-out, background-color 0.5s ease-in-out;
cursor: default;
}

.abt_pg .metric_itm:hover {
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
background-color: #FAD3DF;
}

.abt_pg .metric_num {
font-size: 45px;
line-height: 1.1;
font-weight: 800;
color: #A1106B;
letter-spacing: -0.03em;
display: block;
}

.abt_pg .metric_lbl {
font-size: 13px;
line-height: 1.55;
color: #4a2236;
display: block;
margin-top: 8px;
}

.abt_pg .link_arrow {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 13px;
font-weight: 700;
color: #A1106B;
text-decoration: none;
letter-spacing: 0.06em;
transition: color 0.45s ease-in-out;
}

.abt_pg .link_arrow svg {
transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.abt_pg .link_arrow:hover {
color: #1EE6F9;
filter: brightness(0.75);
}

.abt_pg .link_arrow:hover svg {
transform: translateX(6px);
}

@media (max-width: 900px) {
.abt_pg .ttl_inner {
flex-direction: column;
gap: 40px;
}

.abt_pg .ttl_img_col {
flex: 0 0 auto;
width: 100%;
}

.abt_pg .story_inner {
grid-template-columns: 1fr;
gap: 40px;
}

.abt_pg .team_grid {
grid-template-columns: 1fr 1fr;
}

.abt_pg .tm_card.offset_top {
margin-top: 0;
}

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

.abt_pg .metrics_row {
flex-direction: column;
}
}

@media (max-width: 600px) {
.abt_pg .ttl_blk {
padding: 40px 16px;
}

.abt_pg .story_sec {
padding: 40px 16px;
}

.abt_pg .team_sec {
padding: 40px 16px;
}

.abt_pg .team_grid {
grid-template-columns: 1fr;
}

.abt_pg .ttl_img_badge {
left: 8px;
bottom: 8px;
}
}

.lrn-prog {
background: #fff;
overflow-x: clip;
}

.lrn-prog .pg-band {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.lrn-prog .title-strip {
background: linear-gradient(17deg, #fff 60%, #FAD3DF 100%), radial-gradient(ellipse at 80% 20%, rgba(30, 230, 249, 0.13) 0%, transparent 70%);
padding: 40px 24px;
position: relative;
}

.lrn-prog .title-strip::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 320px;
height: 100%;
background: radial-gradient(ellipse at 90% 50%, rgba(161, 16, 107, 0.07) 0%, transparent 70%);
pointer-events: none;
}

.lrn-prog .title-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 40px;
}

.lrn-prog .title-text {
flex: 1;
max-width: 560px;
position: relative;
}

.lrn-prog .title-deco {
position: absolute;
top: -16px;
left: -24px;
width: 80px;
height: 80px;
border: 2px dashed rgba(161, 16, 107, 0.18);
border-radius: 40px;
pointer-events: none;
}

.lrn-prog .title-eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
color: #A1106B;
text-transform: uppercase;
margin-bottom: 8px;
line-height: 1.55;
}

.lrn-prog .title-h1 {
font-size: clamp(45px, 6vw, 62px);
line-height: 1.1;
letter-spacing: -0.03em;
color: #1a0a12;
margin: 0 0 16px;
}

.lrn-prog .title-h1 em {
font-style: italic;
color: #A1106B;
}

.lrn-prog .title-dot {
display: inline-block;
width: 8px;
height: 8px;
background: #1EE6F9;
border-radius: 40px;
margin-left: 6px;
vertical-align: middle;
}

.lrn-prog .title-tag {
font-size: 13px;
color: #3a2030;
line-height: 1.55;
margin-bottom: 24px;
max-width: 400px;
}

.lrn-prog .title-actions {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap;
}

.lrn-prog .btn-prim {
background: #A1106B;
color: #fff;
border: none;
border-radius: 6px;
padding: 16px 24px;
font-size: 13px;
letter-spacing: 0.06em;
cursor: pointer;
text-decoration: none;
display: inline-block;
transition: background-color 0.45s ease-in-out, box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.lrn-prog .btn-prim:hover {
background: #7d0d53;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.lrn-prog .btn-prim:focus {
outline: 3px solid #1EE6F9;
outline-offset: 2px;
}

.lrn-prog .btn-sec {
color: #A1106B;
text-decoration: none;
font-size: 13px;
letter-spacing: 0.06em;
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
border-bottom: 1px solid rgba(161, 16, 107, 0.3);
padding-bottom: 2px;
transition: gap 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.45s ease-in-out;
}

.lrn-prog .btn-sec:hover {
gap: 16px;
border-color: #A1106B;
}

.lrn-prog .btn-sec:focus {
outline: 3px solid #1EE6F9;
outline-offset: 2px;
}

.lrn-prog .btn-sec-arr {
display: inline-block;
width: 16px;
height: 2px;
background: #A1106B;
position: relative;
}

.lrn-prog .btn-sec-arr::after {
content: '';
position: absolute;
right: 0;
top: -3px;
width: 6px;
height: 6px;
border-right: 2px solid #A1106B;
border-top: 2px solid #A1106B;
transform: rotate(45deg);
}

.lrn-prog .title-img-wrap {
flex: 0 0 auto;
width: 280px;
height: 220px;
border-radius: 12px;
overflow: hidden;
position: relative;
box-shadow: 2px 4px 28px 0 rgba(30, 230, 249, 0.10);
}

.lrn-prog .title-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
filter: saturate(1.2) contrast(1.05);
transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lrn-prog .title-img-wrap:hover img {
transform: scale(1.04);
}

.lrn-prog .title-img-overlay {
position: absolute;
inset: 0;
background: linear-gradient(17deg, rgba(161, 16, 107, 0.18) 0%, rgba(30, 230, 249, 0.08) 100%);
border-radius: 12px;
pointer-events: none;
}

.lrn-prog .divider-a {
display: flex;
flex-direction: row;
justify-content: center;
padding: 16px 0;
}

.lrn-prog .divider-a-line {
width: 120px;
height: 3px;
background: linear-gradient(17deg, #1EE6F9, #A1106B);
border-radius: 40px;
}

.lrn-prog .cards-sect {
padding: 40px 24px 80px;
background: #fff;
position: relative;
}

.lrn-prog .cards-sect::before {
content: '';
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='1' cy='1' r='1' fill='%23A1106B' fill-opacity='0.04'/%3E%3C/svg%3E");
pointer-events: none;
}

.lrn-prog .cards-head {
max-width: 1170px;
margin: 0 auto 40px;
text-align: left;
}

.lrn-prog .cards-h2 {
font-size: clamp(23px, 4vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0a12;
margin: 0 0 8px;
}

.lrn-prog .cards-sub {
font-size: 13px;
color: #3a2030;
line-height: 1.55;
max-width: 480px;
}

.lrn-prog .cards-grid {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.lrn-prog .prog-card {
background: #fff;
border-radius: 12px;
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
border: 1px solid rgba(161, 16, 107, 0.08);
}

.lrn-prog .prog-card:hover {
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
transform: translateY(-4px);
}

.lrn-prog .card-img-box {
width: 100%;
height: 180px;
overflow: hidden;
position: relative;
flex-shrink: 0;
}

.lrn-prog .card-img-box img {
width: 100%;
height: 100%;
object-fit: cover;
transition: box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lrn-prog .prog-card:hover .card-img-box img {
box-shadow: 2px 9px 40px 0 rgba(30, 230, 249, 0.10);
transform: scale(1.05);
}

.lrn-prog .card-badge {
position: absolute;
top: 16px;
left: 16px;
background: #A1106B;
color: #fff;
font-size: 13px;
border-radius: 6px;
padding: 4px 8px;
letter-spacing: 0.05em;
}

.lrn-prog .card-body {
padding: 24px;
display: flex;
flex-direction: column;
flex: 1;
gap: 16px;
}

.lrn-prog .card-ttl {
font-size: 23px;
line-height: 1.1;
letter-spacing: -0.01em;
color: #1a0a12;
margin: 0;
}

.lrn-prog .card-desc {
font-size: 13px;
line-height: 1.55;
color: #3a2030;
margin: 0;
}

.lrn-prog .card-meta {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
}

.lrn-prog .card-meta-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
font-size: 13px;
color: #5a3a50;
line-height: 1.55;
}

.lrn-prog .meta-ico {
width: 16px;
height: 16px;
flex-shrink: 0;
}

.lrn-prog .card-seats {
font-size: 13px;
color: #A1106B;
font-weight: 600;
line-height: 1.55;
}

.lrn-prog .card-price-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 8px;
flex-wrap: wrap;
}

.lrn-prog .card-price {
font-size: 23px;
line-height: 1.1;
letter-spacing: -0.01em;
color: #A1106B;
font-weight: 700;
}

.lrn-prog .card-price-note {
font-size: 13px;
color: #5a3a50;
line-height: 1.55;
padding-bottom: 2px;
}

.lrn-prog .card-cta {
display: inline-block;
background: #A1106B;
color: #fff;
text-decoration: none;
border-radius: 6px;
padding: 16px 24px;
font-size: 13px;
letter-spacing: 0.06em;
text-align: center;
margin-top: auto;
transition: background-color 0.45s ease-in-out, box-shadow 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
}

.lrn-prog .card-cta:hover {
background: #7d0d53;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.lrn-prog .card-cta:focus {
outline: 3px solid #1EE6F9;
outline-offset: 2px;
}

.lrn-prog .divider-b {
display: flex;
flex-direction: row;
justify-content: center;
padding: 8px 0;
}

.lrn-prog .divider-b-pill {
width: 60px;
height: 4px;
background: rgba(30, 230, 249, 0.35);
border-radius: 40px;
}

.lrn-prog .stats-sect {
background: linear-gradient(17deg, #FAD3DF 0%, #fff 70%), radial-gradient(ellipse at 15% 80%, rgba(30, 230, 249, 0.10) 0%, transparent 60%);
padding: 80px 24px;
position: relative;
}

.lrn-prog .stats-inner {
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 40px;
align-items: center;
}

.lrn-prog .stats-text {
flex: 2;
}

.lrn-prog .stats-h2 {
font-size: clamp(23px, 3.5vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0a12;
margin: 0 0 16px;
}

.lrn-prog .stats-p {
font-size: 13px;
line-height: 1.55;
color: #3a2030;
margin: 0 0 24px;
max-width: 420px;
}

.lrn-prog .stats-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
color: #A1106B;
text-decoration: none;
font-size: 13px;
letter-spacing: 0.05em;
border-bottom: 1px solid rgba(161, 16, 107, 0.3);
padding-bottom: 2px;
transition: gap 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), border-color 0.45s ease-in-out;
}

.lrn-prog .stats-link:hover {
gap: 16px;
border-color: #A1106B;
}

.lrn-prog .stats-link:focus {
outline: 3px solid #1EE6F9;
outline-offset: 2px;
}

.lrn-prog .stats-link-arr {
display: inline-block;
width: 16px;
height: 2px;
background: #A1106B;
position: relative;
}

.lrn-prog .stats-link-arr::after {
content: '';
position: absolute;
right: 0;
top: -3px;
width: 6px;
height: 6px;
border-right: 2px solid #A1106B;
border-top: 2px solid #A1106B;
transform: rotate(45deg);
}

.lrn-prog .stats-nums {
flex: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.lrn-prog .stat-shape {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
}

.lrn-prog .stat-hex {
width: 72px;
height: 72px;
background: #fff;
border: 3px solid #A1106B;
border-radius: 12px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
}

.lrn-prog .stat-num {
font-size: 23px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #A1106B;
font-weight: 700;
}

.lrn-prog .stat-lbl {
font-size: 13px;
line-height: 1.55;
color: #3a2030;
}

.lrn-prog .divider-c {
display: flex;
flex-direction: row;
justify-content: center;
padding: 24px 0;
}

.lrn-prog .divider-c-dash {
width: 200px;
height: 2px;
border-top: 2px dashed rgba(161, 16, 107, 0.22);
border-radius: 2px;
}

.lrn-prog .faq-sect {
padding: 80px 24px;
background: #fff;
}

.lrn-prog .faq-inner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 40px;
align-items: start;
}

.lrn-prog .faq-aside {
position: sticky;
top: 40px;
}

.lrn-prog .faq-h2 {
font-size: clamp(23px, 3.5vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0a12;
margin: 0 0 16px;
}

.lrn-prog .faq-aside-p {
font-size: 13px;
line-height: 1.55;
color: #3a2030;
margin: 0 0 24px;
}

.lrn-prog .faq-accent-box {
border: 2px dashed rgba(161, 16, 107, 0.3);
border-radius: 12px;
padding: 24px;
background: rgba(250, 211, 223, 0.18);
}

.lrn-prog .faq-accent-lbl {
font-size: 13px;
color: #A1106B;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
margin-bottom: 8px;
line-height: 1.55;
}

.lrn-prog .faq-accent-val {
font-size: 23px;
line-height: 1.1;
color: #1a0a12;
letter-spacing: -0.01em;
}

.lrn-prog .faq-list {
display: flex;
flex-direction: column;
gap: 16px;
}

.lrn-prog .faq-item {
border: 1px solid rgba(161, 16, 107, 0.10);
border-radius: 12px;
overflow: hidden;
background: #fff;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
}

.lrn-prog .faq-q {
width: 100%;
background: none;
border: none;
text-align: left;
padding: 24px;
font-size: 13px;
line-height: 1.55;
color: #1a0a12;
cursor: pointer;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 16px;
font-weight: 600;
letter-spacing: 0.02em;
transition: background-color 0.45s ease-in-out;
}

.lrn-prog .faq-q:hover {
background: rgba(250, 211, 223, 0.18);
}

.lrn-prog .faq-q:focus {
outline: 3px solid #1EE6F9;
outline-offset: -3px;
}

.lrn-prog .faq-ico {
width: 20px;
height: 20px;
border: 2px solid #A1106B;
border-radius: 40px;
flex-shrink: 0;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
}

.lrn-prog .faq-ico::before {
content: '';
width: 8px;
height: 2px;
background: #A1106B;
border-radius: 2px;
}

.lrn-prog .faq-ico::after {
content: '';
width: 2px;
height: 8px;
background: #A1106B;
border-radius: 2px;
position: absolute;
}

.lrn-prog details[open] .faq-ico::after {
display: none;
}

.lrn-prog .faq-ans {
padding: 0 24px 24px;
font-size: 13px;
line-height: 1.55;
color: #3a2030;
}

@keyframes colorbleed {
0% {
opacity: 0;
transform: scale(0.85);
}

40% {
opacity: 1;
transform: scale(1);
}

100% {
opacity: 0;
transform: scale(0.85);
}
}

.lrn-prog .bg-bleed {
position: absolute;
width: 300px;
height: 300px;
background: radial-gradient(ellipse at 30% 40%, rgba(161, 16, 107, 0.07) 0%, transparent 70%);
border-radius: 40px;
pointer-events: none;
animation: colorbleed 8s ease-in-out infinite;
}

@media (max-width: 900px) {
.lrn-prog .cards-grid {
grid-template-columns: repeat(2, 1fr);
}

.lrn-prog .faq-inner {
grid-template-columns: 1fr;
}

.lrn-prog .faq-aside {
position: static;
}

.lrn-prog .stats-inner {
flex-direction: column;
}

.lrn-prog .title-inner {
flex-direction: column;
}

.lrn-prog .title-img-wrap {
width: 100%;
height: 200px;
}
}

@media (max-width: 600px) {
.lrn-prog .cards-grid {
grid-template-columns: 1fr;
}

.lrn-prog .title-h1 {
font-size: 45px;
}

.lrn-prog .stats-nums {
flex-direction: row;
flex-wrap: wrap;
}
}

.prtl {
max-width: 100%;
overflow-x: hidden;
}

.prtl .prtl_inner {
max-width: 1170px;
margin: 0 auto;
padding: 0 24px;
}

.prtl .reveal {
opacity: 0;
transform: translateY(32px);
animation: slideUp 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.prtl .reveal.d1 {
animation-delay: 0.1s;
}

.prtl .reveal.d2 {
animation-delay: 0.25s;
}

.prtl .reveal.d3 {
animation-delay: 0.4s;
}

.prtl .reveal.d4 {
animation-delay: 0.55s;
}

.prtl .reveal.d5 {
animation-delay: 0.7s;
}

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

.prtl ::selection {
background: #111;
color: #fff;
}

.prtl .dot_acc {
display: inline-block;
width: 7px;
height: 7px;
border-radius: 40px;
background: #A1106B;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -2px;
}

.prtl .serif_k {
font-style: italic;
}

.prtl .ttl_blk {
background: #fff;
padding: 80px 24px 40px;
position: relative;
overflow: hidden;
}

.prtl .ttl_blk::before {
content: '';
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(17deg,
transparent,
transparent 28px,
rgba(30, 230, 249, 0.04) 28px,
rgba(30, 230, 249, 0.04) 30px);
pointer-events: none;
}

.prtl .ttl_wrap {
max-width: 1170px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: flex-start;
padding-top: 40px;
}

.prtl .ttl_eyebrow {
font-size: 13px;
letter-spacing: 0.12em;
color: #A1106B;
text-transform: uppercase;
margin-bottom: 24px;
font-weight: 600;
}

.prtl .ttl_h1 {
font-size: clamp(45px, 6vw, 62px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #111;
margin: 0 0 24px;
max-width: 780px;
}

.prtl .ttl_h1 .line_brk {
display: block;
}

.prtl .ttl_sub {
font-size: 23px;
line-height: 1.55;
color: #333;
max-width: 560px;
margin: 0 0 40px;
}

.prtl .ttl_bar {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
flex-wrap: wrap;
}

.prtl .ttl_stat {
display: flex;
flex-direction: column;
align-items: flex-start;
}

.prtl .ttl_stat_num {
font-size: 45px;
line-height: 1.1;
font-weight: 700;
color: #A1106B;
letter-spacing: -0.03em;
}

.prtl .ttl_stat_lbl {
font-size: 13px;
color: #555;
letter-spacing: 0.06em;
}

.prtl .ttl_divider {
width: 1px;
height: 48px;
background: #ddd;
}

.prtl .val_blk {
background: #FAD3DF;
padding: 80px 24px;
position: relative;
}

.prtl .val_blk::after {
content: '';
display: block;
height: 3px;
background: linear-gradient(17deg, #1EE6F9 0%, #A1106B 100%);
position: absolute;
bottom: 0;
left: 0;
right: 0;
}

.prtl .val_grid {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
}

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

.prtl .val_h2 {
font-size: clamp(45px, 5vw, 62px);
line-height: 1.1;
letter-spacing: -0.025em;
color: #111;
margin: 0;
position: relative;
padding-left: 16px;
}

.prtl .val_h2::before {
content: '';
position: absolute;
left: 0;
top: 8px;
bottom: 8px;
width: 3px;
background: #A1106B;
border-radius: 2px;
}

.prtl .val_p {
font-size: 23px;
line-height: 1.55;
color: #222;
margin: 0;
}

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

.prtl .val_step {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
transition: box-shadow 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.prtl .val_step:hover {
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
transform: translateY(-2px);
}

.prtl .val_step_num {
font-size: 45px;
line-height: 1.1;
font-weight: 700;
color: #1EE6F9;
letter-spacing: -0.04em;
min-width: 48px;
text-shadow: 0 2px 0 rgba(30, 230, 249, 0.15);
}

.prtl .val_step_body {
display: flex;
flex-direction: column;
gap: 8px;
}

.prtl .val_step_ttl {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #111;
margin: 0;
}

.prtl .val_step_p {
font-size: 13px;
line-height: 1.55;
color: #444;
margin: 0;
}

.prtl .exp_blk {
padding: 80px 24px;
background: #111;
position: relative;
}

.prtl .exp_blk::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(17deg, rgba(30, 230, 249, 0.07) 0%, transparent 60%),
radial-gradient(ellipse at 80% 20%, rgba(161, 16, 107, 0.12) 0%, transparent 55%);
pointer-events: none;
}

.prtl .exp_inner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: center;
position: relative;
}

.prtl .exp_img_wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 9px 40px 0 rgba(30, 230, 249, 0.11);
position: relative;
}

.prtl .exp_img_wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, rgba(17, 17, 17, 0.55) 0%, transparent 50%);
pointer-events: none;
}

.prtl .exp_img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
}

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

.prtl .exp_h2 {
font-size: clamp(23px, 3.5vw, 45px);
line-height: 1.1;
letter-spacing: -0.02em;
color: #fff;
margin: 0;
}

.prtl .exp_quote {
border-top: 2px solid #1EE6F9;
padding-top: 24px;
display: flex;
flex-direction: column;
gap: 16px;
}

.prtl .exp_quote_txt {
font-size: 23px;
line-height: 1.55;
color: #FAD3DF;
margin: 0;
font-style: italic;
}

.prtl .exp_quote_attr {
display: flex;
flex-direction: column;
gap: 8px;
}

.prtl .exp_name {
font-size: 13px;
font-weight: 700;
color: #fff;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.prtl .exp_role {
font-size: 13px;
color: #aaa;
letter-spacing: 0.04em;
}

.prtl .exp_p {
font-size: 13px;
line-height: 1.55;
color: #ccc;
margin: 0;
}

.prtl .team_blk {
padding: 80px 24px;
background: #fff;
position: relative;
}

.prtl .team_blk::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(17deg, #A1106B 0%, #1EE6F9 100%);
}

.prtl .team_top {
max-width: 1170px;
margin: 0 auto 40px;
}

.prtl .team_h2 {
font-size: clamp(45px, 5vw, 62px);
line-height: 1.1;
letter-spacing: -0.025em;
color: #111;
margin: 0 0 16px;
}

.prtl .team_sub {
font-size: 23px;
line-height: 1.55;
color: #444;
max-width: 520px;
margin: 0;
}

.prtl .team_grid {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.prtl .team_card {
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
background: #fff;
border: 1px solid #eee;
}

.prtl .team_card:hover {
box-shadow: 2px 9px 40px 0 rgba(30, 230, 249, 0.11);
transform: translateY(-4px);
}

.prtl .team_card_img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
}

.prtl .team_card_body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
}

.prtl .team_card_name {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #111;
margin: 0;
}

.prtl .team_card_role {
font-size: 13px;
color: #A1106B;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
}

.prtl .team_card_bio {
font-size: 13px;
line-height: 1.55;
color: #444;
margin: 0;
}

.prtl .team_card_tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
}

.prtl .team_tag {
font-size: 13px;
background: #FAD3DF;
color: #A1106B;
border-radius: 6px;
padding: 4px 8px;
font-weight: 600;
letter-spacing: 0.04em;
}

.prtl .fit_blk {
padding: 80px 24px;
background: linear-gradient(17deg, #1EE6F9 0%, #FAD3DF 100%),
radial-gradient(ellipse at 30% 70%, rgba(161, 16, 107, 0.18) 0%, transparent 60%);
background-blend-mode: multiply;
position: relative;
}

.prtl .fit_inner {
max-width: 1170px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

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

.prtl .fit_h2 {
font-size: clamp(45px, 5vw, 62px);
line-height: 1.1;
letter-spacing: -0.025em;
color: #111;
margin: 0;
}

.prtl .fit_p {
font-size: 23px;
line-height: 1.55;
color: #222;
margin: 0;
}

.prtl .fit_img_wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.prtl .fit_img {
width: 100%;
height: 380px;
object-fit: cover;
display: block;
}

.prtl .fit_col_right {
display: flex;
flex-direction: column;
gap: 16px;
}

.prtl .fit_grp_lbl {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #A1106B;
margin-bottom: 8px;
}

.prtl .fit_item {
background: #fff;
border-radius: 12px;
padding: 24px;
box-shadow: 2px 3px 5px 0 rgba(161, 16, 107, 0.07);
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow 0.5s ease-in-out;
}

.prtl .fit_item:hover {
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
}

.prtl .fit_item_ttl {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #111;
margin: 0;
}

.prtl .fit_item_p {
font-size: 13px;
line-height: 1.55;
color: #333;
margin: 0;
}

.prtl .fit_not {
background: rgba(255, 255, 255, 0.5);
border-radius: 12px;
padding: 24px;
margin-top: 8px;
}

.prtl .fit_not_lbl {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #555;
margin: 0 0 8px;
}

.prtl .fit_not_p {
font-size: 13px;
line-height: 1.55;
color: #444;
margin: 0;
}

@media (max-width: 768px) {
.prtl .val_grid {
grid-template-columns: 1fr;
}

.prtl .exp_inner {
grid-template-columns: 1fr;
}

.prtl .team_grid {
grid-template-columns: 1fr;
}

.prtl .fit_inner {
grid-template-columns: 1fr;
}

.prtl .ttl_h1 {
font-size: 45px;
}

.prtl .ttl_bar {
gap: 24px;
}
}

@media (max-width: 480px) {
.prtl .ttl_blk {
padding: 40px 16px 24px;
}

.prtl .val_blk,
.prtl .exp_blk,
.prtl .team_blk,
.prtl .fit_blk {
padding: 40px 16px;
}

.prtl .team_grid {
grid-template-columns: 1fr;
}
}

.lrn-tips {
max-width: 100%;
overflow-x: clip;
}

.lrn-tips .lt-inner {
max-width: 1170px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.lrn-tips .lt-hero {
background: #fff;
padding-top: 80px;
padding-bottom: 80px;
position: relative;
}

.lrn-tips .lt-hero-bg {
position: absolute;
top: 0;
left: 50%;
width: 520px;
height: 520px;
background: linear-gradient(17deg, rgba(30, 230, 249, 0.10) 0%, rgba(161, 16, 107, 0.07) 100%),
radial-gradient(ellipse at 30% 60%, rgba(250, 211, 223, 0.38) 0%, transparent 70%);
border-radius: 40px;
transform: translateX(-50%) rotate(-12deg);
pointer-events: none;
z-index: 0;
}

.lrn-tips .lt-hero-grid {
display: flex;
flex-direction: row;
align-items: center;
gap: 40px;
position: relative;
z-index: 1;
}

.lrn-tips .lt-hero-side {
flex: 0 0 200px;
display: flex;
flex-direction: column;
gap: 16px;
align-items: flex-end;
}

.lrn-tips .lt-hero-mid {
flex: 1 1 0;
text-align: center;
}

.lrn-tips .lt-hero-side.right {
align-items: flex-start;
}

.lrn-tips .lt-stat-pill {
background: #fff;
border: 1.5px solid rgba(30, 230, 249, 0.35);
border-radius: 12px;
padding: 16px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
width: 160px;
text-align: center;
transition: box-shadow 0.55s ease-in-out, border-color 0.45s ease-in-out;
}

.lrn-tips .lt-stat-pill:hover {
box-shadow: 2px 4px 28px 0 rgba(30, 230, 249, 0.10);
border-color: #1EE6F9;
}

.lrn-tips .lt-stat-num {
font-size: 45px;
line-height: 1.1;
font-weight: 800;
color: #A1106B;
letter-spacing: -1.5px;
display: block;
}

.lrn-tips .lt-stat-lbl {
font-size: 13px;
line-height: 1.55;
color: #3a2030;
letter-spacing: 0.04em;
display: block;
margin-top: 8px;
}

.lrn-tips .lt-h1 {
font-size: clamp(45px, 6vw, 62px);
line-height: 1.1;
letter-spacing: -2px;
color: #1a0010;
font-weight: 900;
margin-bottom: 16px;
}

.lrn-tips .lt-h1 em {
font-style: italic;
color: #A1106B;
font-family: Georgia, serif;
text-decoration: underline;
text-decoration-color: #1EE6F9;
text-underline-offset: 6px;
text-decoration-thickness: 3px;
}

.lrn-tips .lt-hero-desc {
font-size: 23px;
line-height: 1.55;
color: #2d1020;
max-width: 480px;
margin-left: auto;
margin-right: auto;
margin-bottom: 24px;
}

.lrn-tips .lt-deco-dot {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 2px;
background: #1EE6F9;
margin-left: 6px;
vertical-align: middle;
flex-shrink: 0;
}

.lrn-tips .lt-hero-deco {
display: inline-block;
background: linear-gradient(17deg, #FAD3DF 0%, rgba(30, 230, 249, 0.18) 100%),
radial-gradient(ellipse at 70% 30%, rgba(161, 16, 107, 0.10) 0%, transparent 65%);
border-radius: 24px;
padding: 8px 24px;
font-size: 13px;
letter-spacing: 0.09em;
color: #A1106B;
font-weight: 700;
text-transform: uppercase;
margin-bottom: 24px;
}

.lrn-tips .lt-feed-wrap {
background: linear-gradient(17deg, #FAD3DF 0%, #fff 60%),
radial-gradient(ellipse at 80% 20%, rgba(30, 230, 249, 0.12) 0%, transparent 60%);
padding-top: 80px;
padding-bottom: 80px;
}

.lrn-tips .lt-feed-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 40px;
align-items: start;
}

.lrn-tips .lt-feed-left {
display: flex;
flex-direction: column;
gap: 24px;
}

.lrn-tips .lt-feed-h2 {
font-size: 45px;
line-height: 1.1;
letter-spacing: -1.5px;
color: #1a0010;
font-weight: 800;
margin-bottom: 8px;
}

.lrn-tips .lt-feed-h2 span {
font-family: Georgia, serif;
font-style: italic;
color: #A1106B;
}

.lrn-tips .lt-feed-sub {
font-size: 23px;
line-height: 1.55;
color: #2d1020;
}

.lrn-tips .lt-img-wrap {
border-radius: 12px;
overflow: hidden;
position: relative;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.lrn-tips .lt-img-wrap img {
width: 100%;
height: 340px;
object-fit: cover;
display: block;
filter: grayscale(1) contrast(1.15);
transition: filter 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lrn-tips .lt-img-wrap:hover img {
filter: grayscale(0.2) contrast(1.05);
}

.lrn-tips .lt-img-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 80px;
background: linear-gradient(to top, rgba(161, 16, 107, 0.45) 0%, transparent 100%);
pointer-events: none;
border-radius: 0 0 12px 12px;
}

.lrn-tips .lt-feat-list {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 8px;
}

.lrn-tips .lt-feat-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #fff;
border-radius: 12px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
position: relative;
overflow: hidden;
transition: box-shadow 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lrn-tips .lt-feat-item::after {
content: '';
position: absolute;
left: 0;
top: 0;
width: 4px;
height: 100%;
background: #1EE6F9;
border-radius: 2px 0 0 2px;
}

.lrn-tips .lt-feat-item:hover {
box-shadow: 2px 4px 28px 0 rgba(30, 230, 249, 0.10);
}

.lrn-tips .lt-feat-icon {
width: 40px;
height: 40px;
border-radius: 12px;
background: linear-gradient(17deg, #FAD3DF 0%, rgba(30, 230, 249, 0.22) 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.lrn-tips .lt-feat-icon svg {
width: 22px;
height: 22px;
}

.lrn-tips .lt-feat-txt {
flex: 1 1 0;
}

.lrn-tips .lt-feat-ttl {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #1a0010;
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 8px;
}

.lrn-tips .lt-feat-body {
font-size: 13px;
line-height: 1.55;
color: #3a2030;
letter-spacing: 0.02em;
}

.lrn-tips .lt-feed-right {
display: flex;
flex-direction: column;
gap: 16px;
}

.lrn-tips .lt-activity-head {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #1a0010;
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 8px;
}

.lrn-tips .lt-activity-feed {
display: flex;
flex-direction: column;
gap: 8px;
}

.lrn-tips .lt-act-entry {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #fff;
border-radius: 12px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
transition: box-shadow 0.5s ease-in-out;
}

.lrn-tips .lt-act-entry:hover {
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
}

.lrn-tips .lt-act-icon {
width: 36px;
height: 36px;
border-radius: 40px;
background: #FAD3DF;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.lrn-tips .lt-act-icon svg {
width: 18px;
height: 18px;
}

.lrn-tips .lt-act-body {
flex: 1 1 0;
}

.lrn-tips .lt-act-desc {
font-size: 13px;
line-height: 1.55;
color: #2d1020;
font-weight: 600;
}

.lrn-tips .lt-act-time {
font-size: 13px;
line-height: 1.55;
color: #8a5070;
letter-spacing: 0.04em;
margin-top: 4px;
}

.lrn-tips .lt-reveal-wrap {
margin-top: 24px;
border-radius: 12px;
overflow: hidden;
position: relative;
}

.lrn-tips .lt-reveal-inner {
padding: 24px;
background: #fff;
border-radius: 12px;
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
position: relative;
overflow: hidden;
}

.lrn-tips .lt-reveal-inner::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
background: rgba(30, 230, 249, 0.08);
border-radius: 6px;
transform: translate(-50%, -50%);
transition: width 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94), height 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
pointer-events: none;
}

.lrn-tips .lt-reveal-inner:hover::before {
width: 100%;
height: 100%;
}

.lrn-tips .lt-reveal-ttl {
font-size: 23px;
line-height: 1.1;
font-weight: 700;
color: #A1106B;
margin-bottom: 8px;
}

.lrn-tips .lt-reveal-body {
font-size: 13px;
line-height: 1.55;
color: #2d1020;
}

.lrn-tips .lt-link-arr {
display: inline-flex;
align-items: center;
gap: 8px;
color: #A1106B;
font-size: 13px;
font-weight: 700;
letter-spacing: 0.04em;
text-decoration: none;
margin-top: 16px;
transition: color 0.45s ease-in-out;
}

.lrn-tips .lt-link-arr svg {
transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.lrn-tips .lt-link-arr:hover svg {
transform: translateX(6px);
}

.lrn-tips .lt-link-arr:hover {
color: #1EE6F9;
}

.lrn-tips .lt-pulse-key {
animation: lt-shadow-pulse 2.8s ease-in-out infinite;
}

@keyframes lt-shadow-pulse {
0% {
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
}

50% {
box-shadow: 2px 9px 40px 0 rgba(30, 230, 249, 0.18);
}

100% {
box-shadow: 2px 3px 5px 0 rgba(30, 230, 249, 0.07);
}
}

@media (max-width: 900px) {
.lrn-tips .lt-hero-grid {
flex-direction: column;
gap: 24px;
}

.lrn-tips .lt-hero-side {
flex-direction: row;
flex: none;
align-items: center;
justify-content: center;
width: 100%;
gap: 16px;
}

.lrn-tips .lt-hero-side.right {
align-items: center;
}

.lrn-tips .lt-stat-pill {
width: 140px;
}

.lrn-tips .lt-feed-grid {
grid-template-columns: 1fr;
gap: 24px;
}
}

@media (max-width: 600px) {
.lrn-tips .lt-h1 {
font-size: 45px;
letter-spacing: -1px;
}

.lrn-tips .lt-hero-side {
flex-wrap: wrap;
}

.lrn-tips .lt-stat-pill {
width: 130px;
}
}

.succ_page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px;
background: linear-gradient(17deg, #fff 60%, #FAD3DF 100%), radial-gradient(ellipse at 80% 20%, #1EE6F9 0%, transparent 60%);
background-blend-mode: multiply;
}

.succ_page .succ_wrap {
max-width: 1170px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 40px;
}

.succ_page .succ_icon {
width: 80px;
height: 80px;
flex-shrink: 0;
}

.succ_page .succ_icon .icon_circle {
fill: none;
stroke: #A1106B;
stroke-width: 3;
stroke-dasharray: 251;
stroke-dashoffset: 0;
transition: stroke 0.55s ease-in-out;
}

.succ_page .succ_icon .icon_check {
fill: none;
stroke: #1EE6F9;
stroke-width: 3.5;
stroke-linecap: round;
stroke-linejoin: round;
stroke-dasharray: 60;
stroke-dashoffset: 0;
}

.succ_page .succ_card {
background: #fff;
border-radius: 24px;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
padding: 40px;
max-width: 560px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px;
text-align: center;
}

.succ_page .succ_card .succ_label {
font-size: 13px;
line-height: 2.0;
letter-spacing: 0.12em;
color: #A1106B;
text-transform: uppercase;
font-weight: 600;
}

.succ_page .succ_card .succ_title {
font-size: 45px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1a0010;
margin: 0;
font-weight: 700;
}

.succ_page .succ_card .succ_title .accent_word {
font-style: italic;
color: #A1106B;
}

.succ_page .succ_card .succ_title .dot_acc {
display: inline-block;
width: 8px;
height: 8px;
background: #1EE6F9;
border-radius: 50%;
margin-left: 6px;
vertical-align: middle;
position: relative;
top: -4px;
}

.succ_page .succ_card .succ_body {
font-size: 23px;
line-height: 1.55;
color: #2c0018;
margin: 0;
max-width: 420px;
}

.succ_page .succ_card .succ_divider {
width: 48px;
height: 2px;
background: linear-gradient(17deg, #1EE6F9, #A1106B);
border-radius: 2px;
}

.succ_page .succ_card .succ_note {
font-size: 13px;
line-height: 1.55;
color: #5a2040;
margin: 0;
letter-spacing: 0.03em;
}

.succ_page .succ_actions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center;
}

.succ_page .succ_actions .btn_prim {
display: inline-block;
padding: 16px 40px;
background: #A1106B;
color: #fff;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 700;
border-radius: 6px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: 2px 4px 28px 0 rgba(161, 16, 107, 0.10);
transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.55s ease-in-out;
outline-offset: 3px;
}

.succ_page .succ_actions .btn_prim:hover {
background: #7d0c54;
box-shadow: 2px 9px 40px 0 rgba(161, 16, 107, 0.11);
}

.succ_page .succ_actions .btn_prim:focus-visible {
outline: 2px solid #1EE6F9;
}

.succ_page .succ_actions .btn_sec {
display: inline-block;
padding: 16px 40px;
background: transparent;
color: #A1106B;
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
font-weight: 700;
border-radius: 6px;
text-decoration: none;
border: 2px solid #A1106B;
cursor: pointer;
transition: background-color 0.45s ease-in-out, color 0.45s ease-in-out;
outline-offset: 3px;
}

.succ_page .succ_actions .btn_sec:hover {
background: #FAD3DF;
color: #7d0c54;
}

.succ_page .succ_actions .btn_sec:focus-visible {
outline: 2px solid #1EE6F9;
}

.succ_page .succ_ref {
font-size: 13px;
line-height: 2.0;
color: #5a2040;
letter-spacing: 0.04em;
}

.succ_page .succ_ref a {
color: #A1106B;
text-decoration: underline;
text-underline-offset: 3px;
transition: color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.succ_page .succ_ref a:hover {
color: #7d0c54;
}

@media (max-width: 600px) {
.succ_page {
padding: 40px 16px;
}

.succ_page .succ_card {
padding: 24px 16px;
}

.succ_page .succ_card .succ_title {
font-size: 23px;
}

.succ_page .succ_card .succ_body {
font-size: 13px;
}

.succ_page .succ_actions {
flex-direction: column;
align-items: stretch;
}

.succ_page .succ_actions .btn_prim,
.succ_page .succ_actions .btn_sec {
text-align: center;
}
}