* {
box-sizing: border-box;
}

body {
margin: 0;
scrollbar-gutter: stable;
min-height: 100vh;
font-family: 'Archivo', sans-serif;
}

.top-bar {
background: #2D3A45;
padding: 8px 32px;
}

.top-bar-pod {
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
}

.top-contact-deck {
display: flex;
align-items: center;
gap: 20px;
flex-wrap: wrap;
}

.top-contact-link {
color: #C5DBE2;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
text-decoration: none;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.top-contact-link:hover {
color: #ffffff;
}

.top-msg-deck {
display: flex;
align-items: center;
gap: 12px;
}

.msg-link {
color: #7799A2;
font-size: 15px;
line-height: 1.6;
letter-spacing: 0.02em;
text-decoration: none;
border: 1px solid #7799A2;
border-radius: 5px;
padding: 4px 12px;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1), background 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.msg-link:hover {
color: #2D3A45;
background: #C5DBE2;
border-color: #C5DBE2;
}

.site-header {
background: linear-gradient(135deg, #f5f8f9 0%, #e8f1f4 100%);
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
position: relative;
}

.header-pod {
max-width: 1400px;
margin: 0 auto;
padding: 20px 32px;
display: flex;
align-items: center;
gap: 32px;
}

.brand-cell {
display: flex;
align-items: center;
gap: 20px;
flex-shrink: 0;
}

.logo-ring {
width: 80px;
height: 80px;
border-radius: 20px;
border: 3px solid #2D3A45;
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08), inset 0 1px 2px 0 rgba(119, 153, 162, 0.10);
flex-shrink: 0;
overflow: hidden;
}

.logo-ring img {
width: 70px;
height: 70px;
object-fit: contain;
display: block;
}

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

.brand-name {
font-size: 21px;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
text-decoration: none;
display: block;
}

.brand-tag {
font-size: 15px;
font-weight: 400;
line-height: 1.6;
letter-spacing: 0.03em;
color: #7799A2;
}

.primary-nav {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}

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

.nav-deck li {
display: flex;
}

.nav-link {
display: flex;
align-items: center;
font-size: 15px;
font-weight: 400;
line-height: 1.6;
letter-spacing: 0.02em;
color: #2D3A45;
text-decoration: none;
padding: 8px 12px;
border-radius: 5px;
min-height: 44px;
transition: color 0.40s ease-in-out, background 0.40s ease-in-out;
white-space: nowrap;
}

.nav-link:hover {
color: #ffffff;
background: #2D3A45;
}

.nav-link.active {
color: #ffffff;
background: #2D3A45;
}

.header-action-cell {
flex-shrink: 0;
margin-left: auto;
}

.btn-book {
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Archivo', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.03em;
color: #ffffff;
background: linear-gradient(135deg, #2D3A45 0%, #7799A2 100%);
border: none;
border-radius: 11px;
padding: 12px 20px;
min-height: 44px;
cursor: pointer;
text-decoration: none;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transition: background 0.50s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.50s cubic-bezier(0.16, 1, 0.3, 1), transform 0.40s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-book:hover {
background: linear-gradient(315deg, #2D3A45 0%, #7799A2 100%);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
transform: translateY(-2px);
}

.btn-book:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
}

.site-footer {
background: #2D3A45;
}

.footer-top {
padding: 64px 32px 32px;
max-width: 1400px;
margin: 0 auto;
}

.footer-bento {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 20px;
}

.bento-cell {
background: rgba(119, 153, 162, 0.10);
border-radius: 11px;
padding: 32px;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
}

.bento-cell.tall {
grid-row: span 2;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 20px;
background: rgba(119, 153, 162, 0.15);
}

.bento-cell.wide {
grid-column: span 2;
}

.footer-logo-ring {
width: 80px;
height: 80px;
border-radius: 20px;
border: 3px solid #7799A2;
background: #ffffff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
overflow: hidden;
flex-shrink: 0;
}

.footer-logo-ring img {
width: 70px;
height: 70px;
object-fit: contain;
display: block;
}

.footer-brand-name {
font-size: 21px;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.01em;
color: #C5DBE2;
text-align: center;
}

.footer-brand-tag {
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: #7799A2;
text-align: center;
}

.footer-social-deck {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
}

.social-link {
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 15px;
font-weight: 700;
letter-spacing: 0.03em;
color: #C5DBE2;
text-decoration: none;
border: 1px solid #7799A2;
border-radius: 5px;
padding: 8px 12px;
min-height: 44px;
transition: color 0.45s ease-in-out, background 0.45s ease-in-out, border-color 0.45s ease-in-out;
}

.social-link:hover {
color: #2D3A45;
background: #C5DBE2;
border-color: #C5DBE2;
}

.social-link:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
}

.cell-label {
font-size: 15px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.04em;
color: #7799A2;
text-transform: uppercase;
margin-bottom: 12px;
}

.cell-text {
font-size: 15px;
font-weight: 400;
line-height: 1.9;
color: #C5DBE2;
}

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

.contact-list li {
font-size: 15px;
line-height: 1.6;
color: #C5DBE2;
}

.contact-list a {
color: #C5DBE2;
text-decoration: none;
transition: color 0.45s ease-in-out;
}

.contact-list a:hover {
color: #ffffff;
}

.contact-list a:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
border-radius: 1px;
}

.footer-nav-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 8px;
}

.footer-nav-list a {
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: #C5DBE2;
text-decoration: none;
transition: color 0.45s ease-in-out;
}

.footer-nav-list a:hover {
color: #ffffff;
}

.footer-nav-list a:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
border-radius: 1px;
}

.footer-bottom {
border-top: 1px solid rgba(119, 153, 162, 0.20);
padding: 20px 32px;
max-width: 1400px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 20px;
flex-wrap: wrap;
}

.copyright-text {
font-size: 15px;
font-weight: 400;
line-height: 1.6;
color: #7799A2;
}

.ck-popup {
position: fixed;
bottom: 20px;
right: 20px;
width: 300px;
background: #ffffff;
border-radius: 11px;
border: 1px solid #C5DBE2;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
z-index: 1200;
overflow: hidden;
}

.ck-desc {
font-size: 15px;
line-height: 1.6;
color: #2D3A45;
padding: 20px 20px 8px;
font-family: 'Archivo', sans-serif;
}

.ck-head {
font-size: 17px;
font-weight: 700;
line-height: 1.2;
color: #2D3A45;
padding: 0 20px 12px;
font-family: 'Archivo', sans-serif;
}

.ck-toggle-deck {
padding: 0 20px 12px;
}

.ck-toggle-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 8px 0;
border-top: 1px solid #C5DBE2;
}

.ck-toggle-label {
font-size: 15px;
line-height: 1.6;
color: #2D3A45;
font-family: 'Archivo', sans-serif;
}

.ck-toggle-label.always-on {
color: #7799A2;
font-size: 15px;
}

.ck-switch {
position: relative;
width: 40px;
height: 22px;
flex-shrink: 0;
}

.ck-switch input {
opacity: 0;
width: 0;
height: 0;
position: absolute;
}

.ck-track {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #C5DBE2;
border-radius: 34px;
cursor: pointer;
transition: background 0.45s ease-in-out;
}

.ck-track::after {
content: "";
position: absolute;
width: 16px;
height: 16px;
background: #ffffff;
border-radius: 20px;
top: 3px;
left: 3px;
transition: transform 0.45s ease-in-out;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
}

.ck-switch input:checked+.ck-track {
background: #2D3A45;
}

.ck-switch input:checked+.ck-track::after {
transform: translateX(18px);
}

.ck-switch input:focus+.ck-track {
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
}

.ck-expand-btn {
display: flex;
align-items: center;
gap: 8px;
background: none;
border: none;
cursor: pointer;
font-family: 'Archivo', sans-serif;
font-size: 15px;
line-height: 1.6;
color: #7799A2;
padding: 4px 20px 8px;
transition: color 0.45s ease-in-out;
width: 100%;
text-align: left;
}

.ck-expand-btn:hover {
color: #2D3A45;
}

.ck-expand-btn:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
border-radius: 1px;
}

.ck-detail-panel {
padding: 0 20px 8px;
}

.ck-btn-deck {
display: flex;
gap: 8px;
padding: 12px 20px 20px;
}

.ck-btn {
flex: 1;
display: inline-flex;
align-items: center;
justify-content: center;
font-family: 'Archivo', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.2;
letter-spacing: 0.02em;
border-radius: 5px;
padding: 8px 12px;
min-height: 44px;
cursor: pointer;
border: 2px solid #2D3A45;
background: transparent;
color: #2D3A45;
transition: background 0.45s ease-in-out, color 0.45s ease-in-out;
}

.ck-btn:hover {
background: #2D3A45;
color: #ffffff;
}

.ck-btn:focus {
outline: none;
box-shadow: 0 0 0 3px rgba(119, 153, 162, 0.45);
}

.ck-btn.accept {
background: #2D3A45;
color: #ffffff;
}

.ck-btn.accept:hover {
background: #7799A2;
border-color: #7799A2;
}

@media (max-width: 1024px) {
.footer-bento {
grid-template-columns: 1fr 1fr;
}

.bento-cell.tall {
grid-row: span 1;
grid-column: span 2;
}

.bento-cell.wide {
grid-column: span 2;
}
}

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

.top-bar-pod {
flex-direction: column;
gap: 8px;
align-items: flex-start;
}

.header-pod {
padding: 20px;
flex-wrap: wrap;
gap: 20px;
}

.header-action-cell {
margin-left: 0;
width: 100%;
}

.btn-book {
width: 100%;
justify-content: center;
}

.primary-nav {
width: 100%;
justify-content: flex-start;
}

.nav-deck {
justify-content: flex-start;
}

.footer-bento {
grid-template-columns: 1fr;
}

.bento-cell.tall,
.bento-cell.wide {
grid-column: span 1;
}

.footer-top {
padding: 32px 20px 20px;
}

.footer-bottom {
padding: 20px;
flex-direction: column;
align-items: flex-start;
}

.ck-popup {
width: calc(100vw - 40px);
right: 20px;
bottom: 20px;
}
}

@media (max-width: 360px) {
.header-pod {
padding: 12px;
}

.nav-link {
font-size: 15px;
padding: 8px 8px;
}

.footer-top {
padding: 20px 12px;
}

.footer-bottom {
padding: 12px;
}
}

.policy-page {
max-width: 1400px;
margin: 0 auto;
padding: 64px 32px;
}

.policy-page h1 {
font-size: 51px;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
margin-bottom: 32px;
margin-top: 0;
padding-bottom: 20px;
border-bottom: 2px solid #C5DBE2;
}

.policy-page h2 {
font-size: 37px;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin-top: 64px;
margin-bottom: 20px;
}

.policy-page h3 {
font-size: 27px;
font-weight: 600;
line-height: 1.6;
letter-spacing: -0.005em;
color: #2D3A45;
margin-top: 32px;
margin-bottom: 12px;
}

.policy-page h4 {
font-size: 21px;
font-weight: 600;
line-height: 1.6;
letter-spacing: 0;
color: #2D3A45;
margin-top: 32px;
margin-bottom: 12px;
}

.policy-page h5 {
font-size: 17px;
font-weight: 600;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2D3A45;
margin-top: 20px;
margin-bottom: 8px;
}

.policy-page h6 {
font-size: 15px;
font-weight: 600;
line-height: 1.6;
letter-spacing: 0.02em;
color: #7799A2;
text-transform: uppercase;
margin-top: 20px;
margin-bottom: 8px;
}

