body {
margin: 0;
-webkit-text-size-adjust: 100%;
font-family: 'Fira Sans', sans-serif;
}

.pg-frame {
box-sizing: border-box;
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
}

@keyframes focus-dash {
from {
outline-offset: 2px;
}

to {
outline-offset: 5px;
}
}

*:focus-visible {
outline: 2px dashed #3F4E78;
outline-offset: 3px;
animation: focus-dash 1.2s ease-out infinite alternate;
}

.site-head {
background: linear-gradient(135deg, #EDF1F6 0%, #ffffff 60%, #EDF1F6 100%);
border-bottom: 2px solid #87CBC0;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
position: relative;
}

.head-top {
box-sizing: border-box;
max-width: 1280px;
margin: 0 auto;
padding: 24px 48px 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
}

.brand-area {
display: flex;
align-items: center;
gap: 12px;
order: 2;
flex-shrink: 0;
}

.brand-mark {
display: flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
background: #ffffff;
border: 2px solid #87CBC0;
box-shadow: inset 0 2px 4px 0 rgba(135, 203, 192, 0.18), inset 0 -1px 3px 0 rgba(63, 78, 120, 0.12), 0 2px 4px 0 rgba(63, 78, 120, 0.08);
overflow: hidden;
}

.brand-mark img {
width: 50px;
height: 50px;
object-fit: contain;
object-position: center;
display: block;
}

.brand-name {
font-size: 24px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
text-decoration: none;
}

.head-nav {
order: 1;
flex: 1;
}

.head-nav ul {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
}

.head-nav ul li a {
display: inline-flex;
align-items: center;
padding: 12px 24px;
font-size: 15px;
font-weight: 400;
line-height: 1.5;
letter-spacing: 0.01em;
color: #3F4E78;
text-decoration: none;
border: 2px solid transparent;
border-radius: 6px;
transition: color 0.22s ease-out, border-color 0.18s ease-out, background-color 0.25s ease-out;
white-space: nowrap;
}

.head-nav ul li a:hover {
color: #3F4E78;
border-color: #87CBC0;
background-color: rgba(135, 203, 192, 0.12);
}

.head-nav ul li a.active {
border-color: #3F4E78;
background-color: rgba(63, 78, 120, 0.06);
font-weight: 700;
}

.head-accent {
box-sizing: border-box;
max-width: 1280px;
margin: 0 auto;
padding: 12px 48px;
display: flex;
align-items: center;
gap: 24px;
border-top: 1px solid rgba(135, 203, 192, 0.35);
margin-top: 12px;
}

.head-tagline {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.02em;
color: #3F4E78;
opacity: 0.7;
flex: 1;
}

.head-contact-link {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
color: #3F4E78;
text-decoration: none;
border-bottom: 2px solid #87CBC0;
padding-bottom: 2px;
transition: color 0.2s ease-out, border-color 0.28s ease-out;
flex-shrink: 0;
}

.head-contact-link:hover {
color: #87CBC0;
border-color: #3F4E78;
}

@media (max-width: 768px) {
.head-top {
padding: 24px 24px 0;
flex-wrap: wrap;
}

.head-accent {
padding: 12px 24px;
flex-wrap: wrap;
}

.pg-frame {
padding: 0 24px;
}

.head-nav ul {
gap: 4px;
}

.head-nav ul li a {
padding: 12px 12px;
font-size: 15px;
}
}

@media (max-width: 390px) {
.head-top {
padding: 24px 12px 0;
flex-direction: column;
align-items: flex-start;
}

.brand-area {
order: 1;
}

.head-nav {
order: 2;
width: 100%;
}

.head-accent {
padding: 12px 12px;
}

.pg-frame {
padding: 0 12px;
}
}

.site-foot {
background: linear-gradient(160deg, #3F4E78 0%, #2e3a5e 100%);
box-shadow: 0 -5px 25px 0 rgba(63, 78, 120, 0.09);
}

.foot-upper {
box-sizing: border-box;
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px 48px;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 48px;
align-items: start;
}

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

.foot-logo-wrap {
display: inline-flex;
align-items: center;
justify-content: center;
width: 56px;
height: 56px;
background: #ffffff;
border: 2px solid rgba(135, 203, 192, 0.5);
box-shadow: inset 0 2px 4px 0 rgba(135, 203, 192, 0.18), inset 0 -1px 3px 0 rgba(63, 78, 120, 0.12), 0 2px 4px 0 rgba(63, 78, 120, 0.08);
overflow: hidden;
flex-shrink: 0;
}

.foot-logo-wrap img {
width: 50px;
height: 50px;
object-fit: contain;
object-position: center;
display: block;
}

.foot-about {
font-size: 15px;
line-height: 1.9;
color: rgba(237, 241, 246, 0.75);
margin: 0;
padding: 0;
}

.foot-col-head {
font-size: 15px;
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.04em;
color: #87CBC0;
margin: 0 0 24px 0;
padding: 0;
text-transform: uppercase;
}

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

.foot-links li a {
font-size: 15px;
line-height: 1.5;
color: rgba(237, 241, 246, 0.8);
text-decoration: none;
border-bottom: 1px solid transparent;
padding-bottom: 1px;
transition: color 0.2s ease-out, border-color 0.35s ease-out;
display: inline;
}

.foot-links li a:hover {
color: #87CBC0;
border-color: #87CBC0;
}

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

.foot-contact-list li {
display: flex;
align-items: flex-start;
gap: 12px;
}

.foot-contact-list li .fc-icon {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
flex-shrink: 0;
margin-top: 1px;
}

.foot-contact-list li .fc-icon svg {
width: 16px;
height: 16px;
fill: none;
stroke: #87CBC0;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.foot-contact-list li span,
.foot-contact-list li a {
font-size: 15px;
line-height: 1.5;
color: rgba(237, 241, 246, 0.8);
text-decoration: none;
transition: color 0.2s ease-out;
}

.foot-contact-list li a:hover {
color: #87CBC0;
}

.foot-lower {
box-sizing: border-box;
max-width: 1280px;
margin: 0 auto;
padding: 24px 48px;
border-top: 1px solid rgba(135, 203, 192, 0.2);
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
flex-wrap: wrap;
}

.foot-copy {
font-size: 15px;
line-height: 1.5;
color: rgba(237, 241, 246, 0.45);
margin: 0;
padding: 0;
}

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

.foot-legal-links li a {
font-size: 15px;
line-height: 1.5;
color: rgba(237, 241, 246, 0.5);
text-decoration: none;
border-bottom: 1px solid transparent;
padding-bottom: 1px;
transition: color 0.25s ease-out, border-color 0.18s ease-out;
}

.foot-legal-links li a:hover {
color: #87CBC0;
border-color: rgba(135, 203, 192, 0.5);
}

@media (max-width: 768px) {
.foot-upper {
padding: 48px 24px 48px;
grid-template-columns: 1fr 1fr;
gap: 48px;
}

.foot-brand {
grid-column: 1 / -1;
}

.foot-lower {
padding: 24px 24px;
flex-direction: column;
align-items: flex-start;
gap: 12px;
}
}

@media (max-width: 390px) {
.foot-upper {
padding: 48px 12px 48px;
grid-template-columns: 1fr;
gap: 48px;
}

.foot-lower {
padding: 24px 12px;
}
}

.ck-notice {
position: fixed;
top: 24px;
right: 24px;
width: 320px;
background: #ffffff;
border: 2px solid #87CBC0;
border-radius: 18px;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
padding: 24px;
z-index: 1200;
box-sizing: border-box;
transform: translateX(calc(100% + 48px));
transition: transform 0.22s ease-out;
display: none;
}

.ck-notice.ck-visible {
transform: translateX(0);
}

.ck-text {
font-family: 'Fira Sans', sans-serif;
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
margin: 0 0 24px 0;
padding: 0;
}

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

.ck-accept {
font-family: 'Fira Sans', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.5;
color: #3F4E78;
background: none;
border: 2px solid #3F4E78;
border-radius: 6px;
padding: 4px 24px;
cursor: pointer;
text-decoration: underline;
transition: color 0.2s ease-out, background-color 0.28s ease-out;
}

.ck-accept:hover {
background-color: rgba(63, 78, 120, 0.08);
color: #2e3a5e;
}

.ck-decline {
font-family: 'Fira Sans', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.5;
color: rgba(63, 78, 120, 0.6);
background: none;
border: none;
padding: 4px 0;
cursor: pointer;
text-decoration: underline;
transition: color 0.2s ease-out;
}

.ck-decline:hover {
color: #3F4E78;
}

@media (max-width: 390px) {
.ck-notice {
top: 12px;
right: 12px;
left: 12px;
width: auto;
}
}

.legal-details {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
color: #2c3a5e;
}

.legal-details h1 {
font-size: 64px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #3F4E78;
margin-bottom: 48px;
margin-top: 0;
padding-bottom: 24px;
border-bottom: 2px solid #EDF1F6;
}

.legal-details h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
margin-top: 96px;
margin-bottom: 24px;
}

.legal-details h3 {
font-size: 24px;
line-height: 1.5;
letter-spacing: -0.01em;
color: #3F4E78;
margin-top: 48px;
margin-bottom: 12px;
}

.legal-details h4 {
font-size: 16px;
line-height: 1.5;
letter-spacing: 0.02em;
color: #3F4E78;
font-weight: 700;
margin-top: 24px;
margin-bottom: 12px;
text-transform: uppercase;
}

.legal-details h5 {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.03em;
color: #3F4E78;
font-weight: 700;
margin-top: 24px;
margin-bottom: 12px;
}

.legal-details h6 {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.04em;
color: #87CBC0;
font-weight: 600;
margin-top: 24px;
margin-bottom: 12px;
text-transform: uppercase;
}

.legal-details p {
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2c3a5e;
margin-top: 0;
margin-bottom: 24px;
max-width: 72ch;
}

.legal-details ul,
.legal-details ol {
margin-top: 0;
margin-bottom: 24px;
padding-left: 24px;
max-width: 72ch;
}

.legal-details ul {
list-style: none;
padding-left: 0;
}

.legal-details ul li {
position: relative;
padding-left: 24px;
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2c3a5e;
margin-bottom: 12px;
}

.legal-details ul li::before {
content: '';
position: absolute;
left: 0;
top: 0.72em;
width: 6px;
height: 6px;
border-radius: 50%;
background-color: #87CBC0;
}

.legal-details ol {
list-style: none;
counter-reset: policy-counter;
padding-left: 0;
}

.legal-details ol li {
position: relative;
padding-left: 24px;
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #2c3a5e;
margin-bottom: 12px;
counter-increment: policy-counter;
}

.legal-details ol li::before {
content: counter(policy-counter) '.';
position: absolute;
left: 0;
top: 0;
font-size: 15px;
font-weight: 600;
color: #87CBC0;
line-height: 1.9;
}

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

.legal-details em,
.legal-details i {
font-style: italic;
color: #3F4E78;
}

.legal-details table {
width: 100%;
border-collapse: collapse;
margin-bottom: 48px;
font-size: 15px;
line-height: 1.5;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
border-radius: 18px;
overflow: hidden;
}

.legal-details thead {
background-color: #3F4E78;
}

.legal-details thead th {
color: #EDF1F6;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
padding: 12px 24px;
text-align: left;
border: none;
}

.legal-details tbody tr {
border-bottom: 1px solid #EDF1F6;
transition: background-color 0.2s ease-out;
}

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

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

.legal-details tbody tr:hover {
background-color: #EDF1F6;
}

.legal-details td {
padding: 12px 24px;
font-size: 15px;
line-height: 1.5;
color: #2c3a5e;
vertical-align: top;
border: none;
}

.legal-details th {
padding: 12px 24px;
font-size: 15px;
line-height: 1.5;
vertical-align: top;
border: none;
}

.legal-details hr {
border: none;
height: 1px;
background: linear-gradient(to right, transparent, #87CBC0, #3F4E78, #87CBC0, transparent);
margin-top: 48px;
margin-bottom: 48px;
opacity: 0.35;
}

@media (max-width: 1280px) {
.legal-details {
padding: 96px 48px;
}
}

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

.legal-details h1 {
font-size: 48px;
margin-bottom: 24px;
}

.legal-details h2 {
font-size: 24px;
margin-top: 48px;
}

.legal-details h3 {
font-size: 16px;
}

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

.legal-details hr {
margin-top: 24px;
margin-bottom: 24px;
}
}

@media (max-width: 390px) {
.legal-details {
padding: 48px 12px;
}

.legal-details h1 {
font-size: 48px;
letter-spacing: -0.025em;
}

.legal-details h2 {
font-size: 24px;
}

.legal-details p,
.legal-details ul li,
.legal-details ol li,
.legal-details td {
font-size: 15px;
}

.legal-details thead th {
padding: 12px;
}

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

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

.spt-pg * {
box-sizing: border-box;
}

.spt-pg ::selection {
background: rgba(63, 78, 120, 0.12);
color: #1a2340;
}

.spt-pg .ch-wrap {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
}

@media (max-width: 768px) {
.spt-pg .ch-wrap {
padding: 0 24px;
}
}

@media (max-width: 390px) {
.spt-pg .ch-wrap {
padding: 0 12px;
}
}

.spt-pg .top-band {
padding: 96px 0 48px;
position: relative;
background: #EDF1F6;
}

.spt-pg .top-band::after {
content: "";
display: block;
position: absolute;
bottom: -40px;
left: 0;
width: 100%;
height: 40px;
background: #EDF1F6;
clip-path: polygon(0 0, 100% 0, 0 100%);
z-index: 1;
}

.spt-pg .top-band-inner {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 48px;
}

.spt-pg .top-text {
flex: 2;
position: relative;
}

.spt-pg .bracket-deco {
position: absolute;
top: -12px;
left: -24px;
width: 32px;
height: 32px;
border-top: 3px solid #87CBC0;
border-left: 3px solid #87CBC0;
border-radius: 6px 0 0 0;
pointer-events: none;
}

.spt-pg .bracket-deco-br {
position: absolute;
bottom: -12px;
right: -12px;
width: 32px;
height: 32px;
border-bottom: 3px solid #3F4E78;
border-right: 3px solid #3F4E78;
border-radius: 0 0 6px 0;
pointer-events: none;
}

.spt-pg .top-label {
display: inline-block;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.08em;
color: #3F4E78;
border: 1.5px solid #87CBC0;
border-radius: 6px;
padding: 4px 12px;
margin-bottom: 24px;
text-transform: uppercase;
}

.spt-pg .top-h1 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #2a3354;
font-weight: 700;
margin: 0 0 24px;
}

.spt-pg .top-h1 span {
display: block;
}

.spt-pg .top-sub {
font-size: 16px;
line-height: 1.9;
color: #3a4560;
margin: 0 0 24px;
max-width: 520px;
}

.spt-pg .top-note {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
margin-top: 24px;
}

.spt-pg .top-note aside {
flex: 0 0 auto;
width: 4px;
background: #87CBC0;
border-radius: 6px;
align-self: stretch;
min-height: 48px;
}

.spt-pg .top-note p {
font-size: 15px;
line-height: 1.5;
color: #4a5575;
margin: 0;
}

.spt-pg .top-img-col {
flex: 1;
position: relative;
display: flex;
flex-direction: column;
align-items: flex-end;
}

.spt-pg .top-img-frame {
position: relative;
width: 100%;
max-width: 380px;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
}

.spt-pg .top-img-frame img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center 30%;
display: block;
filter: blur(0px);
transition: filter 0.35s ease-out;
}

.spt-pg .top-img-frame:hover img {
filter: blur(0px);
}

.spt-pg .top-img-frame::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 50%, transparent 40%, rgba(63, 78, 120, 0.28) 100%);
pointer-events: none;
border-radius: 18px;
}

