* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
overflow-x: hidden;
min-height: 100vh;
font-family: 'Noto Serif', serif;
}

:focus-visible {
outline: 3px solid;
outline-color: #AC282B;
outline-offset: 3px;
border-radius: 4px;
}

.site-header {
background: #ffffff;
position: relative;
}

.header-top-bar {
background: linear-gradient(90deg, #AC282B 0%, #8a1f22 100%);
padding: 8px 0;
}

.header-top-bar__inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}

.contact-strip {
display: flex;
align-items: center;
gap: 32px;
flex-wrap: wrap;
}

.contact-strip__item {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Noto Serif', serif;
font-size: 13px;
color: #f5eded;
letter-spacing: 0.01em;
text-decoration: none;
transition: color 0.35s ease-in-out;
}

.contact-strip__item:hover {
color: #ffffff;
}

.contact-strip__icon {
width: 14px;
height: 14px;
flex-shrink: 0;
opacity: 0.85;
}

.header-tag {
font-family: 'Noto Serif', serif;
font-size: 13px;
font-weight: 600;
color: #f5eded;
letter-spacing: 0.02em;
white-space: nowrap;
}

.header-nav-row {
border-bottom: 1px solid #E2DAD7;
background: #ffffff;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
}

.header-nav-row__inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
}

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

.brand-block__logo-wrap {
width: 68px;
height: 68px;
border-radius: 12px;
background: #f7f3f1;
border: 1px solid #E2DAD7;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07), inset 0 1px 3px rgba(184, 214, 222, 0.25);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
flex-shrink: 0;
}

.brand-block__logo-wrap img {
width: 52px;
height: 52px;
object-fit: contain;
display: block;
}

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

.brand-block__name {
font-family: 'Noto Serif', serif;
font-size: 23px;
font-weight: 700;
color: #1e1010;
letter-spacing: 0.02em;
line-height: 1.1;
text-decoration: none;
}

.brand-block__descriptor {
font-family: 'Noto Serif', serif;
font-size: 13px;
font-weight: 400;
color: #6b4a4c;
letter-spacing: 0.01em;
line-height: 1.35;
}

.primary-nav {
display: flex;
align-items: center;
gap: 4px;
flex-wrap: wrap;
justify-content: flex-end;
padding: 16px 0;
}

.primary-nav__link {
font-family: 'Noto Serif', serif;
font-size: 15px;
font-weight: 500;
color: #2a1415;
letter-spacing: 0.01em;
line-height: 1.35;
text-decoration: none;
padding: 8px 16px;
border-radius: 6px;
position: relative;
transition: color 0.38s ease-in-out, background-color 0.38s ease-in-out;
white-space: nowrap;
}

