@import "https://fonts.googleapis.com/css2?family=Oxygen:wght@400;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Karla:wght@400;700&display=swap";

*,
::before,
::after {
content: none;
box-sizing: border-box
}

body {
margin: 0;
padding: 0;
overflow-x: hidden;
min-height: 100vh
}

.brand-accent {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: linear-gradient(160deg, #012561 60%, #D02341 100%);
min-width: 140px;
width: 140px;
padding: 24px 12px;
position: relative;
border-radius: 0 0 42px 0;
box-shadow: 1px 5px 28px 0 #0125611c;
flex-shrink: 0;
z-index: 2
}

.brand-accent::after {
box-sizing: border-box;
content: "";
position: absolute;
bottom: 0;
right: -12px;
width: 12px;
height: 100%;
background: linear-gradient(90deg, #0125611a 0%, transparent 100%);
pointer-events: none
}

.logo-box {
width: 88px;
height: 88px;
border-radius: 14px 14px 14px 2px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: inset 1px 1px 5px 0 #0125610d inset -1px -2px 6px 0 #01256121 1px 5px 28px 0 #0125611c;
border: 2px solid #feaf5259;
overflow: hidden
}

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

.brand-monogram {
margin-top: 12px;
font-family: 'Oxygen', sans-serif;
font-weight: 700;
font-size: 19px;
letter-spacing: .18em;
color: #FEAF52;
text-transform: uppercase;
line-height: 1.15;
text-align: center
}

.brand-tagline {
font-family: 'Karla', sans-serif;
font-weight: 400;
font-size: 16px;
color: #feaf52b8;
letter-spacing: .08em;
margin-top: 6px;
text-align: center;
line-height: 1.45
}

.site-header {
display: flex;
align-items: stretch;
background: #fff;
box-shadow: 1px 5px 28px 0 #0125611c;
position: relative;
z-index: 10;
overflow: visible
}

.header-right {
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 0;
min-width: 0
}

.header-top-bar {
display: flex;
align-items: center;
justify-content: flex-end;
gap: 24px;
padding: 12px 36px 0 24px;
border-bottom: 1px solid #01256112;
padding-bottom: 12px
}

.contact-item {
display: flex;
align-items: center;
gap: 6px;
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #012561;
text-decoration: none;
line-height: 1.45;
transition: color .12s ease-out
}

.contact-item:hover {
color: #D02341
}

.contact-item:focus {
outline: none;
box-shadow: 0 0 0 3px #d0234147;
border-radius: 2px
}

.contact-item i {
font-size: 16px;
color: #FEAF52;
flex-shrink: 0
}

.header-nav-row {
display: flex;
align-items: center;
padding: 0 36px 0 24px;
flex-wrap: wrap;
gap: 6px;
min-height: 56px
}

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

.primary-nav li {
display: flex
}

.nav-link {
font-family: 'Karla', sans-serif;
font-weight: 700;
font-size: 16px;
color: #012561;
text-decoration: none;
padding: 12px 16px;
border-radius: 7px;
line-height: 1.15;
letter-spacing: .04em;
display: flex;
align-items: center;
gap: 6px;
min-height: 44px;
position: relative;
transition: color .1s linear;
overflow: hidden
}

.nav-link::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(90deg, #d0234114 0%, #0125610f 100%);
border-radius: 7px;
transform: scaleX(0);
transform-origin: left center;
transition: transform .12s ease-out;
z-index: 0
}

.nav-link:hover::before {
transform: scaleX(1)
}

.nav-link:hover {
color: #D02341
}

.nav-link:focus {
outline: none;
box-shadow: 0 0 0 3px #d0234147
}

.nav-link span {
position: relative;
z-index: 1
}

.nav-link[aria-current="page"] {
color: #D02341;
background: #d0234112
}

.nav-link i {
font-size: 16px;
position: relative;
z-index: 1;
color: #FEAF52;
flex-shrink: 0
}

.header-pattern-strip {
height: 4px;
background: linear-gradient(90deg, #D02341 0%, #FEAF52 50%, #012561 100%);
width: 100%
}

@media (max-width: 768px) {
.brand-accent {
min-width: 100px;
width: 100px;
padding: 12px 6px
}

.logo-box {
width: 64px;
height: 64px
}

.logo-box img {
width: 52px;
height: 52px
}

.brand-monogram {
font-size: 16px
}

.brand-tagline {
display: none
}

.header-top-bar {
padding: 12px;
gap: 12px;
flex-wrap: wrap
}

.header-nav-row {
padding: 0 12px
}

.nav-link {
padding: 12px 10px;
font-size: 16px
}
}

@media (max-width: 375px) {
.brand-accent {
min-width: 72px;
width: 72px;
padding: 12px 6px
}

.logo-box {
width: 52px;
height: 52px
}

.logo-box img {
width: 42px;
height: 42px
}

.brand-monogram {
font-size: 16px;
letter-spacing: .08em
}

.contact-item {
font-size: 16px
}
}

.site-footer {
background: #012561;
padding: 72px 36px 36px;
position: relative;
overflow: hidden
}

.site-footer::before {
box-sizing: border-box;
content: "";
position: absolute;
inset: 0;
opacity: .04;
pointer-events: none;
background-image: repeating-linear-gradient(45deg, #FEAF52 0px, #FEAF52 1px, transparent 1px, transparent 12px)
}

.footer-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1
}

.footer-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 36px;
align-items: start;
margin-bottom: 72px
}

.footer-brand-col {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.footer-logo-box {
width: 80px;
height: 80px;
border-radius: 14px 2px 14px 14px;
background: #fff;
display: flex;
align-items: center;
justify-content: center;
box-shadow: inset 1px 1px 5px 0 #0125610d inset -1px -2px 6px 0 #01256121 1px 5px 28px 0 #d023411c;
border: 2px solid #feaf5266;
overflow: hidden
}

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

.footer-brand-name {
font-family: 'Oxygen', sans-serif;
font-weight: 700;
font-size: 23px;
color: #fff;
letter-spacing: .12em;
line-height: 1.15;
text-transform: uppercase
}

.footer-brand-desc {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffffa6;
line-height: 1.7;
max-width: 260px
}

.footer-nav-col {
display: flex;
flex-direction: column;
gap: 6px
}

.footer-col-label {
font-family: 'Oxygen', sans-serif;
font-weight: 700;
font-size: 16px;
color: #FEAF52;
letter-spacing: .14em;
text-transform: uppercase;
margin-bottom: 12px;
line-height: 1.15
}

.footer-nav-link {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffffbf;
text-decoration: none;
padding: 6px 0;
line-height: 1.45;
display: flex;
align-items: center;
gap: 6px;
min-height: 44px;
transition: color .1s ease-out;
border-radius: 2px
}

.footer-nav-link:hover {
color: #FEAF52
}

.footer-nav-link:focus {
outline: none;
box-shadow: 0 0 0 3px #feaf5266;
border-radius: 2px
}

.footer-nav-link i {
font-size: 16px;
color: #d02341b3;
flex-shrink: 0
}

.footer-contact-col {
display: flex;
flex-direction: column;
gap: 6px
}

.footer-contact-item {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffffbf;
text-decoration: none;
line-height: 1.7;
display: flex;
align-items: flex-start;
gap: 6px;
min-height: 44px;
transition: color .1s ease-out
}

.footer-contact-item:hover {
color: #FEAF52
}

.footer-contact-item:focus {
outline: none;
box-shadow: 0 0 0 3px #feaf5266;
border-radius: 2px
}

.footer-contact-item i {
font-size: 16px;
color: #FEAF52;
flex-shrink: 0;
margin-top: 4px
}

.footer-address {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffff8c;
line-height: 1.7;
display: flex;
align-items: flex-start;
gap: 6px;
margin-top: 6px
}

.footer-address i {
font-size: 16px;
color: #FEAF52;
flex-shrink: 0;
margin-top: 4px
}

.footer-divider {
height: 1px;
background: linear-gradient(90deg, transparent, #feaf524d 30%, #d023414d 70%, transparent);
margin-bottom: 24px
}

.footer-bottom {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px
}

.footer-copyright {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffff73;
line-height: 1.45
}

.footer-legal-nav {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 6px;
list-style: none;
margin: 0;
padding: 0
}

.footer-legal-nav li {
display: flex;
align-items: center
}

.footer-legal-nav li+li::before {
box-sizing: border-box;
content: "";
display: inline-block;
width: 3px;
height: 3px;
border-radius: 42px;
background: #feaf5266;
margin-right: 6px;
flex-shrink: 0
}

.legal-link {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffff73;
text-decoration: none;
transition: color .08s linear;
line-height: 1.45;
padding: 6px 0;
min-height: 44px;
display: flex;
align-items: center
}

.legal-link:hover {
color: #FEAF52
}

.legal-link:focus {
outline: none;
box-shadow: 0 0 0 3px #feaf5266;
border-radius: 2px
}

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

.footer-brand-col {
grid-column: 1 / -1
}

.site-footer {
padding: 36px 24px 24px
}
}

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

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

.site-footer {
padding: 36px 12px 24px
}
}

.consent-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
background: #012561;
border-top: 2px solid #FEAF52;
z-index: 1000;
box-shadow: 1px 12px 40px 0 #01256121;
transform: translateY(100%);
transition: transform .42s ease-out;
display: none
}

.consent-bar[data-visible="true"] {
transform: translateY(0)
}

.consent-bar-inner {
max-width: 1500px;
margin: 0 auto;
padding: 24px 36px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 24px
}

.consent-icon-wrap {
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 14px;
background: #feaf5226;
flex-shrink: 0
}

.consent-icon-wrap i {
font-size: 23px;
color: #FEAF52
}

.consent-text-wrap {
flex: 1;
min-width: 200px;
display: flex;
align-items: center;
gap: 12px
}

.consent-text {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #ffffffd9;
line-height: 1.7
}

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

.consent-accept {
font-family: 'Karla', sans-serif;
font-weight: 700;
font-size: 16px;
color: #012561;
background: #FEAF52;
border: none;
border-radius: 7px;
padding: 12px 24px;
cursor: pointer;
line-height: 1.15;
min-height: 44px;
transition: opacity .1s ease-out;
text-decoration: none;
display: inline-flex;
align-items: center
}

.consent-accept:hover {
opacity: .88
}

.consent-accept:focus {
outline: none;
box-shadow: 0 0 0 3px #feaf5280
}

.consent-decline {
font-family: 'Karla', sans-serif;
font-size: 16px;
color: #fff9;
background: none;
border: none;
cursor: pointer;
text-decoration: underline;
text-underline-offset: 3px;
line-height: 1.45;
min-height: 44px;
padding: 6px 0;
transition: color .1s ease-out
}

.consent-decline:hover {
color: #fff
}

.consent-decline:focus {
outline: none;
box-shadow: 0 0 0 3px #feaf5266;
border-radius: 2px
}

@media (max-width: 768px) {
.consent-bar-inner {
padding: 24px;
gap: 12px
}
}

@media (max-width: 375px) {
.consent-bar-inner {
padding: 24px 12px;
flex-direction: column;
align-items: flex-start
}
}

.doc-block {
max-width: 1500px;
margin: 0 auto;
padding: 72px 36px
}

.doc-block h1 {
font-size: 58px;
line-height: 1.15;
color: #012561;
margin-bottom: 36px;
margin-top: 0;
letter-spacing: -.5px
}

.doc-block h2 {
font-size: 42px;
line-height: 1.15;
color: #012561;
margin-top: 72px;
margin-bottom: 24px
}

.doc-block h3 {
font-size: 30px;
line-height: 1.45;
color: #D02341;
margin-top: 36px;
margin-bottom: 12px
}

.doc-block h4 {
font-size: 23px;
line-height: 1.45;
color: #012561;
margin-top: 36px;
margin-bottom: 12px
}

.doc-block h5 {
font-size: 19px;
line-height: 1.45;
color: #012561;
margin-top: 24px;
margin-bottom: 6px;
letter-spacing: .04em
}

.doc-block h6 {
font-size: 16px;
line-height: 1.45;
color: #D02341;
margin-top: 24px;
margin-bottom: 6px;
letter-spacing: .08em;
text-transform: uppercase
}

.doc-block p {
font-size: 19px;
line-height: 1.7;
color: #1b2a4a;
margin-top: 0;
margin-bottom: 24px;
max-width: 78ch
}

.doc-block a {
color: #D02341;
text-decoration: underline;
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color .1s ease-out, text-decoration-color .1s ease-out
}

.doc-block a:hover {
color: #012561;
text-decoration-color: #FEAF52
}

.doc-block hr {
border: none;
border-top: 2px solid #FEAF52;
margin: 72px 0;
opacity: .5
}

.doc-block table {
width: 100%;
border-collapse: collapse;
margin-bottom: 36px;
font-size: 16px;
line-height: 1.7;
box-shadow: 1px 5px 28px 0 #0125611c;
border-radius: 7px;
overflow: hidden
}

.doc-block thead {
background-color: #012561;
color: #fff
}

.doc-block thead th {
padding: 12px 24px;
font-size: 16px;
line-height: 1.45;
letter-spacing: .06em;
text-transform: uppercase;
text-align: left;
color: #fff;
border: none
}

.doc-block tbody tr {
border-bottom: 1px solid #0125611a;
transition: background-color .08s linear
}

.doc-block tbody tr:last-child {
border-bottom: none
}

.doc-block tbody tr:hover {
background-color: #feaf5214
}

.doc-block th {
padding: 12px 24px;
text-align: left;
font-size: 16px;
line-height: 1.45;
color: #012561
}

.doc-block td {
padding: 12px 24px;
font-size: 16px;
line-height: 1.7;
color: #1b2a4a;
vertical-align: top
}

@media (max-width: 768px) {
.doc-block {
padding: 36px 24px
}

.doc-block h1 {
font-size: 42px
}

.doc-block h2 {
font-size: 30px;
margin-top: 36px
}

.doc-block h3 {
font-size: 23px
}

.doc-block h4 {
font-size: 19px
}

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

@media (max-width: 375px) {
.doc-block {
padding: 24px 12px
}

.doc-block h1 {
font-size: 30px
}

.doc-block h2 {
font-size: 23px
}

.doc-block h3 {
font-size: 19px
}

.doc-block p {
font-size: 16px
}

.doc-block td,
.doc-block th {
padding: 12px
}
}

.news-detail {
background: #fff;
overflow-x: hidden
}

.news-detail .post-top {
max-width: 1500px;
margin: 0 auto;
padding: 72px 36px;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 36px;
align-items: end
}

.news-detail .post-image-col {
position: relative
}

.news-detail .post-image-wrap {
aspect-ratio: 1/1;
overflow: hidden;
border-radius: 14px;
box-shadow: 1px 12px 40px 0 #01256121
}

.news-detail .post-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: contrast(1.06) saturate(1.08);
transition: transform .15s ease-out
}

.news-detail .post-image-wrap:hover img {
transform: scale(1.03)
}

.news-detail .dot-path {
display: flex;
flex-direction: row;
gap: 6px;
margin-top: 24px;
align-items: center
}

.news-detail .dot-path span {
width: 6px;
height: 6px;
border-radius: 42px;
background: #D02341;
opacity: .3;
display: inline-block
}

.news-detail .dot-path span:nth-child(3n+1) {
opacity: .7;
background: #012561
}

.news-detail .dot-path span:nth-child(2) {
width: 18px;
border-radius: 2px
}

.news-detail .post-text-col {
display: flex;
flex-direction: column;
gap: 24px;
padding-bottom: 36px
}

.news-detail .eyebrow-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.news-detail .category-tag {
font-size: 16px;
letter-spacing: .12em;
text-transform: uppercase;
color: #D02341;
font-weight: 700;
border: 1.5px solid #D02341;
border-radius: 42px;
padding: 6px 24px;
display: inline-block
}

.news-detail .pub-date {
font-size: 16px;
color: #012561;
opacity: .6;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px
}

.news-detail .post-heading {
font-size: 58px;
line-height: 1.15;
color: #012561;
font-weight: 800;
letter-spacing: -.01em;
margin: 0
}

.news-detail .post-subtitle {
font-size: 23px;
line-height: 1.45;
color: #012561;
opacity: .7;
margin: 0;
font-weight: 400
}

.news-detail .like-row {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.news-detail .like-count {
font-size: 16px;
color: #012561;
display: flex;
flex-direction: row;
align-items: center;
gap: 6px
}

.news-detail .like-count i {
color: #D02341;
font-size: 19px
}

.news-detail .dash-divider {
max-width: 1500px;
margin: 0 auto;
padding: 0 36px
}

.news-detail .dash-line {
display: flex;
flex-direction: row;
align-items: center;
gap: 6px;
overflow: hidden
}

.news-detail .dash-line span {
display: inline-block;
height: 2px;
border-radius: 2px;
flex-shrink: 0
}

.news-detail .dash-line span:nth-child(odd) {
width: 6px;
background: #D02341;
opacity: .4
}

.news-detail .dash-line span:nth-child(even) {
width: 18px;
background: #012561;
opacity: .18
}

.news-detail .article-body {
max-width: 1500px;
margin: 0 auto;
padding: 72px 36px;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: start
}

.news-detail .article-aside {
position: sticky;
top: 36px;
display: flex;
flex-direction: column;
gap: 24px
}

.news-detail .aside-label {
font-size: 16px;
letter-spacing: .1em;
text-transform: uppercase;
color: #D02341;
font-weight: 700
}

.news-detail .aside-accent {
width: 42px;
height: 3px;
background: linear-gradient(143deg, #D02341 0%, #FEAF52 100%);
border-radius: 2px
}

.news-detail .aside-quote {
font-size: 19px;
line-height: 1.7;
color: #012561;
border-left: none;
padding: 24px;
background: linear-gradient(143deg, #d023410d 0%, #feaf5214 100%);
border-radius: 14px;
box-shadow: 1px 5px 28px 0 #0125611c
}

.news-detail .aside-quote::before {
content: "";
display: block;
width: 24px;
height: 3px;
background: #FEAF52;
border-radius: 2px;
margin-bottom: 12px
}

.news-detail .article-prose {
display: flex;
flex-direction: column;
gap: 24px
}

.news-detail .article-prose p {
font-size: 19px;
line-height: 1.7;
color: #012561;
margin: 0
}

.news-detail .article-prose h2 {
font-size: 30px;
line-height: 1.15;
color: #012561;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
margin: 12px 0 0
}

.news-detail .article-prose h3 {
font-size: 23px;
line-height: 1.45;
color: #D02341;
font-weight: 600;
margin: 6px 0 0
}

.news-detail .article-prose small {
font-size: 16px;
color: #012561;
opacity: .55;
line-height: 1.45
}

.news-detail .article-prose ul,
.news-detail .article-prose ol {
padding-left: 24px;
display: flex;
flex-direction: column;
gap: 6px
}

.news-detail .article-prose li {
font-size: 19px;
line-height: 1.7;
color: #012561
}

.news-detail .article-prose ul li::marker {
content: "— ";
color: #D02341
}

.news-detail .article-prose table {
width: 100%;
border-collapse: collapse;
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 5px 28px 0 #0125611c
}

.news-detail .article-prose td {
padding: 12px 24px;
font-size: 16px;
color: #012561;
border-bottom: 1px solid #01256114
}

.news-detail .article-prose tr:nth-child(even) td {
background: #01256108
}

.news-detail .article-prose time {
font-size: 16px;
color: #D02341;
font-weight: 600
}

.news-detail .reaction-strip {
background: #012561;
padding: 72px 36px;
position: relative;
overflow: hidden
}

.news-detail .reaction-strip::before {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(143deg, #d023412e 0%, #feaf521a 100%);
pointer-events: none
}

.news-detail .reaction-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 36px;
align-items: center;
position: relative
}

.news-detail .reaction-heading {
font-size: 30px;
line-height: 1.15;
color: #fff;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em;
text-align: center;
margin: 0
}

.news-detail .reaction-heading span {
color: #FEAF52
}

.news-detail .reaction-options {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap;
justify-content: center
}

.news-detail .reaction-options input[type="radio"] {
position: absolute;
opacity: 0;
width: 0;
height: 0
}

.news-detail .reaction-label {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
cursor: pointer;
padding: 24px 36px;
border-radius: 14px;
border: 2px solid #ffffff26;
background: #ffffff0f;
transition: border-color .12s ease-out, background .12s ease-out;
min-width: 100px
}

.news-detail .reaction-label:hover {
border-color: #FEAF52;
background: #feaf521f
}

.news-detail .reaction-options input[type="radio"]:checked+.reaction-label {
border-color: #FEAF52;
background: #feaf5233;
box-shadow: 1px 5px 28px 0 #d023412e
}

.news-detail .reaction-emoji-wrap {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.news-detail .reaction-svg {
width: 40px;
height: 40px
}

.news-detail .reaction-word {
font-size: 16px;
color: #fff;
letter-spacing: .06em;
text-transform: uppercase;
font-weight: 600
}

.news-detail .reaction-submit {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
color: #012561;
background: #FEAF52;
border: none;
border-radius: 7px;
padding: 12px 36px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .12s ease-out
}

.news-detail .reaction-submit::before {
content: "";
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: #D02341;
transition: left .12s ease-out;
z-index: 0
}

.news-detail .reaction-submit:hover::before {
left: 0
}

.news-detail .reaction-submit:hover {
color: #fff
}

.news-detail .reaction-submit span {
position: relative;
z-index: 1
}

.news-detail .hexbg-band {
background: #f4f6fb;
padding: 72px 36px;
position: relative
}

.news-detail .hexbg-band::after {
content: "";
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(60deg, #0125610a 0px, #0125610a 1px, transparent 1px, transparent 28px), repeating-linear-gradient(-60deg, #0125610a 0px, #0125610a 1px, transparent 1px, transparent 28px), repeating-linear-gradient(0deg, #01256108 0px, #01256108 1px, transparent 1px, transparent 28px);
pointer-events: none
}

.news-detail .process-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 36px
}

.news-detail .process-label {
font-size: 16px;
letter-spacing: .12em;
text-transform: uppercase;
color: #D02341;
font-weight: 700
}

.news-detail .process-heading {
font-size: 42px;
line-height: 1.15;
color: #012561;
font-weight: 800;
margin: 0
}

.news-detail .process-steps {
display: flex;
flex-direction: row;
gap: 24px;
overflow-x: auto;
padding-bottom: 6px
}

.news-detail .step-card {
flex: 1;
min-width: 180px;
background: #fff;
border-radius: 14px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 1px 5px 28px 0 #0125611c;
border-top: 3px solid #D02341;
transition: box-shadow .1s ease-out, transform .1s ease-out
}

.news-detail .step-card:nth-child(even) {
border-top-color: #FEAF52
}

.news-detail .step-card:hover {
box-shadow: 1px 12px 40px 0 #01256121;
transform: translateY(-3px)
}

.news-detail .step-number {
font-size: 42px;
line-height: 1.15;
font-weight: 800;
color: #012561;
opacity: .12
}

.news-detail .step-icon {
color: #D02341;
font-size: 23px
}

.news-detail .step-card:nth-child(even) .step-icon {
color: #FEAF52
}

.news-detail .step-name {
font-size: 19px;
line-height: 1.45;
font-weight: 700;
color: #012561;
text-transform: uppercase;
letter-spacing: .05em
}

.news-detail .step-desc {
font-size: 16px;
line-height: 1.7;
color: #012561;
opacity: .7
}

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

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

.news-detail .post-heading {
animation: clip-reveal .5s ease-out both
}

.news-detail .post-subtitle {
animation: clip-reveal .5s .12s ease-out both
}

.news-detail .post-image-wrap {
animation: clip-reveal .5s .06s ease-out both
}

@media (max-width: 1366px) {
.news-detail .post-heading {
font-size: 42px
}

.news-detail .process-heading {
font-size: 30px
}
}

@media (max-width: 768px) {
.news-detail .post-top {
grid-template-columns: 1fr;
padding: 36px 24px;
gap: 24px
}

.news-detail .post-heading {
font-size: 30px
}

.news-detail .article-body {
grid-template-columns: 1fr;
padding: 36px 24px;
gap: 36px
}

.news-detail .article-aside {
position: static
}

.news-detail .process-steps {
flex-direction: column
}

.news-detail .reaction-options {
gap: 12px
}

.news-detail .reaction-label {
padding: 12px 24px;
min-width: 80px
}

.news-detail .hexbg-band {
padding: 36px 24px
}

.news-detail .reaction-strip {
padding: 36px 24px
}
}

@media (max-width: 375px) {
.news-detail .post-heading {
font-size: 23px
}

.news-detail .post-subtitle {
font-size: 19px
}

.news-detail .category-tag {
font-size: 16px;
padding: 6px 12px
}

.news-detail .reaction-heading {
font-size: 23px
}

.news-detail .reaction-label {
padding: 12px;
min-width: 64px
}
}

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

.industries-portrait .title-band {
background: #012561;
padding: 72px 24px;
position: relative
}

.industries-portrait .title-band-atmosphere {
position: absolute;
top: -60px;
left: 10%;
width: 320px;
height: 320px;
background: #D02341;
border-radius: 42px;
opacity: .08;
filter: blur(60px);
pointer-events: none
}

.industries-portrait .title-band-atmosphere-two {
position: absolute;
bottom: -40px;
right: 8%;
width: 240px;
height: 240px;
background: #FEAF52;
border-radius: 42px;
opacity: .1;
filter: blur(50px);
pointer-events: none
}

.industries-portrait .title-band-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 72px
}

.industries-portrait .title-text-column {
flex: 1 1 0
}

.industries-portrait .title-label {
font-size: 16px;
letter-spacing: .18em;
color: #FEAF52;
text-transform: uppercase;
margin-bottom: 24px;
line-height: 1.15;
opacity: 0;
animation: fadeup .12s ease-out .08s forwards
}

.industries-portrait .title-heading {
font-size: 58px;
line-height: 1.15;
color: #fff;
margin: 0 0 24px;
opacity: 0;
animation: fadeup .12s ease-out .18s forwards
}

.industries-portrait .title-heading-accent {
color: #FEAF52
}

.industries-portrait .title-theses {
display: flex;
flex-direction: column;
gap: 12px;
opacity: 0;
animation: fadeup .13s ease-out .28s forwards
}

.industries-portrait .title-thesis {
font-size: 19px;
line-height: 1.45;
color: #ffffffd1;
padding-left: 18px;
border-left: none;
position: relative
}

.industries-portrait .title-thesis::before {
content: "";
display: inline-block;
width: 8px;
height: 8px;
background: #D02341;
border-radius: 2px;
position: absolute;
left: 0;
top: 9px
}

.industries-portrait .title-image-column {
flex: 0 0 380px;
opacity: 0;
animation: fadeup .13s ease-out .36s forwards
}

.industries-portrait .title-image-frame {
width: 380px;
height: 380px;
border-radius: 14px;
overflow: hidden;
position: relative;
box-shadow: 1px 12px 40px 0 #01256121
}

.industries-portrait .title-image-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(1.15) sepia(0.18) hue-rotate(0deg) brightness(1.04)
}

.industries-portrait .title-image-frame::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(143deg, #d0234138 0%, #0125612e 100%);
pointer-events: none
}

.industries-portrait .bracket-left,
.industries-portrait .bracket-right {
font-size: 72px;
line-height: 1.15;
color: #FEAF52;
opacity: .35;
font-weight: 100;
pointer-events: none;
flex-shrink: 0
}

@keyframes fadeup {
from {
opacity: 0;
transform: translateY(14px)
}

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

.industries-portrait .approach-section {
padding: 72px 24px;
background: #fff
}

.industries-portrait .approach-inner {
max-width: 1500px;
margin: 0 auto
}

.industries-portrait .approach-top {
display: flex;
flex-direction: row;
gap: 36px;
margin-bottom: 72px;
align-items: flex-start
}

.industries-portrait .approach-intro-col {
flex: 0 0 280px
}

.industries-portrait .approach-intro-label {
font-size: 16px;
letter-spacing: .14em;
text-transform: uppercase;
color: #D02341;
margin-bottom: 12px;
line-height: 1.15
}

.industries-portrait .approach-intro-heading {
font-size: 42px;
line-height: 1.15;
color: #012561;
margin: 0;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .06em
}

.industries-portrait .approach-body-col {
flex: 1 1 0
}

.industries-portrait .approach-body-text {
font-size: 19px;
line-height: 1.7;
color: #2a3a5c;
margin: 0 0 24px
}

.industries-portrait .approach-cards {
display: grid;
grid-template-columns: 1fr 1.6fr 1fr;
gap: 24px;
align-items: stretch
}

.industries-portrait .approach-card {
background: #f4f6fb;
border-radius: 14px;
padding: 36px 24px;
box-shadow: 1px 1px 5px 0 #0125610d;
transition: box-shadow .1s ease-out;
display: flex;
flex-direction: column;
gap: 12px
}

.industries-portrait .approach-card:hover {
box-shadow: 1px 5px 28px 0 #0125611c
}

.industries-portrait .approach-card-center {
background: #012561;
border-radius: 14px;
padding: 36px 24px;
box-shadow: 1px 5px 28px 0 #01256121;
display: flex;
flex-direction: column;
gap: 12px;
transform: scaleY(1.04)
}

.industries-portrait .card-icon {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center
}

.industries-portrait .card-icon-svg {
width: 36px;
height: 36px
}

.industries-portrait .approach-card-title {
font-size: 19px;
line-height: 1.15;
color: #012561;
margin: 0;
text-transform: uppercase;
letter-spacing: .07em;
font-weight: 400
}

.industries-portrait .approach-card-center .approach-card-title {
color: #FEAF52
}

.industries-portrait .approach-card-desc {
font-size: 16px;
line-height: 1.7;
color: #3d4f72;
margin: 0
}

.industries-portrait .approach-card-center .approach-card-desc {
color: #ffffffd1
}

.industries-portrait .diagonal-section {
position: relative;
padding: 72px 24px;
overflow: hidden
}

.industries-portrait .diagonal-bg-left {
position: absolute;
inset: 0;
background: #D02341;
clip-path: polygon(0 0, 58% 0, 44% 100%, 0 100%);
pointer-events: none
}

.industries-portrait .diagonal-bg-right {
position: absolute;
inset: 0;
background: #f4f6fb;
clip-path: polygon(58% 0, 100% 0, 100% 100%, 44% 100%);
pointer-events: none
}

.industries-portrait .diagonal-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1;
display: flex;
flex-direction: row;
gap: 72px;
align-items: center
}

.industries-portrait .diagonal-text-col {
flex: 1 1 0
}

.industries-portrait .diagonal-heading {
font-size: 42px;
line-height: 1.15;
color: #fff;
margin: 0 0 24px;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .05em
}

.industries-portrait .diagonal-body {
font-size: 19px;
line-height: 1.7;
color: #ffffffe0;
margin: 0 0 24px
}

.industries-portrait .diagonal-metric-row {
display: flex;
flex-direction: row;
gap: 36px;
margin-top: 12px
}

.industries-portrait .diagonal-metric {
display: flex;
flex-direction: column;
gap: 6px
}

.industries-portrait .metric-number {
font-size: 58px;
line-height: 1.15;
color: #FEAF52;
font-weight: 700
}

.industries-portrait .metric-label {
font-size: 16px;
line-height: 1.45;
color: #ffffffbf;
letter-spacing: .1em;
text-transform: uppercase
}

.industries-portrait .diagonal-image-col {
flex: 0 0 400px
}

.industries-portrait .diagonal-image-wrap {
width: 400px;
height: 400px;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 12px 40px 0 #01256121
}

.industries-portrait .diagonal-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: saturate(1.1) brightness(1.03)
}

.industries-portrait .audience-section {
padding: 72px 24px;
background: #012561;
position: relative;
overflow: hidden
}

.industries-portrait .audience-pattern {
position: absolute;
inset: 0;
background-image: repeating-conic-gradient(#feaf520f 0% 25%, transparent 0% 50%);
background-size: 48px 48px;
pointer-events: none
}

.industries-portrait .audience-spot {
position: absolute;
width: 500px;
height: 500px;
background: #D02341;
border-radius: 42px;
opacity: .07;
filter: blur(80px);
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
animation: spotpulse 6s ease-in-out infinite
}

@keyframes spotpulse {

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

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

.industries-portrait .audience-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1
}

.industries-portrait .audience-heading-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 36px;
margin-bottom: 72px
}

.industries-portrait .audience-heading {
font-size: 42px;
line-height: 1.15;
color: #fff;
margin: 0;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .06em;
flex: 0 0 auto
}

.industries-portrait .audience-heading-accent {
color: #FEAF52
}

.industries-portrait .audience-heading-desc {
font-size: 19px;
line-height: 1.7;
color: #ffffffb8;
margin: 0;
flex: 1 1 0
}

.industries-portrait .audience-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.industries-portrait .audience-card {
border: 1px solid #feaf5238;
border-radius: 14px;
padding: 36px 24px;
transition: border-color .1s ease-out, background .1s ease-out;
cursor: default
}

.industries-portrait .audience-card:hover {
border-color: #feaf5299;
background: #ffffff0a
}

.industries-portrait .audience-card-number {
font-size: 42px;
line-height: 1.15;
color: #D02341;
font-weight: 700;
margin-bottom: 12px
}

.industries-portrait .audience-card-title {
font-size: 19px;
line-height: 1.45;
color: #fff;
margin: 0 0 12px;
text-transform: uppercase;
letter-spacing: .07em;
font-weight: 300
}

.industries-portrait .audience-card-text {
font-size: 16px;
line-height: 1.7;
color: #ffffffad;
margin: 0
}

.industries-portrait .cta-strip {
padding: 72px 24px;
background: #fff
}

.industries-portrait .cta-strip-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 72px;
justify-content: space-between
}

.industries-portrait .cta-text-block {
flex: 1 1 0
}

.industries-portrait .cta-label {
font-size: 16px;
letter-spacing: .15em;
text-transform: uppercase;
color: #D02341;
margin-bottom: 12px;
line-height: 1.15
}

.industries-portrait .cta-heading {
font-size: 42px;
line-height: 1.15;
color: #012561;
margin: 0 0 24px;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .05em
}

.industries-portrait .cta-body {
font-size: 19px;
line-height: 1.7;
color: #2a3a5c;
margin: 0
}

.industries-portrait .cta-actions {
flex: 0 0 auto;
display: flex;
flex-direction: column;
gap: 24px;
align-items: flex-start
}

.industries-portrait .cta-button-primary {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 19px;
line-height: 1.15;
color: #fff;
background: #D02341;
border-radius: 7px;
padding: 24px 36px;
text-decoration: none;
border: none;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .1s ease-out;
box-shadow: 1px 5px 28px 0 #d023411c
}

.industries-portrait .cta-button-primary::before {
content: "";
position: absolute;
inset: 0;
background: #012561;
transform: translateX(-100%);
transition: transform .13s ease-out;
border-radius: 7px
}

.industries-portrait .cta-button-primary:hover::before {
transform: translateX(0)
}

.industries-portrait .cta-button-primary span {
position: relative;
z-index: 1
}

.industries-portrait .cta-button-primary i {
position: relative;
z-index: 1;
font-size: 19px
}

.industries-portrait .cta-button-secondary {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 19px;
line-height: 1.15;
color: #012561;
text-decoration: none;
border-bottom: 2px solid #FEAF52;
padding-bottom: 6px;
transition: color .1s ease-out, border-color .1s ease-out
}

.industries-portrait .cta-button-secondary:hover {
color: #D02341;
border-color: #D02341
}

@media (max-width: 1366px) {
.industries-portrait .title-heading {
font-size: 42px
}

.industries-portrait .title-image-column {
flex: 0 0 300px
}

.industries-portrait .title-image-frame {
width: 300px;
height: 300px
}

.industries-portrait .diagonal-image-col {
flex: 0 0 320px
}

.industries-portrait .diagonal-image-wrap {
width: 320px;
height: 320px
}

.industries-portrait .audience-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 768px) {
.industries-portrait .title-band-inner {
flex-direction: column;
gap: 36px
}

.industries-portrait .title-image-column {
flex: 0 0 auto
}

.industries-portrait .title-image-frame {
width: 100%;
height: 260px
}

.industries-portrait .title-heading {
font-size: 30px
}

.industries-portrait .approach-top {
flex-direction: column;
gap: 24px
}

.industries-portrait .approach-intro-col {
flex: 0 0 auto
}

.industries-portrait .approach-cards {
grid-template-columns: 1fr
}

.industries-portrait .approach-card-center {
transform: none
}

.industries-portrait .diagonal-inner {
flex-direction: column;
gap: 36px
}

.industries-portrait .diagonal-bg-left {
clip-path: polygon(0 0, 100% 0, 100% 48%, 0 58%)
}

.industries-portrait .diagonal-bg-right {
clip-path: polygon(0 58%, 100% 48%, 100% 100%, 0 100%)
}

.industries-portrait .diagonal-image-col {
flex: 0 0 auto;
width: 100%
}

.industries-portrait .diagonal-image-wrap {
width: 100%;
height: 260px
}

.industries-portrait .diagonal-heading {
font-size: 30px
}

.industries-portrait .audience-grid {
grid-template-columns: 1fr
}

.industries-portrait .audience-heading-row {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.industries-portrait .audience-heading {
font-size: 30px
}

.industries-portrait .cta-strip-inner {
flex-direction: column;
gap: 36px
}

.industries-portrait .cta-heading {
font-size: 30px
}

.industries-portrait .metric-number {
font-size: 42px
}
}

@media (max-width: 375px) {
.industries-portrait .title-heading {
font-size: 23px
}

.industries-portrait .approach-intro-heading {
font-size: 30px
}

.industries-portrait .diagonal-metric-row {
flex-direction: column;
gap: 12px
}

.industries-portrait .cta-button-primary {
padding: 24px
}
}

.contact-us-page {
background: #fff;
overflow-x: clip
}

.contact-us-page * {
box-sizing: border-box
}

.contact-us-page .reveal {
opacity: 0;
transform: translateY(28px);
animation: riseUp .6s ease-out forwards
}

.contact-us-page .reveal-2 {
opacity: 0;
transform: translateY(28px);
animation: riseUp .6s ease-out .15s forwards
}

.contact-us-page .reveal-3 {
opacity: 0;
transform: translateY(28px);
animation: riseUp .6s ease-out .3s forwards
}

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

.contact-us-page .title-strip {
background: #012561;
padding: 72px 36px 36px;
position: relative
}

.contact-us-page .title-strip::after {
content: '';
display: block;
position: absolute;
bottom: -22px;
left: 0;
width: 100%;
height: 24px;
background: radial-gradient(circle at 12px 0, transparent 12px, #012561 12px) left/24px 24px repeat-x;
z-index: 2
}

.contact-us-page .title-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 72px
}

.contact-us-page .title-left {
flex: 0 0 38%
}

.contact-us-page .title-eyebrow {
font-size: 16px;
letter-spacing: .14em;
color: #FEAF52;
text-transform: uppercase;
font-weight: 400;
margin-bottom: 24px;
line-height: 1.15
}

.contact-us-page .title-eyebrow span {
display: inline-block;
width: 28px;
height: 2px;
background: #D02341;
vertical-align: middle;
margin-right: 12px
}

.contact-us-page .title-heading {
font-size: 58px;
line-height: 1.15;
color: #fff;
font-weight: 700;
margin: 0 0 24px;
letter-spacing: -.01em
}

.contact-us-page .title-heading em {
font-style: normal;
color: #FEAF52
}

.contact-us-page .title-right {
flex: 1;
padding-bottom: 6px
}

.contact-us-page .title-desc {
font-size: 19px;
line-height: 1.7;
color: #ffffffc7;
margin: 0
}

.contact-us-page .diamond-accent {
position: absolute;
top: 36px;
right: 36px;
width: 64px;
height: 64px;
background: #d023412e;
transform: rotate(45deg);
border-radius: 7px
}

.contact-us-page .diamond-inner {
position: absolute;
top: 50%;
left: 50%;
width: 32px;
height: 32px;
background: #feaf5238;
transform: translate(-50%, -50%) rotate(0deg);
border-radius: 2px
}

.contact-us-page .split-block {
max-width: 1500px;
margin: 0 auto;
padding: 72px 36px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.contact-us-page .form-column {
flex: 0 0 58%
}

.contact-us-page .form-label-top {
font-size: 16px;
letter-spacing: .12em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
margin-bottom: 24px;
line-height: 1.15;
display: block
}

.contact-us-page .contact-form {
background: #fff;
border-radius: 14px;
box-shadow: 1px 5px 28px 0 #0125611c;
padding: 36px
}

.contact-us-page .form-row {
display: flex;
flex-direction: row;
gap: 24px;
margin-bottom: 24px
}

.contact-us-page .field-group {
display: flex;
flex-direction: column;
flex: 1;
gap: 6px
}

.contact-us-page .field-label {
font-size: 16px;
color: #012561;
font-weight: 500;
line-height: 1.15
}

.contact-us-page .field-input {
border: 1.5px solid #0125612e;
border-radius: 7px;
padding: 12px 16px;
font-size: 16px;
color: #012561;
background: #fff;
outline: none;
transition: border-color .12s ease-out, box-shadow .12s ease-out;
line-height: 1.45;
box-shadow: 1px 1px 5px 0 #0125610d
}

.contact-us-page .field-input::placeholder {
color: #01256166
}

.contact-us-page .field-input:focus {
border-color: #D02341;
box-shadow: 1px 5px 28px 0 #d023411c
}

.contact-us-page .services-label {
font-size: 16px;
color: #012561;
font-weight: 500;
margin-bottom: 12px;
line-height: 1.15;
display: block
}

.contact-us-page .services-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-bottom: 24px
}

.contact-us-page .check-item {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px;
border: 1.5px solid #0125611f;
border-radius: 7px;
cursor: pointer;
transition: border-color .1s ease-out, background .1s ease-out
}

.contact-us-page .check-item:hover {
border-color: #D02341;
background: #d023410a
}

.contact-us-page .check-item input[type="checkbox"] {
accent-color: #D02341;
width: 18px;
height: 18px;
cursor: pointer;
flex-shrink: 0
}

.contact-us-page .check-text {
font-size: 16px;
color: #012561;
line-height: 1.45
}

.contact-us-page .message-group {
margin-bottom: 24px;
display: flex;
flex-direction: column;
gap: 6px
}

.contact-us-page .field-textarea {
border: 1.5px solid #0125612e;
border-radius: 7px;
padding: 12px 16px;
font-size: 16px;
color: #012561;
background: #fff;
outline: none;
resize: vertical;
min-height: 110px;
line-height: 1.7;
transition: border-color .12s ease-out, box-shadow .12s ease-out;
box-shadow: 1px 1px 5px 0 #0125610d
}

.contact-us-page .field-textarea::placeholder {
color: #01256166
}

.contact-us-page .field-textarea:focus {
border-color: #D02341;
box-shadow: 1px 5px 28px 0 #d023411c
}

.contact-us-page .privacy-row {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
margin-bottom: 24px;
padding: 12px;
background: #01256108;
border-radius: 7px
}

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

.contact-us-page .privacy-text {
font-size: 16px;
color: #012561b8;
line-height: 1.7
}

.contact-us-page .privacy-text a {
color: #D02341;
text-decoration: underline;
transition: opacity .1s linear
}

.contact-us-page .privacy-text a:hover {
opacity: .72
}

.contact-us-page .submit-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 12px;
background: #D02341;
color: #fff;
border: none;
border-radius: 42px;
padding: 16px 36px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
position: relative;
overflow: hidden;
transition: box-shadow .12s ease-out, opacity .12s ease-out;
box-shadow: 1px 5px 28px 0 #d023411c;
letter-spacing: .04em
}

.contact-us-page .submit-btn::before {
content: '';
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: #012561;
transition: left .15s ease-out;
z-index: 0
}

.contact-us-page .submit-btn:hover::before {
left: 0
}

.contact-us-page .submit-btn:hover {
box-shadow: 1px 12px 40px 0 #d0234121
}

.contact-us-page .submit-btn span,
.contact-us-page .submit-btn i {
position: relative;
z-index: 1
}

.contact-us-page .info-column {
flex: 1;
display: flex;
flex-direction: column;
gap: 36px;
padding-top: 36px
}

.contact-us-page .info-card {
padding: 24px;
border-radius: 14px;
background: conic-gradient(from 143deg at 30% 60%, #0125610a 0deg, #d023410d 120deg, #feaf520f 240deg, #0125610a 360deg);
box-shadow: 1px 1px 5px 0 #0125610d;
position: relative
}

.contact-us-page .info-card-icon {
width: 42px;
height: 42px;
background: #D02341;
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
color: #fff;
font-size: 19px
}

.contact-us-page .info-card-label {
font-size: 16px;
letter-spacing: .1em;
text-transform: uppercase;
color: #01256180;
font-weight: 500;
margin-bottom: 6px;
line-height: 1.15
}

.contact-us-page .info-card-value {
font-size: 19px;
color: #012561;
font-weight: 600;
line-height: 1.45;
text-decoration: none;
display: block;
transition: color .1s linear
}

.contact-us-page .info-card-value:hover {
color: #D02341
}

.contact-us-page .info-card-sub {
font-size: 16px;
color: #01256199;
margin-top: 6px;
line-height: 1.45
}

.contact-us-page .bottom-strip {
background: conic-gradient(from 143deg at 70% 40%, #012561 0deg, #0a1e4d 120deg, #D02341 280deg, #012561 360deg);
padding: 36px;
position: relative;
margin-top: 24px
}

.contact-us-page .bottom-strip::before {
content: '';
display: block;
position: absolute;
top: -22px;
left: 0;
width: 100%;
height: 24px;
background: radial-gradient(circle at 12px 100%, transparent 12px, #012561 12px) left/24px 24px repeat-x;
z-index: 2
}

.contact-us-page .bottom-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 36px
}

.contact-us-page .bottom-text-group {
display: flex;
flex-direction: column;
gap: 6px
}

.contact-us-page .bottom-label {
font-size: 16px;
color: #ffffff8c;
letter-spacing: .1em;
text-transform: uppercase;
line-height: 1.15
}

.contact-us-page .bottom-heading {
font-size: 30px;
color: #fff;
font-weight: 700;
line-height: 1.15;
margin: 0
}

.contact-us-page .bottom-heading em {
font-style: normal;
color: #FEAF52
}

.contact-us-page .bottom-links {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
flex-wrap: wrap
}

.contact-us-page .bottom-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 6px;
color: #ffffffc7;
font-size: 16px;
text-decoration: none;
transition: color .1s linear;
line-height: 1.45
}

.contact-us-page .bottom-link:hover {
color: #FEAF52
}

.contact-us-page .bottom-link i {
font-size: 16px
}

@media (max-width: 1366px) {
.contact-us-page .title-heading {
font-size: 42px
}

.contact-us-page .split-block {
gap: 36px
}
}

@media (max-width: 768px) {
.contact-us-page .title-inner {
flex-direction: column;
gap: 24px
}

.contact-us-page .title-left {
flex: none
}

.contact-us-page .title-heading {
font-size: 30px
}

.contact-us-page .split-block {
flex-direction: column;
padding: 36px 24px
}

.contact-us-page .form-column {
flex: none;
width: 100%
}

.contact-us-page .info-column {
padding-top: 0
}

.contact-us-page .form-row {
flex-direction: column
}

.contact-us-page .services-grid {
grid-template-columns: 1fr
}

.contact-us-page .bottom-inner {
flex-direction: column;
align-items: flex-start
}

.contact-us-page .title-strip {
padding: 36px 24px
}

.contact-us-page .bottom-strip {
padding: 36px 24px
}
}

@media (max-width: 375px) {
.contact-us-page .title-heading {
font-size: 23px
}

.contact-us-page .contact-form {
padding: 24px
}

.contact-us-page .bottom-links {
flex-direction: column;
align-items: flex-start;
gap: 12px
}
}

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

.news-root .news-hero {
background: linear-gradient(143deg, #012561 0%, #D02341 55%, #FEAF52 100%);
padding: 72px 24px;
position: relative
}

.news-root .news-hero-inner {
max-width: 1500px;
margin: 0 auto;
position: relative;
z-index: 1
}

.news-root .news-hero-label {
font-size: 16px;
letter-spacing: .18em;
text-transform: uppercase;
color: #FEAF52;
font-weight: 600;
margin-bottom: 12px;
display: block
}

.news-root .news-hero-heading {
font-size: 58px;
line-height: 1.15;
color: #fff;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0 0 24px;
max-width: 700px
}

.news-root .news-hero-heading span {
color: #FEAF52;
font-weight: 700
}

.news-root .news-hero-sub {
font-size: 19px;
line-height: 1.7;
color: #ffffffd1;
max-width: 520px;
margin: 0
}

.news-root .hero-shape-a {
position: absolute;
top: -30px;
right: 80px;
width: 260px;
height: 260px;
border: 2px solid #feaf522e;
border-radius: 14px;
transform: rotate(22deg);
pointer-events: none
}

.news-root .hero-shape-b {
position: absolute;
bottom: 20px;
right: 200px;
width: 120px;
height: 120px;
background: #ffffff0d;
border-radius: 42px;
pointer-events: none
}

.news-root .news-hero-arrow {
position: absolute;
right: 36px;
bottom: 36px;
opacity: .22;
pointer-events: none
}

.news-root .news-hero-arrow svg {
width: 48px;
height: 48px;
fill: #FEAF52
}

.news-root .posts-area {
max-width: 1500px;
margin: 0 auto;
padding: 72px 24px
}

.news-root .posts-area-label {
font-size: 16px;
letter-spacing: .16em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
margin-bottom: 36px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.news-root .posts-area-label::after {
content: '';
display: block;
width: 48px;
height: 2px;
background: #D02341;
border-radius: 2px
}

.news-root .posts-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 36px
}

.news-root .post-card {
background: #fff;
border-radius: 14px;
box-shadow: 1px 5px 28px 0 #0125611c;
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow .12s ease-out
}

.news-root .post-card:hover {
box-shadow: 1px 12px 40px 0 #01256121
}

.news-root .post-card-image-wrap {
position: relative;
aspect-ratio: 1/1;
overflow: hidden
}

.news-root .post-card-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .15s ease-out
}

.news-root .post-card:hover .post-card-image-wrap img {
transform: scale(1.04)
}

.news-root .post-card-tag {
position: absolute;
top: 12px;
left: 12px;
background: #D02341;
color: #fff;
font-size: 16px;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
padding: 6px 12px;
border-radius: 7px
}

.news-root .post-card-body {
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px;
flex: 1
}

.news-root .post-card-meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
font-size: 16px;
color: #012561;
opacity: .6
}

.news-root .post-card-meta i {
font-size: 16px
}

.news-root .post-card-meta-sep {
width: 4px;
height: 4px;
border-radius: 42px;
background: #FEAF52;
display: inline-block
}

.news-root .post-card-heading {
font-size: 23px;
line-height: 1.45;
color: #012561;
font-weight: 700;
margin: 0;
text-transform: uppercase;
letter-spacing: .04em
}

.news-root .post-card-sub {
font-size: 16px;
line-height: 1.7;
color: #012561;
opacity: .72;
margin: 0
}

.news-root .post-card-desc {
font-size: 16px;
line-height: 1.7;
color: #444;
margin: 0
}

.news-root .post-card-link {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 6px;
font-size: 16px;
font-weight: 600;
color: #D02341;
text-decoration: none;
margin-top: auto;
padding-top: 6px;
position: relative;
overflow: hidden;
transition: color .1s ease-out
}

.news-root .post-card-link::before {
content: '';
position: absolute;
left: 0;
bottom: 0;
height: 2px;
width: 0;
background: #D02341;
border-radius: 2px;
transition: width .13s ease-out
}

.news-root .post-card-link:hover::before {
width: 100%
}

.news-root .post-card-link i {
font-size: 19px;
transition: transform .1s ease-out
}

.news-root .post-card-link:hover i {
transform: translateX(4px)
}

.news-root .insight-band {
background: #012561;
padding: 72px 24px;
position: relative;
overflow: hidden
}

.news-root .insight-band-pattern {
position: absolute;
inset: 0;
opacity: .07;
pointer-events: none
}

.news-root .insight-band-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: center;
position: relative;
z-index: 1
}