.spt-pg .diamond-deco {
position: absolute;
top: -16px;
right: -16px;
width: 40px;
height: 40px;
background: #87CBC0;
transform: rotate(45deg);
border-radius: 6px;
opacity: 0.7;
pointer-events: none;
z-index: 2;
}

@media (max-width: 768px) {
.spt-pg .top-band-inner {
flex-direction: column;
gap: 24px;
}

.spt-pg .top-img-col {
align-items: flex-start;
width: 100%;
}

.spt-pg .top-img-frame {
max-width: 100%;
}

.spt-pg .top-h1 {
font-size: 48px;
}
}

@media (max-width: 390px) {
.spt-pg .top-h1 {
font-size: 48px;
}

.spt-pg .top-band {
padding: 48px 0 24px;
}
}

.spt-pg .contact-band {
padding: 96px 0 96px;
background: #fff;
position: relative;
z-index: 2;
margin-top: 40px;
}

.spt-pg .contact-band-inner {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: start;
}

.spt-pg .contact-main {
display: flex;
flex-direction: column;
gap: 48px;
}

.spt-pg .contact-h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #2a3354;
font-weight: 700;
margin: 0 0 12px;
text-align: center;
}

.spt-pg .contact-intro {
font-size: 16px;
line-height: 1.5;
color: #4a5575;
margin: 0;
text-align: left;
}

.spt-pg .channels-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.spt-pg .ch-card {
border-radius: 18px;
padding: 24px;
position: relative;
overflow: hidden;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
transition: box-shadow 0.25s ease-out, transform 0.2s ease-out;
background: #fff;
border: 1.5px solid #EDF1F6;
}

.spt-pg .ch-card:hover {
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
transform: translateY(-3px);
}

.spt-pg .ch-card .corner-acc {
position: absolute;
top: 0;
right: 0;
width: 48px;
height: 48px;
background: #87CBC0;
border-radius: 0 18px 0 32px;
opacity: 0.18;
pointer-events: none;
}

.spt-pg .ch-card .ch-ico {
width: 48px;
height: 48px;
border-radius: 12px;
background: #EDF1F6;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin-bottom: 12px;
transition: background 0.2s ease-out;
}

.spt-pg .ch-card:hover .ch-ico {
background: rgba(135, 203, 192, 0.22);
}

.spt-pg .ch-card .ch-ico svg {
width: 24px;
height: 24px;
fill: none;
stroke: #3F4E78;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke 0.2s ease-out;
}

.spt-pg .ch-card:hover .ch-ico svg {
stroke: #2a6e66;
}

.spt-pg .ch-card h4 {
font-size: 16px;
line-height: 1.5;
font-weight: 700;
color: #2a3354;
margin: 0 0 4px;
letter-spacing: -0.01em;
}

.spt-pg .ch-card p {
font-size: 15px;
line-height: 1.5;
color: #5a6480;
margin: 0 0 12px;
}

.spt-pg .ch-card a {
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
text-decoration: none;
font-weight: 600;
border-bottom: 1.5px solid #87CBC0;
transition: color 0.2s ease-out, border-color 0.18s ease-out;
}

.spt-pg .ch-card a:hover {
color: #87CBC0;
border-color: #3F4E78;
}

.spt-pg .hours-card {
background: #EDF1F6;
border-radius: 18px;
padding: 24px;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
}

.spt-pg .hours-card h4 {
font-size: 16px;
line-height: 1.5;
font-weight: 700;
color: #2a3354;
margin: 0 0 12px;
}

.spt-pg .hours-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 4px;
}

.spt-pg .hours-list li {
font-size: 15px;
line-height: 1.5;
display: flex;
flex-direction: row;
justify-content: space-between;
gap: 12px;
padding: 4px 0;
border-bottom: 1px solid rgba(63, 78, 120, 0.1);
}

.spt-pg .hours-list li:nth-child(odd) {
color: #3F4E78;
}

.spt-pg .hours-list li:nth-child(even) {
color: #4a6e6a;
}

.spt-pg .hours-list li:last-child {
border-bottom: none;
}

.spt-pg .hours-list li span {
font-weight: 600;
color: #2a3354;
}

.spt-pg .contact-side {
display: flex;
flex-direction: column;
gap: 24px;
}

.spt-pg .addr-card {
border-radius: 18px;
padding: 24px;
background: #3F4E78;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
position: relative;
overflow: hidden;
}

.spt-pg .addr-card::before {
content: "";
position: absolute;
bottom: -24px;
right: -24px;
width: 96px;
height: 96px;
background: rgba(135, 203, 192, 0.18);
border-radius: 50%;
pointer-events: none;
}

.spt-pg .addr-card h5 {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.06em;
text-transform: uppercase;
color: #87CBC0;
margin: 0 0 12px;
font-weight: 600;
}

.spt-pg .addr-card address {
font-style: normal;
font-size: 15px;
line-height: 1.9;
color: #c8d4f0;
}

.spt-pg .addr-card address strong {
display: block;
color: #fff;
font-size: 16px;
margin-bottom: 4px;
}

.spt-pg .team-strip {
border-radius: 18px;
border: 1.5px solid #EDF1F6;
padding: 24px;
background: #fff;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
}

.spt-pg .team-strip h5 {
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
font-weight: 700;
margin: 0 0 12px;
text-transform: uppercase;
letter-spacing: 0.06em;
}

.spt-pg .team-strip p {
font-size: 15px;
line-height: 1.5;
color: #5a6480;
margin: 0 0 12px;
}

.spt-pg .team-portraits {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
}

.spt-pg .portrait-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
}

.spt-pg .portrait-img {
width: 56px;
height: 56px;
border-radius: 50%;
overflow: hidden;
border: 2px solid #87CBC0;
flex-shrink: 0;
}