.primary-nav__link::after {
content: '';
position: absolute;
bottom: 6px;
left: 16px;
right: 16px;
height: 2px;
background: #AC282B;
border-radius: 4px;
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.primary-nav__link:hover {
color: #AC282B;
background-color: rgba(172, 40, 43, 0.05);
}

.primary-nav__link:hover::after {
transform: scaleX(1);
}

.primary-nav__link--active {
color: #AC282B;
font-weight: 600;
}

.primary-nav__link--active::after {
transform: scaleX(1);
}

.header-banner {
background: linear-gradient(135deg, #f7f3f1 0%, #edf4f7 60%, #E2DAD7 100%);
padding: 32px 0;
border-bottom: 2px solid #B8D6DE;
position: relative;
}

.header-banner::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 320px;
height: 100%;
background: linear-gradient(135deg, transparent 0%, rgba(184, 214, 222, 0.22) 100%);
pointer-events: none;
}

.header-banner__inner {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
}

.header-banner__phrase {
font-family: 'Noto Serif', serif;
font-size: 32px;
font-weight: 700;
color: #1e1010;
letter-spacing: 0.01em;
line-height: 1.35;
max-width: 640px;
}

.header-banner__phrase span {
color: #AC282B;
border-bottom: 2px solid #AC282B;
}

.header-banner__accent {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 8px;
flex-shrink: 0;
}

.accent-badge {
background: #AC282B;
color: #ffffff;
font-family: 'Noto Serif', serif;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.02em;
padding: 8px 16px;
border-radius: 36px;
white-space: nowrap;
}

.accent-detail {
font-family: 'Noto Serif', serif;
font-size: 13px;
color: #6b4a4c;
letter-spacing: 0.01em;
text-align: right;
}

.accent-shape {
width: 48px;
height: 4px;
border-radius: 4px;
background: linear-gradient(90deg, #B8D6DE, #AC282B);
margin-top: 4px;
}

.site-footer {
background: #2a1415;
color: #e8d8d9;
font-family: 'Noto Serif', serif;
}

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

.footer-logo-row {
display: flex;
align-items: center;
gap: 16px;
margin-bottom: 32px;
padding-bottom: 32px;
border-bottom: 1px solid rgba(184, 214, 222, 0.18);
}

.footer-logo-wrap {
width: 64px;
height: 64px;
border-radius: 12px;
background: #f7f3f1;
border: 1px solid rgba(226, 218, 215, 0.4);
box-shadow: 0 4px 22px 1px rgba(184, 214, 222, 0.11);
display: flex;
align-items: center;
justify-content: center;
overflow: hidden;
flex-shrink: 0;
}

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

.footer-brand-name {
font-size: 23px;
font-weight: 700;
color: #ffffff;
letter-spacing: 0.02em;
line-height: 1.1;
}

.footer-brand-sub {
font-size: 13px;
color: #c4a8a9;
letter-spacing: 0.01em;
margin-top: 4px;
line-height: 1.35;
}

.footer-columns {
display: grid;
grid-template-columns: 2fr 1fr 1fr 1fr;
gap: 32px;
}

.footer-col__heading {
font-size: 13px;
font-weight: 700;
color: #B8D6DE;
letter-spacing: 0.02em;
text-transform: uppercase;
margin-bottom: 16px;
line-height: 1.35;
}

.footer-col__body {
font-size: 15px;
color: #c4a8a9;
line-height: 1.55;
letter-spacing: 0.01em;
}

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

.footer-col__links li a {
font-size: 15px;
color: #c4a8a9;
text-decoration: none;
letter-spacing: 0.01em;
line-height: 1.55;
transition: color 0.38s ease-in-out;
display: inline-block;
}

.footer-col__links li a:hover {
color: #B8D6DE;
}

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

.footer-contact-list li {
font-size: 15px;
color: #c4a8a9;
letter-spacing: 0.01em;
line-height: 1.55;
}

.footer-contact-list li a {
color: #c4a8a9;
text-decoration: none;
transition: color 0.38s ease-in-out;
}

.footer-contact-list li a:hover {
color: #B8D6DE;
}

.footer-lower {
border-top: 1px solid rgba(184, 214, 222, 0.12);
}

.footer-lower__inner {
max-width: 1140px;
margin: 0 auto;
padding: 16px 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
flex-wrap: wrap;
}

.footer-copy {
font-size: 13px;
color: #7a5a5b;
letter-spacing: 0.01em;
line-height: 1.55;
}

.footer-legal-links {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.footer-legal-links a {
font-size: 13px;
color: #7a5a5b;
text-decoration: none;
letter-spacing: 0.01em;
transition: color 0.35s ease-in-out;
}

.footer-legal-links a:hover {
color: #B8D6DE;
}

.cookie-bar {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 8000;
background: #2a1415;
border-bottom: 2px solid #AC282B;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
font-family: 'Noto Serif', serif;
}

.cookie-bar__inner {
max-width: 1140px;
margin: 0 auto;
padding: 16px 32px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 32px;
flex-wrap: wrap;
}

.cookie-bar__text {
font-size: 13px;
color: #e8d8d9;
line-height: 1.55;
letter-spacing: 0.01em;
flex: 1;
min-width: 200px;
}

.cookie-bar__text strong {
display: block;
font-size: 15px;
font-weight: 600;
color: #ffffff;
margin-bottom: 4px;
}

.cookie-bar__text a {
color: #B8D6DE;
text-decoration: underline;
transition: color 0.25s ease-in-out;
}

.cookie-bar__text a:hover {
color: #ffffff;
}

.cookie-bar__uses {
margin: 4px 0 0;
padding-left: 16px;
color: #c4a8a9;
font-size: 13px;
}

.cookie-bar__uses li {
margin-bottom: 2px;
}

.cookie-bar__actions {
display: flex;
align-items: center;
gap: 8px;
flex-shrink: 0;
flex-wrap: wrap;
}

.cookie-btn {
font-family: 'Noto Serif', serif;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.02em;
padding: 8px 16px;
border-radius: 6px;
cursor: pointer;
border: 1px solid #AC282B;
background: transparent;
color: #e8d8d9;
min-height: 44px;
transition: background-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
white-space: nowrap;
}

.cookie-btn:hover,
.cookie-btn:focus-visible {
background: #AC282B;
color: #ffffff;
}

.cookie-btn--primary {
background: #AC282B;
color: #ffffff;
}

.cookie-btn--primary:hover,
.cookie-btn--primary:focus-visible {
background: #8a1f22;
color: #ffffff;
}

.cookie-settings-panel {
max-width: 1140px;
margin: 0 auto;
padding: 0 32px 16px;
display: flex;
align-items: center;
gap: 32px;
flex-wrap: wrap;
border-top: 1px solid rgba(172, 40, 43, 0.3);
}

.cookie-toggle-group {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
padding-top: 16px;
}

.cookie-toggle {
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
color: #c4a8a9;
cursor: pointer;
user-select: none;
}

.cookie-toggle input[type="checkbox"] {
width: 16px;
height: 16px;
accent-color: #AC282B;
cursor: pointer;
}

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

.header-banner__phrase {
font-size: 23px;
}

.header-banner__accent {
display: none;
}

.contact-strip {
gap: 16px;
}
}

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

.header-nav-row__inner {
flex-direction: column;
align-items: flex-start;
gap: 8px;
padding: 16px 32px;
}

.primary-nav {
justify-content: flex-start;
padding: 0 0 16px;
}

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

.header-tag {
display: none;
}

.footer-lower__inner {
flex-direction: column;
align-items: flex-start;
gap: 8px;
}

.cookie-bar__inner {
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
}

.info-doc {
max-width: 1140px;
margin: 0 auto;
padding: 64px 32px;
}

.info-doc h1 {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1b1b;
margin-bottom: 32px;
margin-top: 0;
}

.info-doc h2 {
font-size: 32px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
margin-top: 64px;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 2px solid #B8D6DE;
}

.info-doc h3 {
font-size: 23px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
margin-top: 32px;
margin-bottom: 16px;
}

.info-doc h4 {
font-size: 18px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #1b1b1b;
margin-top: 32px;
margin-bottom: 8px;
}

.info-doc h5 {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.02em;
color: #2c2c2c;
margin-top: 16px;
margin-bottom: 8px;
text-transform: uppercase;
}

.info-doc h6 {
font-size: 13px;
line-height: 1.55;
letter-spacing: 0.02em;
color: #3a3a3a;
margin-top: 16px;
margin-bottom: 8px;
text-transform: uppercase;
}

.info-doc p {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #2c2c2c;
margin-top: 0;
margin-bottom: 16px;
max-width: 72ch;
}

.info-doc strong,
.info-doc b {
font-weight: 700;
color: #1b1b1b;
}

.info-doc em,
.info-doc i {
font-style: italic;
color: #2c2c2c;
}

.info-doc a {
color: #AC282B;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.22s ease-in-out, text-decoration-color 0.22s ease-in-out;
}

.info-doc a:hover {
color: #7a1c1e;
text-decoration-color: #7a1c1e;
}

.info-doc a:visited {
color: #8a2022;
}

.info-doc table {
width: 100%;
border-collapse: collapse;
margin-top: 32px;
margin-bottom: 32px;
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
border-radius: 6px;
overflow: hidden;
}

.info-doc thead {
background-color: #E2DAD7;
}

.info-doc thead th {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.02em;
text-transform: uppercase;
color: #1b1b1b;
padding: 16px;
text-align: left;
border-bottom: 2px solid #B8D6DE;
}

.info-doc tbody tr {
transition: background-color 0.2s ease-in-out;
}

.info-doc tbody tr:nth-child(even) {
background-color: #f4f1ef;
}

.info-doc tbody tr:hover {
background-color: #edf5f7;
}

.info-doc td {
font-size: 15px;
line-height: 1.55;
color: #2c2c2c;
padding: 16px;
border-bottom: 1px solid #E2DAD7;
vertical-align: top;
}

.info-doc tbody tr:last-child td {
border-bottom: none;
}

@media (max-width: 576px) {
.info-doc {
padding: 32px 16px;
}

.info-doc h1 {
font-size: 32px;
}

.info-doc h2 {
font-size: 23px;
margin-top: 32px;
}

.info-doc h3 {
font-size: 18px;
}

.info-doc table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
}

@media (min-width: 577px) and (max-width: 992px) {
.info-doc {
padding: 64px 32px;
}

.info-doc h1 {
font-size: 45px;
}
}

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

.lrn-prog .pg-band {
width: 100%;
height: 4px;
background: linear-gradient(to left, #AC282B, #B8D6DE);
}

.lrn-prog .pg-band--secondary {
background: linear-gradient(to left, #B8D6DE, #E2DAD7);
}

.lrn-prog .pg-inner {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.lrn-prog .title-blk {
background-color: #f5f2f0;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/feColorMatrix%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23noise)' opacity='0.08'/%3E%3C/svg%3E");
padding-top: 64px;
padding-bottom: 64px;
position: relative;
}

.lrn-prog .title-blk__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
}

.lrn-prog .title-blk__text {
padding-top: 32px;
}

.lrn-prog .title-blk__eyebrow {
display: inline-block;
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
border: 1px solid #AC282B;
border-radius: 4px;
padding: 4px 8px;
margin-bottom: 16px;
line-height: 1.35;
}

.lrn-prog .title-blk__h1 {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1a1208;
margin-bottom: 16px;
text-decoration: underline;
text-decoration-color: #B8D6DE;
text-decoration-thickness: 3px;
text-underline-offset: 6px;
}

.lrn-prog .title-blk__desc {
font-size: 18px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a3028;
margin-bottom: 0;
}

.lrn-prog .title-blk__img-col {
position: relative;
}

.lrn-prog .title-blk__img-wrap {
border-radius: 12px;
overflow: hidden;
position: relative;
}

.lrn-prog .title-blk__img-wrap img {
width: 100%;
height: 480px;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(100%);
transition: filter 0.35s ease-in-out;
}

.lrn-prog .title-blk__img-wrap:hover img {
filter: grayscale(60%);
}

.lrn-prog .title-blk__caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: rgba(172, 40, 43, 0.88);
color: #fff;
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.01em;
padding: 16px;
transform: translateY(100%);
transition: transform 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
border-radius: 0 0 12px 12px;
}

.lrn-prog .title-blk__img-wrap:hover .title-blk__caption {
transform: translateY(0);
}

.lrn-prog .title-blk__diamond {
position: absolute;
top: -16px;
right: -16px;
width: 32px;
height: 32px;
background: #AC282B;
transform: rotate(45deg);
border-radius: 4px;
z-index: 1;
}

.lrn-prog .title-blk__note {
margin-top: 32px;
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
}

.lrn-prog .title-blk__note-label {
font-size: 13px;
color: #AC282B;
letter-spacing: 0.02em;
line-height: 1.55;
white-space: nowrap;
padding-top: 2px;
min-width: 80px;
}

.lrn-prog .title-blk__note-text {
font-size: 15px;
color: #3a3028;
line-height: 1.55;
letter-spacing: 0.01em;
}

.lrn-prog .stripe {
width: 100%;
height: 8px;
background: linear-gradient(to left, #AC282B, #E2DAD7);
}

.lrn-prog .prog-struct {
background: #fff;
padding-top: 64px;
padding-bottom: 64px;
}

.lrn-prog .prog-struct__layout {
display: grid;
grid-template-columns: 260px 1fr;
gap: 64px;
align-items: start;
}

.lrn-prog .prog-struct__aside {
position: sticky;
top: 32px;
}

.lrn-prog .prog-struct__aside-label {
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
line-height: 1.35;
margin-bottom: 16px;
text-transform: uppercase;
}

.lrn-prog .prog-struct__aside-heading {
font-size: 32px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1a1208;
margin-bottom: 16px;
text-decoration: underline;
text-decoration-color: #E2DAD7;
text-decoration-thickness: 2px;
text-underline-offset: 5px;
}

.lrn-prog .prog-struct__aside-note {
font-size: 15px;
line-height: 1.55;
color: #5a5048;
letter-spacing: 0.01em;
}

.lrn-prog .prog-struct__steps {
display: flex;
flex-direction: column;
gap: 0;
}

.lrn-prog .prog-struct__step {
display: grid;
grid-template-columns: 40px 1fr;
gap: 16px;
padding-top: 0;
padding-bottom: 32px;
position: relative;
}

.lrn-prog .prog-struct__step:last-child {
padding-bottom: 0;
}

.lrn-prog .prog-struct__dot-col {
display: flex;
flex-direction: column;
align-items: center;
}

.lrn-prog .prog-struct__dot {
width: 16px;
height: 16px;
border-radius: 36px;
background: #E2DAD7;
border: 2px solid #B8D6DE;
flex-shrink: 0;
transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
margin-top: 4px;
}

.lrn-prog .prog-struct__step:hover .prog-struct__dot {
background: #AC282B;
border-color: #AC282B;
}

.lrn-prog .prog-struct__line {
flex: 1;
width: 2px;
background: #E2DAD7;
margin-top: 4px;
}

.lrn-prog .prog-struct__step:last-child .prog-struct__line {
display: none;
}

.lrn-prog .prog-struct__step-body {
padding-bottom: 16px;
}

.lrn-prog .prog-struct__step-num {
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
line-height: 1.35;
margin-bottom: 4px;
}

.lrn-prog .prog-struct__step-title {
font-size: 18px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1a1208;
margin-bottom: 8px;
}

.lrn-prog .prog-struct__step-text {
font-size: 15px;
line-height: 1.55;
color: #3a3028;
letter-spacing: 0.01em;
}

.lrn-prog .prog-struct__tag {
display: inline-block;
font-size: 13px;
background: #E2DAD7;
color: #3a3028;
border-radius: 36px;
padding: 4px 8px;
letter-spacing: 0.01em;
line-height: 1.35;
margin-top: 8px;
}

.lrn-prog .stripe--mid {
width: 100%;
height: 4px;
background: #B8D6DE;
}

.lrn-prog .experts {
background: #E2DAD7;
padding-top: 64px;
padding-bottom: 64px;
position: relative;
overflow: hidden;
}

.lrn-prog .experts__bg-pat {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
}

.lrn-prog .experts__bg-pat svg {
width: 100%;
height: 100%;
opacity: 0.04;
}

.lrn-prog .experts__spot {
position: absolute;
width: 400px;
height: 400px;
border-radius: 36px;
background: #B8D6DE;
top: 50%;
left: 50%;
transform: translate(-50%, -50%) scale(1);
animation: spot-breathe 5s ease-in-out infinite;
opacity: 0.35;
pointer-events: none;
z-index: 0;
}

@keyframes spot-breathe {

0%,
100% {
transform: translate(-50%, -50%) scale(1);
}

50% {
transform: translate(-50%, -50%) scale(1.18);
}
}

.lrn-prog .experts__rel {
position: relative;
z-index: 1;
}

.lrn-prog .experts__heading-row {
text-align: center;
margin-bottom: 32px;
}

.lrn-prog .experts__h2 {
font-size: 32px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1a1208;
text-decoration: underline;
text-decoration-color: #AC282B;
text-decoration-thickness: 2px;
text-underline-offset: 6px;
margin-bottom: 8px;
}

.lrn-prog .experts__sub {
font-size: 15px;
line-height: 1.55;
color: #3a3028;
letter-spacing: 0.01em;
text-align: left;
max-width: 520px;
}

.lrn-prog .experts__grid {
display: grid;
grid-template-columns: 2fr 1fr 2fr;
gap: 32px;
align-items: start;
}

.lrn-prog .expert-card {
background: #fff;
border-radius: 12px;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
overflow: hidden;
transition: box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lrn-prog .expert-card:hover {
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
}

.lrn-prog .expert-card__img-wrap {
position: relative;
overflow: hidden;
}

.lrn-prog .expert-card__img-wrap img {
width: 100%;
aspect-ratio: 5/7;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.4s ease-in-out;
}

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

.lrn-prog .expert-card__caption {
position: absolute;
bottom: 0;
left: 0;
right: 0;
background: rgba(172, 40, 43, 0.9);
color: #fff;
font-size: 13px;
line-height: 1.35;
padding: 16px;
transform: translateY(100%);
transition: transform 0.22s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.lrn-prog .expert-card:hover .expert-card__caption {
transform: translateY(0);
}

.lrn-prog .expert-card__body {
padding: 16px;
}

.lrn-prog .expert-card__name {
font-size: 18px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1a1208;
margin-bottom: 4px;
}

.lrn-prog .expert-card__role {
font-size: 13px;
color: #AC282B;
letter-spacing: 0.02em;
line-height: 1.35;
margin-bottom: 8px;
}

.lrn-prog .expert-card__bio {
font-size: 15px;
line-height: 1.55;
color: #3a3028;
letter-spacing: 0.01em;
}

.lrn-prog .experts__mid-col {
display: flex;
flex-direction: column;
gap: 16px;
padding-top: 64px;
}

.lrn-prog .experts__stat {
background: #fff;
border-radius: 12px;
padding: 16px;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
text-align: center;
}

.lrn-prog .experts__stat-num {
font-size: 32px;
line-height: 1.1;
color: #AC282B;
letter-spacing: 0.01em;
display: block;
}

.lrn-prog .experts__stat-label {
font-size: 13px;
color: #5a5048;
letter-spacing: 0.01em;
line-height: 1.35;
display: block;
margin-top: 4px;
}

.lrn-prog .experts__icon-rect {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border: 2px solid #B8D6DE;
border-radius: 6px;
margin: 0 auto 8px;
}

.lrn-prog .stripe--accent {
width: 100%;
height: 6px;
background: linear-gradient(to left, #E2DAD7, #AC282B);
}

.lrn-prog .outcomes {
background: #fff;
padding-top: 64px;
padding-bottom: 96px;
position: relative;
}

.lrn-prog .outcomes__layout {
display: grid;
grid-template-columns: 3fr 1fr 3fr;
gap: 32px;
align-items: start;
}

.lrn-prog .outcomes__col-left {
display: flex;
flex-direction: column;
gap: 16px;
}

.lrn-prog .outcomes__col-right {
display: flex;
flex-direction: column;
gap: 16px;
}

.lrn-prog .outcomes__col-center {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 64px;
gap: 16px;
}

.lrn-prog .outcomes__divider-line {
width: 2px;
height: 200px;
background: linear-gradient(to bottom, transparent, #B8D6DE, transparent);
}

.lrn-prog .outcomes__badge {
background: #E2DAD7;
border-radius: 36px;
padding: 4px 16px;
font-size: 13px;
color: #AC282B;
letter-spacing: 0.02em;
line-height: 1.35;
text-align: center;
writing-mode: vertical-rl;
transform: rotate(180deg);
}

.lrn-prog .outcomes__h2 {
font-size: 32px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1a1208;
margin-bottom: 16px;
text-decoration: underline;
text-decoration-color: #B8D6DE;
text-decoration-thickness: 2px;
text-underline-offset: 5px;
}

.lrn-prog .outcomes__intro {
font-size: 15px;
line-height: 1.55;
color: #3a3028;
letter-spacing: 0.01em;
margin-bottom: 16px;
}

.lrn-prog .outcome-item {
border-radius: 6px;
padding: 16px;
background: #f5f2f0;
box-shadow: 0 3px 5px 1px rgba(184, 214, 222, 0.07);
transition: background-color 0.4s ease-in-out, box-shadow 0.4s ease-in-out;
position: relative;
}

.lrn-prog .outcome-item:hover {
background: #fff;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.lrn-prog .outcome-item__num {
font-size: 23px;
line-height: 1.1;
color: #AC282B;
letter-spacing: 0.01em;
display: block;
margin-bottom: 4px;
}

.lrn-prog .outcome-item__title {
font-size: 15px;
line-height: 1.35;
color: #1a1208;
letter-spacing: 0.01em;
margin-bottom: 4px;
}

.lrn-prog .outcome-item__desc {
font-size: 13px;
line-height: 1.55;
color: #5a5048;
letter-spacing: 0.01em;
}

.lrn-prog .outcomes__right-head {
font-size: 23px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1a1208;
margin-bottom: 8px;
}

.lrn-prog .outcomes__right-note {
font-size: 15px;
line-height: 1.55;
color: #3a3028;
letter-spacing: 0.01em;
margin-bottom: 16px;
}

.lrn-prog .outcomes__cta-link {
display: inline-block;
font-size: 15px;
letter-spacing: 0.01em;
color: #fff;
background: #AC282B;
border-radius: 6px;
padding: 8px 32px;
text-decoration: none !important;
position: relative;
overflow: hidden;
transition: color 0.22s ease-in-out;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
}

.lrn-prog .outcomes__cta-link::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #7a1a1c;
transition: height 0.22s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0;
}

.lrn-prog .outcomes__cta-link:hover::before {
height: 100%;
}

.lrn-prog .outcomes__cta-link span {
position: relative;
z-index: 1;
}

.lrn-prog .outcomes__cta-link:hover {
color: #fff;
}

.lrn-prog .outcomes__disclaimer {
font-size: 13px;
color: #7a6e68;
line-height: 1.55;
letter-spacing: 0.01em;
margin-top: 8px;
font-style: italic;
}

@media (max-width: 992px) {
.lrn-prog .title-blk__grid {
grid-template-columns: 1fr;
gap: 32px;
}

.lrn-prog .title-blk__img-wrap img {
height: 320px;
}

.lrn-prog .prog-struct__layout {
grid-template-columns: 1fr;
gap: 32px;
}

.lrn-prog .prog-struct__aside {
position: static;
}

.lrn-prog .experts__grid {
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.lrn-prog .experts__mid-col {
flex-direction: row;
padding-top: 0;
grid-column: 1 / -1;
justify-content: center;
}

.lrn-prog .experts__stat {
flex: 1;
}

.lrn-prog .outcomes__layout {
grid-template-columns: 1fr;
gap: 32px;
}

.lrn-prog .outcomes__col-center {
display: none;
}
}

@media (max-width: 576px) {
.lrn-prog .pg-inner {
padding-left: 16px;
padding-right: 16px;
}

.lrn-prog .title-blk__h1 {
font-size: 32px;
}

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

.lrn-prog .title-blk__diamond {
display: none;
}

.lrn-prog .experts__mid-col {
flex-direction: column;
}
}

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

.ctus-pg .pg-bound {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

@keyframes shadowBuild {
from {
box-shadow: 0 0 0 0 rgba(172, 40, 43, 0);
}

to {
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}
}

@keyframes clipExpand {
from {
clip-path: inset(0 50% 0 50%);
}

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

@keyframes clipExpandV {
from {
clip-path: inset(50% 0 50% 0);
}

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

.ctus-pg .opener {
padding-top: 64px;
padding-bottom: 64px;
background: #fff;
position: relative;
}

.ctus-pg .opener::before {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 20% 80%, rgba(184, 214, 222, 0.18) 0%, transparent 60%),
radial-gradient(ellipse at 80% 20%, rgba(226, 218, 215, 0.22) 0%, transparent 55%);
pointer-events: none;
}

.ctus-pg .opener::after {
content: '';
position: absolute;
inset: 0;
box-shadow: inset 0 0 80px rgba(172, 40, 43, 0.04), inset 80px 0 80px rgba(226, 218, 215, 0.12), inset -80px 0 80px rgba(184, 214, 222, 0.08);
pointer-events: none;
}

.ctus-pg .opener-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
position: relative;
z-index: 1;
}

.ctus-pg .opener-text {
padding-right: 32px;
position: relative;
}

.ctus-pg .opener-text::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 3px;
height: 100%;
background: linear-gradient(to bottom, #AC282B, rgba(172, 40, 43, 0.2));
border-radius: 4px;
}

.ctus-pg .label-tag {
display: inline-block;
font-size: 13px;
letter-spacing: 0.02em;
color: #fff;
background: #AC282B;
padding: 4px 16px;
border-radius: 36px;
margin-bottom: 16px;
animation: clipExpand 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.ctus-pg .opener-h {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1b1b;
margin-bottom: 16px;
text-align: center;
position: relative;
animation: clipExpandV 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) 0.08s both;
}

.ctus-pg .opener-h::after {
content: '';
display: block;
width: 48px;
height: 2px;
background: #AC282B;
margin: 12px auto 0;
border-radius: 4px;
}

.ctus-pg .opener-desc {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a3a3a;
margin-top: 16px;
text-align: left;
}

.ctus-pg .quote-mark {
position: absolute;
top: -16px;
left: -32px;
font-size: 160px;
line-height: 1;
color: rgba(184, 214, 222, 0.25);
pointer-events: none;
user-select: none;
z-index: 0;
}

.ctus-pg .info-stack {
display: flex;
flex-direction: column;
gap: 16px;
margin-top: 32px;
position: relative;
z-index: 1;
}

.ctus-pg .info-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
padding: 16px;
background: #fff;
border-radius: 6px;
border-top: 2px solid #E2DAD7;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
animation: shadowBuild 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
transition: box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.25s ease-in-out;
}

.ctus-pg .info-item:hover {
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
border-color: #B8D6DE;
}

.ctus-pg .info-icon {
width: 36px;
height: 36px;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}

.ctus-pg .info-icon svg {
width: 22px;
height: 22px;
stroke: #AC282B;
fill: none;
stroke-width: 1.8;
stroke-linecap: round;
stroke-linejoin: round;
}

.ctus-pg .info-label {
font-size: 13px;
letter-spacing: 0.02em;
color: #888;
margin-bottom: 4px;
display: block;
}

.ctus-pg .info-val {
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
font-weight: 600;
}

.ctus-pg .info-val a {
color: #1b1b1b;
text-decoration: underline;
text-decoration-color: rgba(172, 40, 43, 0.4);
transition: text-decoration-color 0.22s ease-in-out, color 0.22s ease-in-out;
}

.ctus-pg .info-val a:hover {
color: #AC282B;
text-decoration-color: #AC282B;
}

.ctus-pg .bracket-wrap {
position: relative;
padding: 8px 16px;
}

.ctus-pg .bracket-wrap::before,
.ctus-pg .bracket-wrap::after {
content: '';
position: absolute;
width: 12px;
height: 12px;
border-color: rgba(172, 40, 43, 0.35);
border-style: solid;
}

.ctus-pg .bracket-wrap::before {
top: 0;
left: 0;
border-width: 2px 0 0 2px;
border-radius: 4px 0 0 0;
}

.ctus-pg .bracket-wrap::after {
bottom: 0;
right: 0;
border-width: 0 2px 2px 0;
border-radius: 0 0 4px 0;
}

.ctus-pg .form-zone {
padding-top: 64px;
padding-bottom: 96px;
background: linear-gradient(to right, #E2DAD7 0%, #f5f2f0 40%, #fff 100%);
position: relative;
}

.ctus-pg .form-zone::before {
content: '';
position: absolute;
inset: 0;
box-shadow: inset 0 0 120px rgba(172, 40, 43, 0.05), inset 0 60px 60px rgba(184, 214, 222, 0.06);
pointer-events: none;
}

.ctus-pg .form-layout {
display: grid;
grid-template-columns: 5fr 7fr;
gap: 64px;
align-items: start;
position: relative;
z-index: 1;
}

.ctus-pg .form-aside {
position: relative;
}

.ctus-pg .aside-h {
font-size: 32px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1b1b;
margin-bottom: 16px;
text-align: left;
text-decoration: underline;
text-decoration-color: rgba(172, 40, 43, 0.5);
text-underline-offset: 6px;
text-decoration-thickness: 2px;
}

.ctus-pg .aside-note {
font-size: 13px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #555;
margin-bottom: 32px;
}

.ctus-pg .progress-trail {
display: flex;
flex-direction: column;
gap: 0;
position: relative;
}

.ctus-pg .trail-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
position: relative;
}

.ctus-pg .trail-item:not(:last-child) .trail-line {
position: absolute;
left: 11px;
top: 24px;
width: 2px;
height: calc(100% + 8px);
background: linear-gradient(to bottom, #B8D6DE, rgba(184, 214, 222, 0.3));
}

.ctus-pg .trail-dot {
width: 24px;
height: 24px;
border-radius: 36px;
background: #fff;
border: 2px solid #B8D6DE;
flex-shrink: 0;
margin-top: 4px;
position: relative;
z-index: 1;
transition: background 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.ctus-pg .trail-item.active .trail-dot {
background: #AC282B;
border-color: #AC282B;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
}

.ctus-pg .trail-body {
padding-bottom: 32px;
}

.ctus-pg .trail-step {
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
display: block;
margin-bottom: 4px;
}

.ctus-pg .trail-text {
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
font-weight: 600;
}

.ctus-pg .trail-sub {
font-size: 13px;
line-height: 1.55;
color: #666;
margin-top: 4px;
}

.ctus-pg .form-card {
background: #fff;
border-radius: 12px;
padding: 32px;
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
animation: shadowBuild 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) 0.12s both;
position: relative;
}

.ctus-pg .form-card::before,
.ctus-pg .form-card::after {
content: '';
position: absolute;
width: 16px;
height: 16px;
border-color: rgba(172, 40, 43, 0.3);
border-style: solid;
}

.ctus-pg .form-card::before {
top: 12px;
left: 12px;
border-width: 2px 0 0 2px;
border-radius: 4px 0 0 0;
}

.ctus-pg .form-card::after {
bottom: 12px;
right: 12px;
border-width: 0 2px 2px 0;
border-radius: 0 0 4px 0;
}

.ctus-pg .form-row {
margin-bottom: 16px;
}

.ctus-pg .form-row label {
display: block;
font-size: 13px;
letter-spacing: 0.02em;
color: #444;
margin-bottom: 8px;
font-weight: 600;
}

.ctus-pg .f-input {
width: 100%;
padding: 12px 16px;
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
background: #fdfcfb;
border: 1.5px solid #E2DAD7;
border-radius: 6px;
outline: none;
transition: border-color 0.22s ease-in-out, box-shadow 0.22s ease-in-out;
box-sizing: border-box;
}

.ctus-pg .f-input::placeholder {
color: #aaa;
}

.ctus-pg .f-input:focus {
border-color: #B8D6DE;
box-shadow: 0 3px 5px 1px rgba(184, 214, 222, 0.2);
}

.ctus-pg .f-input:invalid:not(:placeholder-shown) {
border-color: #AC282B;
}

.ctus-pg .rating-label-h {
font-size: 13px;
letter-spacing: 0.02em;
color: #444;
font-weight: 600;
margin-bottom: 8px;
display: block;
}

.ctus-pg .rating-group {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap;
}

.ctus-pg .rating-group input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}

.ctus-pg .rating-group label.r-opt {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
width: 52px;
height: 52px;
border: 1.5px solid #E2DAD7;
border-radius: 6px;
font-size: 18px;
line-height: 1.1;
color: #888;
cursor: pointer;
background: #fdfcfb;
transition: border-color 0.22s ease-in-out, background 0.22s ease-in-out, color 0.22s ease-in-out, box-shadow 0.22s ease-in-out;
font-weight: 600;
user-select: none;
position: relative;
overflow: hidden;
}

.ctus-pg .rating-group label.r-opt::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #AC282B;
transition: height 0.22s ease-in-out;
z-index: 0;
}

.ctus-pg .rating-group label.r-opt span {
position: relative;
z-index: 1;
}

.ctus-pg .rating-group label.r-opt:hover {
border-color: #B8D6DE;
color: #1b1b1b;
}

.ctus-pg .rating-group input[type="radio"]:checked+label.r-opt {
border-color: #AC282B;
color: #fff;
}

.ctus-pg .rating-group input[type="radio"]:checked+label.r-opt::before {
height: 100%;
}

.ctus-pg .rating-group input[type="radio"]:checked+label.r-opt span {
color: #fff;
}

.ctus-pg .r-desc {
font-size: 13px;
line-height: 1.35;
color: #999;
margin-top: 4px;
display: block;
}

.ctus-pg .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-top: 16px;
margin-bottom: 16px;
}

.ctus-pg .privacy-row input[type="checkbox"] {
width: 18px;
height: 18px;
flex-shrink: 0;
margin-top: 2px;
accent-color: #AC282B;
cursor: pointer;
}

.ctus-pg .privacy-text {
font-size: 13px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #555;
}

.ctus-pg .privacy-text a {
color: #AC282B;
text-decoration: underline;
text-underline-offset: 3px;
transition: opacity 0.2s ease-in-out;
}

.ctus-pg .privacy-text a:hover {
opacity: 0.75;
}

.ctus-pg .submit-btn {
display: inline-block;
padding: 14px 32px;
font-size: 15px;
letter-spacing: 0.02em;
font-weight: 700;
color: #fff;
background: #AC282B;
border: none;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color 0.28s ease-in-out, box-shadow 0.28s ease-in-out;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
}

.ctus-pg .submit-btn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #7a1a1c;
transition: height 0.28s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0;
}

.ctus-pg .submit-btn span {
position: relative;
z-index: 1;
}

.ctus-pg .submit-btn:hover::before {
height: 100%;
}

.ctus-pg .submit-btn:hover {
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.ctus-pg .submit-btn:focus {
outline: 2px solid #AC282B;
outline-offset: 3px;
}

.ctus-pg .submit-btn:active {
transform: translateY(1px);
}

.ctus-pg .rating-req-note {
font-size: 13px;
color: #AC282B;
margin-top: 4px;
display: none;
}

.ctus-pg .form-card form:invalid .rating-req-note {
display: block;
}

@media (max-width: 992px) {
.ctus-pg .opener-grid {
grid-template-columns: 1fr;
gap: 32px;
}

.ctus-pg .opener-text {
padding-right: 0;
}

.ctus-pg .opener-text::after {
display: none;
}

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

.ctus-pg .opener-h {
font-size: 32px;
}
}

@media (max-width: 576px) {
.ctus-pg .opener {
padding-top: 32px;
padding-bottom: 32px;
}

.ctus-pg .form-zone {
padding-top: 32px;
padding-bottom: 64px;
}

.ctus-pg .pg-bound {
padding-left: 16px;
padding-right: 16px;
}

.ctus-pg .form-card {
padding: 16px;
}

.ctus-pg .opener-h {
font-size: 23px;
}

.ctus-pg .rating-group label.r-opt {
width: 44px;
height: 44px;
font-size: 15px;
}
}

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

.abt-us .au-container {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.abt-us .au-lead {
padding-top: 96px;
padding-bottom: 64px;
background-color: #fff;
position: relative;
}

.abt-us .au-lead::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(to left, #AC282B, #B8D6DE);
}

.abt-us .au-lead::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to left, #E2DAD7, #AC282B);
}

.abt-us .au-lead-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 64px;
align-items: start;
}

.abt-us .au-lead-img-col {
position: relative;
}

.abt-us .au-lead-img-wrap {
position: relative;
width: 100%;
aspect-ratio: 1 / 1;
overflow: hidden;
}

.abt-us .au-lead-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: grayscale(100%) contrast(1.15);
transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-us .au-lead-img-wrap:hover img {
filter: grayscale(0%) contrast(1.05);
}

.abt-us .au-curves {
position: absolute;
top: -32px;
right: -32px;
width: 180px;
height: 180px;
pointer-events: none;
z-index: 0;
}

.abt-us .au-lead-text-col {
padding-top: 32px;
display: flex;
flex-direction: column;
gap: 32px;
}

.abt-us .au-label {
display: inline-block;
font-size: 13px;
letter-spacing: 0.02em;
color: #fff;
background-color: #AC282B;
padding: 4px 16px;
border-radius: 36px;
line-height: 1.55;
align-self: flex-start;
}

.abt-us .au-lead-h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0;
}

.abt-us .au-lead-h1 .au-underline-word {
display: inline;
position: relative;
white-space: nowrap;
}

.abt-us .au-lead-h1 .au-underline-word::after {
content: '';
display: block;
height: 3px;
background: #AC282B;
border-radius: 4px;
margin-top: 4px;
width: 100%;
}

.abt-us .au-lead-desc {
font-size: 18px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a2e2b;
margin: 0;
}

.abt-us .au-stat-row {
display: flex;
flex-direction: row;
gap: 32px;
margin-top: 8px;
}

.abt-us .au-stat {
display: flex;
flex-direction: column;
gap: 4px;
}

.abt-us .au-stat-num {
font-size: 32px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #AC282B;
}

.abt-us .au-stat-note {
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #5a4a44;
}

.abt-us .au-divider {
display: flex;
align-items: center;
justify-content: center;
padding: 32px 0;
background-color: #fff;
}

.abt-us .au-divider-monogram {
width: 48px;
height: 48px;
border-radius: 50%;
background: #E2DAD7;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}

.abt-us .au-divider-monogram::before,
.abt-us .au-divider-monogram::after {
content: '';
position: absolute;
top: 50%;
height: 1px;
background: #E2DAD7;
width: 120px;
}

.abt-us .au-divider-monogram::before {
right: 100%;
margin-right: 8px;
transform: translateY(-50%);
}

.abt-us .au-divider-monogram::after {
left: 100%;
margin-left: 8px;
transform: translateY(-50%);
}

.abt-us .au-divider-monogram svg {
width: 24px;
height: 24px;
}

.abt-us .au-story {
padding-top: 64px;
padding-bottom: 96px;
background: linear-gradient(to left, #E2DAD7 0%, #f5f0ee 100%);
position: relative;
}

.abt-us .au-story::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to left, #AC282B, #B8D6DE);
}

.abt-us .au-story-grid {
display: grid;
grid-template-columns: 220px 1fr;
gap: 64px;
align-items: start;
}

.abt-us .au-side-note {
display: flex;
flex-direction: column;
gap: 32px;
padding-top: 8px;
}

.abt-us .au-side-label {
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #AC282B;
text-transform: uppercase;
}

.abt-us .au-side-img-wrap {
width: 100%;
aspect-ratio: 1 / 1;
overflow: hidden;
border-radius: 4px;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.abt-us .au-side-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-us .au-side-img-wrap:hover img {
transform: scale(1.04);
}

.abt-us .au-trail {
display: flex;
flex-direction: column;
gap: 8px;
padding-top: 8px;
}

.abt-us .au-trail-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
}

.abt-us .au-trail-dot-col {
display: flex;
flex-direction: column;
align-items: center;
flex-shrink: 0;
width: 16px;
}

.abt-us .au-trail-dot {
width: 12px;
height: 12px;
border-radius: 50%;
background: #E2DAD7;
border: 2px solid #AC282B;
flex-shrink: 0;
transition: background-color 0.22s ease-in-out;
}

.abt-us .au-trail-item.active .au-trail-dot {
background: #AC282B;
}

.abt-us .au-trail-line {
width: 2px;
height: 32px;
background: #B8D6DE;
margin-top: 4px;
}

.abt-us .au-trail-text {
padding-bottom: 32px;
}

.abt-us .au-trail-item:last-child .au-trail-text {
padding-bottom: 0;
}

.abt-us .au-trail-h {
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0 0 4px 0;
}

.abt-us .au-trail-p {
font-size: 13px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #5a4a44;
margin: 0;
}

.abt-us .au-story-main {
display: flex;
flex-direction: column;
gap: 32px;
}

.abt-us .au-story-h2 {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0;
text-align: center;
}

.abt-us .au-story-sub {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a2e2b;
text-align: left;
margin: 0;
}

.abt-us .au-story-body {
display: flex;
flex-direction: column;
gap: 16px;
}

.abt-us .au-story-p {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a2e2b;
margin: 0;
}

.abt-us .au-img-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.abt-us .au-img-sq {
width: 100%;
aspect-ratio: 1 / 1;
overflow: hidden;
border-radius: 6px;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
position: relative;
}

.abt-us .au-img-sq img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.abt-us .au-img-sq:hover img {
transform: scale(1.05);
}

.abt-us .au-img-sq .au-overlay {
position: absolute;
inset: 0;
background: rgba(172, 40, 43, 0.72);
opacity: 0;
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.25s ease-in-out;
border-radius: 6px;
}

.abt-us .au-img-sq:hover .au-overlay {
opacity: 1;
}

.abt-us .au-overlay-text {
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #fff;
text-align: center;
padding: 16px;
}

.abt-us .au-divider-2 {
display: flex;
align-items: center;
justify-content: center;
padding: 32px 0;
background: linear-gradient(to left, #E2DAD7, #f5f0ee);
}

.abt-us .au-team {
padding-top: 64px;
padding-bottom: 96px;
background: #fff;
position: relative;
}

.abt-us .au-team::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to left, #B8D6DE, #E2DAD7);
}

.abt-us .au-team::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(to left, #AC282B, #B8D6DE);
}

.abt-us .au-team-top {
text-align: center;
margin-bottom: 64px;
}

.abt-us .au-team-h2 {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0 0 16px 0;
}

.abt-us .au-team-sub {
font-size: 18px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a2e2b;
text-align: left;
max-width: 680px;
margin: 0 auto;
}

.abt-us .au-three-col {
display: grid;
grid-template-columns: 1fr 1.4fr 1fr;
gap: 32px;
align-items: start;
}

.abt-us .au-outer-col {
display: flex;
flex-direction: column;
gap: 16px;
}

.abt-us .au-val-card {
background: #f5f0ee;
border-radius: 12px;
padding: 16px;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
transition: box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
overflow: hidden;
}

.abt-us .au-val-card::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: linear-gradient(to left, #AC282B, #B8D6DE);
opacity: 0.08;
transition: height 0.32s ease-in-out;
border-radius: 0 0 12px 12px;
}

.abt-us .au-val-card:hover::before {
height: 100%;
}

.abt-us .au-val-card:hover {
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
transform: translateY(-2px);
}

.abt-us .au-val-h {
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0 0 8px 0;
padding-bottom: 8px;
border-bottom: 2px solid #B8D6DE;
display: inline-block;
width: 100%;
}

.abt-us .au-val-p {
font-size: 13px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #5a4a44;
margin: 0;
}

.abt-us .au-center-col {
display: flex;
flex-direction: column;
gap: 32px;
}

.abt-us .au-portrait-block {
display: flex;
flex-direction: column;
gap: 16px;
align-items: center;
background: linear-gradient(to left, #B8D6DE 0%, #E2DAD7 100%);
border-radius: 12px;
padding: 32px 16px;
box-shadow: 0 4px 22px 1px rgba(184, 214, 222, 0.11);
}

.abt-us .au-portrait-img {
width: 80px;
height: 106px;
object-fit: cover;
object-position: center;
display: block;
border-radius: 0;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
flex-shrink: 0;
}

.abt-us .au-portrait-name {
font-size: 18px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0;
text-align: center;
}

.abt-us .au-portrait-role {
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #AC282B;
text-align: center;
margin: 0;
}

.abt-us .au-portrait-quote {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a2e2b;
text-align: center;
margin: 0;
font-style: italic;
}

.abt-us .au-metrics-block {
display: flex;
flex-direction: column;
gap: 8px;
}

.abt-us .au-metric-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 8px 0;
border-bottom: 1px solid #E2DAD7;
}

.abt-us .au-metric-row:last-child {
border-bottom: none;
}

.abt-us .au-metric-num {
font-size: 23px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #AC282B;
min-width: 56px;
flex-shrink: 0;
}

.abt-us .au-metric-desc {
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #5a4a44;
}

.abt-us .au-cta-strip {
margin-top: 64px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 32px;
background: #f5f0ee;
border-radius: 12px;
padding: 32px;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
}

.abt-us .au-cta-text {
flex: 1;
}

.abt-us .au-cta-h {
font-size: 23px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0 0 8px 0;
}

.abt-us .au-cta-p {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3a2e2b;
margin: 0;
}

.abt-us .au-btn {
display: inline-block;
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #fff;
background-color: #AC282B;
border: none;
border-radius: 4px;
padding: 16px 32px;
text-decoration: none;
cursor: pointer;
position: relative;
overflow: hidden;
flex-shrink: 0;
transition: color 0.22s ease-in-out;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.abt-us .au-btn::before {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 0;
background: #7d1c1e;
transition: height 0.28s cubic-bezier(0.34, 1.2, 0.64, 1);
z-index: 0;
}

.abt-us .au-btn:hover::before {
height: 100%;
}

.abt-us .au-btn span {
position: relative;
z-index: 1;
}

.abt-us .au-btn:focus {
outline: 3px solid #B8D6DE;
outline-offset: 2px;
}

@media (max-width: 992px) {
.abt-us .au-lead-grid {
grid-template-columns: 1fr;
gap: 32px;
}

.abt-us .au-lead-h1 {
font-size: 45px;
}

.abt-us .au-story-grid {
grid-template-columns: 1fr;
gap: 32px;
}

.abt-us .au-side-note {
flex-direction: row;
flex-wrap: wrap;
gap: 16px;
}

.abt-us .au-side-img-wrap {
width: 120px;
flex-shrink: 0;
}

.abt-us .au-three-col {
grid-template-columns: 1fr 1fr;
gap: 16px;
}

.abt-us .au-center-col {
grid-column: 1 / -1;
order: -1;
}

.abt-us .au-cta-strip {
flex-direction: column;
align-items: flex-start;
}
}

@media (max-width: 576px) {
.abt-us .au-lead {
padding-top: 64px;
padding-bottom: 32px;
}

.abt-us .au-lead-h1 {
font-size: 32px;
}

.abt-us .au-stat-row {
flex-direction: column;
gap: 16px;
}

.abt-us .au-story-h2 {
font-size: 32px;
}

.abt-us .au-team-h2 {
font-size: 32px;
}

.abt-us .au-three-col {
grid-template-columns: 1fr;
}

.abt-us .au-img-pair {
grid-template-columns: 1fr;
}

.abt-us .au-container {
padding-left: 16px;
padding-right: 16px;
}

.abt-us .au-cta-strip {
padding: 16px;
}
}

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

.srv-pg .pg-bound {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.srv-pg .label-tag {
display: inline-block;
font-size: 13px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #AC282B;
background: rgba(172, 40, 43, 0.08);
padding: 4px 16px;
border-radius: 4px;
margin-bottom: 16px;
}

.srv-pg .dbl-rule {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 32px;
}

.srv-pg .dbl-rule span {
display: block;
height: 1px;
background: #AC282B;
opacity: 0.35;
}

.srv-pg .dbl-rule span:last-child {
opacity: 0.12;
}

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

.srv-pg .split-title__left {
background: #1b1010;
padding: 64px 48px 64px 64px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
overflow: hidden;
}

.srv-pg .split-title__left::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 2px;
height: 100%;
background: linear-gradient(to bottom, transparent, #AC282B 40%, rgba(172, 40, 43, 0.3) 100%);
}

.srv-pg .split-title__deco {
position: absolute;
bottom: 32px;
left: 32px;
width: 120px;
height: 120px;
border-radius: 50%;
background: rgba(172, 40, 43, 0.08);
pointer-events: none;
}

.srv-pg .split-title__deco-ring {
position: absolute;
top: 32px;
right: 48px;
width: 64px;
height: 64px;
border: 1px solid rgba(172, 40, 43, 0.18);
border-radius: 50%;
pointer-events: none;
}

.srv-pg .split-h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #f5f0ee;
margin: 0 0 16px 0;
}

.srv-pg .split-h1 .punct {
color: #AC282B;
}

.srv-pg .split-sub {
font-size: 18px;
line-height: 1.55;
color: #c8bfbb;
letter-spacing: 0.01em;
max-width: 380px;
margin: 0;
}

.srv-pg .split-title__right {
position: relative;
background: #E2DAD7;
display: flex;
align-items: flex-end;
padding: 64px 48px;
}

.srv-pg .split-img-clip {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}

.srv-pg .split-img-clip img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0% 100%);
display: block;
}

.srv-pg .split-img-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to right, rgba(226, 218, 215, 0.6) 15%, rgba(226, 218, 215, 0.15) 60%);
clip-path: polygon(15% 0%, 100% 0%, 100% 100%, 0% 100%);
}

.srv-pg .split-caption {
position: relative;
z-index: 1;
background: rgba(27, 16, 16, 0.82);
padding: 16px 32px;
border-radius: 6px;
max-width: 280px;
}

.srv-pg .split-caption p {
font-size: 15px;
line-height: 1.55;
color: #f5f0ee;
margin: 0;
letter-spacing: 0.01em;
}

.srv-pg .offerings {
background: #fff;
padding: 96px 0;
}

.srv-pg .offerings-head {
display: grid;
grid-template-columns: 220px 1fr;
gap: 64px;
margin-bottom: 64px;
}

.srv-pg .offerings-aside {
padding-top: 8px;
}

.srv-pg .offerings-aside .aside-note {
font-size: 13px;
line-height: 1.55;
color: #5a4f4b;
letter-spacing: 0.01em;
}

.srv-pg .offerings-main-h {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1010;
margin: 0 0 16px 0;
text-align: center;
text-decoration: underline;
text-decoration-color: rgba(172, 40, 43, 0.35);
text-underline-offset: 6px;
}

.srv-pg .offerings-main-sub {
font-size: 15px;
line-height: 1.55;
color: #4a3f3b;
letter-spacing: 0.01em;
text-align: left;
margin: 0;
}

.srv-pg .srv-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}

.srv-pg .srv-item {
border-top: 2px solid #E2DAD7;
padding-top: 32px;
position: relative;
transition: border-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.srv-pg .srv-item::after {
content: "";
display: block;
height: 1px;
background: rgba(172, 40, 43, 0.15);
margin-top: 32px;
}

.srv-pg .srv-item:hover {
border-color: #AC282B;
}

.srv-pg .srv-item__num {
font-size: 13px;
letter-spacing: 0.12em;
color: #AC282B;
font-weight: 700;
margin-bottom: 8px;
display: block;
}

.srv-pg .srv-item__name {
font-size: 23px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1010;
margin: 0 0 16px 0;
}

.srv-pg .srv-item__desc {
font-size: 15px;
line-height: 1.55;
color: #4a3f3b;
letter-spacing: 0.01em;
margin: 0 0 16px 0;
}

.srv-pg .srv-item__tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
}

.srv-pg .srv-item__tags .tag {
font-size: 13px;
letter-spacing: 0.02em;
color: #1b1010;
background: #E2DAD7;
padding: 4px 8px;
border-radius: 4px;
font-weight: 500;
transition: background 0.25s ease-in-out, color 0.25s ease-in-out;
}

.srv-pg .srv-item:hover .tag {
background: rgba(172, 40, 43, 0.1);
color: #AC282B;
}

.srv-pg .process-band {
background: #B8D6DE;
padding: 96px 0 64px;
position: relative;
}

.srv-pg .process-band__bg-img {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 0;
}

.srv-pg .process-band__bg-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
}