.news-root .insight-band-left {
display: flex;
flex-direction: column;
gap: 24px
}

.news-root .insight-band-eyebrow {
font-size: 16px;
letter-spacing: .18em;
text-transform: uppercase;
color: #FEAF52;
font-weight: 600
}

.news-root .insight-band-heading {
font-size: 42px;
line-height: 1.15;
color: #fff;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .05em;
margin: 0
}

.news-root .insight-band-heading strong {
color: #FEAF52;
font-weight: 700
}

.news-root .insight-band-right {
display: flex;
flex-direction: column;
gap: 24px
}

.news-root .insight-band-text {
font-size: 19px;
line-height: 1.7;
color: #fffc;
margin: 0
}

.news-root .insight-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-top: 12px
}

.news-root .insight-stat {
border-top: 2px solid #feaf5259;
padding-top: 12px;
display: flex;
flex-direction: column;
gap: 6px
}

.news-root .insight-stat-number {
font-size: 42px;
line-height: 1.15;
color: #FEAF52;
font-weight: 700
}

.news-root .insight-stat-label {
font-size: 16px;
line-height: 1.45;
color: #ffffffa6;
text-transform: uppercase;
letter-spacing: .1em
}

.news-root .contact-band {
background: #fff;
padding: 72px 24px;
border-top: 1px solid #01256114
}