.spt-pg .portrait-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(1.5px);
transition: filter 0.35s ease-out;
}

.spt-pg .portrait-img:hover img {
filter: blur(0px);
}

.spt-pg .portrait-name {
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
font-weight: 600;
text-align: center;
}

.spt-pg .portrait-role {
font-size: 15px;
line-height: 1.5;
color: #7a88a8;
text-align: center;
}

@media (max-width: 768px) {
.spt-pg .contact-band-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.spt-pg .channels-grid {
grid-template-columns: 1fr;
gap: 12px;
}

.spt-pg .contact-band {
padding: 48px 0 48px;
margin-top: 24px;
}
}

@media (max-width: 390px) {
.spt-pg .channels-grid {
grid-template-columns: 1fr;
}

.spt-pg .contact-h2 {
font-size: 48px;
}
}

.spt-pg .bg-wave {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0;
}

.spt-pg .bg-wave::after {
content: "";
position: absolute;
top: -60%;
left: -30%;
width: 160%;
height: 160%;
background: radial-gradient(circle at 50% 50%, rgba(135, 203, 192, 0.07) 0%, transparent 65%);
animation: wv-pass 9s ease-out infinite alternate;
}

@keyframes wv-pass {
0% {
transform: translateX(-8%) translateY(0);
opacity: 0.6;
}

100% {
transform: translateX(8%) translateY(4%);
opacity: 1;
}
}

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

.prtn-pg *,
.prtn-pg *::before,
.prtn-pg *::after {
box-sizing: border-box;
}

.prtn-pg .pg-col {
max-width: 1280px;
margin-left: auto;
margin-right: auto;
padding-left: 48px;
padding-right: 48px;
}

.prtn-pg .split-row {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 520px;
}

.prtn-pg .split-left {
background: #3F4E78;
padding: 96px 48px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden;
}

.prtn-pg .split-left::before {
content: "";
position: absolute;
top: -60px;
right: -60px;
width: 260px;
height: 260px;
border: 2px solid rgba(135, 203, 192, 0.18);
border-radius: 50%;
pointer-events: none;
}

.prtn-pg .split-left::after {
content: "";
position: absolute;
bottom: -80px;
left: -40px;
width: 200px;
height: 200px;
border: 1.5px solid rgba(135, 203, 192, 0.12);
border-radius: 50%;
pointer-events: none;
}

.prtn-pg .dot-path {
display: flex;
flex-direction: row;
gap: 12px;
align-items: center;
margin-bottom: 24px;
}

.prtn-pg .dot-path span {
display: block;
border-radius: 50%;
background: #87CBC0;
opacity: 0.7;
}

.prtn-pg .dot-path span:nth-child(1) {
width: 6px;
height: 6px;
opacity: 0.4;
}

.prtn-pg .dot-path span:nth-child(2) {
width: 8px;
height: 8px;
opacity: 0.6;
}

.prtn-pg .dot-path span:nth-child(3) {
width: 10px;
height: 10px;
opacity: 0.85;
}

.prtn-pg .dot-path span:nth-child(4) {
width: 8px;
height: 8px;
opacity: 0.6;
}

.prtn-pg .dot-path span:nth-child(5) {
width: 6px;
height: 6px;
opacity: 0.4;
}

.prtn-pg .lbl-tag {
display: inline-block;
border: 1.5px solid rgba(135, 203, 192, 0.55);
border-radius: 6px;
padding: 4px 12px;
color: #87CBC0;
font-size: 15px;
letter-spacing: 0.08em;
margin-bottom: 24px;
line-height: 1.5;
}

.prtn-pg .hdl-xl {
font-size: 64px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #fff;
margin: 0 0 12px 0;
}

.prtn-pg .hdl-md {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #87CBC0;
margin: 0 0 24px 0;
}

.prtn-pg .split-sub {
font-size: 16px;
line-height: 1.9;
color: rgba(255, 255, 255, 0.78);
margin: 0;
max-width: 380px;
}

.prtn-pg .split-right {
position: relative;
overflow: hidden;
}

.prtn-pg .split-right img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 30%;
display: block;
filter: contrast(1.06) saturate(0.92);
}

.prtn-pg .split-right .img-frame {
position: absolute;
inset: 16px;
border: 1.5px solid rgba(135, 203, 192, 0.35);
border-radius: 18px;
pointer-events: none;
z-index: 1;
}

.prtn-pg .split-right .img-outer {
position: absolute;
inset: 8px;
border: 1px solid rgba(63, 78, 120, 0.18);
border-radius: 18px;
pointer-events: none;
z-index: 1;
}

.prtn-pg .anim-reveal {
animation: prtn-reveal 0.45s ease-out both;
}

.prtn-pg .anim-reveal-2 {
animation: prtn-reveal 0.38s ease-out 0.12s both;
}

.prtn-pg .anim-reveal-3 {
animation: prtn-reveal 0.32s ease-out 0.22s both;
}

@keyframes prtn-reveal {
from {
opacity: 0;
transform: scale(0.96);
}

to {
opacity: 1;
transform: scale(1);
}
}

.prtn-pg .brush-div {
display: flex;
justify-content: center;
padding: 0;
line-height: 0;
}

.prtn-pg .brush-div svg {
width: 320px;
height: 32px;
display: block;
}

.prtn-pg .collab-area {
background: #EDF1F6;
padding: 96px 0;
}

.prtn-pg .collab-inner {
max-width: 1280px;
margin-left: auto;
margin-right: auto;
padding-left: 48px;
padding-right: 48px;
}

.prtn-pg .collab-top {
display: grid;
grid-template-columns: 200px 1fr;
gap: 48px;
align-items: start;
margin-bottom: 48px;
}

.prtn-pg .side-note {
padding-top: 12px;
}

.prtn-pg .side-note-lbl {
font-size: 15px;
line-height: 1.9;
color: #3F4E78;
border-top: 2px solid #87CBC0;
padding-top: 12px;
letter-spacing: 0.04em;
}

.prtn-pg .collab-hdl {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
margin: 0 0 24px 0;
text-align: center;
}

.prtn-pg .collab-body {
font-size: 16px;
line-height: 1.9;
color: #3a4155;
margin: 0;
text-align: left;
}

.prtn-pg .collab-body .framed-kw {
display: inline;
border: 1.5px solid #87CBC0;
border-radius: 6px;
padding: 0 4px;
color: #3F4E78;
}

.prtn-pg .partner-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 48px;
}

.prtn-pg .p-card {
background: #fff;
border-radius: 18px;
padding: 48px 24px 24px;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
display: flex;
flex-direction: column;
gap: 12px;
position: relative;
border: 1.5px solid rgba(63, 78, 120, 0.08);
transition: box-shadow 0.25s ease-out, transform 0.2s ease-out;
}

.prtn-pg .p-card:hover {
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
transform: translateY(-4px);
}

.prtn-pg .p-card.alt-bg {
background: #3F4E78;
}

.prtn-pg .p-card.alt-bg .p-card-name,
.prtn-pg .p-card.alt-bg .p-card-role,
.prtn-pg .p-card.alt-bg .p-card-desc {
color: #fff;
}

.prtn-pg .p-card.alt-bg .p-card-role {
color: #87CBC0;
}

.prtn-pg .p-card.alt-bg .p-card-tag {
border-color: rgba(135, 203, 192, 0.5);
color: #87CBC0;
}

.prtn-pg .p-card-icon-box {
width: 48px;
height: 48px;
border: 2px solid #87CBC0;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
flex-shrink: 0;
}

.prtn-pg .p-card-icon-box svg {
width: 24px;
height: 24px;
stroke: #3F4E78;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.prtn-pg .p-card.alt-bg .p-card-icon-box {
border-color: rgba(135, 203, 192, 0.6);
}

.prtn-pg .p-card.alt-bg .p-card-icon-box svg {
stroke: #87CBC0;
}

.prtn-pg .p-card-name {
font-size: 16px;
line-height: 1.5;
color: #3F4E78;
font-weight: 700;
letter-spacing: -0.01em;
margin: 0;
}

.prtn-pg .p-card-role {
font-size: 15px;
line-height: 1.5;
color: #87CBC0;
margin: 0;
font-weight: 600;
}

.prtn-pg .p-card-desc {
font-size: 15px;
line-height: 1.9;
color: #4a5270;
margin: 0;
}

.prtn-pg .p-card-tag {
display: inline-block;
border: 1.5px solid rgba(63, 78, 120, 0.25);
border-radius: 6px;
padding: 4px 12px;
font-size: 15px;
color: #3F4E78;
line-height: 1.5;
letter-spacing: 0.03em;
align-self: flex-start;
}

.prtn-pg .p-card-odd {
background: #fff;
}

.prtn-pg .p-card-even {
background: #EDF1F6;
}

.prtn-pg .img-band {
position: relative;
overflow: hidden;
min-height: 340px;
margin-top: 48px;
border-radius: 18px;
}

.prtn-pg .img-band img {
width: 100%;
height: 340px;
object-fit: cover;
object-position: center 40%;
display: block;
filter: brightness(0.42) saturate(0.8);
}

.prtn-pg .img-band-copy {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
padding: 48px;
}

.prtn-pg .img-band-hdl {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #fff;
margin: 0 0 12px 0;
max-width: 560px;
}

.prtn-pg .img-band-sub {
font-size: 16px;
line-height: 1.9;
color: rgba(255, 255, 255, 0.82);
margin: 0 0 24px 0;
max-width: 460px;
}

.prtn-pg .btn-outline {
display: inline-block;
border: 2.5px solid #87CBC0;
border-radius: 6px;
padding: 12px 24px;
font-size: 16px;
color: #87CBC0;
text-decoration: none;
letter-spacing: 0.04em;
line-height: 1.5;
transition: background 0.22s ease-out, color 0.18s ease-out, border-color 0.18s ease-out;
}

.prtn-pg .btn-outline:hover {
background: #87CBC0;
color: #3F4E78;
border-color: #87CBC0;
}

.prtn-pg .btn-outline:focus {
outline: 3px solid #87CBC0;
outline-offset: 3px;
}

.prtn-pg .btn-solid {
display: inline-block;
border: 2.5px solid #3F4E78;
border-radius: 6px;
padding: 12px 24px;
font-size: 16px;
background: #3F4E78;
color: #fff;
text-decoration: none;
letter-spacing: 0.04em;
line-height: 1.5;
transition: background 0.22s ease-out, color 0.2s ease-out, border-color 0.15s ease-out;
}

.prtn-pg .btn-solid:hover {
background: #fff;
color: #3F4E78;
border-color: #3F4E78;
}

.prtn-pg .btn-solid:focus {
outline: 3px solid #3F4E78;
outline-offset: 3px;
}