.policy-page p {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
margin-top: 0;
margin-bottom: 20px;
max-width: 72ch;
}

.policy-page ul {
margin-top: 0;
margin-bottom: 20px;
padding-left: 32px;
list-style: none;
}

.policy-page ol {
margin-top: 0;
margin-bottom: 20px;
padding-left: 32px;
list-style: none;
counter-reset: policy-counter;
}

.policy-page ul li {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
margin-bottom: 8px;
padding-left: 20px;
position: relative;
max-width: 72ch;
}

.policy-page ul li::before {
content: "";
position: absolute;
left: 0;
top: 13px;
width: 6px;
height: 6px;
border-radius: 1px;
background-color: #7799A2;
transform: rotate(45deg);
}

.policy-page ol li {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
margin-bottom: 8px;
padding-left: 20px;
position: relative;
max-width: 72ch;
counter-increment: policy-counter;
}

.policy-page ol li::before {
content: counter(policy-counter) ".";
position: absolute;
left: 0;
top: 0;
font-size: 15px;
font-weight: 600;
color: #7799A2;
line-height: 1.9;
}

.policy-page ul ul,
.policy-page ol ol,
.policy-page ul ol,
.policy-page ol ul {
margin-top: 8px;
margin-bottom: 8px;
}

.policy-page em,
.policy-page i {
font-style: italic;
color: #7799A2;
}

.policy-page table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
margin-bottom: 32px;
font-size: 15px;
line-height: 1.6;
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
}

.policy-page thead {
background-color: #2D3A45;
}

.policy-page thead th {
color: #C5DBE2;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
padding: 12px 20px;
text-align: left;
border: none;
}

.policy-page tbody tr {
border-bottom: 1px solid #C5DBE2;
transition: background-color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.policy-page tbody tr:last-child {
border-bottom: none;
}

.policy-page tbody tr:nth-child(even) {
background-color: #f5f9fa;
}

.policy-page tbody tr:hover {
background-color: #e8f2f5;
}

.policy-page td {
font-size: 15px;
line-height: 1.6;
color: #2D3A45;
padding: 12px 20px;
vertical-align: top;
border: none;
}

.policy-page th {
font-size: 15px;
line-height: 1.6;
padding: 12px 20px;
vertical-align: middle;
}

.policy-page hr {
border: none;
border-top: 1px solid #C5DBE2;
margin-top: 32px;
margin-bottom: 32px;
opacity: 0.7;
}

.policy-page div {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
}

.policy-page div p:last-child {
margin-bottom: 0;
}

@media (max-width: 1024px) {
.policy-page {
padding: 64px 32px;
}

.policy-page h1 {
font-size: 37px;
}

.policy-page h2 {
font-size: 27px;
}

.policy-page h3 {
font-size: 21px;
}
}

@media (max-width: 768px) {
.policy-page {
padding: 32px 20px;
}

.policy-page h1 {
font-size: 27px;
margin-bottom: 20px;
padding-bottom: 12px;
}

.policy-page h2 {
font-size: 21px;
margin-top: 32px;
}

.policy-page h3 {
font-size: 17px;
}

.policy-page h4,
.policy-page h5,
.policy-page h6 {
font-size: 15px;
}

.policy-page p,
.policy-page ul li,
.policy-page ol li,
.policy-page td,
.policy-page div {
font-size: 15px;
}

.policy-page table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
border-radius: 5px;
}

.policy-page ul {
padding-left: 20px;
}

.policy-page ol {
padding-left: 20px;
}
}

@media (max-width: 360px) {
.policy-page {
padding: 20px 12px;
}

.policy-page h1 {
font-size: 21px;
}

.policy-page h2 {
font-size: 17px;
}

.policy-page h3,
.policy-page h4,
.policy-page h5,
.policy-page h6 {
font-size: 15px;
}
}

.wbd-det {
background: #f4f7f8;
padding: 0;
overflow-x: clip;
}

.wbd-det .pg-top {
background: #2D3A45;
position: relative;
padding: 64px 20px;
}

.wbd-det .pg-top::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='grain'%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(%23grain)' opacity='0.18'/%3E%3C/svg%3E");
background-repeat: repeat;
background-size: 200px 200px;
pointer-events: none;
opacity: 0.55;
}

.wbd-det .pg-top-inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
position: relative;
z-index: 1;
}

.wbd-det .pg-top-text {
flex: 1 1 0;
min-width: 0;
}

.wbd-det .pg-top-badge {
display: inline-block;
background: #7799A2;
color: #fff;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.08em;
border-radius: 5px;
padding: 4px 12px;
margin-bottom: 20px;
}

.wbd-det .pg-top-h {
font-size: 51px;
line-height: 1.2;
color: #C5DBE2;
letter-spacing: -0.02em;
margin-bottom: 20px;
}

.wbd-det .pg-meta-row {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 20px;
margin-bottom: 32px;
}

.wbd-det .pg-meta-item {
display: flex;
flex-direction: column;
gap: 4px;
}

.wbd-det .pg-meta-label {
font-size: 15px;
color: #7799A2;
letter-spacing: 0.06em;
line-height: 1.2;
}

.wbd-det .pg-meta-val {
font-size: 17px;
color: #C5DBE2;
font-weight: 600;
line-height: 1.2;
}

.wbd-det .pg-top-img-wrap {
flex: 0 0 420px;
max-width: 420px;
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
position: relative;
clip-path: inset(0 100% 0 0);
animation: img-wipe 0.55s cubic-bezier(0.16, 1, 0.3, 1) 0.15s forwards;
}

@keyframes img-wipe {
from {
clip-path: inset(0 100% 0 0);
}

to {
clip-path: inset(0 0% 0 0);
}
}

.wbd-det .pg-top-img-wrap img {
width: 100%;
max-width: 100%;
display: block;
object-fit: contain;
filter: saturate(0.7) brightness(0.92) hue-rotate(0deg);
}