.news-root .contact-band-inner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 2fr 1fr;
gap: 72px;
align-items: start
}

.news-root .contact-band-left {
display: flex;
flex-direction: column;
gap: 24px
}

.news-root .contact-band-eyebrow {
font-size: 16px;
letter-spacing: .16em;
text-transform: uppercase;
color: #D02341;
font-weight: 600
}

.news-root .contact-band-heading {
font-size: 42px;
line-height: 1.15;
color: #012561;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .05em;
margin: 0
}

.news-root .contact-band-heading em {
font-style: normal;
color: #D02341;
font-weight: 700
}

.news-root .contact-band-text {
font-size: 19px;
line-height: 1.7;
color: #333;
margin: 0;
max-width: 520px
}

.news-root .contact-form {
display: flex;
flex-direction: column;
gap: 12px
}

.news-root .contact-form-field {
display: flex;
flex-direction: column;
gap: 6px
}

.news-root .contact-form-label {
font-size: 16px;
font-weight: 600;
color: #012561;
letter-spacing: .06em;
text-transform: uppercase
}

.news-root .contact-form-input {
border: 1.5px solid #0125612e;
border-radius: 7px;
padding: 12px;
font-size: 16px;
color: #012561;
background: #fff;
outline: none;
transition: border-color .1s ease-out;
box-shadow: inset 1px 1px 5px 0 #0125610d
}