.prtn-pg .testim-row {
display: grid;
grid-template-columns: 80px 1fr;
gap: 24px;
align-items: center;
background: #fff;
border-radius: 18px;
padding: 24px;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
margin-top: 48px;
border: 1.5px solid rgba(63, 78, 120, 0.08);
}

.prtn-pg .testim-portrait {
width: 80px;
height: 80px;
border-radius: 50%;
overflow: hidden;
flex-shrink: 0;
}

.prtn-pg .testim-portrait img {
width: 80px;
height: 80px;
object-fit: cover;
object-position: center;
display: block;
}

.prtn-pg .testim-body {
display: flex;
flex-direction: column;
gap: 4px;
}

.prtn-pg .testim-quote {
font-size: 15px;
line-height: 1.9;
color: #3a4155;
margin: 0;
}

.prtn-pg .testim-attr {
font-size: 15px;
color: #3F4E78;
font-weight: 700;
line-height: 1.5;
margin: 0;
}

.prtn-pg .testim-loc {
font-size: 15px;
color: #87CBC0;
line-height: 1.5;
margin: 0;
}

.prtn-pg .list-alt {
list-style: none;
padding: 0;
margin: 48px 0 0 0;
display: flex;
flex-direction: column;
gap: 4px;
}

.prtn-pg .list-alt li {
padding: 12px 24px;
border-radius: 6px;
font-size: 16px;
line-height: 1.5;
color: #3a4155;
}

.prtn-pg .list-alt li:nth-child(odd) {
background: rgba(135, 203, 192, 0.13);
color: #3F4E78;
}

.prtn-pg .list-alt li:nth-child(even) {
background: rgba(63, 78, 120, 0.06);
color: #4a5270;
}

.prtn-pg .list-alt li .li-icon {
display: inline-flex;
align-items: center;
margin-right: 12px;
vertical-align: middle;
}

.prtn-pg .list-alt li .li-icon svg {
width: 18px;
height: 18px;
stroke: #3F4E78;
fill: none;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.prtn-pg .list-alt li:nth-child(odd) .li-icon svg {
stroke: #87CBC0;
}

@media (max-width: 1280px) {
.prtn-pg .split-row {
grid-template-columns: 1fr 1fr;
}

.prtn-pg .hdl-xl {
font-size: 48px;
}

.prtn-pg .partner-grid {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.prtn-pg .split-row {
grid-template-columns: 1fr;
}

.prtn-pg .split-right {
height: 320px;
}

.prtn-pg .split-left {
padding: 48px 24px;
}

.prtn-pg .hdl-xl {
font-size: 48px;
}

.prtn-pg .hdl-md {
font-size: 24px;
}

.prtn-pg .collab-top {
grid-template-columns: 1fr;
gap: 24px;
}

.prtn-pg .partner-grid {
grid-template-columns: 1fr;
}

.prtn-pg .pg-col,
.prtn-pg .collab-inner {
padding-left: 24px;
padding-right: 24px;
}

.prtn-pg .collab-area {
padding: 48px 0;
}

.prtn-pg .img-band-copy {
padding: 24px;
}

.prtn-pg .img-band-hdl {
font-size: 24px;
}

.prtn-pg .testim-row {
grid-template-columns: 1fr;
}

.prtn-pg .collab-hdl {
font-size: 24px;
text-align: left;
}
}

@media (max-width: 390px) {
.prtn-pg .hdl-xl {
font-size: 48px;
}

.prtn-pg .split-left {
padding: 48px 12px;
}

.prtn-pg .pg-col,
.prtn-pg .collab-inner {
padding-left: 12px;
padding-right: 12px;
}

.prtn-pg .img-band-hdl {
font-size: 24px;
}

.prtn-pg .btn-outline,
.prtn-pg .btn-solid {
font-size: 15px;
padding: 12px 12px;
}
}

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

.ct-us .pg-band {
position: relative;
padding: 96px 24px 48px;
background: linear-gradient(180deg, #3F4E78 0%, #3F4E78cc 40%, transparent 100%);
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}

.ct-us .pg-band::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 40%, rgba(135, 203, 192, 0.22) 0%, transparent 68%);
pointer-events: none;
}

.ct-us .pg-band::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, transparent, #87CBC0 40%, #3F4E78 70%, transparent);
pointer-events: none;
}

.ct-us .blob-a {
position: absolute;
width: 340px;
height: 220px;
background: rgba(135, 203, 192, 0.18);
border-radius: 32px;
filter: blur(48px);
top: 12px;
left: -48px;
pointer-events: none;
transform: rotate(-18deg);
}

.ct-us .blob-b {
position: absolute;
width: 260px;
height: 180px;
background: rgba(63, 78, 120, 0.22);
border-radius: 32px;
filter: blur(40px);
top: 24px;
right: -24px;
pointer-events: none;
transform: rotate(14deg);
}

.ct-us .band-eyebrow {
font-size: 15px;
letter-spacing: 0.12em;
color: #87CBC0;
line-height: 1.5;
margin-bottom: 12px;
position: relative;
z-index: 1;
text-transform: uppercase;
}

.ct-us .band-h1 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #fff;
max-width: 680px;
position: relative;
z-index: 1;
margin-bottom: 24px;
}

.ct-us .band-h1 .framed-word {
display: inline-block;
border: 2px solid #87CBC0;
border-radius: 6px;
padding: 0 12px;
color: #87CBC0;
}

.ct-us .band-sub {
font-size: 16px;
line-height: 1.9;
color: rgba(255, 255, 255, 0.82);
max-width: 520px;
position: relative;
z-index: 1;
}

.ct-us .zigzag-div {
width: 100%;
overflow: hidden;
line-height: 0;
margin-top: -1px;
}

.ct-us .zigzag-div svg {
display: block;
width: 100%;
}

.ct-us .reach-wrap {
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
}

.ct-us .reach-left {
display: flex;
flex-direction: column;
gap: 24px;
}

.ct-us .reach-img-frame {
position: relative;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
}

.ct-us .reach-img-frame img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center top;
display: block;
filter: brightness(0.88);
transition: filter 0.25s ease-out;
}

.ct-us .reach-img-frame:hover img {
filter: brightness(1.05);
}

.ct-us .reach-img-frame::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 50%, transparent 55%, rgba(63, 78, 120, 0.28) 100%);
pointer-events: none;
border-radius: 18px;
}

.ct-us .info-cards {
display: flex;
flex-direction: column;
gap: 12px;
}

.ct-us .info-card {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
background: #EDF1F6;
border-radius: 18px;
padding: 24px;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
transition: box-shadow 0.2s ease-out, transform 0.2s ease-out;
}

.ct-us .info-card:hover {
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
transform: translateY(-2px);
}

.ct-us .info-card:nth-child(odd) {
background: #EDF1F6;
}

.ct-us .info-card:nth-child(even) {
background: #fff;
border: 1.5px solid #87CBC0;
}

.ct-us .ic-icon {
width: 40px;
height: 40px;
min-width: 40px;
border-radius: 6px;
background: #3F4E78;
display: flex;
align-items: center;
justify-content: center;
}

.ct-us .ic-icon span {
color: #87CBC0;
font-size: 20px;
}

.ct-us .ic-body {
display: flex;
flex-direction: column;
gap: 4px;
}

.ct-us .ic-label {
font-size: 15px;
color: #3F4E78;
line-height: 1.5;
font-weight: 600;
letter-spacing: 0.04em;
}

.ct-us .ic-val {
font-size: 16px;
color: #2c3550;
line-height: 1.5;
}

.ct-us .ic-val a {
color: #3F4E78;
text-decoration: none;
border-bottom: 1.5px solid #87CBC0;
transition: color 0.2s ease-out;
}

.ct-us .ic-val a:hover {
color: #87CBC0;
}

.ct-us .reach-right {
display: flex;
flex-direction: column;
gap: 24px;
}

.ct-us .reach-h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
text-align: center;
}

.ct-us .reach-desc {
font-size: 16px;
line-height: 1.9;
color: #3c4560;
text-align: left;
}

.ct-us .reach-aside {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
}

.ct-us .aside-note {
min-width: 88px;
font-size: 15px;
line-height: 1.9;
color: #87CBC0;
text-align: right;
letter-spacing: 0.04em;
font-weight: 600;
padding-top: 4px;
}

.ct-us .aside-body {
font-size: 16px;
line-height: 1.9;
color: #3c4560;
}

.ct-us .wavy-sep {
width: 100%;
overflow: hidden;
line-height: 0;
}

.ct-us .wavy-sep svg {
display: block;
width: 100%;
}

.ct-us .form-band {
background: #EDF1F6;
position: relative;
padding: 96px 24px;
}

.ct-us .form-band::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 50%, rgba(135, 203, 192, 0.1) 0%, transparent 70%);
pointer-events: none;
}

.ct-us .form-inner {
max-width: 720px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.ct-us .form-head {
text-align: center;
margin-bottom: 48px;
}

.ct-us .form-h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
margin-bottom: 12px;
}

.ct-us .form-sub {
font-size: 16px;
line-height: 1.5;
color: #4a5570;
text-align: left;
}

.ct-us .form-card {
background: #fff;
border-radius: 18px;
padding: 48px;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
display: flex;
flex-direction: column;
gap: 24px;
}

.ct-us .field-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.ct-us .field-grp {
display: flex;
flex-direction: column;
gap: 4px;
}

.ct-us .field-grp.full {
grid-column: 1 / -1;
}

.ct-us .f-label {
font-size: 15px;
color: #3F4E78;
line-height: 1.5;
font-weight: 600;
letter-spacing: 0.03em;
}

.ct-us .f-input {
background: #EDF1F6;
border: 2px solid transparent;
border-radius: 6px;
padding: 12px 12px;
font-size: 16px;
color: #2c3550;
line-height: 1.5;
outline: none;
transition: border-color 0.2s ease-out, background 0.2s ease-out;
width: 100%;
box-sizing: border-box;
}

.ct-us .f-input::placeholder {
color: #8a97b0;
font-size: 15px;
}

.ct-us .f-input:focus {
border-color: #3F4E78;
background: #fff;
}

.ct-us .f-select {
background: #EDF1F6;
border: 2px solid transparent;
border-radius: 6px;
padding: 12px 12px;
font-size: 16px;
color: #2c3550;
line-height: 1.5;
outline: none;
transition: border-color 0.2s ease-out, background 0.2s ease-out;
width: 100%;
box-sizing: border-box;
appearance: none;
cursor: pointer;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%233F4E78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
background-size: 16px;
padding-right: 40px;
}

.ct-us .f-select:focus {
border-color: #3F4E78;
background-color: #fff;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%233F4E78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: right 12px center;
background-size: 16px;
}