.srv-pg .process-band__overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to left, rgba(184, 214, 222, 0.92), rgba(184, 214, 222, 0.97));
z-index: 1;
}

.srv-pg .process-rel {
position: relative;
z-index: 2;
}

.srv-pg .process-top {
display: grid;
grid-template-columns: 1fr 340px;
gap: 64px;
align-items: start;
margin-bottom: 64px;
}

.srv-pg .process-h {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1010;
margin: 0 0 16px 0;
text-align: center;
text-decoration: underline;
text-decoration-color: rgba(172, 40, 43, 0.4);
text-underline-offset: 6px;
}

.srv-pg .process-body {
font-size: 15px;
line-height: 1.55;
color: #1b2a2e;
letter-spacing: 0.01em;
text-align: left;
margin: 0;
}

.srv-pg .donut-wrap {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px;
}

.srv-pg .donut-wrap svg {
filter: drop-shadow(0 4px 22px rgba(172, 40, 43, 0.11));
}

.srv-pg .donut-legend {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
}

.srv-pg .donut-legend .leg-row {
display: flex;
align-items: center;
gap: 8px;
font-size: 13px;
color: #1b2a2e;
letter-spacing: 0.01em;
}

.srv-pg .donut-legend .leg-dot {
width: 10px;
height: 10px;
border-radius: 50%;
flex-shrink: 0;
}