.news-root .contact-form-input::placeholder {
color: #01256166
}

.news-root .contact-form-input:focus {
border-color: #D02341
}

.news-root .contact-form-textarea {
border: 1.5px solid #0125612e;
border-radius: 7px;
padding: 12px;
font-size: 16px;
color: #012561;
background: #fff;
outline: none;
resize: vertical;
min-height: 120px;
transition: border-color .1s ease-out;
box-shadow: inset 1px 1px 5px 0 #0125610d
}

.news-root .contact-form-textarea::placeholder {
color: #01256166
}

.news-root .contact-form-textarea:focus {
border-color: #D02341
}

.news-root .contact-form-submit {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 6px;
background: #D02341;
color: #fff;
border: none;
border-radius: 7px;
font-size: 16px;
font-weight: 700;
letter-spacing: .08em;
text-transform: uppercase;
padding: 12px 24px;
cursor: pointer;
position: relative;
overflow: hidden;
transition: box-shadow .1s ease-out;
box-shadow: 1px 5px 28px 0 #d023412e;
align-self: flex-start
}

.news-root .contact-form-submit::before {
content: '';
position: absolute;
left: -100%;
top: 0;
width: 100%;
height: 100%;
background: #012561;
transition: left .13s ease-out;
z-index: 0
}