.ct-us .f-textarea {
background: #EDF1F6;
border: 2px solid transparent;
border-radius: 6px;
padding: 12px 12px;
font-size: 16px;
color: #2c3550;
line-height: 1.9;
outline: none;
transition: border-color 0.2s ease-out, background 0.2s ease-out;
width: 100%;
box-sizing: border-box;
resize: vertical;
min-height: 96px;
}

.ct-us .f-textarea::placeholder {
color: #8a97b0;
font-size: 15px;
}

.ct-us .f-textarea:focus {
border-color: #3F4E78;
background: #fff;
}

.ct-us .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
}

.ct-us .privacy-check {
width: 20px;
height: 20px;
min-width: 20px;
margin-top: 2px;
accent-color: #3F4E78;
cursor: pointer;
}

.ct-us .privacy-txt {
font-size: 15px;
color: #4a5570;
line-height: 1.9;
}

.ct-us .privacy-txt a {
color: #3F4E78;
text-decoration: none;
border-bottom: 1.5px solid #87CBC0;
transition: color 0.18s ease-out;
}

.ct-us .privacy-txt a:hover {
color: #87CBC0;
}

.ct-us .submit-btn {
align-self: flex-start;
background: #fff;
color: #3F4E78;
border: 3px solid #3F4E78;
border-radius: 6px;
padding: 12px 48px;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.06em;
cursor: pointer;
transition: background 0.22s ease-out, color 0.22s ease-out, border-color 0.22s ease-out;
}

.ct-us .submit-btn:hover {
background: #3F4E78;
color: #fff;
}

.ct-us .submit-btn:focus-visible {
outline: 3px solid #87CBC0;
outline-offset: 4px;
}

.ct-us .submit-btn:active {
background: #2c3550;
border-color: #2c3550;
color: #fff;
}

.ct-us .hours-strip {
background: #fff;
padding: 48px 48px;
max-width: 1280px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 48px;
align-items: center;
justify-content: center;
}

.ct-us .hours-label {
font-size: 15px;
color: #87CBC0;
letter-spacing: 0.1em;
text-transform: uppercase;
font-weight: 600;
line-height: 1.5;
white-space: nowrap;
}

.ct-us .hours-items {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
}

.ct-us .hour-item {
display: flex;
flex-direction: column;
gap: 4px;
background: #EDF1F6;
border-radius: 6px;
padding: 12px 24px;
min-width: 140px;
}

.ct-us .hour-item:nth-child(odd) {
background: #EDF1F6;
}

.ct-us .hour-item:nth-child(even) {
background: #fff;
border: 1.5px solid #87CBC0;
}

.ct-us .hi-day {
font-size: 15px;
color: #3F4E78;
font-weight: 600;
line-height: 1.5;
letter-spacing: 0.04em;
}

.ct-us .hi-time {
font-size: 16px;
color: #2c3550;
line-height: 1.5;
}

.ct-us .img2-frame {
position: relative;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 5px 25px 0 rgba(135, 203, 192, 0.09);
}

.ct-us .img2-frame img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center center;
display: block;
filter: brightness(0.88);
transition: filter 0.28s ease-out;
}

.ct-us .img2-frame:hover img {
filter: brightness(1.05);
}

@media (max-width: 1280px) {
.ct-us .reach-wrap {
padding: 96px 24px;
gap: 48px;
}
}

@media (max-width: 768px) {
.ct-us .band-h1 {
font-size: 48px;
}

.ct-us .reach-wrap {
grid-template-columns: 1fr;
padding: 48px 24px;
gap: 24px;
}

.ct-us .field-row {
grid-template-columns: 1fr;
gap: 12px;
}

.ct-us .form-card {
padding: 24px;
}

.ct-us .hours-strip {
flex-direction: column;
align-items: flex-start;
padding: 48px 24px;
gap: 24px;
}

.ct-us .reach-h2 {
font-size: 48px;
}

.ct-us .form-h2 {
font-size: 48px;
}
}

@media (max-width: 390px) {
.ct-us .band-h1 {
font-size: 24px;
}

.ct-us .reach-h2 {
font-size: 24px;
}

.ct-us .form-h2 {
font-size: 24px;
}

.ct-us .pg-band {
padding: 48px 12px 24px;
}

.ct-us .reach-wrap {
padding: 48px 12px;
}

.ct-us .form-band {
padding: 48px 12px;
}

.ct-us .form-card {
padding: 12px;
}

.ct-us .hours-strip {
padding: 24px 12px;
}

.ct-us .hours-items {
gap: 12px;
}

.ct-us .hour-item {
min-width: 120px;
padding: 12px 12px;
}

.ct-us .reach-aside {
flex-direction: column;
gap: 4px;
}

.ct-us .aside-note {
text-align: left;
}

.ct-us .submit-btn {
padding: 12px 24px;
}
}

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

.ct-us .seq-list li {
font-size: 16px;
line-height: 1.9;
color: #3c4560;
padding: 12px 24px;
border-radius: 6px;
opacity: 0;
transform: translateY(16px);
animation: seq-in 0.35s ease-out forwards;
}

.ct-us .seq-list li:nth-child(1) {
animation-delay: 0.1s;
background: #EDF1F6;
}

.ct-us .seq-list li:nth-child(2) {
animation-delay: 0.22s;
background: #fff;
border: 1.5px solid #87CBC0;
}

.ct-us .seq-list li:nth-child(3) {
animation-delay: 0.34s;
background: #EDF1F6;
}

@keyframes seq-in {
to {
opacity: 1;
transform: translateY(0);
}
}

.ct-us .icon-spin-wrap {
display: inline-flex;
align-items: center;
justify-content: center;
}

.ct-us .icon-spin-wrap:active .ic-icon span {
animation: icon-rot 0.38s ease-out;
}

@keyframes icon-rot {
0% {
transform: rotate(0deg);
}

60% {
transform: rotate(25deg);
}

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

.ct-us .grainy-bg {
position: relative;
}

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

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

.abt-us .pg-ident {
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 96px;
max-width: 1280px;
margin: 0 auto;
padding: 96px 48px;
align-items: center;
}

.abt-us .pg-ident .img-card {
position: relative;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
}

.abt-us .pg-ident .img-card::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(160deg, rgba(63, 78, 120, 0.18) 0%, rgba(135, 203, 192, 0.12) 100%);
z-index: 1;
pointer-events: none;
transition: opacity 0.25s ease-out;
}

.abt-us .pg-ident .img-card:hover::before {
opacity: 0;
}

.abt-us .pg-ident .img-card img {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center top;
display: block;
filter: grayscale(100%) contrast(1.15);
transition: filter 0.42s ease-out, transform 0.38s ease-out;
}

.abt-us .pg-ident .img-card:hover img {
filter: grayscale(0%) contrast(1.05);
transform: scale(1.03);
}

.abt-us .pg-ident .noise-layer {
position: absolute;
inset: 0;
z-index: 2;
pointer-events: none;
border-radius: 18px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E");
background-size: 200px 200px;
opacity: 0.55;
}

.abt-us .pg-ident .txt-zone {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-us .pg-ident .txt-zone .badge-row {
display: flex;
align-items: center;
gap: 12px;
}

.abt-us .pg-ident .txt-zone .badge-row .sep-diamond {
width: 8px;
height: 8px;
background: #87CBC0;
transform: rotate(45deg);
flex-shrink: 0;
border-radius: 0px;
}

.abt-us .pg-ident .txt-zone .badge-row span {
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.06em;
color: #3F4E78;
text-transform: uppercase;
font-weight: 600;
}

.abt-us .pg-ident .txt-zone h1 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b2340;
font-weight: 700;
margin: 0;
}

.abt-us .pg-ident .txt-zone h1 .framed-word {
display: inline;
border: 1.5px solid #87CBC0;
border-radius: 6px;
padding: 0 8px;
color: #3F4E78;
}

.abt-us .pg-ident .txt-zone .lead-note {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
}

.abt-us .pg-ident .txt-zone .lead-note aside {
flex: 0 0 auto;
width: 3px;
background: linear-gradient(180deg, #87CBC0 0%, rgba(135, 203, 192, 0.2) 100%);
border-radius: 6px;
align-self: stretch;
min-height: 48px;
}

.abt-us .pg-ident .txt-zone .lead-note p {
font-size: 16px;
line-height: 1.9;
color: #3a4260;
margin: 0;
}

.abt-us .pg-ident .txt-zone .stat-strip {
display: flex;
flex-direction: row;
gap: 48px;
padding: 24px;
background: #EDF1F6;
border-radius: 18px;
margin-top: 12px;
}

.abt-us .pg-ident .txt-zone .stat-strip .stat-item {
display: flex;
flex-direction: column;
gap: 4px;
}

.abt-us .pg-ident .txt-zone .stat-strip .stat-item strong {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.03em;
color: #3F4E78;
font-weight: 700;
}

.abt-us .pg-ident .txt-zone .stat-strip .stat-item span {
font-size: 15px;
line-height: 1.5;
color: #5a6480;
letter-spacing: 0.02em;
}

.abt-us .pg-ident .txt-zone .act-row {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap;
}

.abt-us .pg-ident .txt-zone .act-row .btn-primary {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 16px 32px;
border: 2.5px solid #3F4E78;
border-radius: 6px;
background: #3F4E78;
color: #ffffff;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.03em;
font-weight: 600;
cursor: pointer;
text-decoration: none !important;
transition: background 0.22s ease-out, color 0.22s ease-out, border-color 0.22s ease-out;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
}

.abt-us .pg-ident .txt-zone .act-row .btn-primary:hover {
background: #87CBC0;
border-color: #87CBC0;
color: #1b2340;
}

.abt-us .pg-ident .txt-zone .act-row .btn-primary:focus {
outline: 3px solid #87CBC0;
outline-offset: 3px;
}

.abt-us .pg-ident .txt-zone .act-row .link-sec {
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
text-decoration: none !important;
font-weight: 600;
letter-spacing: 0.02em;
border-bottom: 2px solid rgba(63, 78, 120, 0.25);
padding-bottom: 2px;
transition: border-color 0.18s ease-out, color 0.28s ease-out;
}

.abt-us .pg-ident .txt-zone .act-row .link-sec:hover {
color: #87CBC0;
border-color: #87CBC0;
}

.abt-us .divider-line {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
}

.abt-us .divider-line hr {
border: none;
border-top: 1px solid rgba(63, 78, 120, 0.12);
margin: 0;
}

.abt-us .team-depth {
background: linear-gradient(180deg, #EDF1F6 0%, rgba(237, 241, 246, 0.38) 100%);
padding: 96px 0;
}

.abt-us .team-depth .inner {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
display: flex;
flex-direction: column;
gap: 48px;
}

.abt-us .team-depth .hd-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 96px;
align-items: end;
}

.abt-us .team-depth .hd-row h2 {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #1b2340;
font-weight: 700;
margin: 0;
text-align: center;
}

.abt-us .team-depth .hd-row .sub-col {
display: flex;
flex-direction: column;
gap: 12px;
}

.abt-us .team-depth .hd-row .sub-col p {
font-size: 16px;
line-height: 1.9;
color: #3a4260;
margin: 0;
}

.abt-us .team-depth .profiles-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.abt-us .team-depth .profiles-grid .prof-card {
background: #ffffff;
border-radius: 18px;
padding: 24px;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
transition: box-shadow 0.35s ease-out, transform 0.28s ease-out;
}

.abt-us .team-depth .profiles-grid .prof-card:hover {
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
transform: translateY(-4px);
}

.abt-us .team-depth .profiles-grid .prof-card .port-wrap {
flex: 0 0 auto;
width: 96px;
height: 120px;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 5px 25px 0 rgba(135, 203, 192, 0.09);
}

.abt-us .team-depth .profiles-grid .prof-card .port-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.38s ease-out;
}