.srv-pg .steps-trail {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 32px;
position: relative;
}

.srv-pg .steps-trail::before {
content: "";
position: absolute;
top: 14px;
left: 24px;
right: 24px;
height: 1px;
background: rgba(27, 16, 16, 0.2);
z-index: 0;
}

.srv-pg .step {
display: flex;
flex-direction: column;
align-items: flex-start;
position: relative;
z-index: 1;
}

.srv-pg .step__dot {
width: 28px;
height: 28px;
border-radius: 50%;
background: #fff;
border: 2px solid #B8D6DE;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 16px;
transition: background 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
}

.srv-pg .step:first-child .step__dot,
.srv-pg .step.active .step__dot {
background: #AC282B;
border-color: #AC282B !important;
}

.srv-pg .step__dot-inner {
width: 8px;
height: 8px;
border-radius: 50%;
background: #fff;
}

.srv-pg .step:first-child .step__dot-inner,
.srv-pg .step.active .step__dot-inner {
background: #fff;
}

.srv-pg .step:hover .step__dot {
background: #AC282B;
border-color: #AC282B;
}

.srv-pg .step__label {
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #AC282B;
margin-bottom: 8px;
}

.srv-pg .step__name {
font-size: 18px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1010;
margin: 0 0 8px 0;
}