.news-root .contact-form-submit:hover::before {
left: 0
}

.news-root .contact-form-submit span,
.news-root .contact-form-submit i {
position: relative;
z-index: 1
}

.news-root .contact-form-submit:hover {
box-shadow: 1px 12px 40px 0 #01256121
}

.news-root .contact-band-right {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 12px
}

.news-root .contact-detail-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px;
border-radius: 7px;
background: #01256108;
box-shadow: 1px 1px 5px 0 #0125610d
}

.news-root .contact-detail-icon {
width: 36px;
height: 36px;
background: #D02341;
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.news-root .contact-detail-icon i {
color: #fff;
font-size: 19px
}

.news-root .contact-detail-text {
display: flex;
flex-direction: column;
gap: 6px
}

.news-root .contact-detail-label {
font-size: 16px;
font-weight: 600;
color: #012561;
text-transform: uppercase;
letter-spacing: .08em
}

.news-root .contact-detail-value {
font-size: 16px;
color: #333;
line-height: 1.45
}

.news-root .divider-partial {
max-width: 1500px;
margin: 0 auto;
padding: 0 24px
}

.news-root .divider-partial-line {
width: 40%;
height: 1px;
background: linear-gradient(90deg, #D02341 0%, #d0234100 100%);
border-radius: 2px
}

@media (max-width: 1366px) {
.news-root .news-hero-heading {
font-size: 42px
}

.news-root .insight-band-heading {
font-size: 30px
}

.news-root .contact-band-heading {
font-size: 30px
}
}

@media (max-width: 768px) {
.news-root .posts-grid {
grid-template-columns: 1fr
}

.news-root .insight-band-inner {
grid-template-columns: 1fr;
gap: 36px
}

.news-root .insight-stats {
grid-template-columns: repeat(2, 1fr)
}

.news-root .contact-band-inner {
grid-template-columns: 1fr;
gap: 36px
}

.news-root .news-hero-heading {
font-size: 30px
}

.news-root .hero-shape-a {
display: none
}
}

@media (max-width: 375px) {
.news-root .news-hero {
padding: 36px 12px
}

.news-root .posts-area {
padding: 36px 12px
}

.news-root .insight-stats {
grid-template-columns: 1fr
}

.news-root .news-hero-heading {
font-size: 23px
}

.news-root .insight-band {
padding: 36px 12px
}

.news-root .contact-band {
padding: 36px 12px
}
}

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

.debut .page-band {
width: 100%;
max-width: 1500px;
margin-left: auto;
margin-right: auto;
padding-left: 36px;
padding-right: 36px
}

.debut .divider-strip {
display: flex;
justify-content: center;
align-items: center;
padding: 24px 0
}

.debut .divider-strip span {
display: block;
width: 72px;
height: 3px;
background: #D02341;
border-radius: 42px
}

.debut .opening {
background: conic-gradient(from 143deg at 8% 12%, #012561 0%, #f5f0eb 38%, #fff8f2 60%, #fff 100%);
padding-top: 36px;
padding-bottom: 72px;
position: relative
}

.debut .opening-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: end
}

.debut .opening-text-zone {
position: relative
}

.debut .opening-deco {
position: absolute;
top: -12px;
left: -24px;
width: 180px;
height: 180px;
border: 2px solid #d0234121;
border-radius: 14px;
pointer-events: none;
z-index: 0
}

.debut .opening-deco::after {
content: '';
display: block;
position: absolute;
top: 8px;
left: 8px;
right: -8px;
bottom: -8px;
border: 2px solid #01256117;
border-radius: 14px
}

.debut .opening-label {
font-size: 16px;
letter-spacing: .12em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
line-height: 1.15;
margin-bottom: 24px;
position: relative;
z-index: 1
}

.debut .opening-h1 {
font-size: 58px;
line-height: 1.15;
color: #012561;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
margin-bottom: 24px;
position: relative;
z-index: 1
}

.debut .opening-h1 strong {
font-weight: 700;
color: #D02341
}

.debut .opening-body {
font-size: 19px;
line-height: 1.7;
color: #2a2a3a;
max-width: 480px;
position: relative;
z-index: 1
}

.debut .opening-meta {
display: flex;
flex-direction: row;
gap: 36px;
margin-top: 36px;
position: relative;
z-index: 1
}

.debut .opening-stat {
display: flex;
flex-direction: column;
gap: 6px
}

.debut .opening-stat-value {
font-size: 42px;
font-weight: 700;
color: #012561;
line-height: 1.15
}

.debut .opening-stat-label {
font-size: 16px;
color: #5a5a6a;
line-height: 1.45;
letter-spacing: .06em
}

.debut .opening-image-zone {
position: relative
}

.debut .opening-img-frame {
position: relative;
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 12px 40px 0 #01256121
}

.debut .opening-img-frame img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
mix-blend-mode: multiply;
filter: contrast(1.05) saturate(0.92)
}

.debut .opening-img-overlay {
position: absolute;
inset: 0;
background: conic-gradient(from 143deg at 90% 10%, #d023412e 0%, transparent 55%);
border-radius: 14px;
pointer-events: none
}

.debut .prereq {
background: #fff;
padding-top: 72px;
padding-bottom: 72px
}

.debut .prereq-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: start
}

.debut .prereq-aside {
position: sticky;
top: 36px
}

.debut .prereq-aside-label {
font-size: 16px;
letter-spacing: .1em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
margin-bottom: 12px
}

.debut .prereq-aside-heading {
font-size: 30px;
line-height: 1.15;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .05em;
color: #012561
}

.debut .prereq-aside-heading em {
font-style: normal;
color: #D02341;
font-weight: 700
}

.debut .prereq-list {
list-style: none;
padding: 0;
margin: 0;
display: flex;
flex-direction: column;
gap: 24px
}

.debut .prereq-list li {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
padding: 24px;
border: 1px solid #0125611a;
border-radius: 14px;
background: #fdfcfb;
box-shadow: 1px 1px 5px 0 #0125610d;
transition: box-shadow .12s ease-out
}

.debut .prereq-list li:hover {
box-shadow: 1px 5px 28px 0 #0125611c
}

.debut .prereq-num {
font-size: 42px;
font-weight: 700;
color: #d0234126;
line-height: 1.15;
min-width: 48px
}

.debut .prereq-text-block {
display: flex;
flex-direction: column;
gap: 6px
}

.debut .prereq-item-heading {
font-size: 19px;
font-weight: 700;
color: #012561;
line-height: 1.45;
text-transform: uppercase;
letter-spacing: .04em
}

.debut .prereq-item-body {
font-size: 16px;
line-height: 1.7;
color: #3a3a4a
}

.debut .situations {
background: #f4f2ef;
padding-top: 72px;
padding-bottom: 72px;
position: relative
}

.debut .situations-bg {
position: absolute;
inset: 0;
background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23012561' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
pointer-events: none
}

.debut .situations-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px;
position: relative
}