.wbd-det .pg-top-link {
display: inline-block;
background: linear-gradient(112deg, #7799A2, #C5DBE2);
color: #2D3A45;
font-size: 17px;
font-weight: 700;
border-radius: 5px;
padding: 12px 32px;
text-decoration: none;
box-shadow: 2px 5px 22px 0 rgba(119, 153, 162, 0.08);
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.wbd-det .pg-top-link:hover {
background: linear-gradient(200deg, #C5DBE2, #7799A2);
transform: translateY(-3px);
}

.wbd-det .sect-divider {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
gap: 12px;
padding: 20px 0;
}

.wbd-det .sect-divider-line {
flex: 1 1 0;
height: 1px;
background: #C5DBE2;
max-width: 320px;
}

.wbd-det .sect-divider-shape {
width: 12px;
height: 12px;
border-radius: 1px;
background: #7799A2;
transform: rotate(45deg);
flex-shrink: 0;
}

.wbd-det .body-sect {
max-width: 1400px;
margin: 0 auto;
padding: 64px 20px;
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
}

.wbd-det .body-main {
flex: 2 1 0;
min-width: 0;
}

.wbd-det .body-aside {
flex: 1 1 0;
min-width: 0;
}

.wbd-det .desc-heading {
font-size: 27px;
line-height: 1.2;
color: #2D3A45;
letter-spacing: -0.01em;
margin-bottom: 20px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.wbd-det .desc-heading::before {
content: "";
display: block;
width: 8px;
height: 8px;
border-radius: 1px;
background: #7799A2;
flex-shrink: 0;
transform: rotate(45deg);
}

.wbd-det .desc-body {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
}

.wbd-det .desc-body p {
margin-bottom: 20px;
}

.wbd-det .desc-body h2 {
font-size: 21px;
line-height: 1.2;
color: #2D3A45;
margin-bottom: 12px;
margin-top: 32px;
}

.wbd-det .desc-body em {
color: #7799A2;
font-style: italic;
}

.wbd-det .desc-body ul {
margin-bottom: 20px;
padding-left: 20px;
}

.wbd-det .desc-body ul li {
font-size: 17px;
line-height: 1.6;
margin-bottom: 8px;
color: #2D3A45;
}

.wbd-det .desc-body ul li:nth-child(odd) {
color: #2D3A45;
}

.wbd-det .desc-body ul li:nth-child(even) {
color: #7799A2;
}

.wbd-det .desc-body details {
border: 1px solid #C5DBE2;
border-radius: 5px;
margin-bottom: 12px;
overflow: hidden;
}

.wbd-det .desc-body summary {
padding: 12px 20px;
font-size: 17px;
font-weight: 600;
color: #2D3A45;
cursor: pointer;
background: #f4f7f8;
transition: background 0.4s ease-in-out;
}

.wbd-det .desc-body summary:hover {
background: #C5DBE2;
}

.wbd-det .price-card {
background: #fff;
border-radius: 11px;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
padding: 32px;
border-right: 4px solid #7799A2;
position: relative;
overflow: hidden;
}

.wbd-det .price-card::after {
content: "";
position: absolute;
bottom: -20px;
right: -20px;
width: 80px;
height: 80px;
border-radius: 20px;
border: 2px solid #C5DBE2;
transform: rotate(15deg);
pointer-events: none;
}

.wbd-det .price-amt {
font-size: 51px;
line-height: 1.2;
color: #2D3A45;
font-weight: 700;
letter-spacing: -0.02em;
margin-bottom: 8px;
}

.wbd-det .price-terms {
font-size: 15px;
color: #7799A2;
line-height: 1.6;
margin-bottom: 20px;
}

.wbd-det .price-note {
font-size: 15px;
color: #2D3A45;
background: #C5DBE2;
border-radius: 5px;
padding: 8px 12px;
margin-bottom: 20px;
line-height: 1.6;
}

.wbd-det .seats-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-bottom: 20px;
}

.wbd-det .seats-dot {
width: 10px;
height: 10px;
border-radius: 34px;
background: #7799A2;
flex-shrink: 0;
}

.wbd-det .seats-txt {
font-size: 15px;
color: #2D3A45;
line-height: 1.2;
}

.wbd-det .enroll-btn {
display: block;
width: 100%;
background: linear-gradient(112deg, #2D3A45, #7799A2);
color: #fff;
font-size: 17px;
font-weight: 700;
border: none;
border-radius: 5px;
padding: 20px 32px;
cursor: pointer;
text-align: center;
text-decoration: none;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transition: background 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s ease-in-out;
}

.wbd-det .enroll-btn:hover {
background: linear-gradient(220deg, #7799A2, #2D3A45);
transform: translateY(-2px);
}

.wbd-det .enroll-btn:focus {
outline: 2px solid #7799A2;
outline-offset: 3px;
}

.wbd-det .aside-stats {
margin-top: 20px;
background: #2D3A45;
border-radius: 11px;
padding: 20px;
display: flex;
flex-direction: column;
gap: 12px;
}

.wbd-det .stat-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid rgba(197, 219, 226, 0.15);
padding-bottom: 12px;
}

.wbd-det .stat-row:last-child {
border-bottom: none;
padding-bottom: 0;
}

.wbd-det .stat-key {
font-size: 15px;
color: #7799A2;
line-height: 1.2;
}

.wbd-det .stat-val {
font-size: 15px;
color: #C5DBE2;
font-weight: 600;
line-height: 1.2;
}

.wbd-det .prog-sect {
background: #fff;
padding: 64px 20px;
position: relative;
}

.wbd-det .prog-sect::before {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(ellipse 60% 50% at 50% 50%, rgba(197, 219, 226, 0.18) 0%, transparent 70%);
pointer-events: none;
}

.wbd-det .prog-inner {
max-width: 1400px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.wbd-det .prog-heading {
font-size: 37px;
line-height: 1.2;
color: #2D3A45;
letter-spacing: -0.015em;
margin-bottom: 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
}

.wbd-det .prog-heading::before {
content: "";
display: block;
width: 10px;
height: 10px;
border-radius: 1px;
background: #7799A2;
flex-shrink: 0;
transform: rotate(45deg);
}

.wbd-det .prog-cols {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start;
}

.wbd-det .prog-col-top {
grid-column: 1 / -1;
background: linear-gradient(112deg, #2D3A45, #7799A2);
border-radius: 11px;
padding: 20px 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
}

.wbd-det .prog-col-top-txt {
font-size: 17px;
color: #C5DBE2;
line-height: 1.6;
flex: 1 1 0;
}

.wbd-det .prog-col {
background: #f4f7f8;
border-radius: 11px;
padding: 20px;
border-right: 4px solid #C5DBE2;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.wbd-det .prog-col:hover {
transform: translateY(-4px);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
}

.wbd-det .prog-col-body {
font-size: 15px;
line-height: 1.9;
color: #2D3A45;
}

.wbd-det .prog-col-body h2 {
font-size: 17px;
font-weight: 700;
color: #2D3A45;
margin-bottom: 8px;
}

.wbd-det .prog-col-body p {
margin-bottom: 8px;
}

.wbd-det .prog-col-body small {
font-size: 15px;
color: #7799A2;
}

.wbd-det .prog-col-body ul {
padding-left: 20px;
margin-bottom: 8px;
}

.wbd-det .prog-col-body ul li {
font-size: 15px;
line-height: 1.6;
margin-bottom: 4px;
}

.wbd-det .prog-col-body ul li:nth-child(odd) {
color: #2D3A45;
}

.wbd-det .prog-col-body ul li:nth-child(even) {
color: #7799A2;
}

.wbd-det .prog-col-body dl {
margin-bottom: 8px;
}

.wbd-det .prog-col-body dt {
font-weight: 700;
color: #2D3A45;
font-size: 15px;
}

.wbd-det .prog-col-body dd {
color: #7799A2;
font-size: 15px;
margin-left: 12px;
margin-bottom: 4px;
}

.wbd-det .prog-col-body figure {
margin: 8px 0;
}

.wbd-det .prog-col-body figcaption {
font-size: 15px;
color: #7799A2;
font-style: italic;
}

.wbd-det .prog-col-body details {
margin-bottom: 8px;
}

.wbd-det .prog-col-body summary {
font-size: 15px;
font-weight: 600;
color: #2D3A45;
cursor: pointer;
}

.wbd-det .contact-bar {
background: #C5DBE2;
padding: 32px 20px;
}

.wbd-det .contact-bar-inner {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap;
}

.wbd-det .contact-bar-txt {
font-size: 21px;
color: #2D3A45;
font-weight: 600;
line-height: 1.2;
}

.wbd-det .contact-bar-links {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
}

.wbd-det .contact-link {
display: inline-block;
background: #2D3A45;
color: #C5DBE2;
font-size: 15px;
font-weight: 600;
border-radius: 5px;
padding: 8px 20px;
text-decoration: none;
transition: background 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.wbd-det .contact-link:hover {
background: #7799A2;
transform: translateY(-2px);
}

.wbd-det .contact-link:focus {
outline: 2px solid #2D3A45;
outline-offset: 3px;
}

@media (max-width: 1024px) {
.wbd-det .pg-top-inner {
flex-direction: column;
gap: 32px;
}

.wbd-det .pg-top-img-wrap {
flex: 0 0 auto;
max-width: 100%;
width: 100%;
}

.wbd-det .body-sect {
flex-direction: column;
gap: 32px;
}

.wbd-det .prog-cols {
grid-template-columns: 1fr 1fr;
}

.wbd-det .pg-top-h {
font-size: 37px;
}
}

@media (max-width: 768px) {
.wbd-det .pg-top {
padding: 32px 20px;
}

.wbd-det .pg-top-h {
font-size: 27px;
}

.wbd-det .price-amt {
font-size: 37px;
}

.wbd-det .prog-cols {
grid-template-columns: 1fr;
}

.wbd-det .prog-heading {
font-size: 27px;
}

.wbd-det .contact-bar-inner {
flex-direction: column;
align-items: flex-start;
}

.wbd-det .body-sect {
padding: 32px 20px;
}
}

@media (max-width: 360px) {
.wbd-det .pg-top-h {
font-size: 21px;
}

.wbd-det .pg-meta-row {
flex-direction: column;
gap: 12px;
}

.wbd-det .price-amt {
font-size: 27px;
}
}

@media print {

.wbd-det .pg-top::before,
.wbd-det .price-card::after,
.wbd-det .prog-sect::before,
.wbd-det .sect-divider-shape,
.wbd-det .seats-dot,
.wbd-det .pg-top-badge,
.wbd-det .contact-bar,
.wbd-det .enroll-btn,
.wbd-det .pg-top-link {
display: none !important;
}

.wbd-det .pg-top {
background: #fff !important;
padding: 20px 0 !important;
}

.wbd-det .pg-top-h {
color: #2D3A45 !important;
font-size: 27px !important;
}

.wbd-det .pg-meta-val,
.wbd-det .pg-meta-label {
color: #2D3A45 !important;
}

.wbd-det .pg-top-inner {
flex-direction: column;
gap: 20px;
}

.wbd-det .body-sect {
flex-direction: column;
gap: 20px;
padding: 20px 0;
}

.wbd-det .price-card {
box-shadow: none !important;
border: 1px solid #2D3A45;
}

.wbd-det .prog-sect {
background: #fff !important;
padding: 20px 0;
}

.wbd-det .prog-cols {
grid-template-columns: 1fr;
gap: 12px;
}

.wbd-det .prog-col {
box-shadow: none !important;
border: 1px solid #C5DBE2;
}

.wbd-det .aside-stats {
background: #fff !important;
border: 1px solid #2D3A45;
}

.wbd-det .stat-key,
.wbd-det .stat-val {
color: #2D3A45 !important;
}

.wbd-det .prog-col-top {
background: #C5DBE2 !important;
}

.wbd-det .prog-col-top-txt {
color: #2D3A45 !important;
}
}

.abt-us {
max-width: 1400px;
margin: 0 auto;
overflow: hidden;
}

.abt-us .reveal {
animation: abt-reveal 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes abt-reveal {
from {
opacity: 0;
}

to {
opacity: 1;
}
}

.abt-us .split-row {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 0;
}

.abt-us .img-col {
flex: 0 0 38%;
position: relative;
}

.abt-us .img-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: grayscale(100%);
transition: filter 0.45s ease-in-out;
}

.abt-us .img-col:hover img {
filter: grayscale(60%);
}

.abt-us .txt-col {
flex: 0 0 62%;
padding: 64px 64px 64px 64px;
position: relative;
background: #fff;
}

.abt-us .dot-grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
background-image: radial-gradient(circle, #7799A2 1px, transparent 1px);
background-size: 22px 22px;
opacity: 0.13;
z-index: 0;
}

.abt-us .txt-col-inner {
position: relative;
z-index: 1;
}

.abt-us .tag-line {
display: inline-block;
background: #C5DBE2;
color: #2D3A45;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.12em;
padding: 4px 12px;
border-radius: 5px;
margin-bottom: 20px;
text-transform: uppercase;
}

.abt-us .pg-h1 {
font-size: 51px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
margin-bottom: 20px;
}

.abt-us .pg-desc {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
max-width: 540px;
margin-bottom: 32px;
}

.abt-us .cta-link {
display: inline-block;
background: linear-gradient(112deg, #2D3A45, #7799A2);
color: #fff;
font-size: 17px;
font-weight: 600;
padding: 12px 32px;
border-radius: 11px;
text-decoration: none;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transition: box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.45s ease-in-out;
}

.abt-us .cta-link:hover {
background: linear-gradient(200deg, #7799A2, #2D3A45);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
transform: translateY(-3px);
}

.abt-us .sep-diamond {
display: inline-block;
width: 8px;
height: 8px;
background: #7799A2;
transform: rotate(45deg);
margin: 0 8px;
vertical-align: middle;
}

.abt-us .meta-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
margin-bottom: 32px;
flex-wrap: wrap;
}

.abt-us .meta-item {
font-size: 15px;
color: #7799A2;
font-weight: 500;
letter-spacing: 0.04em;
}

.abt-us .detail-band {
background: #2D3A45;
padding: 64px 0;
}

.abt-us .detail-inner {
max-width: 1400px;
margin: 0 auto;
padding: 0 64px;
display: flex;
flex-direction: row;
gap: 64px;
align-items: flex-start;
}

.abt-us .detail-main {
flex: 0 0 60%;
}

.abt-us .detail-aside {
flex: 0 0 calc(40% - 64px);
}

.abt-us .sec-label {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-bottom: 20px;
}

.abt-us .sec-shape {
width: 10px;
height: 10px;
background: #C5DBE2;
border-radius: 1px;
transform: rotate(45deg);
flex-shrink: 0;
}

.abt-us .sec-lbl-txt {
font-size: 15px;
color: #C5DBE2;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
}

.abt-us .detail-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #fff;
margin-bottom: 20px;
}

.abt-us .detail-p {
font-size: 17px;
line-height: 1.9;
color: #C5DBE2;
margin-bottom: 20px;
}

.abt-us .detail-p:last-of-type {
margin-bottom: 0;
}

.abt-us .kw-accent {
background: rgba(119, 153, 162, 0.18);
color: #C5DBE2;
border-radius: 5px;
padding: 0 4px;
}

.abt-us .aside-card {
background: rgba(197, 219, 226, 0.08);
border-radius: 11px;
padding: 32px;
box-shadow: 2px 3px 2px 0 rgba(119, 153, 162, 0.06);
margin-bottom: 32px;
}

.abt-us .aside-card:last-child {
margin-bottom: 0;
}

.abt-us .aside-h4 {
font-size: 21px;
line-height: 1.2;
color: #fff;
margin-bottom: 12px;
font-weight: 600;
}

.abt-us .aside-list {
list-style: none;
padding: 0;
margin: 0;
}

.abt-us .aside-list li {
font-size: 15px;
line-height: 1.9;
padding: 4px 0;
border-bottom: 1px solid rgba(197, 219, 226, 0.12);
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.abt-us .aside-list li:last-child {
border-bottom: none;
}

.abt-us .aside-list li:nth-child(odd) {
color: #C5DBE2;
}

.abt-us .aside-list li:nth-child(even) {
color: #7799A2;
}

.abt-us .li-dot {
width: 5px;
height: 5px;
background: #7799A2;
border-radius: 1px;
flex-shrink: 0;
transform: rotate(45deg);
}

.abt-us .aside-list li:nth-child(odd) .li-dot {
background: #C5DBE2;
}

.abt-us .contact-strip {
background: #C5DBE2;
border-radius: 11px;
padding: 20px 32px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
flex-wrap: wrap;
margin-top: 32px;
}

.abt-us .contact-strip a {
font-size: 15px;
color: #2D3A45;
font-weight: 600;
text-decoration: none;
padding: 4px 8px;
border-radius: 5px;
transition: background 0.38s ease-in-out, color 0.38s ease-in-out;
}

.abt-us .contact-strip a:hover {
background: #2D3A45;
color: #fff;
outline: 2px solid transparent;
}

.abt-us .contact-strip a:focus-visible {
outline: 2px solid #2D3A45;
outline-offset: 2px;
}

.abt-us .strip-sep {
color: #7799A2;
font-size: 15px;
}

@media (max-width: 1024px) {
.abt-us .txt-col {
padding: 32px;
}

.abt-us .detail-inner {
padding: 0 32px;
gap: 32px;
}

.abt-us .pg-h1 {
font-size: 37px;
}
}

@media (max-width: 768px) {
.abt-us .split-row {
flex-direction: column;
}

.abt-us .img-col {
flex: none;
height: 280px;
}

.abt-us .txt-col {
flex: none;
padding: 32px 20px;
}

.abt-us .pg-h1 {
font-size: 27px;
}

.abt-us .detail-inner {
flex-direction: column;
padding: 0 20px;
gap: 32px;
}

.abt-us .detail-main,
.abt-us .detail-aside {
flex: none;
width: 100%;
}

.abt-us .detail-band {
padding: 32px 0;
}

.abt-us .detail-h2 {
font-size: 27px;
}
}

@media (max-width: 360px) {
.abt-us .txt-col {
padding: 20px 12px;
}

.abt-us .pg-h1 {
font-size: 21px;
}

.abt-us .cta-link {
font-size: 15px;
padding: 12px 20px;
}

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

.abt-us .cta-link:active {
transform: scale(1.04);
transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1);
}

.abt-us .cta-link:focus-visible {
outline: 2px solid #2D3A45;
outline-offset: 3px;
}

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

.wbn-pg .wbn-max {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.wbn-pg .wbn-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 12px 0;
}

.wbn-pg .wbn-divider-line {
flex: 1;
height: 1px;
background: repeating-linear-gradient(to right,
#7799A2 0px,
#7799A2 4px,
transparent 4px,
transparent 8px,
#C5DBE2 8px,
#C5DBE2 10px,
transparent 10px,
transparent 16px);
}

.wbn-pg .wbn-divider-dot {
width: 8px;
height: 8px;
border-radius: 20px;
background: #7799A2;
flex-shrink: 0;
}

.wbn-pg .wbn-label {
font-size: 15px;
font-weight: 600;
letter-spacing: 0.12em;
color: #7799A2;
text-transform: uppercase;
display: block;
margin-bottom: 12px;
}

.wbn-pg .wbn-heading-anchor {
display: inline-block;
width: 5px;
height: 27px;
background: linear-gradient(180deg, #7799A2, transparent);
border-radius: 1px;
margin-right: 12px;
vertical-align: middle;
flex-shrink: 0;
}

.wbn-pg .wbn-h-row {
display: flex;
flex-direction: row;
align-items: center;
}

.wbn-pg .wbn-title-blk {
padding: 64px 0 64px;
position: relative;
}

.wbn-pg .wbn-title-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
}

.wbn-pg .wbn-title-left {
position: relative;
z-index: 1;
}

.wbn-pg .wbn-title-h1 {
font-size: 51px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
margin: 0 0 20px;
}

.wbn-pg .wbn-title-desc {
font-size: 17px;
line-height: 1.9;
color: #4a5a65;
margin: 0;
max-width: 480px;
}

.wbn-pg .wbn-title-img-wrap {
position: relative;
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
}

.wbn-pg .wbn-title-img-wrap img {
width: 100%;
height: 380px;
object-fit: cover;
display: block;
border-radius: 11px;
}

.wbn-pg .wbn-light-leak {
position: absolute;
top: 0;
right: 0;
width: 60%;
height: 60%;
background: linear-gradient(135deg, rgba(197, 219, 226, 0.55), transparent 70%);
border-radius: 11px;
pointer-events: none;
}

.wbn-pg .wbn-atmo-spot {
position: absolute;
border-radius: 20px;
pointer-events: none;
z-index: 0;
}

.wbn-pg .wbn-spot-a {
width: 280px;
height: 280px;
background: rgba(197, 219, 226, 0.18);
top: -64px;
left: -64px;
filter: blur(48px);
}

.wbn-pg .wbn-spot-b {
width: 200px;
height: 200px;
background: rgba(119, 153, 162, 0.12);
bottom: 0;
right: 20%;
filter: blur(36px);
}

.wbn-pg .wbn-cards-sect {
padding: 64px 0;
background: #f4f8fa;
}

.wbn-pg .wbn-cards-head {
margin-bottom: 32px;
}

.wbn-pg .wbn-cards-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin: 0;
}

.wbn-pg .wbn-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 32px;
}

.wbn-pg .wbn-card {
background: #fff;
border-radius: 11px;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
overflow: hidden;
display: flex;
flex-direction: column;
transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.wbn-pg .wbn-card:hover {
transform: translateY(-4px);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
}

.wbn-pg .wbn-card-img-wrap {
position: relative;
overflow: hidden;
}

.wbn-pg .wbn-card-img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.wbn-pg .wbn-card:hover .wbn-card-img-wrap img {
transform: scale(1.04);
}

.wbn-pg .wbn-card-badge {
position: absolute;
top: 12px;
left: 12px;
background: #2D3A45;
color: #C5DBE2;
font-size: 15px;
font-weight: 600;
padding: 4px 12px;
border-radius: 5px;
letter-spacing: 0.04em;
}

.wbn-pg .wbn-card-body {
padding: 20px 32px 32px;
display: flex;
flex-direction: column;
flex: 1;
}

.wbn-pg .wbn-card-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 20px;
margin-bottom: 12px;
}

.wbn-pg .wbn-card-meta-item {
font-size: 15px;
color: #7799A2;
display: flex;
flex-direction: row;
align-items: center;
gap: 4px;
}

.wbn-pg .wbn-meta-icon {
width: 16px;
height: 16px;
flex-shrink: 0;
}

.wbn-pg .wbn-card-title {
font-size: 21px;
line-height: 1.6;
letter-spacing: -0.01em;
color: #2D3A45;
margin: 0 0 12px;
}

.wbn-pg .wbn-card-desc {
font-size: 15px;
line-height: 1.9;
color: #4a5a65;
margin: 0 0 20px;
flex: 1;
}

.wbn-pg .wbn-card-info {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 8px 20px;
margin-bottom: 20px;
padding: 12px;
background: #f4f8fa;
border-radius: 5px;
}

.wbn-pg .wbn-info-row {
display: flex;
flex-direction: column;
gap: 4px;
}

.wbn-pg .wbn-info-label {
font-size: 15px;
color: #7799A2;
font-weight: 500;
}

.wbn-pg .wbn-info-val {
font-size: 15px;
color: #2D3A45;
font-weight: 600;
}

.wbn-pg .wbn-card-price-row {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 12px;
margin-bottom: 12px;
}

.wbn-pg .wbn-price-main {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
font-weight: 700;
}

.wbn-pg .wbn-price-note {
font-size: 15px;
color: #7799A2;
max-width: 160px;
text-align: right;
line-height: 1.6;
}

.wbn-pg .wbn-price-desc {
font-size: 15px;
color: #7799A2;
margin: 0 0 20px;
line-height: 1.6;
}

.wbn-pg .wbn-seats {
font-size: 15px;
color: #2D3A45;
font-weight: 600;
margin-bottom: 20px;
padding: 8px 12px;
background: rgba(197, 219, 226, 0.3);
border-radius: 5px;
display: inline-block;
}

.wbn-pg .wbn-btn-primary {
display: inline-block;
background: linear-gradient(155deg, #2D3A45, #7799A2);
color: #fff;
font-size: 17px;
font-weight: 600;
padding: 12px 32px;
border-radius: 5px;
text-decoration: none;
border: none;
cursor: pointer;
transition: background 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease-in-out;
text-align: center;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
}

.wbn-pg .wbn-btn-primary:hover {
background: linear-gradient(220deg, #2D3A45, #7799A2);
transform: translateY(-2px);
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
color: #fff;
}

.wbn-pg .wbn-btn-primary:focus {
outline: 2px solid #7799A2;
outline-offset: 3px;
}

.wbn-pg .wbn-btn-primary:active {
transform: translateY(0);
}

.wbn-pg .wbn-table-sect {
padding: 64px 0;
background: #fff;
}

.wbn-pg .wbn-table-intro {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 32px;
margin-bottom: 32px;
align-items: start;
}

.wbn-pg .wbn-table-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin: 0 0 12px;
}

.wbn-pg .wbn-table-lead {
font-size: 17px;
line-height: 1.9;
color: #4a5a65;
margin: 0;
}

.wbn-pg .wbn-table-side {
padding: 20px;
background: rgba(197, 219, 226, 0.25);
border-radius: 11px;
font-size: 15px;
line-height: 1.9;
color: #2D3A45;
}

.wbn-pg .wbn-table-wrap {
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
}

.wbn-pg .wbn-tbl {
width: 100%;
border-collapse: collapse;
font-size: 15px;
}

.wbn-pg .wbn-tbl thead tr {
background: #2D3A45;
color: #C5DBE2;
}

.wbn-pg .wbn-tbl thead th {
padding: 12px 20px;
text-align: left;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.05em;
}

.wbn-pg .wbn-tbl tbody tr:nth-child(odd) {
background: #fff;
}

.wbn-pg .wbn-tbl tbody tr:nth-child(even) {
background: rgba(197, 219, 226, 0.15);
}

.wbn-pg .wbn-tbl tbody tr {
transition: background 0.38s ease-in-out;
}

.wbn-pg .wbn-tbl tbody tr:hover {
background: rgba(119, 153, 162, 0.12);
}

.wbn-pg .wbn-tbl td {
padding: 12px 20px;
color: #2D3A45;
line-height: 1.6;
border-bottom: 1px solid rgba(197, 219, 226, 0.4);
}

.wbn-pg .wbn-tbl td:first-child {
font-weight: 600;
}

.wbn-pg .wbn-tbl .wbn-tbl-badge {
display: inline-block;
padding: 4px 8px;
border-radius: 5px;
font-size: 15px;
font-weight: 600;
}

.wbn-pg .wbn-tbl .badge-begin {
background: rgba(197, 219, 226, 0.4);
color: #2D3A45;
}

.wbn-pg .wbn-tbl .badge-adv {
background: rgba(45, 58, 69, 0.12);
color: #2D3A45;
}

.wbn-pg .wbn-float-sect {
padding: 64px 0;
background: linear-gradient(155deg, #2D3A45 0%, #4a6472 60%, #7799A2 100%);
position: relative;
}

.wbn-pg .wbn-float-geo {
position: absolute;
top: 50%;
right: 8%;
transform: translateY(-50%);
width: 220px;
height: 220px;
border-radius: 34px;
background: rgba(197, 219, 226, 0.07);
pointer-events: none;
}

.wbn-pg .wbn-float-geo-sm {
position: absolute;
bottom: 20px;
left: 5%;
width: 100px;
height: 100px;
border-radius: 20px;
background: rgba(197, 219, 226, 0.05);
pointer-events: none;
}

.wbn-pg .wbn-float-inner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: center;
position: relative;
z-index: 1;
}

.wbn-pg .wbn-float-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #fff;
margin: 0 0 20px;
}

.wbn-pg .wbn-float-text {
font-size: 17px;
line-height: 1.9;
color: rgba(197, 219, 226, 0.9);
margin: 0 0 20px;
}

.wbn-pg .wbn-float-kw {
font-size: 15px;
line-height: 1.9;
color: rgba(197, 219, 226, 0.75);
margin: 0;
padding: 12px;
border-radius: 5px;
background: rgba(197, 219, 226, 0.07);
}

.wbn-pg .wbn-float-items {
display: flex;
flex-direction: column;
gap: 20px;
}

.wbn-pg .wbn-float-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 20px;
background: rgba(255, 255, 255, 0.06);
border-radius: 11px;
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.wbn-pg .wbn-float-item:hover {
background: rgba(255, 255, 255, 0.11);
transform: translateX(4px);
}

.wbn-pg .wbn-float-icon {
width: 40px;
height: 40px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
animation: wbn-float-anim 3s ease-in-out infinite;
}

.wbn-pg .wbn-float-icon:nth-child(1) {
animation-delay: 0s;
}

.wbn-pg .wbn-float-item:nth-child(2) .wbn-float-icon {
animation-delay: 0.8s;
}

.wbn-pg .wbn-float-item:nth-child(3) .wbn-float-icon {
animation-delay: 1.6s;
}

@keyframes wbn-float-anim {

0%,
100% {
transform: translateY(0);
}

50% {
transform: translateY(-6px);
}
}

.wbn-pg .wbn-float-item-text {
flex: 1;
}

.wbn-pg .wbn-float-item-h {
font-size: 17px;
font-weight: 600;
color: #fff;
margin: 0 0 4px;
line-height: 1.6;
}

.wbn-pg .wbn-float-item-p {
font-size: 15px;
color: rgba(197, 219, 226, 0.8);
margin: 0;
line-height: 1.6;
}

.wbn-pg .wbn-btn-outline {
display: inline-block;
border: 2px solid #C5DBE2;
color: #C5DBE2;
font-size: 17px;
font-weight: 600;
padding: 12px 32px;
border-radius: 5px;
text-decoration: none;
cursor: pointer;
transition: background 0.42s cubic-bezier(0.16, 1, 0.3, 1), color 0.42s cubic-bezier(0.16, 1, 0.3, 1), transform 0.38s ease-in-out;
margin-top: 20px;
display: inline-block;
}

.wbn-pg .wbn-btn-outline:hover {
background: #C5DBE2;
color: #2D3A45;
transform: translateY(-2px);
}

.wbn-pg .wbn-btn-outline:focus {
outline: 2px solid #C5DBE2;
outline-offset: 3px;
}

.wbn-pg .wbn-type-anim {
display: inline-block;
overflow: hidden;
white-space: nowrap;
animation: wbn-typing 2.2s steps(30, end) forwards;
max-width: 100%;
}

@keyframes wbn-typing {
from {
width: 0;
}

to {
width: 100%;
}
}

@media (max-width: 1024px) {
.wbn-pg .wbn-title-inner {
grid-template-columns: 1fr;
gap: 32px;
}

.wbn-pg .wbn-grid {
grid-template-columns: 1fr;
gap: 32px;
}

.wbn-pg .wbn-float-inner {
grid-template-columns: 1fr;
gap: 32px;
}

.wbn-pg .wbn-table-intro {
grid-template-columns: 1fr;
gap: 20px;
}

.wbn-pg .wbn-title-h1 {
font-size: 37px;
}
}

@media (max-width: 768px) {
.wbn-pg .wbn-max {
padding-left: 20px;
padding-right: 20px;
}

.wbn-pg .wbn-title-blk {
padding: 32px 0;
}

.wbn-pg .wbn-cards-sect {
padding: 32px 0;
}

.wbn-pg .wbn-table-sect {
padding: 32px 0;
}

.wbn-pg .wbn-float-sect {
padding: 32px 0;
}

.wbn-pg .wbn-title-h1 {
font-size: 27px;
}

.wbn-pg .wbn-cards-h2 {
font-size: 27px;
}

.wbn-pg .wbn-table-h2 {
font-size: 27px;
}

.wbn-pg .wbn-float-h2 {
font-size: 27px;
}

.wbn-pg .wbn-card-info {
grid-template-columns: 1fr;
}

.wbn-pg .wbn-card-price-row {
flex-direction: column;
align-items: flex-start;
}

.wbn-pg .wbn-price-note {
text-align: left;
max-width: 100%;
}

.wbn-pg .wbn-tbl thead th,
.wbn-pg .wbn-tbl td {
padding: 8px 12px;
font-size: 15px;
}
}

@media (max-width: 360px) {
.wbn-pg .wbn-max {
padding-left: 12px;
padding-right: 12px;
}

.wbn-pg .wbn-price-main {
font-size: 27px;
}

.wbn-pg .wbn-card-body {
padding: 12px 20px 20px;
}
}

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

.lnch .pg-wrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 20px;
}

.lnch ::selection {
background: #2D3A45;
color: #C5DBE2;
font-weight: 700;
}

.lnch .zigzag-div {
width: 100%;
height: 18px;
overflow: hidden;
line-height: 0;
}

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

.lnch .tb {
position: relative;
padding: 64px 20px 64px;
background-color: #f4f7f8;
border-top: 2px solid #7799A2;
border-bottom: 2px solid #C5DBE2;
}

.lnch .tb-dots {
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #7799A2 1px, transparent 1px);
background-size: 22px 22px;
opacity: 0.08;
pointer-events: none;
}

.lnch .tb-strip-wrap {
max-width: 1400px;
margin: 0 auto 32px;
border-radius: 5px;
overflow: hidden;
position: relative;
}

.lnch .tb-strip {
width: 100%;
height: 120px;
object-fit: cover;
object-position: center 35%;
display: block;
filter: brightness(0.88) saturate(0.9);
}

.lnch .tb-scanline {
position: absolute;
inset: 0;
background: repeating-linear-gradient(to bottom,
transparent 0px,
transparent 3px,
rgba(45, 58, 69, 0.07) 3px,
rgba(45, 58, 69, 0.07) 4px);
pointer-events: none;
}

.lnch .tb-text {
max-width: 1400px;
margin: 0 auto;
}

.lnch .tb-label {
display: inline-block;
font-size: 15px;
letter-spacing: 0.12em;
color: #7799A2;
text-transform: uppercase;
margin-bottom: 20px;
padding: 4px 12px;
border-radius: 5px;
background: rgba(119, 153, 162, 0.1);
}

.lnch .tb-h1 {
font-size: 51px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
margin-bottom: 20px;
max-width: 820px;
}

.lnch .tb-h1 em {
font-style: normal;
position: relative;
display: inline-block;
}

.lnch .tb-h1 em::after {
content: "";
display: block;
height: 3px;
border-radius: 1px;
background: linear-gradient(112deg, #7799A2, transparent);
margin-top: 4px;
width: 100%;
}

.lnch .tb-sub {
font-size: 17px;
line-height: 1.6;
color: #4a5c67;
max-width: 560px;
}

.lnch .tb-bg-anim {
position: absolute;
inset: 0;
background: linear-gradient(155deg, rgba(197, 219, 226, 0.18), transparent 60%);
background-size: 200% 200%;
animation: bgbreathe 10s ease-in-out infinite;
pointer-events: none;
}

@keyframes bgbreathe {

0%,
100% {
background-size: 200% 200%;
background-position: 0% 50%;
}

50% {
background-size: 220% 220%;
background-position: 100% 50%;
}
}

.lnch .cli {
padding: 64px 20px;
background: #fff;
position: relative;
}

.lnch .cli-inner {
max-width: 1400px;
margin: 0 auto;
}

.lnch .sec-label {
font-size: 15px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #7799A2;
margin-bottom: 12px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.lnch .sec-label::before {
content: "";
display: inline-block;
width: 12px;
height: 12px;
background: #C5DBE2;
border-radius: 1px;
transform: rotate(45deg);
flex-shrink: 0;
}

.lnch .cli-heading {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin-bottom: 32px;
max-width: 600px;
}

.lnch .cli-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 32px;
align-items: start;
}

.lnch .cli-cards {
display: flex;
flex-direction: column;
gap: 20px;
}

.lnch .cli-card {
border-radius: 11px;
padding: 20px 32px;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
transition: box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.lnch .cli-card:hover {
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transform: translateY(-3px);
}

.lnch .cli-card.odd {
background: #f4f7f8;
}

.lnch .cli-card.even {
background: rgba(197, 219, 226, 0.18);
}

.lnch .cli-name {
font-size: 15px;
font-weight: 700;
color: #2D3A45;
letter-spacing: 0.04em;
margin-bottom: 8px;
}

.lnch .cli-situation {
font-size: 17px;
line-height: 1.6;
color: #3a4f5a;
}

.lnch .cli-outcome {
display: inline-block;
margin-top: 8px;
font-size: 15px;
color: #2D3A45;
background: rgba(119, 153, 162, 0.15);
padding: 4px 12px;
border-radius: 5px;
}

.lnch .cli-img-col {
display: flex;
flex-direction: column;
gap: 20px;
}

.lnch .cli-img-wrap {
border-radius: 11px;
overflow: hidden;
position: relative;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
}

.lnch .cli-img-wrap img {
width: 100%;
height: 260px;
object-fit: cover;
display: block;
transition: filter 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.lnch .cli-img-wash {
position: absolute;
inset: 0;
background: linear-gradient(155deg, rgba(119, 153, 162, 0.55), transparent);
opacity: 0;
transition: opacity 0.5s cubic-bezier(0.16, 1, 0.3, 1);
pointer-events: none;
}

.lnch .cli-img-wrap:hover img {
filter: brightness(0.92) saturate(1.1);
}

.lnch .cli-img-wrap:hover .cli-img-wash {
opacity: 1;
}

.lnch .cli-stat-box {
background: #2D3A45;
border-radius: 11px;
padding: 20px;
color: #C5DBE2;
}

.lnch .cli-stat-num {
font-size: 51px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #C5DBE2;
display: block;
}

.lnch .cli-stat-desc {
font-size: 15px;
line-height: 1.6;
color: rgba(197, 219, 226, 0.8);
margin-top: 4px;
}

.lnch .sit {
padding: 64px 20px;
background: #2D3A45;
position: relative;
border-top: 2px solid #7799A2;
border-bottom: 2px solid #7799A2;
}

.lnch .sit-tex {
position: absolute;
inset: 0;
background-image: url("./content_assets/card_3_1.jpg");
background-size: cover;
background-position: center;
opacity: 0.05;
pointer-events: none;
}

.lnch .sit-inner {
max-width: 1400px;
margin: 0 auto;
position: relative;
}

.lnch .sit-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: end;
margin-bottom: 32px;
}

.lnch .sit-heading {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #C5DBE2;
}

.lnch .sit-intro {
font-size: 17px;
line-height: 1.6;
color: rgba(197, 219, 226, 0.75);
}

.lnch .sit-label {
font-size: 15px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #7799A2;
margin-bottom: 12px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.lnch .sit-label::before {
content: "";
display: inline-block;
width: 12px;
height: 12px;
background: #7799A2;
border-radius: 1px;
transform: rotate(45deg);
flex-shrink: 0;
}

.lnch .sit-range {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
}

.lnch .sit-item {
border-radius: 11px;
padding: 20px;
background: rgba(197, 219, 226, 0.07);
border: 1px solid rgba(119, 153, 162, 0.25);
transition: background 0.42s cubic-bezier(0.16, 1, 0.3, 1), transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

.lnch .sit-item:hover {
background: rgba(119, 153, 162, 0.18);
transform: translateY(-2px);
}

.lnch .sit-item-img {
width: 100%;
height: 160px;
object-fit: cover;
border-radius: 5px;
display: block;
margin-bottom: 12px;
filter: brightness(0.85) saturate(0.8);
transition: filter 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.lnch .sit-item:hover .sit-item-img {
filter: brightness(1) saturate(1.1);
}

.lnch .sit-item-h {
font-size: 17px;
font-weight: 700;
color: #C5DBE2;
margin-bottom: 8px;
line-height: 1.2;
}

.lnch .sit-item-p {
font-size: 15px;
line-height: 1.6;
color: rgba(197, 219, 226, 0.7);
}

.lnch .aft {
padding: 64px 20px;
background: #f4f7f8;
position: relative;
}

.lnch .aft-tex {
position: absolute;
inset: 0;
background-image: url("./content_assets/showcase-4-2.jpg");
background-size: cover;
background-position: center top;
opacity: 0.04;
pointer-events: none;
}

.lnch .aft-inner {
max-width: 1400px;
margin: 0 auto;
position: relative;
}

.lnch .aft-heading {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin-bottom: 8px;
}

.lnch .aft-label {
font-size: 15px;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #7799A2;
margin-bottom: 12px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.lnch .aft-label::before {
content: "";
display: inline-block;
width: 12px;
height: 12px;
background: #C5DBE2;
border-radius: 1px;
transform: rotate(45deg);
flex-shrink: 0;
}

.lnch .aft-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
margin-top: 32px;
align-items: start;
}

.lnch .aft-col-a {
display: flex;
flex-direction: column;
gap: 20px;
}

.lnch .aft-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20px;
}

.lnch .aft-outcome {
border-radius: 11px;
padding: 20px;
background: #fff;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
transition: box-shadow 0.38s cubic-bezier(0.16, 1, 0.3, 1), transform 0.38s cubic-bezier(0.16, 1, 0.3, 1);
}

.lnch .aft-outcome:hover {
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transform: translateY(-3px);
}

.lnch .aft-outcome.wide {
grid-column: 1 / -1;
background: rgba(197, 219, 226, 0.2);
}

.lnch .aft-out-h {
font-size: 17px;
font-weight: 700;
color: #2D3A45;
margin-bottom: 8px;
line-height: 1.2;
}

.lnch .aft-out-p {
font-size: 15px;
line-height: 1.6;
color: #4a5c67;
}

.lnch .aft-col-b {
display: flex;
flex-direction: column;
gap: 20px;
}

.lnch .aft-img-wrap {
border-radius: 11px;
overflow: hidden;
position: relative;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
}

.lnch .aft-img-wrap img {
width: 100%;
height: 300px;
object-fit: cover;
display: block;
transition: filter 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.lnch .aft-img-wash {
position: absolute;
inset: 0;
background: linear-gradient(112deg, rgba(119, 153, 162, 0.5), transparent);
opacity: 0;
transition: opacity 0.55s cubic-bezier(0.16, 1, 0.3, 1);
pointer-events: none;
}

.lnch .aft-img-wrap:hover img {
filter: brightness(0.9) saturate(1.15);
}

.lnch .aft-img-wrap:hover .aft-img-wash {
opacity: 1;
}

.lnch .aft-note {
border-radius: 11px;
padding: 20px;
background: #2D3A45;
color: #C5DBE2;
}

.lnch .aft-note-h {
font-size: 17px;
font-weight: 700;
color: #C5DBE2;
margin-bottom: 8px;
}

.lnch .aft-note-p {
font-size: 15px;
line-height: 1.6;
color: rgba(197, 219, 226, 0.8);
}

.lnch .aft-kw-block {
border-radius: 11px;
padding: 20px;
background: rgba(119, 153, 162, 0.1);
border: 1px solid rgba(119, 153, 162, 0.2);
}

.lnch .aft-kw-h {
font-size: 15px;
font-weight: 700;
color: #2D3A45;
margin-bottom: 8px;
}

.lnch .aft-kw-p {
font-size: 15px;
line-height: 1.6;
color: #4a5c67;
}

@media (max-width: 1024px) {
.lnch .cli-grid {
grid-template-columns: 1fr;
}

.lnch .cli-img-col {
flex-direction: row;
}

.lnch .cli-img-wrap {
flex: 1;
}

.lnch .cli-stat-box {
flex: 1;
}

.lnch .sit-top {
grid-template-columns: 1fr;
}

.lnch .sit-range {
grid-template-columns: 1fr 1fr;
}

.lnch .aft-layout {
grid-template-columns: 1fr;
}

.lnch .tb-h1 {
font-size: 37px;
}
}

@media (max-width: 768px) {
.lnch .tb-h1 {
font-size: 27px;
}

.lnch .cli-heading,
.lnch .sit-heading,
.lnch .aft-heading {
font-size: 27px;
}

.lnch .cli-img-col {
flex-direction: column;
}

.lnch .sit-range {
grid-template-columns: 1fr;
}

.lnch .aft-row {
grid-template-columns: 1fr;
}

.lnch .tb {
padding: 32px 20px;
}

.lnch .cli,
.lnch .sit,
.lnch .aft {
padding: 32px 20px;
}
}

@media (max-width: 360px) {
.lnch .tb-h1 {
font-size: 21px;
}

.lnch .cli-heading,
.lnch .sit-heading,
.lnch .aft-heading {
font-size: 21px;
}

.lnch .cli-stat-num {
font-size: 37px;
}
}

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

.cmp-pg .schema-data {
display: none;
}

.cmp-pg .mx-bound {
margin-left: auto;
margin-right: auto;
max-width: 1400px;
padding-left: 32px;
padding-right: 32px;
}

.cmp-pg .pg-lead {
padding-top: 64px;
padding-bottom: 64px;
background: #f4f8fa;
position: relative;
}

.cmp-pg .pg-lead-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
}

.cmp-pg .lead-txt-col {
padding-right: 32px;
}

.cmp-pg .lead-img-col {
position: relative;
}

.cmp-pg .blob-bg {
position: absolute;
width: 320px;
height: 320px;
background: #C5DBE2;
border-radius: 34px;
filter: blur(48px);
opacity: 0.45;
top: -32px;
right: -20px;
pointer-events: none;
z-index: 0;
}

.cmp-pg .blob-bg-2 {
position: absolute;
width: 180px;
height: 180px;
background: #7799A2;
border-radius: 34px;
filter: blur(60px);
opacity: 0.22;
bottom: 20px;
left: -20px;
pointer-events: none;
z-index: 0;
}

.cmp-pg .lead-img-frame {
position: relative;
z-index: 1;
border-radius: 11px;
overflow: hidden;
border: 2px solid #C5DBE2;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
}

.cmp-pg .lead-img-frame img {
display: block;
width: 100%;
height: 420px;
object-fit: cover;
border-radius: 11px;
mask-image: linear-gradient(to top, #ffffff 75%, transparent 100%);
-webkit-mask-image: linear-gradient(to top, #ffffff 75%, transparent 100%);
}

.cmp-pg .dashed-accent {
border: 2px dashed #7799A2;
border-radius: 11px;
padding: 20px;
display: inline-block;
margin-bottom: 20px;
}

.cmp-pg .eyebrow {
font-size: 15px;
letter-spacing: 0.08em;
color: #7799A2;
font-weight: 600;
line-height: 1.6;
margin-bottom: 12px;
}

.cmp-pg .lead-h1 {
font-size: 51px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
margin-bottom: 20px;
}

.cmp-pg .lead-h1 span {
display: block;
}

.cmp-pg .lead-desc {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
margin-bottom: 32px;
max-width: 480px;
}

.cmp-pg .btn-prim {
display: inline-block;
background: linear-gradient(155deg, #2D3A45 0%, #7799A2 100%);
color: #ffffff !important;
text-decoration: none !important;
font-size: 15px;
font-weight: 600;
padding: 12px 32px;
border-radius: 5px;
border: none;
cursor: pointer;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transition: box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), background 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.cmp-pg .btn-prim:hover {
background: linear-gradient(220deg, #2D3A45 0%, #7799A2 100%);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
transform: translateY(-2px);
}

.cmp-pg .btn-prim:focus {
outline: 2px solid #2D3A45;
outline-offset: 3px;
}

.cmp-pg .scallop-div {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px;
}

.cmp-pg .scallop-div svg {
display: block;
width: 100%;
}

.cmp-pg .tbl-area {
padding-top: 64px;
padding-bottom: 64px;
background: #ffffff;
}

.cmp-pg .tbl-head-row {
display: flex;
flex-direction: row;
align-items: flex-end;
margin-bottom: 32px;
gap: 20px;
}

.cmp-pg .tbl-intro {
flex: 2;
}

.cmp-pg .tbl-sub {
flex: 1;
font-size: 15px;
line-height: 1.6;
color: #7799A2;
padding-bottom: 4px;
}

.cmp-pg .sec-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin-bottom: 8px;
}

.cmp-pg .geo-anchor {
display: inline-block;
width: 12px;
height: 12px;
background: #7799A2;
border-radius: 1px;
margin-right: 8px;
vertical-align: middle;
transform: rotate(45deg);
}

.cmp-pg .cmp-table {
width: 100%;
border-collapse: collapse;
border-radius: 11px;
overflow: hidden;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
}

.cmp-pg .cmp-table thead tr {
background: #2D3A45;
}

.cmp-pg .cmp-table thead th {
padding: 20px;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.04em;
color: #C5DBE2;
text-align: left;
line-height: 1.6;
}

.cmp-pg .cmp-table thead th.col-feat {
color: #ffffff;
font-size: 17px;
}

.cmp-pg .cmp-table tbody tr:nth-child(odd) {
background: #f4f8fa;
}

.cmp-pg .cmp-table tbody tr:nth-child(even) {
background: #eaf2f5;
}

.cmp-pg .cmp-table tbody td {
padding: 16px 20px;
font-size: 15px;
line-height: 1.6;
color: #2D3A45;
border-bottom: 1px solid #C5DBE2;
}

.cmp-pg .cmp-table tbody td.feat-name {
font-weight: 600;
color: #2D3A45;
}

.cmp-pg .cmp-table tbody tr:last-child td {
border-bottom: none;
}

.cmp-pg .dot-yes {
display: inline-block;
width: 10px;
height: 10px;
background: #2D3A45;
border-radius: 20px;
margin-right: 8px;
vertical-align: middle;
}

.cmp-pg .dot-no {
display: inline-block;
width: 10px;
height: 10px;
background: #C5DBE2;
border-radius: 20px;
margin-right: 8px;
vertical-align: middle;
}

.cmp-pg .dot-part {
display: inline-block;
width: 10px;
height: 10px;
background: #7799A2;
border-radius: 20px;
margin-right: 8px;
vertical-align: middle;
}

.cmp-pg .inv-area {
padding-top: 64px;
padding-bottom: 64px;
background: #2D3A45;
position: relative;
}

.cmp-pg .inv-area .blob-inv {
position: absolute;
width: 280px;
height: 280px;
background: #7799A2;
border-radius: 34px;
filter: blur(70px);
opacity: 0.18;
top: 0;
right: 0;
pointer-events: none;
}

.cmp-pg .inv-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 32px;
align-items: start;
}

.cmp-pg .inv-col-main {
grid-column: span 2;
}

.cmp-pg .inv-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #C5DBE2;
margin-bottom: 20px;
}

.cmp-pg .inv-p {
font-size: 17px;
line-height: 1.9;
color: #C5DBE2;
opacity: 0.85;
margin-bottom: 20px;
}

.cmp-pg .inv-list {
list-style: none;
padding: 0;
margin: 0 0 32px 0;
}

.cmp-pg .inv-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px 0;
border-bottom: 1px solid rgba(119, 153, 162, 0.25);
font-size: 15px;
line-height: 1.6;
color: #ffffff;
}

.cmp-pg .inv-list li:last-child {
border-bottom: none;
}

.cmp-pg .li-dot {
display: inline-block;
width: 8px;
height: 8px;
min-width: 8px;
background: #7799A2;
border-radius: 20px;
margin-top: 6px;
}

.cmp-pg .inv-card-col {
display: flex;
flex-direction: column;
gap: 20px;
}

.cmp-pg .inv-card {
background: rgba(119, 153, 162, 0.12);
border: 1px solid rgba(197, 219, 226, 0.25);
border-radius: 11px;
padding: 20px;
transition: background 0.4s cubic-bezier(0.16, 1, 0.3, 1), transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.cmp-pg .inv-card:hover {
background: rgba(119, 153, 162, 0.22);
transform: translateY(-3px);
}

.cmp-pg .inv-card-num {
font-size: 37px;
font-weight: 700;
line-height: 1.2;
color: #C5DBE2;
margin-bottom: 4px;
}

.cmp-pg .inv-card-lbl {
font-size: 15px;
line-height: 1.6;
color: #7799A2;
}

.cmp-pg .inv-card-desc {
font-size: 15px;
line-height: 1.6;
color: #ffffff;
opacity: 0.75;
margin-top: 8px;
}

.cmp-pg .btn-light {
display: inline-block;
background: #ffffff;
color: #2D3A45 !important;
text-decoration: none !important;
font-size: 15px;
font-weight: 600;
padding: 12px 32px;
border-radius: 5px;
border: none;
cursor: pointer;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
transition: box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1), transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.cmp-pg .btn-light:hover {
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
transform: translateY(-2px);
}

.cmp-pg .btn-light:focus {
outline: 2px solid #C5DBE2;
outline-offset: 3px;
}

.cmp-pg .scallop-inv {
width: 100%;
overflow: hidden;
line-height: 0;
height: 32px;
}

.cmp-pg .scallop-inv svg {
display: block;
width: 100%;
}

.cmp-pg .detail-area {
padding-top: 64px;
padding-bottom: 64px;
background: #C5DBE2;
}

.cmp-pg .detail-grid {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 64px;
align-items: start;
}

.cmp-pg .detail-h2 {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.01em;
color: #2D3A45;
margin-bottom: 20px;
}

.cmp-pg .detail-p {
font-size: 17px;
line-height: 1.9;
color: #2D3A45;
margin-bottom: 20px;
}

.cmp-pg .detail-kw-box {
background: rgba(45, 58, 69, 0.08);
border-radius: 11px;
padding: 20px;
margin-bottom: 20px;
}

.cmp-pg .detail-kw-box p {
font-size: 15px;
line-height: 1.6;
color: #2D3A45;
margin: 0;
}

.cmp-pg .detail-side {
display: flex;
flex-direction: column;
gap: 20px;
}

.cmp-pg .side-card {
background: #ffffff;
border-radius: 11px;
padding: 20px;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transition: transform 0.38s ease-in-out, box-shadow 0.38s ease-in-out;
}

.cmp-pg .side-card:hover {
transform: translateY(-3px);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
}

.cmp-pg .side-card-h {
font-size: 17px;
font-weight: 600;
line-height: 1.6;
color: #2D3A45;
margin-bottom: 8px;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.cmp-pg .side-dot {
display: inline-block;
width: 8px;
height: 8px;
min-width: 8px;
background: #7799A2;
border-radius: 20px;
}

.cmp-pg .side-card-p {
font-size: 15px;
line-height: 1.6;
color: #2D3A45;
opacity: 0.8;
}

.cmp-pg .rating-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
background: #ffffff;
border-radius: 11px;
padding: 20px;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
}

.cmp-pg .rating-val {
font-size: 51px;
font-weight: 700;
line-height: 1.2;
color: #2D3A45;
}

.cmp-pg .rating-info {
display: flex;
flex-direction: column;
gap: 4px;
}

.cmp-pg .rating-lbl {
font-size: 15px;
color: #7799A2;
line-height: 1.6;
}

.cmp-pg .rating-cnt {
font-size: 15px;
color: #2D3A45;
font-weight: 600;
line-height: 1.6;
}

.cmp-pg .stars-row {
display: flex;
flex-direction: row;
gap: 4px;
}

.cmp-pg .star-shape {
width: 16px;
height: 16px;
}

.cmp-pg .accent-txt {
display: inline;
background: #C5DBE2;
border-radius: 1px;
padding: 0 4px;
}

.cmp-pg .load-reveal {
animation: colorReveal 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes colorReveal {
from {
color: #C5DBE2;
opacity: 0;
transform: translateY(12px);
}

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

.cmp-pg .load-reveal-2 {
animation: colorReveal 0.55s 0.15s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.cmp-pg .load-reveal-3 {
animation: colorReveal 0.55s 0.28s cubic-bezier(0.16, 1, 0.3, 1) both;
}

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

.cmp-pg .lead-txt-col {
padding-right: 0;
}

.cmp-pg .lead-img-col {
max-width: 560px;
}

.cmp-pg .inv-grid {
grid-template-columns: 1fr 1fr;
}

.cmp-pg .inv-col-main {
grid-column: span 2;
}

.cmp-pg .detail-grid {
grid-template-columns: 1fr;
gap: 32px;
}
}

@media (max-width: 768px) {
.cmp-pg .mx-bound {
padding-left: 20px;
padding-right: 20px;
}

.cmp-pg .lead-h1 {
font-size: 37px;
}

.cmp-pg .sec-h2,
.cmp-pg .inv-h2,
.cmp-pg .detail-h2 {
font-size: 27px;
}

.cmp-pg .inv-grid {
grid-template-columns: 1fr;
}

.cmp-pg .inv-col-main {
grid-column: span 1;
}

.cmp-pg .tbl-head-row {
flex-direction: column;
gap: 12px;
}

.cmp-pg .cmp-table thead th,
.cmp-pg .cmp-table tbody td {
padding: 12px;
font-size: 15px;
}

.cmp-pg .rating-val {
font-size: 37px;
}
}

@media (max-width: 360px) {
.cmp-pg .lead-h1 {
font-size: 27px;
}

.cmp-pg .mx-bound {
padding-left: 12px;
padding-right: 12px;
}
}

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

.ct-us .pg-wrap {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.ct-us .reach-band {
background-color: #f4f8fa;
padding-top: 64px;
padding-bottom: 64px;
position: relative;
}

.ct-us .reach-band::before {
background: linear-gradient(163deg, #C5DBE2 0%, transparent 100%);
bottom: 0;
content: "";
left: -64px;
opacity: 0.38;
pointer-events: none;
position: absolute;
right: -64px;
top: 0;
z-index: 0;
}

.ct-us .reach-band .pg-wrap {
position: relative;
z-index: 1;
}

.ct-us .reach-grid {
display: grid;
gap: 64px;
grid-template-columns: 1fr 1fr;
}

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

.ct-us .reach-eyebrow {
align-items: center;
display: flex;
flex-direction: row;
gap: 12px;
margin-bottom: 8px;
}

.ct-us .eyebrow-shape {
background-color: #7799A2;
border-radius: 1px;
flex-shrink: 0;
height: 20px;
width: 4px;
}

.ct-us .eyebrow-label {
color: #7799A2;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.08em;
line-height: 1.2;
text-transform: uppercase;
}

.ct-us .reach-heading {
color: #2D3A45;
font-size: 51px;
letter-spacing: -0.02em;
line-height: 1.2;
margin-bottom: 0;
margin-top: 0;
}

.ct-us .reach-heading .punct {
color: #7799A2;
}

.ct-us .reach-desc {
color: #3d4f5c;
font-size: 17px;
line-height: 1.9;
margin-bottom: 0;
margin-top: 0;
max-width: 480px;
}

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

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

.ct-us .contact-items li:nth-child(odd) .c-item-body {
background-color: rgba(119, 153, 162, 0.08);
border-radius: 5px;
padding: 12px;
}

.ct-us .contact-items li:nth-child(even) .c-item-body {
background-color: rgba(197, 219, 226, 0.25);
border-radius: 5px;
padding: 12px;
}

.ct-us .c-icon {
align-items: center;
background-color: #2D3A45;
border-radius: 11px;
box-shadow: 2px 3px 2px 0 rgba(45, 58, 69, 0.06);
display: flex;
flex-direction: row;
flex-shrink: 0;
height: 40px;
justify-content: center;
margin-top: 8px;
width: 40px;
}

.ct-us .c-icon svg {
fill: #C5DBE2;
height: 18px;
width: 18px;
}

.ct-us .c-item-body {
flex: 1;
}

.ct-us .c-item-label {
color: #7799A2;
display: block;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.05em;
line-height: 1.2;
margin-bottom: 4px;
text-transform: uppercase;
}

.ct-us .c-item-val {
color: #2D3A45;
display: block;
font-size: 17px;
line-height: 1.6;
}

.ct-us .c-item-val a {
color: #2D3A45;
text-decoration: none;
transition: color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.ct-us .c-item-val a:hover {
color: #7799A2;
outline: 1px solid #7799A2;
outline-offset: 2px;
}

.ct-us .msg-channels {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 4px;
}

.ct-us .msg-btn {
align-items: center;
background-color: #2D3A45;
border: none;
border-radius: 20px;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
color: #C5DBE2;
cursor: pointer;
display: inline-flex;
flex-direction: row;
font-size: 15px;
font-weight: 600;
gap: 8px;
padding: 8px 20px;
text-decoration: none;
transition: background-color 0.42s cubic-bezier(0.16, 1, 0.3, 1), transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.42s ease-in-out;
}

.ct-us .msg-btn:hover {
background-color: #7799A2;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
color: #fff;
transform: translateY(-2px);
}

.ct-us .msg-btn svg {
fill: currentColor;
flex-shrink: 0;
height: 16px;
width: 16px;
}

.ct-us .reach-img-col {
display: flex;
flex-direction: column;
gap: 20px;
position: relative;
}

.ct-us .img-frame {
border-radius: 11px;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
overflow: hidden;
position: relative;
}

.ct-us .img-frame img {
display: block;
filter: saturate(0.65);
height: 320px;
max-width: 100%;
object-fit: cover;
transition: filter 0.52s cubic-bezier(0.16, 1, 0.3, 1), transform 0.52s cubic-bezier(0.16, 1, 0.3, 1);
width: 100%;
}

.ct-us .img-frame:hover img {
filter: saturate(1);
transform: scale(1.02);
}

.ct-us .img-overlay {
background: linear-gradient(163deg, rgba(45, 58, 69, 0.55) 0%, transparent 70%);
bottom: 0;
left: 0;
pointer-events: none;
position: absolute;
right: 0;
top: 0;
}

.ct-us .metric-strip {
display: flex;
flex-direction: row;
gap: 20px;
}

.ct-us .metric-card {
align-items: flex-start;
background-color: #2D3A45;
border-radius: 11px;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
display: flex;
flex: 1;
flex-direction: column;
gap: 4px;
padding: 20px;
}

.ct-us .metric-num {
color: #C5DBE2;
font-size: 37px;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.2;
position: relative;
}

.ct-us .metric-num .ring-wrap {
display: inline-block;
position: relative;
}

.ct-us .metric-arc {
height: 44px;
left: 50%;
pointer-events: none;
position: absolute;
top: 50%;
transform: translate(-50%, -50%);
width: 44px;
}

.ct-us .metric-arc circle.bg {
fill: none;
stroke: rgba(197, 219, 226, 0.18);
stroke-width: 2;
}

.ct-us .metric-arc circle.fg {
fill: none;
stroke: #7799A2;
stroke-dasharray: 110 138;
stroke-dashoffset: 0;
stroke-linecap: round;
stroke-width: 2;
}

.ct-us .metric-label {
color: #7799A2;
font-size: 15px;
line-height: 1.6;
}

.ct-us .form-band {
background-color: #fff;
padding-bottom: 64px;
padding-top: 64px;
position: relative;
}

.ct-us .form-band::after {
background: linear-gradient(197deg, #C5DBE2 0%, transparent 100%);
bottom: 0;
content: "";
opacity: 0.22;
pointer-events: none;
position: absolute;
right: -64px;
top: 0;
width: 480px;
z-index: 0;
}

.ct-us .form-band .pg-wrap {
position: relative;
z-index: 1;
}

.ct-us .form-layout {
align-items: flex-start;
display: grid;
gap: 64px;
grid-template-columns: 2fr 1fr;
}

.ct-us .form-col {
display: flex;
flex-direction: column;
gap: 32px;
}

.ct-us .form-head {
display: flex;
flex-direction: column;
gap: 12px;
}

.ct-us .form-title {
color: #2D3A45;
font-size: 37px;
letter-spacing: -0.015em;
line-height: 1.2;
margin-bottom: 0;
margin-top: 0;
}

.ct-us .form-title .punct {
color: #7799A2;
}

.ct-us .form-sub {
color: #4a5f6b;
font-size: 17px;
line-height: 1.9;
margin: 0;
}

.ct-us .form-el {
display: flex;
flex-direction: column;
gap: 20px;
}

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

.ct-us .field-group {
display: flex;
flex-direction: column;
gap: 8px;
}

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

.ct-us .f-label {
color: #2D3A45;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.04em;
line-height: 1.2;
}

.ct-us .f-input {
background-color: #f4f8fa;
border: 1.5px solid #C5DBE2;
border-radius: 5px;
box-shadow: inset 1px 1px 2px 0 rgba(45, 58, 69, 0.04);
color: #2D3A45;
font-size: 17px;
line-height: 1.6;
padding: 12px 20px;
transition: border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
width: 100%;
}

.ct-us .f-input::placeholder {
color: #8aabb5;
font-weight: 300;
}

.ct-us .f-input:focus {
border-color: #7799A2;
box-shadow: inset 1px 1px 2px 0 rgba(45, 58, 69, 0.04), 0 0 0 3px rgba(119, 153, 162, 0.18);
outline: none;
}

.ct-us .f-select {
appearance: none;
background-color: #f4f8fa;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237799A2' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
background-position: right 16px center;
background-repeat: no-repeat;
background-size: 12px;
border: 1.5px solid #C5DBE2;
border-radius: 5px;
box-shadow: inset 1px 1px 2px 0 rgba(45, 58, 69, 0.04);
color: #2D3A45;
cursor: pointer;
font-size: 17px;
line-height: 1.6;
padding: 12px 40px 12px 20px;
transition: border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
width: 100%;
}

.ct-us .f-select:focus {
border-color: #7799A2;
box-shadow: inset 1px 1px 2px 0 rgba(45, 58, 69, 0.04), 0 0 0 3px rgba(119, 153, 162, 0.18);
outline: none;
}

.ct-us .f-textarea {
background-color: #f4f8fa;
border: 1.5px solid #C5DBE2;
border-radius: 5px;
box-shadow: inset 1px 1px 2px 0 rgba(45, 58, 69, 0.04);
color: #2D3A45;
font-size: 17px;
line-height: 1.9;
min-height: 140px;
padding: 12px 20px;
resize: vertical;
transition: border-color 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
width: 100%;
}

.ct-us .f-textarea::placeholder {
color: #8aabb5;
font-weight: 300;
}

.ct-us .f-textarea:focus {
border-color: #7799A2;
box-shadow: inset 1px 1px 2px 0 rgba(45, 58, 69, 0.04), 0 0 0 3px rgba(119, 153, 162, 0.18);
outline: none;
}

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

.ct-us .priv-check {
accent-color: #7799A2;
cursor: pointer;
flex-shrink: 0;
height: 18px;
margin-top: 2px;
width: 18px;
}

.ct-us .priv-text {
color: #4a5f6b;
font-size: 15px;
line-height: 1.9;
margin: 0;
}

.ct-us .priv-text a {
color: #7799A2;
font-weight: 600;
text-decoration: none;
transition: color 0.38s ease-in-out;
}

.ct-us .priv-text a:hover {
color: #2D3A45;
outline: 1px solid #2D3A45;
outline-offset: 2px;
}

.ct-us .submit-btn {
background: linear-gradient(163deg, #2D3A45 0%, #7799A2 100%);
border: none;
border-radius: 20px;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
color: #fff;
cursor: pointer;
font-size: 17px;
font-weight: 700;
letter-spacing: 0.04em;
padding: 12px 64px;
transition: background 0.48s cubic-bezier(0.16, 1, 0.3, 1), transform 0.38s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.48s ease-in-out;
width: fit-content;
}

.ct-us .submit-btn:hover {
background: linear-gradient(343deg, #2D3A45 0%, #7799A2 100%);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
transform: translateY(-3px);
}

.ct-us .submit-btn:focus {
outline: 3px solid #7799A2;
outline-offset: 3px;
}

.ct-us .submit-btn:active {
transform: translateY(0);
}

.ct-us .side-col {
display: flex;
flex-direction: column;
gap: 32px;
padding-top: 8px;
}

.ct-us .side-img-frame {
border-radius: 11px;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
overflow: hidden;
}

.ct-us .side-img-frame img {
display: block;
filter: saturate(0.6);
height: 260px;
max-width: 100%;
object-fit: cover;
transition: filter 0.55s cubic-bezier(0.16, 1, 0.3, 1);
width: 100%;
}

.ct-us .side-img-frame:hover img {
filter: saturate(1);
}

.ct-us .side-note {
background-color: #f4f8fa;
border-radius: 11px;
box-shadow: 2px 3px 2px 0 rgba(119, 153, 162, 0.06);
display: flex;
flex-direction: column;
gap: 12px;
padding: 20px;
}

.ct-us .side-note-head {
align-items: center;
display: flex;
flex-direction: row;
gap: 8px;
}

.ct-us .side-note-dot {
background-color: #7799A2;
border-radius: 34px;
flex-shrink: 0;
height: 8px;
width: 8px;
}

.ct-us .side-note-title {
color: #2D3A45;
font-size: 17px;
font-weight: 700;
line-height: 1.2;
margin: 0;
}

.ct-us .side-note-text {
color: #4a5f6b;
font-size: 15px;
line-height: 1.9;
margin: 0;
}

.ct-us .side-note-text a {
color: #7799A2;
font-weight: 600;
text-decoration: none;
transition: color 0.4s ease-in-out;
}

.ct-us .side-note-text a:hover {
color: #2D3A45;
}

.ct-us .curve-div {
display: block;
line-height: 0;
overflow: hidden;
}

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

.ct-us .fib-bg {
pointer-events: none;
position: absolute;
right: 32px;
top: 32px;
z-index: 0;
}

.ct-us .fib-bg svg {
height: 260px;
opacity: 0.05;
width: 260px;
}

@keyframes blink-cursor {

0%,
100% {
opacity: 1;
}

50% {
opacity: 0;
}
}

.ct-us .typed-line {
color: #7799A2;
display: inline-block;
font-size: 15px;
font-weight: 600;
letter-spacing: 0.08em;
line-height: 1.2;
overflow: hidden;
text-transform: uppercase;
white-space: nowrap;
}

.ct-us .typed-line::after {
animation: blink-cursor 0.9s step-end infinite;
background-color: #7799A2;
content: "";
display: inline-block;
height: 1em;
margin-left: 3px;
vertical-align: middle;
width: 2px;
}

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

.ct-us .form-layout {
gap: 32px;
grid-template-columns: 1fr;
}

.ct-us .side-col {
flex-direction: row;
flex-wrap: wrap;
}

.ct-us .side-img-frame {
flex: 1;
min-width: 240px;
}

.ct-us .side-note {
flex: 1;
min-width: 240px;
}
}

@media (max-width: 768px) {
.ct-us .pg-wrap {
padding-left: 20px;
padding-right: 20px;
}

.ct-us .reach-band {
padding-bottom: 32px;
padding-top: 32px;
}

.ct-us .form-band {
padding-bottom: 32px;
padding-top: 32px;
}

.ct-us .reach-heading {
font-size: 37px;
}

.ct-us .form-title {
font-size: 27px;
}

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

.ct-us .metric-strip {
flex-direction: column;
gap: 12px;
}

.ct-us .side-col {
flex-direction: column;
}

.ct-us .submit-btn {
padding: 12px 32px;
width: 100%;
}
}

@media (max-width: 360px) {
.ct-us .reach-heading {
font-size: 27px;
}

.ct-us .form-title {
font-size: 21px;
}

.ct-us .msg-channels {
flex-direction: column;
}
}

.success-page {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 64px 20px;
background-color: #f5f8f9;
}

.success-page .success-card {
background: #ffffff;
border-radius: 20px;
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
max-width: 560px;
width: 100%;
padding: 64px 32px;
text-align: center;
}

.success-page .icon-wrap {
width: 72px;
height: 72px;
border-radius: 34px;
background: #C5DBE2;
margin: 0 auto 32px auto;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 2px 5px 22px 0 rgba(119, 153, 162, 0.08);
}

.success-page .icon-wrap svg {
display: block;
}

.success-page .success-heading {
font-size: 37px;
line-height: 1.2;
letter-spacing: -0.02em;
color: #2D3A45;
margin-bottom: 20px;
}

.success-page .success-text {
font-size: 17px;
line-height: 1.6;
color: #3d4f5c;
margin-bottom: 32px;
}

.success-page .success-divider {
width: 48px;
height: 2px;
background: #7799A2;
border-radius: 1px;
margin: 0 auto 32px auto;
}

.success-page .success-note {
font-size: 15px;
line-height: 1.6;
color: #5a7380;
background: #edf4f6;
border-radius: 11px;
padding: 20px;
margin-bottom: 32px;
}

.success-page .btn-home {
display: inline-block;
font-size: 15px;
line-height: 1.2;
font-weight: 600;
letter-spacing: 0.04em;
color: #ffffff;
background: linear-gradient(112deg, #2D3A45, #7799A2);
border-radius: 11px;
padding: 12px 32px;
text-decoration: none;
border: none;
cursor: pointer;
box-shadow: 2px 5px 22px 0 rgba(45, 58, 69, 0.08);
transition: background 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1), transform 0.38s ease-in-out;
}

.success-page .btn-home:hover {
background: linear-gradient(198deg, #7799A2, #2D3A45);
box-shadow: 2px 12px 60px 0 rgba(45, 58, 69, 0.10);
transform: translateY(-2px);
}

.success-page .btn-home:focus {
outline: 2px solid #2D3A45;
outline-offset: 3px;
}

.success-page .btn-home:active {
transform: translateY(0);
}

@media (max-width: 768px) {
.success-page {
padding: 32px 12px;
}

.success-page .success-card {
padding: 32px 20px;
}

.success-page .success-heading {
font-size: 27px;
}
}

@media (max-width: 360px) {
.success-page .success-heading {
font-size: 21px;
}

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