.srv-pg .step__detail {
font-size: 13px;
line-height: 1.55;
color: #1b2a2e;
letter-spacing: 0.01em;
margin: 0;
}

.srv-pg .frame-lines {
position: absolute;
top: 32px;
right: 32px;
pointer-events: none;
z-index: 0;
}

.srv-pg .frame-lines::before,
.srv-pg .frame-lines::after {
content: "";
position: absolute;
border: 1px solid rgba(172, 40, 43, 0.12);
border-radius: 4px;
}

.srv-pg .frame-lines::before {
width: 80px;
height: 80px;
top: 0;
right: 0;
}

.srv-pg .frame-lines::after {
width: 60px;
height: 60px;
top: 10px;
right: 10px;
}

.srv-pg .process-expert {
margin-top: 64px;
display: grid;
grid-template-columns: 180px 1fr;
gap: 32px;
align-items: center;
background: rgba(255, 255, 255, 0.6);
border-radius: 12px;
padding: 32px;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.srv-pg .expert-portrait {
width: 180px;
height: 180px;
overflow: hidden;
flex-shrink: 0;
}

.srv-pg .expert-portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.srv-pg .expert-info {
display: flex;
flex-direction: column;
gap: 8px;
}

.srv-pg .expert-name {
font-size: 23px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1010;
margin: 0;
}

.srv-pg .expert-role {
font-size: 13px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #AC282B;
font-weight: 600;
}

.srv-pg .expert-bio {
font-size: 15px;
line-height: 1.55;
color: #1b2a2e;
letter-spacing: 0.01em;
margin: 0;
}

@keyframes blurIn {
from {
filter: blur(8px);
opacity: 0;
}

to {
filter: blur(0);
opacity: 1;
}
}

.srv-pg .split-h1 {
animation: blurIn 0.4s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@media (max-width: 992px) {
.srv-pg .split-title {
grid-template-columns: 1fr;
}

.srv-pg .split-title__left {
padding: 64px 32px;
}

.srv-pg .split-h1 {
font-size: 45px;
}

.srv-pg .split-title__right {
min-height: 320px;
}

.srv-pg .offerings-head {
grid-template-columns: 1fr;
gap: 16px;
}

.srv-pg .srv-list {
grid-template-columns: 1fr;
}

.srv-pg .process-top {
grid-template-columns: 1fr;
gap: 32px;
}

.srv-pg .steps-trail {
grid-template-columns: 1fr 1fr;
}

.srv-pg .steps-trail::before {
display: none;
}

.srv-pg .process-expert {
grid-template-columns: 1fr;
}

.srv-pg .expert-portrait {
width: 140px;
height: 140px;
}
}

@media (max-width: 576px) {
.srv-pg .split-title__left {
padding: 64px 16px;
}

.srv-pg .split-h1 {
font-size: 32px;
}

.srv-pg .split-sub {
font-size: 15px;
}

.srv-pg .offerings {
padding: 64px 0;
}

.srv-pg .steps-trail {
grid-template-columns: 1fr;
}

.srv-pg .process-band {
padding: 64px 0 64px;
}

.srv-pg .pg-bound {
padding-left: 16px;
padding-right: 16px;
}

.srv-pg .offerings-main-h,
.srv-pg .process-h {
font-size: 32px;
}
}

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

.ss-pg .bound {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.ss-pg .strip-img {
width: 100%;
height: 220px;
overflow: hidden;
position: relative;
}

.ss-pg .strip-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center 40%;
filter: saturate(0.7) sepia(0.25) contrast(1.1);
display: block;
}

.ss-pg .strip-img::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, rgba(172, 40, 43, 0.38), rgba(184, 214, 222, 0.18));
pointer-events: none;
}