.abt-us .team-depth .profiles-grid .prof-card:hover .port-wrap img {
transform: scale(1.07);
}

.abt-us .team-depth .profiles-grid .prof-card .prof-info {
display: flex;
flex-direction: column;
gap: 12px;
flex: 1;
}

.abt-us .team-depth .profiles-grid .prof-card .prof-info h4 {
font-size: 16px;
line-height: 1.5;
letter-spacing: -0.01em;
color: #1b2340;
font-weight: 700;
margin: 0;
}

.abt-us .team-depth .profiles-grid .prof-card .prof-info .role-tag {
display: inline-block;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.04em;
color: #3F4E78;
background: #EDF1F6;
border-radius: 6px;
padding: 4px 12px;
font-weight: 600;
}

.abt-us .team-depth .profiles-grid .prof-card .prof-info p {
font-size: 15px;
line-height: 1.9;
color: #5a6480;
margin: 0;
}

.abt-us .team-depth .checklist-block {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
padding: 48px;
background: #ffffff;
border-radius: 32px;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
}

.abt-us .team-depth .checklist-block .chk-left {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-us .team-depth .checklist-block .chk-left h3 {
font-size: 24px;
line-height: 1.5;
letter-spacing: -0.01em;
color: #1b2340;
font-weight: 700;
margin: 0;
text-align: left;
}

.abt-us .team-depth .checklist-block .chk-left .progress-meta {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
gap: 12px;
}

.abt-us .team-depth .checklist-block .chk-left .progress-meta span {
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
font-weight: 600;
letter-spacing: 0.02em;
}

.abt-us .team-depth .checklist-block .chk-left .progress-bar-wrap {
width: 100%;
height: 8px;
background: #EDF1F6;
border-radius: 6px;
overflow: hidden;
}

.abt-us .team-depth .checklist-block .chk-left .progress-bar-fill {
height: 100%;
width: 71.4%;
background: linear-gradient(90deg, #3F4E78 0%, #87CBC0 100%);
border-radius: 6px;
animation: fillbar 1.1s 0.2s ease-out both;
}

@keyframes fillbar {
from {
width: 0%;
}

to {
width: 71.4%;
}
}

.abt-us .team-depth .checklist-block .chk-left .chk-list {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
margin: 0;
padding: 0;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 15px;
line-height: 1.5;
padding: 12px;
border-radius: 6px;
transition: background 0.2s ease-out;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li:nth-child(odd) {
background: #EDF1F6;
color: #1b2340;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li:nth-child(even) {
background: rgba(135, 203, 192, 0.12);
color: #2d3a5e;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li .chk-icon {
flex-shrink: 0;
width: 20px;
height: 20px;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li.done .chk-icon {
background: #87CBC0;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li.pending .chk-icon {
background: #EDF1F6;
border: 1.5px solid rgba(63, 78, 120, 0.2);
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li.done .chk-icon svg {
display: block;
}

.abt-us .team-depth .checklist-block .chk-left .chk-list li.pending .chk-icon svg {
display: none;
}

.abt-us .team-depth .checklist-block .chk-right {
display: flex;
flex-direction: column;
gap: 24px;
}

.abt-us .team-depth .checklist-block .chk-right h3 {
font-size: 24px;
line-height: 1.5;
letter-spacing: -0.01em;
color: #1b2340;
font-weight: 700;
margin: 0;
text-align: left;
}

.abt-us .team-depth .checklist-block .chk-right p {
font-size: 15px;
line-height: 1.9;
color: #3a4260;
margin: 0;
}

.abt-us .team-depth .checklist-block .chk-right .img-wrap {
border-radius: 18px;
overflow: hidden;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
position: relative;
}

.abt-us .team-depth .checklist-block .chk-right .img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.42s ease-out;
}

.abt-us .team-depth .checklist-block .chk-right .img-wrap:hover img {
transform: scale(1.05);
}

.abt-us .team-depth .img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.abt-us .team-depth .img-row figure {
margin: 0;
border-radius: 18px;
overflow: hidden;
position: relative;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
}

.abt-us .team-depth .img-row figure img {
width: 100%;
height: 280px;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.38s ease-out, filter 0.35s ease-out;
}

.abt-us .team-depth .img-row figure:hover img {
transform: scale(1.04);
filter: brightness(1.06);
}

.abt-us .team-depth .img-row figure figcaption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 24px;
background: linear-gradient(0deg, rgba(31, 42, 80, 0.82) 0%, transparent 100%);
color: #ffffff;
font-size: 15px;
line-height: 1.5;
letter-spacing: 0.02em;
font-weight: 600;
border-radius: 0 0 18px 18px;
}

@media (max-width: 1280px) {
.abt-us .pg-ident {
gap: 48px;
padding: 96px 24px;
}

.abt-us .team-depth .inner {
padding: 0 24px;
}

.abt-us .divider-line {
padding: 0 24px;
}
}

@media (max-width: 768px) {
.abt-us .pg-ident {
grid-template-columns: 1fr;
gap: 24px;
padding: 48px 24px;
}

.abt-us .pg-ident .img-card img {
height: 320px;
}

.abt-us .pg-ident .txt-zone h1 {
font-size: 48px;
}

.abt-us .pg-ident .txt-zone .stat-strip {
gap: 24px;
}

.abt-us .pg-ident .txt-zone .stat-strip .stat-item strong {
font-size: 24px;
}

.abt-us .team-depth {
padding: 48px 0;
}

.abt-us .team-depth .inner {
gap: 24px;
padding: 0 24px;
}

.abt-us .team-depth .hd-row {
grid-template-columns: 1fr;
gap: 24px;
}

.abt-us .team-depth .hd-row h2 {
font-size: 48px;
}

.abt-us .team-depth .profiles-grid {
grid-template-columns: 1fr;
}

.abt-us .team-depth .checklist-block {
grid-template-columns: 1fr;
gap: 24px;
padding: 24px;
}

.abt-us .team-depth .img-row {
grid-template-columns: 1fr;
}
}

@media (max-width: 390px) {
.abt-us .pg-ident {
padding: 48px 12px;
}

.abt-us .pg-ident .txt-zone h1 {
font-size: 48px;
}

.abt-us .pg-ident .txt-zone .stat-strip {
flex-direction: column;
gap: 12px;
}

.abt-us .pg-ident .txt-zone .act-row {
flex-direction: column;
align-items: flex-start;
}

.abt-us .team-depth .inner {
padding: 0 12px;
}

.abt-us .team-depth .hd-row h2 {
font-size: 24px;
}

.abt-us .team-depth .checklist-block {
padding: 12px;
}

.abt-us .team-depth .profiles-grid .prof-card {
flex-direction: column;
}
}

.ent-pg {
background: #ffffff;
overflow-x: clip;
}

.ent-pg .slide-up {
opacity: 0;
transform: translateY(32px);
animation: slideUp 0.42s ease-out forwards;
}

.ent-pg .slide-up:nth-child(2) {
animation-delay: 0.1s;
}

.ent-pg .slide-up:nth-child(3) {
animation-delay: 0.2s;
}

.ent-pg .slide-up:nth-child(4) {
animation-delay: 0.28s;
}

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

.ent-pg .dash-div {
width: 100%;
height: 2px;
background-image: repeating-linear-gradient(90deg, #3F4E78 0px, #3F4E78 8px, transparent 8px, transparent 14px, #3F4E78 14px, #3F4E78 20px, transparent 20px, transparent 30px);
opacity: 0.22;
}

.ent-pg .pg-lim {
max-width: 1280px;
margin: 0 auto;
padding: 0 48px;
}

.ent-pg .framed {
display: inline;
border: 1.5px solid #87CBC0;
border-radius: 6px;
padding: 0 4px;
}

.ent-pg .metric-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}

.ent-pg .metric-item {
background: #EDF1F6;
border-radius: 18px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 4px;
}

.ent-pg .metric-num {
font-size: 48px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.03em;
}

.ent-pg .metric-lbl {
font-size: 15px;
color: #3F4E78;
line-height: 1.5;
opacity: 0.72;
}

.ent-pg .odd-item {
background: #EDF1F6;
border-radius: 6px;
padding: 12px 24px;
}

.ent-pg .even-item {
background: rgba(135, 203, 192, 0.14);
border-radius: 6px;
padding: 12px 24px;
}

.ent-pg .note-col {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
}

.ent-pg .note-aside {
min-width: 120px;
max-width: 120px;
color: #87CBC0;
font-size: 15px;
line-height: 1.9;
letter-spacing: 0.02em;
padding-top: 4px;
text-align: right;
border-right: 2px solid #87CBC0;
padding-right: 12px;
flex-shrink: 0;
}

.ent-pg .note-body {
flex: 1;
font-size: 16px;
line-height: 1.9;
color: #2a3350;
}

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

.ent-pg .note-col {
flex-direction: column;
gap: 12px;
}

.ent-pg .note-aside {
min-width: unset;
max-width: unset;
text-align: left;
border-right: none;
border-bottom: 2px solid #87CBC0;
padding-right: 0;
padding-bottom: 4px;
width: 100%;
}
}

@media (max-width: 390px) {
.ent-pg .pg-lim {
padding: 0 12px;
}

.ent-pg .metric-grid {
grid-template-columns: 1fr;
}
}

.ent-pg .sec-1 {
padding: 96px 0 48px;
}

.ent-pg .sec-1-inner {
display: grid;
grid-template-columns: 220px 1fr;
gap: 48px;
align-items: start;
position: relative;
}

.ent-pg .sec-1-img-col {
position: relative;
}

.ent-pg .sec-1-img-wrap {
width: 220px;
height: 220px;
border-radius: 18px;
overflow: hidden;
position: relative;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
}

.ent-pg .sec-1-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: sepia(0.28) contrast(1.08) brightness(0.96) saturate(0.85);
}

.ent-pg .geo-shape-a {
position: absolute;
width: 80px;
height: 80px;
border: 2px solid #87CBC0;
border-radius: 18px;
opacity: 0.18;
top: -20px;
left: -20px;
pointer-events: none;
}

.ent-pg .geo-shape-b {
position: absolute;
width: 48px;
height: 48px;
background: #EDF1F6;
border-radius: 6px;
opacity: 0.55;
bottom: -16px;
right: -16px;
pointer-events: none;
}

.ent-pg .sec-1-txt {
display: flex;
flex-direction: column;
gap: 24px;
}

.ent-pg .sec-1-eyebrow {
font-size: 15px;
letter-spacing: 0.08em;
color: #87CBC0;
line-height: 1.5;
text-transform: uppercase;
}

.ent-pg .sec-1-h1 {
font-size: 64px;
font-weight: 800;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.04em;
margin: 0;
}

.ent-pg .sec-1-thesis {
display: flex;
flex-direction: column;
gap: 12px;
}

.ent-pg .sec-1-thesis p {
font-size: 16px;
line-height: 1.9;
color: #2a3350;
margin: 0;
}

.ent-pg .sec-1-dbl-border {
display: inline-block;
border: 2px solid #3F4E78;
border-radius: 6px;
padding: 4px;
margin-top: 12px;
align-self: flex-start;
}

.ent-pg .sec-1-dbl-inner {
border: 2px solid #87CBC0;
border-radius: 0px;
padding: 12px 24px;
font-size: 15px;
color: #3F4E78;
letter-spacing: 0.04em;
line-height: 1.5;
}

@media (max-width: 768px) {
.ent-pg .sec-1-inner {
grid-template-columns: 1fr;
gap: 24px;
}

.ent-pg .sec-1-img-wrap {
width: 160px;
height: 160px;
}

.ent-pg .sec-1-h1 {
font-size: 48px;
}
}

@media (max-width: 390px) {
.ent-pg .sec-1-h1 {
font-size: 48px;
}
}

.ent-pg .sec-2 {
padding: 96px 0;
background: #EDF1F6;
}

.ent-pg .sec-2-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
margin-top: 48px;
}