.debut .situations-heading-row {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 36px;
margin-bottom: 36px
}

.debut .situations-heading {
font-size: 42px;
line-height: 1.15;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
color: #012561;
flex: 1
}

.debut .situations-heading strong {
font-weight: 700;
color: #D02341
}

.debut .situations-desc {
font-size: 16px;
line-height: 1.7;
color: #4a4a5a;
max-width: 340px
}

.debut .situations-grid {
display: grid;
grid-template-columns: 2fr 1fr 1fr;
grid-template-rows: auto auto;
gap: 24px
}

.debut .sit-card {
background: #fff;
border-radius: 14px;
padding: 36px;
box-shadow: 1px 1px 5px 0 #d023410d;
transition: box-shadow .1s linear;
display: flex;
flex-direction: column;
gap: 12px
}

.debut .sit-card:hover {
box-shadow: 1px 5px 28px 0 #d023411c
}

.debut .sit-card.featured {
grid-row: 1 / 3;
background: #012561;
position: relative;
overflow: hidden
}

.debut .sit-card.featured::before {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 160px;
height: 160px;
background: #d023412e;
border-radius: 42px;
transform: translate(40px, 40px)
}

.debut .sit-card-icon {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center
}

.debut .sit-card-icon i {
font-size: 23px;
color: #FEAF52
}

.debut .sit-card.featured .sit-card-icon i {
color: #FEAF52
}

.debut .sit-card-heading {
font-size: 19px;
font-weight: 700;
color: #012561;
text-transform: uppercase;
letter-spacing: .04em;
line-height: 1.15
}

.debut .sit-card.featured .sit-card-heading {
color: #fff;
font-size: 23px
}

.debut .sit-card-body {
font-size: 16px;
line-height: 1.7;
color: #4a4a5a
}

.debut .sit-card.featured .sit-card-body {
color: #ffffffc7
}

.debut .sit-card-img {
margin-top: 12px;
aspect-ratio: 1/1;
border-radius: 7px;
overflow: hidden;
flex: 1
}

.debut .sit-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.debut .objection {
background: #fff;
padding-top: 72px;
padding-bottom: 72px
}

.debut .objection-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center
}

.debut .objection-image-col {
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 12px 40px 0 #01256121;
position: relative
}

.debut .objection-image-col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.debut .objection-double-border {
position: absolute;
inset: 12px;
border: 2px solid #feaf5266;
border-radius: 7px;
pointer-events: none
}

.debut .objection-double-border::after {
content: '';
display: block;
position: absolute;
inset: 6px;
border: 1px solid #d0234133;
border-radius: 2px
}

.debut .objection-text-col {
display: flex;
flex-direction: column;
gap: 24px
}

.debut .objection-tag {
font-size: 16px;
letter-spacing: .1em;
text-transform: uppercase;
color: #D02341;
font-weight: 600
}

.debut .objection-heading {
font-size: 30px;
line-height: 1.15;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
color: #012561
}

.debut .objection-heading strong {
font-weight: 700
}

.debut .objection-body {
font-size: 16px;
line-height: 1.7;
color: #3a3a4a
}

.debut .objection-pull {
padding: 24px;
background: linear-gradient(143deg, #d023410f 0%, #feaf520f 100%);
border-radius: 14px;
font-size: 19px;
line-height: 1.45;
color: #012561;
font-weight: 300;
font-style: italic
}

.debut .limits {
background: #012561;
padding-top: 72px;
padding-bottom: 72px;
position: relative;
overflow: hidden
}

.debut .limits-deco {
position: absolute;
top: -36px;
right: -36px;
width: 300px;
height: 300px;
border: 2px solid #feaf521f;
border-radius: 42px;
pointer-events: none
}

.debut .limits-deco::after {
content: '';
display: block;
position: absolute;
inset: 18px;
border: 1px solid #d0234126;
border-radius: 14px
}

.debut .limits-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px;
position: relative
}

.debut .limits-top {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
margin-bottom: 36px;
align-items: end
}

.debut .limits-heading {
font-size: 42px;
line-height: 1.15;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
color: #fff
}

.debut .limits-heading strong {
font-weight: 700;
color: #FEAF52
}

.debut .limits-intro {
font-size: 16px;
line-height: 1.7;
color: #ffffffb8
}

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

.debut .limit-item {
padding: 24px;
border: 1px solid #ffffff1a;
border-radius: 14px;
display: flex;
flex-direction: column;
gap: 12px;
transition: border-color .1s ease-out
}

.debut .limit-item:hover {
border-color: #feaf5259
}

.debut .limit-item-icon {
font-size: 23px;
color: #FEAF52
}

.debut .limit-item-heading {
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
color: #fff;
line-height: 1.15
}

.debut .limit-item-body {
font-size: 16px;
line-height: 1.7;
color: #ffffffa6
}

.debut .example {
background: #fdfcfb;
padding-top: 72px;
padding-bottom: 72px
}

.debut .example-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px
}

.debut .example-label {
font-size: 16px;
letter-spacing: .1em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
margin-bottom: 12px
}

.debut .example-heading {
font-size: 30px;
line-height: 1.15;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
color: #012561;
margin-bottom: 36px;
max-width: 700px
}

.debut .example-heading strong {
font-weight: 700;
color: #D02341
}

.debut .example-layout {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 36px;
align-items: start
}

.debut .example-image-wrap {
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 5px 28px 0 #0125611c
}

.debut .example-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.debut .example-details {
display: flex;
flex-direction: column;
gap: 24px
}

.debut .example-body {
font-size: 16px;
line-height: 1.7;
color: #3a3a4a
}

.debut .info-card {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 1px 1px 5px 0 #0125610d;
display: flex;
flex-direction: column;
gap: 6px
}

.debut .info-row {
display: flex;
flex-direction: row;
gap: 24px;
padding: 12px 0;
align-items: baseline
}

.debut .info-row+.info-row {
border-top: 1px solid #01256112
}

.debut .info-label {
font-size: 16px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
color: #012561;
min-width: 140px;
flex-shrink: 0
}

.debut .info-value {
font-size: 16px;
line-height: 1.45;
color: #4a4a5a
}

.debut .outcome {
background: linear-gradient(143deg, #f5f0eb 0%, #fff 60%);
padding-top: 72px;
padding-bottom: 72px
}

.debut .outcome-inner {
max-width: 1500px;
margin: 0 auto;
padding-left: 36px;
padding-right: 36px
}

.debut .outcome-top {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 72px;
align-items: end;
margin-bottom: 36px
}

.debut .outcome-heading {
font-size: 42px;
line-height: 1.15;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
color: #012561
}

.debut .outcome-heading strong {
font-weight: 700;
color: #D02341
}

.debut .outcome-aside-text {
font-size: 16px;
line-height: 1.7;
color: #4a4a5a
}

.debut .outcome-grid {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px
}

.debut .outcome-card {
background: #fff;
border-radius: 14px;
padding: 36px;
box-shadow: 1px 1px 5px 0 #d023410d;
display: flex;
flex-direction: column;
gap: 12px;
transition: box-shadow .15s ease-out
}

.debut .outcome-card:hover {
box-shadow: 1px 12px 40px 0 #d0234121
}

.debut .outcome-card-num {
font-size: 58px;
font-weight: 700;
line-height: 1.15;
color: #d023411f
}

.debut .outcome-card-heading {
font-size: 19px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .04em;
color: #012561;
line-height: 1.15
}

.debut .outcome-card-body {
font-size: 16px;
line-height: 1.7;
color: #4a4a5a
}

.debut .outcome-image-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
margin-top: 36px
}

.debut .outcome-img-wrap {
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 5px 28px 0 #0125611c
}

.debut .outcome-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.debut .outcome-dash {
display: inline-block;
width: 24px;
height: 2px;
background: #D02341;
vertical-align: middle;
margin-right: 12px;
border-radius: 2px
}