.ss-pg .strip-deco {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(to left, #AC282B, #B8D6DE);
pointer-events: none;
}

.ss-pg .title-zone {
background: #fff;
padding-top: 64px;
padding-bottom: 64px;
}

.ss-pg .title-zone h1 {
font-size: 62px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1b1b1b;
text-align: center;
margin: 0 0 16px;
}

.ss-pg .title-zone h1 em {
font-style: normal;
text-decoration: underline;
text-decoration-color: #AC282B;
text-underline-offset: 6px;
}

.ss-pg .title-zone .sub-note {
font-size: 18px;
line-height: 1.55;
color: #3a3a3a;
text-align: left;
max-width: 640px;
margin: 0 auto 0 0;
}

.ss-pg .title-zone .tag-pill {
display: inline-block;
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.02em;
background: #E2DAD7;
color: #3a3a3a;
padding: 4px 16px;
border-radius: 36px;
margin-bottom: 16px;
}

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

.ss-pg .divider-shape span {
display: block;
width: 40px;
height: 2px;
background: #AC282B;
border-radius: 4px;
}

.ss-pg .divider-shape i {
display: block;
width: 8px;
height: 8px;
background: #AC282B;
transform: rotate(45deg);
border-radius: 4px;
}

.ss-pg .stories-band {
background: #E2DAD7;
padding-top: 96px;
padding-bottom: 96px;
position: relative;
}

.ss-pg .stories-band::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 50%;
background: #E2DAD7;
pointer-events: none;
z-index: 0;
}

.ss-pg .stories-band::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 50%;
background: #f5f2f0;
pointer-events: none;
z-index: 0;
}

.ss-pg .stories-band .bound {
position: relative;
z-index: 1;
}

.ss-pg .stories-band .sec-label {
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
text-transform: uppercase;
margin-bottom: 8px;
display: block;
}

.ss-pg .stories-band h2 {
font-size: 32px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
margin: 0 0 32px;
text-decoration: underline;
text-decoration-color: #B8D6DE;
text-underline-offset: 5px;
}

.ss-pg .stories-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
}

.ss-pg .story-card {
background: #fff;
border-radius: 12px;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
padding: 32px;
position: relative;
overflow: hidden;
transition: box-shadow 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.ss-pg .story-card:hover {
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
transform: translateY(-4px);
}

.ss-pg .story-card .notch {
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: linear-gradient(to bottom, #AC282B, #B8D6DE);
border-radius: 12px 0 0 12px;
}

.ss-pg .story-card .corner-cut {
position: absolute;
bottom: 0;
right: 0;
width: 24px;
height: 24px;
background: #E2DAD7;
clip-path: polygon(100% 0, 100% 100%, 0 100%);
transition: width 0.25s ease-in-out, height 0.25s ease-in-out;
pointer-events: none;
}

.ss-pg .story-card:hover .corner-cut {
width: 40px;
height: 40px;
}

.ss-pg .story-card .person-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 16px;
margin-bottom: 16px;
}

.ss-pg .story-card .portrait-wrap {
width: 72px;
height: 100px;
flex-shrink: 0;
overflow: hidden;
}

.ss-pg .story-card .portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
}

.ss-pg .story-card .no-portrait {
width: 72px;
height: 72px;
flex-shrink: 0;
background: #B8D6DE;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
}

.ss-pg .story-card .no-portrait svg {
width: 36px;
height: 36px;
fill: #3a3a3a;
}

.ss-pg .story-card .person-meta {
display: flex;
flex-direction: column;
gap: 4px;
padding-top: 8px;
}

.ss-pg .story-card .person-name {
font-size: 18px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
font-weight: 700;
margin: 0;
}

.ss-pg .story-card .person-tag {
font-size: 13px;
line-height: 1.35;
color: #fff;
background: #AC282B;
display: inline-block;
padding: 4px 8px;
border-radius: 4px;
letter-spacing: 0.01em;
}

.ss-pg .story-card .quote-text {
font-size: 15px;
line-height: 1.55;
color: #2c2c2c;
letter-spacing: 0.01em;
margin: 0 0 16px;
padding-left: 16px;
border-top: 2px solid #E2DAD7;
padding-top: 16px;
}

.ss-pg .story-card .outcome-dots {
display: flex;
flex-direction: column;
gap: 8px;
}

.ss-pg .story-card .dot-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
}

.ss-pg .story-card .dot-circle {
width: 10px;
height: 10px;
border-radius: 36px;
background: #AC282B;
flex-shrink: 0;
position: relative;
}

.ss-pg .story-card .dot-circle::after {
content: "";
position: absolute;
top: 10px;
left: 4px;
width: 2px;
height: 18px;
background: #B8D6DE;
}

.ss-pg .story-card .dot-item:last-child .dot-circle::after {
display: none;
}

.ss-pg .story-card .dot-label {
font-size: 13px;
line-height: 1.35;
color: #3a3a3a;
letter-spacing: 0.01em;
}

.ss-pg .featured-band {
background: #fff;
padding-top: 96px;
padding-bottom: 96px;
}

.ss-pg .featured-band .sec-label {
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
text-transform: uppercase;
margin-bottom: 8px;
display: block;
}

.ss-pg .featured-band h2 {
font-size: 32px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1b1b;
margin: 0 0 32px;
text-decoration: underline;
text-decoration-color: #AC282B;
text-underline-offset: 5px;
}

.ss-pg .featured-cols {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 32px;
align-items: start;
}

.ss-pg .feat-accent {
display: flex;
flex-direction: column;
gap: 16px;
}

.ss-pg .feat-accent .accent-stat {
background: #E2DAD7;
border-radius: 12px;
padding: 16px;
box-shadow: 0 3px 5px 1px rgba(184, 214, 222, 0.07);
}

.ss-pg .feat-accent .stat-num {
font-size: 45px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #AC282B;
font-weight: 700;
display: block;
}