.ent-pg .pat-card {
background: #ffffff;
border-radius: 18px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
transition: box-shadow 0.22s ease-out, transform 0.22s ease-out;
}

.ent-pg .pat-card:hover {
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
transform: translateY(-4px);
}

.ent-pg .pat-card-icon {
width: 40px;
height: 40px;
background: rgba(135, 203, 192, 0.18);
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
}

.ent-pg .pat-card-icon svg {
width: 22px;
height: 22px;
}

.ent-pg .pat-card h4 {
font-size: 16px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.01em;
margin: 0;
}

.ent-pg .pat-card p {
font-size: 15px;
line-height: 1.9;
color: #2a3350;
margin: 0;
}

.ent-pg .pat-quote {
font-size: 15px;
color: #87CBC0;
line-height: 1.5;
font-style: italic;
border-top: 1px solid #EDF1F6;
padding-top: 12px;
margin-top: 4px;
}

.ent-pg .sec-2-h2 {
font-size: 48px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.03em;
margin: 0;
text-align: center;
}

.ent-pg .sec-2-sub {
font-size: 16px;
color: #2a3350;
line-height: 1.5;
margin: 12px 0 0;
text-align: left;
}

@media (max-width: 768px) {
.ent-pg .sec-2-grid {
grid-template-columns: 1fr;
}
}

.ent-pg .sec-3 {
padding: 96px 0;
background: #ffffff;
}

.ent-pg .sec-3-split {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start;
margin-top: 48px;
}

.ent-pg .sec-3-img-wrap {
border-radius: 18px;
overflow: hidden;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
aspect-ratio: 1 / 1;
}

.ent-pg .sec-3-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
}

.ent-pg .sec-3-txt {
display: flex;
flex-direction: column;
gap: 24px;
}

.ent-pg .sec-3-h2 {
font-size: 48px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.03em;
margin: 0;
text-align: center;
}

.ent-pg .sec-3-items {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
padding: 0;
margin: 0;
}

.ent-pg .sec-3-items li {
font-size: 15px;
line-height: 1.9;
color: #2a3350;
}

.ent-pg .sec-3-note {
background: rgba(63, 78, 120, 0.06);
border-radius: 6px;
padding: 24px;
}

.ent-pg .sec-3-note p {
font-size: 15px;
line-height: 1.9;
color: #3F4E78;
margin: 0;
}

@media (max-width: 768px) {
.ent-pg .sec-3-split {
grid-template-columns: 1fr;
}
}

.ent-pg .sec-4 {
padding: 96px 0;
background: radial-gradient(circle at 50% 50%, rgba(135, 203, 192, 0.18) 0%, rgba(237, 241, 246, 0.0) 72%);
background-color: #EDF1F6;
}

.ent-pg .sec-4-h2 {
font-size: 48px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.03em;
margin: 0;
text-align: center;
}

.ent-pg .sec-4-sub {
font-size: 16px;
color: #2a3350;
line-height: 1.5;
margin: 12px 0 0;
text-align: left;
}

.ent-pg .sec-4-body {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-top: 48px;
align-items: start;
}

.ent-pg .sec-4-tbl-wrap {
background: #ffffff;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
}

.ent-pg .sec-4-tbl {
width: 100%;
border-collapse: collapse;
}

.ent-pg .sec-4-tbl thead tr {
background: #3F4E78;
}

.ent-pg .sec-4-tbl thead th {
font-size: 15px;
color: #ffffff;
padding: 12px 24px;
text-align: left;
font-weight: 600;
letter-spacing: 0.04em;
line-height: 1.5;
}

.ent-pg .sec-4-tbl tbody tr:nth-child(odd) {
background: #EDF1F6;
}

.ent-pg .sec-4-tbl tbody tr:nth-child(even) {
background: rgba(135, 203, 192, 0.12);
}

.ent-pg .sec-4-tbl tbody td {
font-size: 15px;
color: #2a3350;
padding: 12px 24px;
line-height: 1.5;
vertical-align: top;
}

.ent-pg .sec-4-tbl tbody td:first-child {
font-weight: 600;
color: #3F4E78;
}

.ent-pg .sec-4-narr {
display: flex;
flex-direction: column;
gap: 24px;
}

.ent-pg .sec-4-narr p {
font-size: 16px;
line-height: 1.9;
color: #2a3350;
margin: 0;
}

.ent-pg .sec-4-narr h5 {
font-size: 16px;
font-weight: 700;
color: #3F4E78;
margin: 0;
line-height: 1.1;
letter-spacing: -0.01em;
}

@media (max-width: 768px) {
.ent-pg .sec-4-body {
grid-template-columns: 1fr;
gap: 24px;
}
}

.ent-pg .sec-5 {
padding: 96px 0;
background: #3F4E78;
}

.ent-pg .sec-5-h2 {
font-size: 48px;
font-weight: 700;
color: #ffffff;
line-height: 1.1;
letter-spacing: -0.03em;
margin: 0;
text-align: center;
}

.ent-pg .sec-5-sub {
font-size: 16px;
color: rgba(237, 241, 246, 0.82);
line-height: 1.5;
margin: 12px 0 0;
text-align: left;
}

.ent-pg .sec-5-metrics {
margin-top: 48px;
}

.ent-pg .sec-5-metrics .metric-item {
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(135, 203, 192, 0.32);
}

.ent-pg .sec-5-metrics .metric-num {
color: #87CBC0;
}

.ent-pg .sec-5-metrics .metric-lbl {
color: #EDF1F6;
opacity: 0.88;
}

.ent-pg .sec-5-img-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 48px;
}

.ent-pg .sec-5-img-wrap {
border-radius: 18px;
overflow: hidden;
aspect-ratio: 1 / 1;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
}

.ent-pg .sec-5-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.ent-pg .sec-5-txt-col {
display: flex;
flex-direction: column;
gap: 24px;
justify-content: center;
}

.ent-pg .sec-5-txt-col p {
font-size: 16px;
line-height: 1.9;
color: rgba(237, 241, 246, 0.9);
margin: 0;
}

@media (max-width: 768px) {
.ent-pg .sec-5-img-row {
grid-template-columns: 1fr;
}
}

.ent-pg .sec-6 {
padding: 96px 0;
background: #ffffff;
}

.ent-pg .sec-6-h2 {
font-size: 48px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.03em;
margin: 0;
text-align: center;
}

.ent-pg .sec-6-sub {
font-size: 16px;
color: #2a3350;
line-height: 1.5;
margin: 12px 0 0;
text-align: left;
}

.ent-pg .sec-6-layout {
display: grid;
grid-template-columns: 280px 1fr;
gap: 48px;
margin-top: 48px;
align-items: start;
}

.ent-pg .sec-6-portrait-wrap {
display: flex;
flex-direction: column;
gap: 12px;
align-items: center;
}

.ent-pg .sec-6-portrait {
width: 220px;
height: 282px;
border-radius: 18px;
overflow: hidden;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
}

.ent-pg .sec-6-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.ent-pg .sec-6-name {
font-size: 16px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
text-align: center;
}

.ent-pg .sec-6-role {
font-size: 15px;
color: #87CBC0;
line-height: 1.5;
text-align: center;
letter-spacing: 0.04em;
}

.ent-pg .sec-6-rel-list {
display: flex;
flex-direction: column;
gap: 12px;
}

.ent-pg .sec-6-rel-list p {
font-size: 16px;
line-height: 1.9;
color: #2a3350;
margin: 0;
}

.ent-pg .sec-6-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px;
margin-top: 12px;
}

.ent-pg .rel-tag {
border: 2px solid #3F4E78;
border-radius: 6px;
padding: 4px 12px;
font-size: 15px;
color: #3F4E78;
line-height: 1.5;
letter-spacing: 0.02em;
transition: background 0.18s ease-out, color 0.18s ease-out;
}

.ent-pg .rel-tag:hover {
background: #3F4E78;
color: #ffffff;
}

@media (max-width: 768px) {
.ent-pg .sec-6-layout {
grid-template-columns: 1fr;
}

.ent-pg .sec-6-portrait-wrap {
flex-direction: row;
align-items: flex-start;
gap: 24px;
}

.ent-pg .sec-6-portrait {
width: 120px;
height: 154px;
}
}

@media (max-width: 390px) {
.ent-pg .sec-6-portrait-wrap {
flex-direction: column;
align-items: center;
}
}

.ent-pg .sec-7 {
padding: 96px 0;
background: #EDF1F6;
}

.ent-pg .sec-7-h2 {
font-size: 48px;
font-weight: 700;
color: #3F4E78;
line-height: 1.1;
letter-spacing: -0.03em;
margin: 0;
text-align: center;
}