@keyframes slideFromLeft {
from {
opacity: 0;
transform: translateX(-32px)
}

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

@keyframes slideFromRight {
from {
opacity: 0;
transform: translateX(32px)
}

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

.debut .anim-left {
animation: slideFromLeft .55s ease-out both
}

.debut .anim-right {
animation: slideFromRight .55s ease-out both
}

.debut .anim-left.delay-1 {
animation-delay: .1s
}

.debut .anim-left.delay-2 {
animation-delay: .22s
}

.debut .anim-right.delay-1 {
animation-delay: .14s
}

.debut .anim-right.delay-2 {
animation-delay: .28s
}

@media (max-width: 1366px) {
.debut .opening-h1 {
font-size: 42px
}

.debut .situations-grid {
grid-template-columns: 1fr 1fr
}

.debut .sit-card.featured {
grid-row: auto
}

.debut .outcome-grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.debut .opening-inner {
grid-template-columns: 1fr;
gap: 36px
}

.debut .opening-h1 {
font-size: 30px
}

.debut .prereq-inner {
grid-template-columns: 1fr;
gap: 36px
}

.debut .prereq-aside {
position: static
}

.debut .situations-heading-row {
flex-direction: column;
gap: 12px
}

.debut .situations-heading {
font-size: 30px
}

.debut .situations-grid {
grid-template-columns: 1fr
}

.debut .objection-inner {
grid-template-columns: 1fr;
gap: 36px
}

.debut .limits-top {
grid-template-columns: 1fr;
gap: 24px
}

.debut .limits-heading {
font-size: 30px
}

.debut .limits-row {
grid-template-columns: 1fr
}

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

.debut .outcome-top {
grid-template-columns: 1fr;
gap: 24px
}

.debut .outcome-heading {
font-size: 30px
}

.debut .outcome-grid {
grid-template-columns: 1fr
}

.debut .outcome-image-row {
grid-template-columns: 1fr
}

.debut .opening-meta {
flex-direction: column;
gap: 12px
}
}

@media (max-width: 375px) {
.debut .page-band {
padding-left: 24px;
padding-right: 24px
}

.debut .opening-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .prereq-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .situations-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .objection-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .limits-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .example-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .outcome-inner {
padding-left: 24px;
padding-right: 24px
}

.debut .opening-h1 {
font-size: 23px
}

.debut .sit-card {
padding: 24px
}
}

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

.services-page *,
.services-page ::before,
.services-page ::after {
box-sizing: border-box
}

.services-page ::selection {
background: #012561;
color: #fff;
font-weight: 700
}

.services-page a {
color: inherit;
text-decoration: none
}

.services-page img {
display: block;
max-width: 100%
}

.services-page .portrait-hero {
max-width: 1500px;
margin: 0 auto;
padding: 72px 36px;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center;
position: relative
}

.services-page .portrait-hero::before {
content: '';
position: absolute;
width: 320px;
height: 320px;
border-radius: 50%;
background: #feaf5212;
right: 60px;
top: 24px;
pointer-events: none
}

.services-page .portrait-hero::after {
content: '';
position: absolute;
width: 180px;
height: 180px;
border-radius: 50%;
background: #d023410d;
left: 40%;
bottom: 36px;
pointer-events: none
}

.services-page .hero-image-column {
position: relative
}

.services-page .hero-image-wrap {
position: relative;
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 12px 40px 0 #01256121;
transition: box-shadow .12s ease-out
}

.services-page .hero-image-wrap:hover {
box-shadow: 1px 5px 28px 0 #01256138 1px 20px 60px 0 #0125612e
}

.services-page .hero-image-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.services-page .hero-image-wrap::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(to top, #0125618c 0%, transparent 55%);
pointer-events: none
}

.services-page .hero-text-column {
padding: 36px 0
}

.services-page .above-heading {
display: inline-block;
font-size: 16px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: #D02341;
margin-bottom: 24px;
padding: 6px 12px;
border: 1px solid #d0234140;
border-radius: 2px
}

.services-page .hero-heading {
font-size: 58px;
line-height: 1.15;
color: #012561;
font-weight: 800;
margin: 0 0 24px
}

.services-page .hero-heading em {
font-style: normal;
color: #D02341
}

.services-page .hero-theses {
display: flex;
flex-direction: column;
gap: 12px;
margin-bottom: 36px
}

.services-page .thesis-item {
font-size: 19px;
line-height: 1.45;
color: #2a2a3d;
padding-left: 12px;
border-left: 3px solid #FEAF52
}

.services-page .hero-cta {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 36px;
background: #012561;
color: #fff;
font-size: 16px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
border-radius: 7px;
text-decoration: none;
position: relative;
overflow: hidden;
transition: color .1s ease-out;
box-shadow: 1px 5px 28px 0 #0125611c
}

.services-page .hero-cta::before {
content: '';
position: absolute;
inset: 0;
background: #D02341;
transform: scaleX(0);
transform-origin: left;
transition: transform .12s ease-out
}

.services-page .hero-cta:hover::before {
transform: scaleX(1)
}

.services-page .hero-cta span,
.services-page .hero-cta i {
position: relative;
z-index: 1
}

@keyframes clip-reveal {
from {
clip-path: inset(0 0 100% 0)
}

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

.services-page .portrait-hero {
animation: clip-reveal .55s ease-out both
}

.services-page .offerings-strip {
background: linear-gradient(143deg, #012561 0%, #f5f6fa 100%);
padding: 72px 0
}

.services-page .offerings-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 36px
}

.services-page .strip-label {
font-size: 16px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: #FEAF52;
margin-bottom: 12px
}

.services-page .strip-heading {
font-size: 42px;
line-height: 1.15;
color: #fff;
font-weight: 700;
margin: 0 0 36px;
max-width: 600px
}

.services-page .offerings-grid {
display: grid;
grid-template-columns: 1fr 1.4fr 1.8fr;
gap: 24px;
margin-top: 36px
}

.services-page .offering-card {
background: #ffffff0f;
border: 1px dashed #feaf5266;
border-radius: 14px;
padding: 36px 24px;
display: flex;
flex-direction: column;
gap: 12px;
transition: background .1s linear, border-color .1s linear;
position: relative;
overflow: hidden
}

.services-page .offering-card:hover {
background: #ffffff1c;
border-color: #feaf52cc
}

.services-page .offering-card::before {
content: '';
position: absolute;
inset: 0;
background: #feaf5200;
transition: background .12s ease-out;
pointer-events: none;
border-radius: 14px
}

.services-page .offering-card:hover::before {
background: #feaf520a
}

.services-page .card-icon {
width: 48px;
height: 48px;
background: #d0234126;
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
color: #FEAF52;
font-size: 23px
}

.services-page .card-name {
font-size: 23px;
line-height: 1.15;
color: #fff;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0
}

.services-page .card-description {
font-size: 16px;
line-height: 1.7;
color: #ffffffbf;
margin: 0
}

.services-page .card-price {
margin-top: auto;
font-size: 19px;
font-weight: 700;
color: #FEAF52;
letter-spacing: .04em
}

.services-page .card-link {
display: inline-flex;
align-items: center;
gap: 6px;
font-size: 16px;
font-weight: 700;
color: #fff;
text-transform: uppercase;
letter-spacing: .08em;
opacity: .7;
transition: opacity .08s ease-out
}

.services-page .card-link:hover {
opacity: 1
}

.services-page .process-band {
padding: 72px 0;
background: #fff
}

.services-page .process-inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 36px
}

.services-page .process-top {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
align-items: start;
margin-bottom: 72px
}

.services-page .process-label {
font-size: 16px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: #D02341;
margin-bottom: 12px
}

.services-page .process-heading {
font-size: 42px;
line-height: 1.15;
color: #012561;
font-weight: 700;
margin: 0
}

.services-page .process-intro {
font-size: 19px;
line-height: 1.7;
color: #2a2a3d;
margin: 0
}

.services-page .steps-row {
display: flex;
flex-direction: row;
gap: 24px;
counter-reset: step-counter
}

.services-page .step-item {
flex: 1;
counter-increment: step-counter;
position: relative;
padding: 36px 24px 24px;
border-radius: 14px;
background: #f5f6fa;
box-shadow: 1px 1px 5px 0 #0125610d;
transition: box-shadow .1s ease-out, transform .1s ease-out
}

.services-page .step-item:hover {
box-shadow: 1px 5px 28px 0 #0125611c;
transform: translateY(-3px)
}

.services-page .step-item::before {
content: counter(step-counter, decimal-leading-zero);
display: block;
font-size: 42px;
font-weight: 800;
line-height: 1;
color: #d023411f;
margin-bottom: 12px
}

.services-page .step-title {
font-size: 19px;
font-weight: 700;
color: #012561;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0 0 12px
}

.services-page .step-text {
font-size: 16px;
line-height: 1.7;
color: #444;
margin: 0
}

.services-page .contact-strip {
background: conic-gradient(from 143deg at 30% 60%, #D02341 0%, #012561 40%, #FEAF52 70%, #D02341 100%);
padding: 72px 36px;
animation: clip-reveal .45s .2s ease-out both
}

.services-page .contact-inner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 36px
}

.services-page .contact-text-group {
display: flex;
flex-direction: column;
gap: 12px
}

.services-page .contact-eyebrow {
font-size: 16px;
font-weight: 700;
letter-spacing: .14em;
text-transform: uppercase;
color: #ffffffb3
}

.services-page .contact-heading {
font-size: 42px;
line-height: 1.15;
color: #fff;
font-weight: 800;
margin: 0
}

.services-page .contact-subtext {
font-size: 19px;
line-height: 1.45;
color: #fffc;
margin: 0;
max-width: 480px
}

.services-page .contact-actions {
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-end;
flex-shrink: 0
}

.services-page .contact-phone {
display: flex;
align-items: center;
gap: 12px;
font-size: 30px;
font-weight: 800;
color: #fff;
letter-spacing: .02em;
transition: opacity .1s ease-out
}

.services-page .contact-phone:hover {
opacity: .8
}

.services-page .contact-email {
display: flex;
align-items: center;
gap: 12px;
font-size: 19px;
color: #fffc;
transition: opacity .08s ease-out
}

.services-page .contact-email:hover {
opacity: 1;
color: #fff
}

.services-page .contact-button {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 36px;
background: #fff;
color: #012561;
font-size: 16px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
border-radius: 7px;
text-decoration: none;
margin-top: 12px;
position: relative;
overflow: hidden;
transition: color .1s ease-out;
box-shadow: 1px 5px 28px 0 #0125611c
}

.services-page .contact-button::before {
content: '';
position: absolute;
inset: 0;
background: #FEAF52;
transform: scaleX(0);
transform-origin: left;
transition: transform .12s ease-out
}

.services-page .contact-button:hover::before {
transform: scaleX(1)
}

.services-page .contact-button span,
.services-page .contact-button i {
position: relative;
z-index: 1
}

@media (max-width: 1366px) {
.services-page .portrait-hero {
gap: 36px;
padding: 72px 24px
}

.services-page .hero-heading {
font-size: 42px
}

.services-page .offerings-grid {
grid-template-columns: 1fr 1.2fr 1.5fr
}
}

@media (max-width: 768px) {
.services-page .portrait-hero {
grid-template-columns: 1fr;
padding: 36px 24px;
gap: 36px
}

.services-page .hero-heading {
font-size: 42px
}

.services-page .offerings-grid {
grid-template-columns: 1fr
}

.services-page .strip-heading {
font-size: 30px
}

.services-page .process-top {
grid-template-columns: 1fr;
gap: 24px;
margin-bottom: 36px
}

.services-page .steps-row {
flex-direction: column
}

.services-page .contact-inner {
flex-direction: column;
align-items: flex-start
}

.services-page .contact-actions {
align-items: flex-start
}

.services-page .contact-heading {
font-size: 30px
}

.services-page .contact-phone {
font-size: 23px
}
}

@media (max-width: 375px) {
.services-page .portrait-hero {
padding: 24px 12px
}

.services-page .hero-heading {
font-size: 30px
}

.services-page .offerings-inner,
.services-page .process-inner {
padding: 0 12px
}

.services-page .contact-strip {
padding: 36px 12px
}

.services-page .process-heading {
font-size: 30px
}
}

.about-us-page {
background: #fff;
overflow-x: clip
}

.about-us-page * {
box-sizing: border-box
}

.about-us-page ::selection {
background: #012561;
color: #fff;
font-weight: 700
}

.about-us-page .portrait-intro {
padding: 72px 24px;
position: relative;
background: linear-gradient(180deg, #f4f6fb 0%, #fff 100%);
overflow: hidden
}

.about-us-page .portrait-intro::before {
content: '';
position: absolute;
top: -60px;
right: -60px;
width: 320px;
height: 320px;
border-radius: 50%;
background: #d023410a;
pointer-events: none
}

.about-us-page .portrait-intro::after {
content: '';
position: absolute;
bottom: -80px;
left: 10%;
width: 200px;
height: 200px;
border-radius: 50%;
background: #0125610a;
pointer-events: none
}

.about-us-page .portrait-intro-container {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px;
align-items: center
}

.about-us-page .portrait-text-zone {
display: flex;
flex-direction: column;
gap: 24px
}

.about-us-page .portrait-label {
font-size: 16px;
letter-spacing: .12em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
line-height: 1.15
}

.about-us-page .portrait-heading {
font-size: 58px;
line-height: 1.15;
color: #012561;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .04em;
margin: 0
}

.about-us-page .portrait-heading em {
font-style: normal;
background: linear-gradient(143deg, #D02341, #FEAF52);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.about-us-page .portrait-body {
font-size: 19px;
line-height: 1.7;
color: #1b2a4a;
margin: 0
}

.about-us-page .portrait-link {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 16px;
color: #D02341;
text-decoration: none;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
position: relative;
padding: 12px 24px;
border: 1.5px solid #D02341;
border-radius: 7px;
overflow: hidden;
width: fit-content;
transition: color .12s ease-out
}

.about-us-page .portrait-link::before {
content: '';
position: absolute;
inset: 0;
background: #D02341;
transform: scaleX(0);
transform-origin: left;
transition: transform .12s ease-out;
z-index: 0
}

.about-us-page .portrait-link:hover::before {
transform: scaleX(1)
}

.about-us-page .portrait-link:hover {
color: #fff
}

.about-us-page .portrait-link span,
.about-us-page .portrait-link i {
position: relative;
z-index: 1
}

.about-us-page .portrait-link:focus-visible {
outline: 3px solid #FEAF52 !important;
outline-offset: 3px !important
}

.about-us-page .mosaic-zone {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 12px;
position: relative
}

.about-us-page .mosaic-large {
grid-column: 1 / 2;
grid-row: 1 / 3;
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 5px 28px 0 #0125611c
}

.about-us-page .mosaic-small-top {
grid-column: 2 / 3;
grid-row: 1 / 2;
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 1px 5px 0 #0125610d
}

.about-us-page .mosaic-small-bottom {
grid-column: 2 / 3;
grid-row: 2 / 3;
aspect-ratio: 1/1;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 1px 5px 0 #0125610d
}

.about-us-page .mosaic-large img,
.about-us-page .mosaic-small-top img,
.about-us-page .mosaic-small-bottom img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
filter: blur(0px);
transition: filter .15s ease-out, transform .15s ease-out
}

.about-us-page .mosaic-large:hover img {
filter: blur(1.5px);
transform: scale(1.03)
}

.about-us-page .mosaic-small-top:hover img,
.about-us-page .mosaic-small-bottom:hover img {
filter: blur(1px);
transform: scale(1.04)
}

.about-us-page .mosaic-accent-circle {
position: absolute;
width: 80px;
height: 80px;
border-radius: 50%;
border: 2px solid #feaf5259;
top: -24px;
left: -24px;
pointer-events: none
}

.about-us-page .mosaic-accent-dot {
position: absolute;
width: 36px;
height: 36px;
border-radius: 50%;
background: #d0234114;
bottom: -12px;
right: -12px;
pointer-events: none
}

.about-us-page .portrait-divider {
display: flex;
align-items: center;
justify-content: center;
padding: 12px 24px
}

.about-us-page .wavy-line {
width: 100%;
max-width: 1500px;
height: 20px;
overflow: hidden
}

.about-us-page .wavy-line svg {
width: 100%;
height: 100%
}

.about-us-page .subscribe-section {
padding: 72px 24px;
background: linear-gradient(180deg, #fff 0%, #eef1f8 100%);
position: relative
}

.about-us-page .subscribe-section::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 260px;
height: 260px;
border-radius: 50%;
background: #feaf5212;
pointer-events: none
}

.about-us-page .subscribe-container {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 72px;
align-items: start
}

.about-us-page .subscribe-left {
display: flex;
flex-direction: column;
gap: 24px
}

.about-us-page .subscribe-tag {
font-size: 16px;
letter-spacing: .1em;
text-transform: uppercase;
color: #FEAF52;
font-weight: 700;
line-height: 1.15
}

.about-us-page .subscribe-heading {
font-size: 30px;
line-height: 1.15;
color: #012561;
font-weight: 300;
text-transform: uppercase;
letter-spacing: .05em;
margin: 0
}

.about-us-page .subscribe-desc {
font-size: 16px;
line-height: 1.7;
color: #1b2a4a;
margin: 0
}

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

.about-us-page .benefit-list li {
font-size: 16px;
line-height: 1.45;
color: #1b2a4a;
display: flex;
align-items: flex-start;
gap: 12px
}

.about-us-page .benefit-list li::before {
content: '';
display: block;
width: 8px;
height: 8px;
min-width: 8px;
border-radius: 2px;
background: #D02341;
margin-top: 6px
}

.about-us-page .subscribe-right {
display: flex;
flex-direction: column;
gap: 24px
}

.about-us-page .subscribe-form-card {
background: #fff;
border-radius: 14px;
padding: 36px;
box-shadow: 1px 12px 40px 0 #01256121;
border: 1.5px solid #01256112;
display: flex;
flex-direction: column;
gap: 24px;
position: relative;
overflow: hidden
}

.about-us-page .subscribe-form-card::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(143deg, #D02341, #FEAF52);
border-radius: 14px 14px 0 0
}

.about-us-page .form-card-heading {
font-size: 23px;
line-height: 1.15;
color: #012561;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .04em;
margin: 0
}

.about-us-page .form-row {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px
}

.about-us-page .field-group {
display: flex;
flex-direction: column;
gap: 6px
}

.about-us-page .field-label {
font-size: 16px;
font-weight: 600;
color: #012561;
letter-spacing: .05em;
text-transform: uppercase
}

.about-us-page .field-input {
padding: 12px 16px;
border: 1.5px solid #01256133;
border-radius: 7px;
font-size: 16px;
color: #1b2a4a;
background: #f7f9fd;
outline: none;
transition: border-color .1s ease-out, box-shadow .1s ease-out
}

.about-us-page .field-input::placeholder {
color: #1b2a4a66
}

.about-us-page .field-input:focus {
border-color: #D02341;
box-shadow: 1px 1px 5px 0 #d023410d
}

.about-us-page .field-input:focus-visible {
outline: 3px solid #FEAF52 !important;
outline-offset: 2px !important
}

.about-us-page .subscribe-submit {
display: inline-flex;
align-items: center;
gap: 12px;
background: #012561;
color: #fff;
border: none;
border-radius: 7px;
padding: 12px 36px;
font-size: 16px;
font-weight: 600;
letter-spacing: .07em;
text-transform: uppercase;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .1s ease-out;
align-self: flex-start
}

.about-us-page .subscribe-submit::before {
content: '';
position: absolute;
inset: 0;
background: #D02341;
transform: scaleX(0);
transform-origin: left;
transition: transform .12s ease-out
}

.about-us-page .subscribe-submit:hover::before {
transform: scaleX(1)
}

.about-us-page .subscribe-submit span,
.about-us-page .subscribe-submit i {
position: relative;
z-index: 1
}

.about-us-page .subscribe-submit:focus-visible {
outline: 3px solid #FEAF52 !important;
outline-offset: 3px !important
}

.about-us-page .subscribe-note {
font-size: 16px;
line-height: 1.45;
color: #1b2a4a99;
margin: 0
}

.about-us-page .two-images-strip {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-top: 24px
}

.about-us-page .strip-image {
aspect-ratio: 1/1;
border-radius: 7px;
overflow: hidden;
box-shadow: 1px 5px 28px 0 #0125611c
}

.about-us-page .strip-image img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .15s ease-out
}

.about-us-page .strip-image:hover img {
transform: scale(1.04)
}

@keyframes clip-reveal {
from {
clip-path: inset(0 100% 0 0)
}

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

.about-us-page .portrait-heading {
animation: clip-reveal .7s ease-out forwards
}

.about-us-page .portrait-body {
animation: clip-reveal .55s .15s ease-out both
}

@media (max-width: 1366px) {
.about-us-page .portrait-intro-container {
gap: 36px
}

.about-us-page .portrait-heading {
font-size: 42px
}

.about-us-page .subscribe-container {
gap: 36px
}
}

@media (max-width: 768px) {
.about-us-page .portrait-intro-container {
grid-template-columns: 1fr;
gap: 36px
}

.about-us-page .portrait-heading {
font-size: 42px
}

.about-us-page .mosaic-zone {
grid-template-columns: 1fr 1fr
}

.about-us-page .subscribe-container {
grid-template-columns: 1fr;
gap: 36px
}

.about-us-page .form-row {
grid-template-columns: 1fr
}

.about-us-page .two-images-strip {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 375px) {
.about-us-page .portrait-heading {
font-size: 30px
}

.about-us-page .portrait-intro {
padding: 36px 12px
}

.about-us-page .subscribe-section {
padding: 36px 12px
}

.about-us-page .subscribe-form-card {
padding: 24px
}

.about-us-page .mosaic-zone {
grid-template-columns: 1fr
}

.about-us-page .mosaic-large {
grid-column: 1/2;
grid-row: 1/2
}

.about-us-page .mosaic-small-top {
grid-column: 1/2;
grid-row: 2/3
}

.about-us-page .mosaic-small-bottom {
display: none
}

.about-us-page .two-images-strip {
grid-template-columns: 1fr
}
}

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

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

.success-page .success-icon {
width: 72px;
height: 72px;
margin: 0 auto 36px;
border-radius: 42px;
background: #fff;
border: 2px solid #D02341;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 5px 28px 0 #d023411c
}

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

.success-page .success-label {
font-size: 16px;
letter-spacing: .12em;
text-transform: uppercase;
color: #D02341;
font-weight: 600;
line-height: 1.15;
margin-bottom: 12px
}

.success-page .success-heading {
font-size: 42px;
line-height: 1.15;
color: #012561;
font-weight: 700;
margin: 0 0 24px
}

.success-page .success-text {
font-size: 19px;
line-height: 1.7;
color: #3a3a3a;
margin: 0 0 36px
}

.success-page .success-divider {
width: 48px;
height: 2px;
background: #FEAF52;
margin: 0 auto 36px;
border-radius: 2px
}

.success-page .success-back {
display: inline-flex;
align-items: center;
gap: 12px;
font-size: 16px;
font-weight: 600;
color: #012561;
text-decoration: none;
padding: 12px 24px;
border-radius: 7px;
border: 2px solid #012561;
position: relative;
overflow: hidden;
transition: color .12s ease-out, border-color .12s ease-out
}

.success-page .success-back::before {
content: '';
position: absolute;
inset: 0;
background: #012561;
transform: translateX(-100%);
transition: transform .13s ease-out;
z-index: 0
}

.success-page .success-back:hover::before {
transform: translateX(0)
}

.success-page .success-back:hover {
color: #fff
}

.success-page .success-back span,
.success-page .success-back svg {
position: relative;
z-index: 1
}

.success-page .success-back svg {
transition: transform .1s ease-out
}

.success-page .success-back:hover svg {
transform: translateX(4px)
}

@media (max-width: 768px) {
.success-page {
padding: 72px 24px
}

.success-page .success-heading {
font-size: 30px
}

.success-page .success-text {
font-size: 16px
}
}

@media (max-width: 375px) {
.success-page {
padding: 36px 12px
}

.success-page .success-heading {
font-size: 23px
}
}

h1, h2, h3, h4, h5, h6 {word-break: break-word;}