.ss-pg .feat-accent .stat-desc {
font-size: 13px;
line-height: 1.35;
color: #3a3a3a;
letter-spacing: 0.01em;
}

.ss-pg .feat-story {
display: flex;
flex-direction: column;
gap: 16px;
}

.ss-pg .feat-story .img-wrap {
width: 100%;
height: 260px;
overflow: hidden;
border-radius: 6px;
position: relative;
}

.ss-pg .feat-story .img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
animation: img-wipe 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

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

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

.ss-pg .feat-story .img-wrap::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(to right, rgba(172, 40, 43, 0.15), transparent);
pointer-events: none;
border-radius: 6px;
}

.ss-pg .feat-story .story-body {
font-size: 15px;
line-height: 1.55;
color: #2c2c2c;
letter-spacing: 0.01em;
margin: 0;
}

.ss-pg .feat-story .side-note-row {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
}

.ss-pg .feat-story .side-note {
flex: 0 0 120px;
font-size: 13px;
line-height: 1.55;
color: #AC282B;
letter-spacing: 0.01em;
border-top: 2px solid #AC282B;
padding-top: 8px;
}

.ss-pg .feat-story .main-note {
flex: 1;
font-size: 15px;
line-height: 1.55;
color: #2c2c2c;
letter-spacing: 0.01em;
}

.ss-pg .feat-aside {
display: flex;
flex-direction: column;
gap: 16px;
}

.ss-pg .feat-aside .aside-card {
background: #B8D6DE;
border-radius: 12px;
padding: 16px;
box-shadow: 0 3px 5px 1px rgba(184, 214, 222, 0.07);
}

.ss-pg .feat-aside .aside-card h5 {
font-size: 15px;
line-height: 1.35;
color: #1b1b1b;
margin: 0 0 8px;
letter-spacing: 0.01em;
font-weight: 700;
}

.ss-pg .feat-aside .aside-card p {
font-size: 13px;
line-height: 1.55;
color: #2c2c2c;
margin: 0;
letter-spacing: 0.01em;
}

.ss-pg .feat-aside .wavy-line {
width: 100%;
height: 16px;
overflow: hidden;
}

.ss-pg .feat-aside .wavy-line svg {
width: 100%;
height: 16px;
}

.ss-pg .bottom-divider {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
padding-top: 64px;
}

.ss-pg .bottom-divider span {
display: block;
width: 32px;
height: 2px;
background: #B8D6DE;
border-radius: 4px;
}

.ss-pg .bottom-divider i {
display: block;
width: 8px;
height: 8px;
background: #B8D6DE;
transform: rotate(45deg);
border-radius: 4px;
}

@media (max-width: 992px) {
.ss-pg .title-zone h1 {
font-size: 45px;
}

.ss-pg .stories-grid {
grid-template-columns: 1fr;
}

.ss-pg .featured-cols {
grid-template-columns: 1fr 1fr;
}

.ss-pg .feat-accent {
grid-column: 1;
}

.ss-pg .feat-story {
grid-column: 2;
}

.ss-pg .feat-aside {
grid-column: 1 / -1;
flex-direction: row;
flex-wrap: wrap;
}

.ss-pg .feat-aside .aside-card {
flex: 1 1 200px;
}
}

@media (max-width: 576px) {
.ss-pg .bound {
padding-left: 16px;
padding-right: 16px;
}

.ss-pg .title-zone h1 {
font-size: 32px;
}

.ss-pg .title-zone {
padding-top: 32px;
padding-bottom: 32px;
}

.ss-pg .strip-img {
height: 140px;
}

.ss-pg .stories-band {
padding-top: 64px;
padding-bottom: 64px;
}

.ss-pg .featured-band {
padding-top: 64px;
padding-bottom: 64px;
}

.ss-pg .featured-cols {
grid-template-columns: 1fr;
}

.ss-pg .feat-accent {
flex-direction: row;
flex-wrap: wrap;
}

.ss-pg .feat-accent .accent-stat {
flex: 1 1 120px;
}

.ss-pg .feat-aside {
flex-direction: column;
}
.ss-pg .feat-story {
    grid-column: 1;
}

.ss-pg .feat-story .side-note-row {
flex-direction: column;
gap: 8px;
}

.ss-pg .feat-accent .stat-num {
font-size: 32px;
}
}

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

.bs .pg-wrap {
max-width: 1140px;
margin-left: auto;
margin-right: auto;
padding-left: 32px;
padding-right: 32px;
}

.bs .band-div {
height: 48px;
background: linear-gradient(to bottom, #E2DAD7 0%, transparent 100%);
opacity: 0.5;
}

.bs .band-div-rev {
height: 48px;
background: linear-gradient(to top, #E2DAD7 0%, transparent 100%);
opacity: 0.5;
}

.bs .title-blk {
background-color: #f5f2f0;
padding-top: 64px;
padding-bottom: 0;
position: relative;
}

.bs .title-blk::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url("./image_archive/new-260314-bottom.jpg");
background-size: cover;
background-position: center;
opacity: 0.04;
pointer-events: none;
}

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

.bs .bento-txt {
grid-column: 1;
grid-row: 1 / 3;
padding: 64px 32px 32px 0;
display: flex;
flex-direction: column;
justify-content: flex-end;
gap: 16px;
position: relative;
}

.bs .bento-img {
grid-column: 2;
grid-row: 1 / 3;
position: relative;
border-radius: 12px 12px 0 0;
overflow: hidden;
min-height: 480px;
}

.bs .bento-img img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center top;
display: block;
transition: filter 0.35s ease-in-out;
}

.bs .bento-img::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 55%;
background: linear-gradient(to top, rgba(172, 40, 43, 0.18) 0%, transparent 100%);
pointer-events: none;
}

.bs .bento-img .shape-circ {
position: absolute;
top: 24px;
right: 24px;
width: 64px;
height: 64px;
border-radius: 50%;
border: 2px solid rgba(184, 214, 222, 0.5);
pointer-events: none;
}

.bs .bento-img .shape-circ::before {
content: '';
position: absolute;
top: 8px;
left: 8px;
right: 8px;
bottom: 8px;
border-radius: 50%;
border: 1px solid rgba(184, 214, 222, 0.35);
}

.bs .eyebrow {
display: inline-block;
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
background: rgba(172, 40, 43, 0.08);
padding: 4px 8px;
border-radius: 4px;
line-height: 1.35;
}

.bs .h1-main {
font-size: 62px;
line-height: 1.1;
letter-spacing: 0.01em;
color: #1e1a18;
margin: 0;
}

.bs .h1-main .punct {
color: #AC282B;
}

.bs .sub-line {
font-size: 18px;
line-height: 1.55;
color: #3a3330;
letter-spacing: 0.01em;
margin: 0;
max-width: 420px;
}

.bs .bento-meta {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
margin-top: 8px;
}

.bs .meta-item {
font-size: 13px;
color: #6a5f5a;
letter-spacing: 0.02em;
line-height: 1.35;
border-bottom: 1px solid #B8D6DE;
padding-bottom: 4px;
}

.bs .abs-shape {
position: absolute;
bottom: 32px;
left: -16px;
width: 48px;
height: 48px;
border-radius: 12px;
background: rgba(184, 214, 222, 0.22);
pointer-events: none;
transform: rotate(18deg);
}

.bs .team-blk {
background: #fff;
padding-top: 64px;
padding-bottom: 64px;
position: relative;
}

.bs .team-blk::after {
content: '';
position: absolute;
bottom: -1px;
left: 0;
right: 0;
height: 2px;
background: linear-gradient(to right, #AC282B, #B8D6DE, transparent);
opacity: 0.3;
}

.bs .team-layout {
display: grid;
grid-template-columns: 280px 1fr;
gap: 64px;
align-items: start;
}

.bs .team-sidebar {
background: #E2DAD7;
border-radius: 12px;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
}

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

.bs .portrait-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.92);
transition: filter 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.bs .portrait-wrap img:hover {
filter: brightness(1.05);
}

.bs .person-name {
font-size: 18px;
line-height: 1.35;
color: #1e1a18;
letter-spacing: 0.01em;
margin: 0;
}

.bs .person-role {
font-size: 13px;
color: #5a4f4a;
letter-spacing: 0.02em;
line-height: 1.35;
}

.bs .tag-badge {
display: inline-block;
font-size: 13px;
color: #AC282B;
background: rgba(172, 40, 43, 0.07);
border-radius: 4px;
padding: 4px 8px;
letter-spacing: 0.01em;
line-height: 1.35;
}

.bs .sidebar-tags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
}

.bs .team-main {
display: flex;
flex-direction: column;
gap: 32px;
}

.bs .sec-label {
font-size: 13px;
letter-spacing: 0.02em;
color: #AC282B;
text-transform: uppercase;
line-height: 1.35;
}

.bs .h2-team {
font-size: 32px;
line-height: 1.35;
color: #1e1a18;
letter-spacing: 0.01em;
margin: 0;
text-decoration: underline;
text-decoration-color: #B8D6DE;
text-underline-offset: 6px;
}

.bs .body-note {
display: grid;
grid-template-columns: 120px 1fr;
gap: 16px;
align-items: start;
}

.bs .note-aside {
font-size: 13px;
color: #8a7d78;
line-height: 1.55;
letter-spacing: 0.01em;
border-right: 1px solid #E2DAD7;
padding-right: 16px;
}

.bs .note-body {
font-size: 15px;
line-height: 1.55;
color: #2e2a28;
letter-spacing: 0.01em;
}

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

.bs .qual-list li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 15px;
line-height: 1.55;
color: #2e2a28;
letter-spacing: 0.01em;
}

.bs .dot-trail {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 6px;
flex-shrink: 0;
}

.bs .dot-trail .dot {
width: 8px;
height: 8px;
border-radius: 50%;
background: #AC282B;
flex-shrink: 0;
}

.bs .dot-trail .line {
width: 1px;
height: 24px;
background: linear-gradient(to bottom, #AC282B, #B8D6DE);
margin-top: 2px;
}

.bs .example-blk {
background: #E2DAD7;
padding-top: 64px;
padding-bottom: 64px;
position: relative;
}

.bs .example-blk::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url("./image_archive/20-nav.jpg");
background-size: cover;
background-position: center;
opacity: 0.04;
pointer-events: none;
}

.bs .example-layout {
display: grid;
grid-template-columns: 1fr 360px;
gap: 32px;
align-items: start;
}

.bs .example-main {
display: flex;
flex-direction: column;
gap: 16px;
}

.bs .h2-example {
font-size: 45px;
line-height: 1.1;
color: #1e1a18;
letter-spacing: 0.01em;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #AC282B;
text-underline-offset: 8px;
}

.bs .example-body {
font-size: 15px;
line-height: 1.55;
color: #2e2a28;
letter-spacing: 0.01em;
}

.bs .pyramid-wrap {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
padding-top: 16px;
}

.bs .pyr-layer {
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
font-size: 13px;
letter-spacing: 0.01em;
line-height: 1.35;
color: #1e1a18;
transition: box-shadow 0.25s ease-in-out, transform 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
cursor: default;
padding: 8px 16px;
text-align: center;
}