.ent-pg .sec-7-sub {
font-size: 16px;
color: #2a3350;
line-height: 1.5;
margin: 12px 0 0;
text-align: left;
}

.ent-pg .sec-7-cols {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
margin-top: 48px;
align-items: start;
}

.ent-pg .sec-7-not-list {
display: flex;
flex-direction: column;
gap: 12px;
list-style: none;
padding: 0;
margin: 0;
}

.ent-pg .sec-7-not-list li {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
font-size: 15px;
line-height: 1.9;
color: #2a3350;
}

.ent-pg .not-icon {
flex-shrink: 0;
width: 20px;
height: 20px;
margin-top: 4px;
}

.ent-pg .sec-7-fit-block {
background: #ffffff;
border-radius: 18px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
}

.ent-pg .sec-7-fit-block h5 {
font-size: 16px;
font-weight: 700;
color: #3F4E78;
margin: 0;
line-height: 1.1;
letter-spacing: -0.01em;
}

.ent-pg .sec-7-fit-block p {
font-size: 15px;
line-height: 1.9;
color: #2a3350;
margin: 0;
}

.ent-pg .sec-7-fit-link {
display: inline-block;
border: 2.5px solid #3F4E78;
border-radius: 6px;
padding: 4px;
align-self: flex-start;
margin-top: 4px;
text-decoration: none;
transition: border-color 0.2s ease-out;
}

.ent-pg .sec-7-fit-link:hover {
border-color: #87CBC0;
}

.ent-pg .sec-7-fit-link-inner {
display: block;
border: 2px solid #87CBC0;
border-radius: 0px;
padding: 12px 24px;
font-size: 15px;
color: #3F4E78;
letter-spacing: 0.04em;
line-height: 1.5;
font-weight: 600;
transition: color 0.2s ease-out, background 0.2s ease-out;
}

.ent-pg .sec-7-fit-link:hover .sec-7-fit-link-inner {
background: #87CBC0;
color: #ffffff;
}

@media (max-width: 768px) {
.ent-pg .sec-7-cols {
grid-template-columns: 1fr;
gap: 24px;
}
}

.ent-pg .anim-delayed-1 {
animation-delay: 0.08s;
}

.ent-pg .anim-delayed-2 {
animation-delay: 0.18s;
}

.ent-pg .anim-delayed-3 {
animation-delay: 0.26s;
}

.ent-pg .anim-delayed-4 {
animation-delay: 0.34s;
}

.success-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #EDF1F6;
}

.success-pg .result-wrap {
max-width: 560px;
width: 100%;
background: #ffffff;
border-radius: 18px;
padding: 48px;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
text-align: center;
position: relative;
}

.success-pg .icon-mark {
width: 64px;
height: 64px;
margin: 0 auto 24px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 32px;
background: #EDF1F6;
box-shadow: inset 0 2px 4px 0 rgba(135, 203, 192, 0.18), inset 0 -2px 6px 0 rgba(63, 78, 120, 0.10);
}

.success-pg .icon-mark svg {
display: block;
}

.success-pg .result-label {
font-size: 48px;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
font-weight: 700;
margin: 0 0 12px;
}

.success-pg .result-note {
font-size: 16px;
line-height: 1.9;
color: #3F4E78;
opacity: 0.72;
margin: 0 0 48px;
}

.success-pg .divider-line {
width: 48px;
height: 3px;
background: #87CBC0;
border-radius: 6px;
margin: 0 auto 48px;
}

.success-pg .detail-block {
background: #EDF1F6;
border-radius: 12px;
padding: 24px;
margin-bottom: 48px;
text-align: left;
}

.success-pg .detail-block .detail-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid rgba(63, 78, 120, 0.10);
}

.success-pg .detail-block .detail-row:last-child {
border-bottom: none;
padding-bottom: 0;
}

.success-pg .detail-block .detail-row:first-child {
padding-top: 0;
}

.success-pg .detail-block .row-icon {
flex-shrink: 0;
margin-top: 2px;
}

.success-pg .detail-block .row-text {
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
}

.success-pg .detail-block .row-text strong {
display: block;
font-weight: 600;
font-size: 15px;
margin-bottom: 4px;
letter-spacing: 0.01em;
}

.success-pg .action-group {
display: flex;
flex-direction: row;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
}

.success-pg .btn-primary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 24px;
border-radius: 6px;
border: 2px solid #3F4E78;
background: #3F4E78;
color: #ffffff;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
cursor: pointer;
text-decoration: none;
transition: background 0.22s ease-out, border-color 0.22s ease-out, color 0.18s ease-out;
}

.success-pg .btn-primary:hover {
background: #2e3a5c;
border-color: #2e3a5c;
}

.success-pg .btn-primary:focus-visible {
outline: 3px solid #87CBC0;
outline-offset: 3px;
}

.success-pg .btn-primary:active {
background: #1f2840;
border-color: #1f2840;
}

.success-pg .btn-secondary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 24px;
border-radius: 6px;
border: 2px solid #87CBC0;
background: transparent;
color: #3F4E78;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
cursor: pointer;
text-decoration: none;
transition: background 0.28s ease-out, border-color 0.20s ease-out;
}

.success-pg .btn-secondary:hover {
background: rgba(135, 203, 192, 0.14);
border-color: #3F4E78;
}

.success-pg .btn-secondary:focus-visible {
outline: 3px solid #3F4E78;
outline-offset: 3px;
}

.success-pg .btn-secondary:active {
background: rgba(135, 203, 192, 0.26);
}

.success-pg .corner-accent {
position: absolute;
top: 0;
right: 0;
width: 80px;
height: 80px;
border-radius: 0 18px 0 0;
overflow: hidden;
pointer-events: none;
}

.success-pg .corner-accent svg {
display: block;
}

@media (max-width: 768px) {
.success-pg {
padding: 48px 24px;
}

.success-pg .result-wrap {
padding: 48px 24px;
}

.success-pg .result-label {
font-size: 48px;
}
}

@media (max-width: 390px) {
.success-pg {
padding: 24px 12px;
}

.success-pg .result-wrap {
padding: 24px 12px;
border-radius: 18px;
}

.success-pg .result-label {
font-size: 24px;
}

.success-pg .action-group {
flex-direction: column;
}

.success-pg .btn-primary,
.success-pg .btn-secondary {
justify-content: center;
}
}

.not-found-pg {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 24px;
background: #EDF1F6;
position: relative;
overflow: hidden;
}

.not-found-pg::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 600px;
background: radial-gradient(circle at center, rgba(135, 203, 192, 0.18) 0%, rgba(63, 78, 120, 0.04) 60%, transparent 100%);
border-radius: 32px;
pointer-events: none;
}

.not-found-pg .err-frame {
position: relative;
max-width: 640px;
width: 100%;
background: #ffffff;
border-radius: 32px;
padding: 48px;
box-shadow: 0 10px 48px 0 rgba(63, 78, 120, 0.14);
border: 2px solid rgba(135, 203, 192, 0.35);
text-align: center;
}

.not-found-pg .err-frame .err-code {
font-size: 64px;
font-weight: 800;
line-height: 1.1;
letter-spacing: -0.04em;
color: #3F4E78;
margin: 0 0 4px;
display: block;
}

.not-found-pg .err-frame .err-divider {
width: 48px;
height: 3px;
background: #87CBC0;
border-radius: 6px;
margin: 12px auto 24px;
}

.not-found-pg .err-frame .err-title {
font-size: 24px;
font-weight: 700;
line-height: 1.1;
letter-spacing: -0.02em;
color: #3F4E78;
margin: 0 0 12px;
}

.not-found-pg .err-frame .err-desc {
font-size: 16px;
line-height: 1.9;
color: #3F4E78;
opacity: 0.75;
margin: 0 0 48px;
}

.not-found-pg .err-frame .err-desc span.keyw {
display: inline-block;
border: 1.5px solid #87CBC0;
border-radius: 6px;
padding: 0 4px;
color: #3F4E78;
opacity: 1;
}

.not-found-pg .err-frame .err-nav {
display: flex;
flex-direction: row;
gap: 12px;
justify-content: center;
flex-wrap: wrap;
}

.not-found-pg .err-frame .err-nav .btn-home {
display: inline-block;
padding: 12px 24px;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.02em;
color: #3F4E78;
background: transparent;
border: 2.5px solid #3F4E78;
border-radius: 18px;
text-decoration: none;
transition: background 0.25s ease-out, color 0.2s ease-out, border-color 0.2s ease-out;
box-shadow: 0 2px 4px 0 rgba(63, 78, 120, 0.08);
}

.not-found-pg .err-frame .err-nav .btn-home:hover,
.not-found-pg .err-frame .err-nav .btn-home:focus {
background: #3F4E78;
color: #ffffff;
border-color: #3F4E78;
outline: none;
box-shadow: 0 5px 25px 0 rgba(63, 78, 120, 0.09);
}

.not-found-pg .err-frame .err-nav .btn-home:active {
background: #2e3a5c;
border-color: #2e3a5c;
}

.not-found-pg .err-frame .err-nav .btn-contact {
display: inline-block;
padding: 12px 24px;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.02em;
color: #87CBC0;
background: transparent;
border: 2.5px solid #87CBC0;
border-radius: 18px;
text-decoration: none;
transition: background 0.35s ease-out, color 0.25s ease-out, border-color 0.25s ease-out;
box-shadow: 0 2px 4px 0 rgba(135, 203, 192, 0.08);
}

.not-found-pg .err-frame .err-nav .btn-contact:hover,
.not-found-pg .err-frame .err-nav .btn-contact:focus {
background: #87CBC0;
color: #ffffff;
border-color: #87CBC0;
outline: none;
box-shadow: 0 5px 25px 0 rgba(135, 203, 192, 0.09);
}

.not-found-pg .err-frame .err-nav .btn-contact:active {
background: #6ab5aa;
border-color: #6ab5aa;
}

.not-found-pg .err-frame .err-hint {
margin: 24px 0 0;
font-size: 15px;
line-height: 1.5;
color: #3F4E78;
opacity: 0.55;
}

@media (max-width: 768px) {
.not-found-pg {
padding: 48px 24px;
}

.not-found-pg .err-frame {
padding: 48px 24px;
}

.not-found-pg .err-frame .err-code {
font-size: 48px;
}

.not-found-pg .err-frame .err-title {
font-size: 24px;
}
}

@media (max-width: 390px) {
.not-found-pg .err-frame {
padding: 24px 12px;
border-radius: 18px;
}

.not-found-pg .err-frame .err-nav {
flex-direction: column;
align-items: stretch;
}

.not-found-pg .err-frame .err-nav .btn-home,
.not-found-pg .err-frame .err-nav .btn-contact {
text-align: center;
}
}