.bs .pyr-layer:hover {
transform: scaleX(1.03);
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.bs .pyr-1 {
width: 80px;
background: rgba(172, 40, 43, 0.85);
color: #fff;
}

.bs .pyr-2 {
width: 140px;
background: rgba(172, 40, 43, 0.6);
color: #fff;
}

.bs .pyr-3 {
width: 200px;
background: rgba(172, 40, 43, 0.4);
color: #1e1a18;
}

.bs .pyr-4 {
width: 270px;
background: rgba(172, 40, 43, 0.2);
color: #1e1a18;
}

.bs .pyr-5 {
width: 340px;
background: rgba(172, 40, 43, 0.1);
color: #1e1a18;
}

.bs .pyr-label {
font-size: 13px;
color: #6a5f5a;
text-align: center;
letter-spacing: 0.02em;
margin-top: 8px;
line-height: 1.35;
}

.bs .example-img-wrap {
border-radius: 12px;
overflow: hidden;
margin-top: 32px;
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
}

.bs .example-img-wrap img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.9);
transition: filter 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.bs .example-img-wrap img:hover {
filter: brightness(1.05);
}

.bs .pattern-blk {
background: #fff;
padding-top: 64px;
padding-bottom: 64px;
}

.bs .pattern-layout {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 16px;
margin-top: 32px;
}

.bs .h2-pattern {
font-size: 32px;
line-height: 1.35;
color: #1e1a18;
letter-spacing: 0.01em;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #B8D6DE;
text-underline-offset: 6px;
}

.bs .pat-sub {
font-size: 15px;
line-height: 1.55;
color: #5a4f4a;
letter-spacing: 0.01em;
text-align: left;
max-width: 520px;
margin-top: 8px;
}

.bs .pattern-card {
border-radius: 12px;
padding: 32px 24px;
background: #f5f2f0;
display: flex;
flex-direction: column;
gap: 8px;
box-shadow: 0 3px 5px 1px rgba(184, 214, 222, 0.07);
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.bs .pattern-card:hover {
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
transform: translateY(-3px);
}

.bs .card-quote {
font-size: 15px;
line-height: 1.55;
color: #2e2a28;
letter-spacing: 0.01em;
font-style: italic;
}

.bs .card-attr {
font-size: 13px;
color: #8a7d78;
letter-spacing: 0.02em;
line-height: 1.35;
margin-top: 8px;
}

.bs .card-accent {
width: 32px;
height: 3px;
background: #AC282B;
border-radius: 4px;
margin-bottom: 8px;
}

.bs .after-blk {
background: #1e1a18;
padding-top: 64px;
padding-bottom: 64px;
position: relative;
}

.bs .after-blk::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: url("./image_archive/test-18-v.jpg");
background-size: cover;
background-position: center;
opacity: 0.08;
pointer-events: none;
}

.bs .grid-anim {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
overflow: hidden;
}

.bs .grid-anim::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
linear-gradient(rgba(184, 214, 222, 0.04) 1px, transparent 1px),
linear-gradient(90deg, rgba(184, 214, 222, 0.04) 1px, transparent 1px);
background-size: 64px 64px;
animation: grid-pulse 4s ease-in-out infinite alternate;
}

@keyframes grid-pulse {
0% {
opacity: 0.4;
}

100% {
opacity: 1;
}
}

.bs .after-layout {
display: grid;
grid-template-columns: 380px 1fr;
gap: 64px;
align-items: start;
position: relative;
}

.bs .h2-after {
font-size: 45px;
line-height: 1.1;
color: #fff;
letter-spacing: 0.01em;
margin: 0;
text-decoration: underline;
text-decoration-color: #AC282B;
text-underline-offset: 8px;
}

.bs .after-sub {
font-size: 15px;
line-height: 1.55;
color: #b8b0aa;
letter-spacing: 0.01em;
margin-top: 16px;
}

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

.bs .outcome-item {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
padding: 16px;
border-radius: 6px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(184, 214, 222, 0.1);
transition: background 0.28s ease-in-out, border-color 0.28s ease-in-out;
}

.bs .outcome-item:hover {
background: rgba(184, 214, 222, 0.08);
border-color: rgba(184, 214, 222, 0.25);
}

.bs .oi-num {
font-size: 23px;
line-height: 1.1;
color: #AC282B;
letter-spacing: 0.01em;
flex-shrink: 0;
min-width: 32px;
}

.bs .oi-txt {
display: flex;
flex-direction: column;
gap: 4px;
}

.bs .oi-head {
font-size: 15px;
line-height: 1.35;
color: #f0ede9;
letter-spacing: 0.01em;
}

.bs .oi-body {
font-size: 13px;
line-height: 1.55;
color: #9a928c;
letter-spacing: 0.01em;
}

.bs .scale-blk {
background: #f5f2f0;
padding-top: 64px;
padding-bottom: 96px;
position: relative;
}

.bs .corner-circles {
position: absolute;
bottom: 0;
right: 0;
width: 200px;
height: 200px;
pointer-events: none;
overflow: hidden;
}

.bs .corner-circles::before {
content: '';
position: absolute;
bottom: -60px;
right: -60px;
width: 180px;
height: 180px;
border-radius: 50%;
border: 1px solid rgba(172, 40, 43, 0.1);
}

.bs .corner-circles::after {
content: '';
position: absolute;
bottom: -30px;
right: -30px;
width: 120px;
height: 120px;
border-radius: 50%;
border: 1px solid rgba(172, 40, 43, 0.12);
}

.bs .scale-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px;
align-items: start;
}

.bs .h2-scale {
font-size: 32px;
line-height: 1.35;
color: #1e1a18;
letter-spacing: 0.01em;
margin: 0;
text-align: center;
text-decoration: underline;
text-decoration-color: #AC282B;
text-underline-offset: 6px;
grid-column: 1 / 3;
}

.bs .scale-img-wrap {
border-radius: 12px;
overflow: hidden;
box-shadow: 0 10px 48px 1px rgba(172, 40, 43, 0.11);
}

.bs .scale-img-wrap img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center;
display: block;
filter: brightness(0.88);
transition: filter 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.bs .scale-img-wrap img:hover {
filter: brightness(1.04);
}

.bs .scale-right {
display: flex;
flex-direction: column;
gap: 16px;
}

.bs .scale-body {
font-size: 15px;
line-height: 1.55;
color: #2e2a28;
letter-spacing: 0.01em;
}

.bs .metrics-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 8px;
}

.bs .metric-cell {
background: #fff;
border-radius: 6px;
padding: 16px;
box-shadow: 0 3px 5px 1px rgba(184, 214, 222, 0.07);
display: flex;
flex-direction: column;
gap: 4px;
transition: box-shadow 0.32s ease-in-out;
}

.bs .metric-cell:hover {
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.bs .metric-num {
font-size: 32px;
line-height: 1.1;
color: #AC282B;
letter-spacing: 0.01em;
}

.bs .metric-desc {
font-size: 13px;
line-height: 1.35;
color: #5a4f4a;
letter-spacing: 0.02em;
}

.bs .scale-note {
font-size: 13px;
line-height: 1.55;
color: #8a7d78;
letter-spacing: 0.01em;
padding-top: 8px;
border-top: 1px solid #E2DAD7;
}

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

.bs .bento-img {
grid-column: 1;
grid-row: 1;
min-height: 320px;
border-radius: 12px;
}

.bs .bento-txt {
grid-column: 1;
grid-row: 2;
padding: 32px 0 32px 0;
}

.bs .h1-main {
font-size: 45px;
}

.bs .team-layout {
grid-template-columns: 1fr;
gap: 32px;
}

.bs .example-layout {
grid-template-columns: 1fr;
}

.bs .pattern-layout {
grid-template-columns: 1fr 1fr;
}

.bs .after-layout {
grid-template-columns: 1fr;
gap: 32px;
}

.bs .scale-layout {
grid-template-columns: 1fr;
}

.bs .h2-scale {
grid-column: 1;
}

.bs .metrics-row {
grid-template-columns: 1fr 1fr;
}
}

@media (max-width: 576px) {
.bs .pg-wrap {
padding-left: 16px;
padding-right: 16px;
}

.bs .h1-main {
font-size: 32px;
}

.bs .h2-team,
.bs .h2-pattern,
.bs .h2-scale {
font-size: 23px;
}

.bs .h2-after,
.bs .h2-example {
font-size: 32px;
}

.bs .pattern-layout {
grid-template-columns: 1fr;
}

.bs .body-note {
grid-template-columns: 1fr;
}

.bs .note-aside {
border-right: none;
border-bottom: 1px solid #E2DAD7;
padding-right: 0;
padding-bottom: 8px;
}

.bs .metrics-row {
grid-template-columns: 1fr;
}

.bs .bento-img {
min-height: 240px;
}
}

.success-page {
min-height: 60vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 96px 32px;
background-color: #fff;
}

.success-page .success-wrap {
max-width: 560px;
width: 100%;
text-align: center;
}

.success-page .success-wrap .icon-ring {
width: 72px;
height: 72px;
border-radius: 36px;
background: #E2DAD7;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 32px;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

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

.success-page .success-wrap .badge {
display: inline-block;
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.02em;
color: #AC282B;
background: #E2DAD7;
padding: 4px 16px;
border-radius: 36px;
margin-bottom: 32px;
}

.success-page .success-wrap h1 {
font-size: 32px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #1b1412;
margin: 0 0 16px;
text-decoration-line: underline;
text-decoration-color: #AC282B;
text-decoration-thickness: 2px;
text-underline-offset: 6px;
}

.success-page .success-wrap .success-note {
font-size: 15px;
line-height: 1.55;
letter-spacing: 0.01em;
color: #3d2e2c;
margin: 0 0 32px;
}

.success-page .success-wrap .divider-line {
width: 48px;
height: 2px;
background: linear-gradient(to left, #AC282B, #B8D6DE);
border-radius: 4px;
margin: 0 auto 32px;
}

.success-page .success-wrap .detail-row {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 32px;
}

.success-page .success-wrap .detail-row .detail-item {
font-size: 13px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #5a4240;
background: #f5f1ef;
border-radius: 6px;
padding: 8px 16px;
}

.success-page .success-wrap .detail-row .detail-item strong {
color: #1b1412;
display: block;
font-size: 13px;
}

.success-page .success-wrap .back-link {
display: inline-block;
font-size: 15px;
line-height: 1.35;
letter-spacing: 0.01em;
color: #fff;
background: #AC282B;
padding: 12px 32px;
border-radius: 6px;
text-decoration: none;
box-shadow: 0 3px 5px 1px rgba(172, 40, 43, 0.07);
transition: background-color 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.4s ease-in-out;
position: relative;
overflow: hidden;
}

.success-page .success-wrap .back-link::before {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 0;
background: rgba(255, 255, 255, 0.12);
transition: height 0.25s cubic-bezier(0.34, 1.2, 0.64, 1);
pointer-events: none;
}

.success-page .success-wrap .back-link:hover {
background: #8e1f22;
box-shadow: 0 4px 22px 1px rgba(172, 40, 43, 0.11);
}

.success-page .success-wrap .back-link:hover::before {
height: 100%;
}

.success-page .success-wrap .back-link:focus {
outline: 2px solid #AC282B;
outline-offset: 3px;
}

@media (max-width: 576px) {
.success-page {
padding: 64px 16px;
}

.success-page .success-wrap h1 {
font-size: 23px;
}

.success-page .success-wrap .detail-row {
flex-direction: column;
align-items: center;
}
}