@import "https://cdn.jsdelivr.net/npm/@fontsource/ubuntu@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/ubuntu@latest/700.css";

html {
box-sizing: border-box;
font-size: 100%;
scroll-behavior: auto
}

*,
::before,
::after {
box-sizing: inherit
}

html,
body {
margin: 0
}

body {
font-family: 'Ubuntu', sans-serif;
background-color: #fff;
color: #1B2B33;
overflow-x: hidden
}

.headerStrip {
background-color: #1B2B33;
padding: 8px 24px
}

.headerStripPlate {
max-width: 1500px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

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

.headerStripItem {
display: flex;
align-items: center;
gap: 8px;
font-size: 16px;
color: #F4FDF9;
text-decoration: none;
line-height: 1.35;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.headerStripItem:hover,
.headerStripItem:focus {
color: #D02545;
outline: none;
background-color: transparent
}

.headerStripItem svg {
flex-shrink: 0
}

.headerStripBadge {
font-size: 16px;
color: #f4fdf98c;
line-height: 1.35
}

.headerMain {
background: linear-gradient(135deg, #F4FDF9 0%, #fff 60%, #fce8ec 100%);
padding: 24px 24px 0;
border-bottom: 2px solid #D02545;
box-shadow: 1px 6px 18px 0 #d0254517
}

.headerMainPlate {
max-width: 1500px;
margin: 0 auto;
display: flex;
align-items: center;
gap: 40px;
justify-content: space-between;
flex-wrap: wrap
}

.brandCell {
display: flex;
align-items: center;
gap: 12px;
text-decoration: none;
flex-shrink: 0
}

.logoFrame {
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #1B2B33;
border-radius: 8px;
background-color: #fff;
box-shadow: 1px 2px 6px 0 #1b2b330f inset 0 1px 3px 0 #d0254514;
padding: 4px 8px
}

.logoFrame img {
display: block;
width: auto;
object-fit: contain
}

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

.brandName {
font-size: 27px;
font-weight: 700;
color: #1B2B33;
line-height: 1.1;
letter-spacing: -.02em
}

.brandTagline {
font-size: 16px;
color: #D02545;
line-height: 1.35;
font-weight: 400
}

.mainMenuDeck {
display: flex;
align-items: stretch;
gap: 4px;
flex-wrap: wrap
}

.menuLink {
display: flex;
align-items: center;
font-size: 16px;
font-weight: 700;
color: #1B2B33;
text-decoration: none;
padding: 12px;
border-radius: 8px 8px 0 0;
line-height: 1.35;
border: 2px solid transparent;
border-bottom: none;
position: relative;
transition: color .35s ease-in-out, background-color .42s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .35s ease-in-out
}

.menuLink::after {
content: '';
display: block;
position: absolute;
bottom: 0;
left: 12px;
right: 12px;
height: 3px;
background-color: #D02545;
border-radius: 3px 3px 0 0;
transform: scaleX(0);
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.menuLink:hover::after,
.menuLink:focus::after {
transform: scaleX(1)
}

.menuLink:hover,
.menuLink:focus {
color: #D02545;
background-color: #d025450f;
border-color: #d025452e;
outline: none
}

.menuLink[aria-current="page"] {
color: #D02545;
border-color: #d0254540;
background-color: #d025450d
}

.menuLink[aria-current="page"]::after {
transform: scaleX(1)
}

.footerRoot {
background-color: #1B2B33;
padding: 80px 24px 40px;
position: relative;
overflow: hidden
}

.footerRoot::before {
content: '';
display: block;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #D02545 0%, #d025454d 60%, transparent 100%)
}

.footerTopDeck {
max-width: 1500px;
margin: 0 auto;
display: flex;
gap: 40px;
flex-wrap: wrap;
justify-content: space-between;
align-items: flex-start;
padding-bottom: 40px;
border-bottom: 1px solid #f4fdf91f
}

.footerBrandPod {
display: flex;
flex-direction: column;
gap: 12px;
flex: 0 0 auto
}

.footerBrandLink {
display: flex;
align-items: center;
gap: 12px;
text-decoration: none
}

.footerLogoFrame {
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #f4fdf94d;
border-radius: 8px;
background-color: #fff;
box-shadow: 1px 2px 6px 0 #1b2b330f;
padding: 4px 8px
}

.footerLogoFrame img {
display: block;
width: auto;
object-fit: contain
}

.footerBrandName {
font-size: 21px;
font-weight: 700;
color: #F4FDF9;
line-height: 1.1;
letter-spacing: -.01em
}

.footerTagline {
font-size: 16px;
color: #f4fdf999;
line-height: 1.55;
max-width: 280px
}

.footerNavPod {
display: flex;
flex-direction: column;
gap: 12px
}

.footerNavLabel {
font-size: 16px;
font-weight: 700;
color: #D02545;
line-height: 1.35;
letter-spacing: .04em;
text-transform: uppercase
}

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

.footerNavList li a {
font-size: 16px;
color: #f4fdf9cc;
text-decoration: none;
line-height: 1.35;
display: inline-flex;
align-items: center;
gap: 8px;
border-radius: 3px;
padding: 4px 0;
transition: color .4s ease-in-out
}

.footerNavList li a:hover,
.footerNavList li a:focus {
color: #F4FDF9;
outline: none
}

.footerContactPod {
display: flex;
flex-direction: column;
gap: 12px
}

.footerContactLabel {
font-size: 16px;
font-weight: 700;
color: #D02545;
line-height: 1.35;
letter-spacing: .04em;
text-transform: uppercase
}

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

.footerContactList li {
display: flex;
align-items: flex-start;
gap: 8px
}

.footerContactList li a,
.footerContactList li span {
font-size: 16px;
color: #f4fdf9cc;
text-decoration: none;
line-height: 1.55;
transition: color .38s ease-in-out
}

.footerContactList li a:hover,
.footerContactList li a:focus {
color: #F4FDF9;
outline: none
}

.footerContactList li svg {
flex-shrink: 0;
margin-top: 4px
}

.footerBottomDeck {
max-width: 1500px;
margin: 40px auto 0;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px
}

.footerCopyright {
font-size: 16px;
color: #f4fdf973;
line-height: 1.35
}

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

.footerLegalList li a {
font-size: 16px;
color: #f4fdf98c;
text-decoration: none;
line-height: 1.35;
border-radius: 3px;
padding: 4px 0;
transition: color .35s ease-in-out
}

.footerLegalList li a:hover,
.footerLegalList li a:focus {
color: #F4FDF9;
outline: none
}

.cookiePopupHost {
position: fixed;
top: 24px;
left: 0;
right: 0;
margin: 0 auto;
width: 560px;
max-width: calc(100vw - 48px);
z-index: 1200;
display: none
}

.cookieCard {
background-color: #fff;
border-radius: 14px;
box-shadow: 1px 8px 40px 0 #d0254524;
border: 1px solid #1b2b331a;
padding: 24px;
display: flex;
flex-direction: column;
gap: 12px
}

.cookieDescription {
font-size: 16px;
color: #1B2B33;
line-height: 1.55;
font-family: 'Ubuntu', sans-serif
}

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

.cookieToggleRow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 8px 12px;
background-color: #F4FDF9;
border-radius: 8px;
border: 1px solid #1b2b3314
}

.cookieToggleLabel {
font-size: 16px;
color: #1B2B33;
line-height: 1.35;
font-family: 'Ubuntu', sans-serif
}

.cookieToggleSwitch {
position: relative;
width: 44px;
height: 24px;
flex-shrink: 0
}

.cookieToggleSwitch input {
opacity: 0;
width: 0;
height: 0;
position: absolute
}

.cookieToggleTrack {
position: absolute;
inset: 0;
background-color: #1b2b3333;
border-radius: 40px;
cursor: pointer;
transition: background-color .38s ease-in-out
}

.cookieToggleTrack::after {
content: '';
position: absolute;
width: 18px;
height: 18px;
background-color: #fff;
border-radius: 40px;
top: 3px;
left: 3px;
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.cookieToggleSwitch input:checked+.cookieToggleTrack {
background-color: #D02545
}

.cookieToggleSwitch input:checked+.cookieToggleTrack::after {
transform: translateX(20px)
}

.cookieToggleSwitch input:focus+.cookieToggleTrack {
outline: 2px solid #D02545;
outline-offset: 2px
}

.cookieDataRow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 8px 12px;
background-color: #d025450a;
border-radius: 8px;
border: 1px solid #d0254526
}

.cookieDataLabel {
font-size: 16px;
color: #1B2B33;
line-height: 1.35;
font-family: 'Ubuntu', sans-serif
}

.cookieActionsPlate {
display: flex;
align-items: center;
gap: 12px;
flex-wrap: wrap
}

.cookieAcceptButton {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
font-weight: 700;
color: #fff;
background-color: #D02545;
border: 2px solid #D02545;
border-radius: 24px;
padding: 12px 24px;
cursor: pointer;
line-height: 1.35;
transition: background-color .38s ease-in-out, border-color .38s ease-in-out, box-shadow .42s cubic-bezier(0.34, 1.2, 0.64, 1);
min-height: 44px
}

.cookieAcceptButton:hover,
.cookieAcceptButton:focus {
background-color: #a81d38;
border-color: #a81d38;
box-shadow: 1px 6px 18px 0 #d0254517 inset 0 0 0 2px #ffffff40;
outline: none
}

.cookieDenyLink {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
color: #1b2b3399;
background: transparent;
border: none;
cursor: pointer;
text-decoration: underline;
line-height: 1.35;
padding: 4px 8px;
border-radius: 3px;
transition: color .35s ease-in-out;
min-height: 44px
}

.cookieDenyLink:hover,
.cookieDenyLink:focus {
color: #1B2B33;
outline: none
}

.cookieMiniBanner {
position: fixed;
bottom: 24px;
left: 24px;
z-index: 1200;
display: none
}

.cookieMiniBannerButton {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
color: #F4FDF9;
background-color: #1B2B33;
border: 2px solid #f4fdf933;
border-radius: 24px;
padding: 8px 12px;
cursor: pointer;
line-height: 1.35;
display: flex;
align-items: center;
gap: 8px;
min-height: 44px;
box-shadow: 1px 6px 18px 0 #1b2b3317;
transition: background-color .38s ease-in-out, border-color .38s ease-in-out
}

.cookieMiniBannerButton:hover,
.cookieMiniBannerButton:focus {
background-color: #D02545;
border-color: #d0254566;
outline: none
}

@media (max-width: 992px) {
.headerStripContact {
gap: 12px
}

.headerMainPlate {
gap: 24px
}

.mainMenuDeck {
gap: 4px
}

.menuLink {
padding: 12px 8px;
font-size: 16px
}

.footerTopDeck {
gap: 40px
}
}

@media (max-width: 576px) {
.headerStrip {
padding: 8px 12px
}

.headerStripBadge {
display: none
}

.headerMain {
padding: 24px 12px 0
}

.headerMainPlate {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.mainMenuDeck {
width: 100%
}

.menuLink {
padding: 12px 8px;
font-size: 16px;
flex: 1 1 auto;
justify-content: center
}

.footerRoot {
padding: 40px 12px 24px
}

.footerTopDeck {
flex-direction: column;
gap: 24px
}

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

.cookiePopupHost {
top: 12px;
max-width: calc(100vw - 24px)
}

.cookieMiniBanner {
bottom: 12px;
left: 12px
}
}

.doc-info {
max-width: 1500px;
margin: 0 auto;
padding: 80px 40px;
color: #1B2B33;
font-size: 18px;
line-height: 1.55
}

.doc-info ul,
.doc-info ol {
padding-left: 24px;
margin-top: 12px;
margin-bottom: 24px
}

.doc-info ul ul,
.doc-info ol ol,
.doc-info ul ol,
.doc-info ol ul {
margin-top: 8px;
margin-bottom: 8px
}

.doc-info li {
margin-bottom: 8px;
line-height: 1.55;
font-size: 18px;
color: #1B2B33
}

.doc-info li::marker {
color: #D02545
}

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

.doc-info a {
color: #D02545;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .38s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color .38s ease-in-out
}

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

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

.doc-info hr {
border: none;
border-top: 1px solid #1b2b3326;
margin: 40px 0;
box-shadow: inset 0 1px 2px 0 #d025450f
}

.doc-info div {
margin-bottom: 24px
}

@media (max-width: 992px) {
.doc-info {
padding: 40px 24px;
font-size: 18px
}
}

@media (max-width: 576px) {
.doc-info {
padding: 24px 12px;
font-size: 16px
}

.doc-info li {
font-size: 16px
}

.doc-info ul,
.doc-info ol {
padding-left: 24px;
margin-bottom: 24px
}

.doc-info hr {
margin: 24px 0
}
}

.guides_detail {
max-width: 1500px;
margin: 0 auto;
overflow-x: clip
}

.guides_detail .reading_bar {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 4px;
background: #f0e8ea;
z-index: 100
}

.guides_detail .reading_bar_fill {
height: 100%;
background: linear-gradient(107deg, #D02545, #1B2B33);
width: 0;
transition: width .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.guides_detail .article_strip {
display: flex;
flex-direction: row;
min-height: 320px;
background: #fff;
border-bottom: 1px solid #1b2b331a;
position: relative;
overflow: hidden
}

.guides_detail .strip_image_col {
width: 220px;
flex-shrink: 0;
position: relative;
overflow: hidden
}

.guides_detail .strip_image_col img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-right: 2px solid #d025452e
}

.guides_detail .strip_image_col::after {
content: "";
position: absolute;
inset: 0;
background: repeating-linear-gradient(0deg, #1b2b330a 0px, #1b2b330a 1px, transparent 1px, transparent 4px);
pointer-events: none
}

.guides_detail .strip_text_col {
flex: 1;
padding: 40px 80px 40px 40px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative
}

.guides_detail .strip_deco {
position: absolute;
right: 40px;
top: 40px;
width: 80px;
height: 80px;
background: #d025450f;
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
pointer-events: none
}

.guides_detail .strip_meta {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
margin-bottom: 12px
}

.guides_detail .strip_meta_item {
font-size: 16px;
color: #1b2b3399;
line-height: 1.35
}

.guides_detail .strip_meta_dot {
width: 4px;
height: 4px;
border-radius: 40px;
background: #D02545;
display: inline-block
}

.guides_detail .strip_h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.03em;
color: #1B2B33;
margin: 0 0 12px;
background: linear-gradient(107deg, #1B2B33 40%, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.guides_detail .strip_subtitle {
font-size: 18px;
line-height: 1.55;
color: #1b2b33b8;
margin: 0;
max-width: 640px
}

.guides_detail .strip_author_row {
margin-top: 24px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.guides_detail .strip_author_badge {
display: flex;
flex-direction: row;
align-items: center;
gap: 8px;
padding: 8px 12px;
background: #F4FDF9;
border-radius: 8px;
border: 1px solid #d025451f
}

.guides_detail .strip_author_icon {
width: 28px;
height: 28px;
border-radius: 40px;
background: linear-gradient(107deg, #D02545, #1B2B33);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.guides_detail .strip_author_icon svg {
display: block
}

.guides_detail .strip_author_name {
font-size: 16px;
color: #1B2B33;
line-height: 1.35
}

.guides_detail .article_body_section {
background: #fff;
padding: 80px 0
}

.guides_detail .article_body_layout {
max-width: 1500px;
margin: 0 auto;
padding: 0 80px;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.guides_detail .article_aside {
width: 200px;
flex-shrink: 0;
position: sticky;
top: 80px
}

.guides_detail .aside_label {
font-size: 16px;
color: #1b2b3380;
line-height: 1.35;
margin-bottom: 8px;
letter-spacing: .04em;
text-transform: uppercase
}

.guides_detail .aside_note {
font-size: 16px;
color: #1B2B33;
line-height: 1.55;
border-left: 3px solid #D02545;
border-top: 1px solid #d025452e;
padding: 12px;
background: #F4FDF9;
border-radius: 0 8px 8px 0;
margin-bottom: 24px
}

.guides_detail .aside_readtime {
display: flex;
flex-direction: column;
gap: 4px;
padding: 12px;
background: #d025450d;
border-radius: 8px;
border: 1px solid #d025451a
}

.guides_detail .aside_readtime_label {
font-size: 16px;
color: #1b2b3380;
line-height: 1.35
}

.guides_detail .aside_readtime_value {
font-size: 21px;
color: #D02545;
line-height: 1.35
}

.guides_detail .article_text {
flex: 1;
min-width: 0
}

.guides_detail .article_text p {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin-bottom: 24px
}

.guides_detail .article_text h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1B2B33;
background: linear-gradient(107deg, #1B2B33 30%, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 40px 0 12px
}

.guides_detail .article_text h3 {
font-size: 27px;
line-height: 1.35;
color: #1B2B33;
margin: 24px 0 12px
}

.guides_detail .article_text em {
color: #D02545;
font-style: italic
}

.guides_detail .article_text abbr {
border-bottom: 1px dashed #d0254580;
cursor: help
}

.guides_detail .article_text blockquote {
margin: 24px 0;
padding: 24px;
background: #F4FDF9;
border-left: 4px solid #D02545;
border-top: 1px solid #d0254526;
border-radius: 0 14px 14px 0;
font-size: 21px;
line-height: 1.35;
color: #1B2B33;
box-shadow: 1px 2px 6px 0 #d025450f
}

.guides_detail .article_text figure {
margin: 24px 0
}

.guides_detail .article_text figure img {
width: 100%;
border-radius: 8px;
border: 1px solid #1b2b331f;
display: block;
object-fit: cover
}

.guides_detail .article_text figcaption {
font-size: 16px;
color: #1b2b338c;
margin-top: 8px;
line-height: 1.35
}

.guides_detail .article_text table {
width: 100%;
border-collapse: collapse;
margin: 24px 0;
font-size: 16px;
border-radius: 8px;
overflow: hidden;
box-shadow: 1px 2px 6px 0 #1b2b330f
}

.guides_detail .article_text thead {
background: linear-gradient(107deg, #1B2B33, #D02545)
}

.guides_detail .article_text thead th {
color: #fff;
padding: 12px 24px;
text-align: left;
font-size: 16px;
line-height: 1.35
}

.guides_detail .article_text tbody tr {
border-bottom: 1px solid #1b2b3314;
transition: background .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.guides_detail .article_text tbody tr:hover {
background: #F4FDF9
}

.guides_detail .article_text td {
padding: 12px 24px;
color: #1B2B33;
line-height: 1.55
}

.guides_detail .article_text tfoot td {
padding: 12px 24px;
background: #d025450d;
color: #1b2b33a6;
font-size: 16px;
line-height: 1.35
}

.guides_detail .article_cta_section {
background: #F4FDF9;
padding: 80px 0;
position: relative;
overflow: hidden
}

.guides_detail .article_cta_section::before {
content: "";
position: absolute;
right: -60px;
bottom: -60px;
width: 260px;
height: 260px;
background: #d0254512;
clip-path: polygon(30% 0%, 100% 0%, 100% 70%, 70% 100%, 0% 100%, 0% 30%);
pointer-events: none
}

.guides_detail .cta_inner {
max-width: 1500px;
margin: 0 auto;
padding: 0 80px;
display: flex;
flex-direction: row;
align-items: center;
gap: 80px
}

.guides_detail .cta_text_col {
flex: 1
}

.guides_detail .cta_heading {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 12px;
background: linear-gradient(107deg, #1B2B33 20%, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.guides_detail .cta_desc {
font-size: 18px;
line-height: 1.55;
color: #1b2b33bf;
margin: 0;
max-width: 480px
}

.guides_detail .cta_actions {
display: flex;
flex-direction: column;
gap: 12px;
flex-shrink: 0
}

.guides_detail .cta_btn_primary {
display: inline-block;
padding: 12px 40px;
background: #D02545;
color: #fff;
font-size: 18px;
line-height: 1.35;
border-radius: 3px;
text-decoration: none;
border: 2px solid #D02545;
position: relative;
transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 1px 6px 18px 0 #d0254517;
text-align: center
}

.guides_detail .cta_btn_primary::after {
content: "";
position: absolute;
inset: 3px;
border: 1px solid #fff0;
border-radius: 3px;
transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.guides_detail .cta_btn_primary:hover {
background: #b01e3a;
box-shadow: 1px 8px 40px 0 #d0254524
}

.guides_detail .cta_btn_primary:hover::after {
border-color: #fff6
}

.guides_detail .cta_btn_secondary {
display: inline-block;
padding: 12px 40px;
background: transparent;
color: #1B2B33;
font-size: 18px;
line-height: 1.35;
border-radius: 3px;
text-decoration: none;
border: 2px solid #1b2b3340;
position: relative;
transition: border-color .35s ease-in-out, color .35s ease-in-out;
text-align: center
}

.guides_detail .cta_btn_secondary::after {
content: "";
position: absolute;
inset: 3px;
border: 1px solid transparent;
border-radius: 3px;
transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.guides_detail .cta_btn_secondary:hover {
border-color: #1B2B33;
color: #D02545
}

.guides_detail .cta_btn_secondary:hover::after {
border-color: #1b2b3333
}

.guides_detail .scroll_top_anchor {
position: fixed;
bottom: 40px;
right: 40px;
z-index: 90
}

.guides_detail .scroll_top_link {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
background: #1B2B33;
border-radius: 8px;
text-decoration: none;
box-shadow: 1px 6px 18px 0 #1b2b3317;
border: 1px solid #d0254533;
transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.guides_detail .scroll_top_link:hover {
background: #D02545;
box-shadow: 1px 8px 40px 0 #d0254524
}

.guides_detail .scroll_top_link svg {
display: block
}

@media (max-width: 992px) {
.guides_detail .article_strip {
flex-direction: column
}

.guides_detail .strip_image_col {
width: 100%;
height: 220px
}

.guides_detail .strip_text_col {
padding: 40px 24px
}

.guides_detail .strip_h1 {
font-size: 37px
}

.guides_detail .article_body_layout {
flex-direction: column;
padding: 0 24px;
gap: 40px
}

.guides_detail .article_aside {
width: 100%;
position: static;
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.guides_detail .aside_note {
flex: 1;
margin-bottom: 0
}

.guides_detail .aside_readtime {
flex-shrink: 0
}

.guides_detail .cta_inner {
flex-direction: column;
padding: 0 24px;
gap: 40px
}

.guides_detail .cta_actions {
width: 100%
}

.guides_detail .article_body_section {
padding: 40px 0
}

.guides_detail .article_cta_section {
padding: 40px 0
}
}

@media (max-width: 576px) {
.guides_detail .strip_h1 {
font-size: 27px
}

.guides_detail .strip_text_col {
padding: 24px 12px
}

.guides_detail .strip_meta {
flex-wrap: wrap;
gap: 8px
}

.guides_detail .article_aside {
flex-direction: column;
gap: 12px
}

.guides_detail .article_body_layout {
padding: 0 12px
}

.guides_detail .cta_inner {
padding: 0 12px
}

.guides_detail .cta_heading {
font-size: 27px
}

.guides_detail .scroll_top_anchor {
bottom: 24px;
right: 12px
}

.guides_detail .strip_deco {
display: none
}
}

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

.guides * {
box-sizing: border-box
}

.guides .pagetop {
position: relative;
padding: 80px 24px;
background: #1B2B33;
overflow: hidden
}

.guides .pagetop::before {
content: '';
position: absolute;
top: -60px;
right: -80px;
width: 420px;
height: 420px;
border-radius: 50%;
background: #d0254514;
pointer-events: none
}

.guides .pagetop::after {
content: '';
position: absolute;
bottom: -100px;
left: 10%;
width: 280px;
height: 280px;
border-radius: 24px;
background: #d025450f;
transform: rotate(28deg);
pointer-events: none
}

.guides .pagetopshape {
position: absolute;
top: 40px;
left: 60%;
width: 180px;
height: 180px;
border-radius: 40px;
border: 2px solid #f4fdf912;
pointer-events: none
}

.guides .pagetopinner {
max-width: 1500px;
margin: 0 auto;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 24px;
position: relative
}

.guides .pagetoplabel {
display: inline-block;
background: #d025452e;
color: #D02545;
font-size: 16px;
font-weight: 600;
letter-spacing: .08em;
padding: 4px 12px;
border-radius: 3px;
text-transform: uppercase;
animation: dropIn .38s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.guides .pagetoph1 {
font-size: 68px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0;
background: linear-gradient(107deg, #F4FDF9, #f4fdf973);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
animation: dropIn .42s cubic-bezier(0.34, 1.2, 0.64, 1) .07s both
}

.guides .pagetopdesc {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9b8;
max-width: 560px;
margin: 0;
align-self: flex-end;
text-align: right;
animation: dropIn .45s cubic-bezier(0.34, 1.2, 0.64, 1) .13s both
}

@keyframes dropIn {
from {
opacity: 0;
transform: translateY(-28px)
}

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

.guides .postsgrid {
max-width: 1500px;
margin: 0 auto;
padding: 80px 24px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.guides .postcard {
background: #fff;
border-radius: 14px;
box-shadow: 1px 6px 18px 0 #1b2b3317;
display: flex;
flex-direction: column;
overflow: hidden;
border: 1px solid #1b2b3314;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
animation: dropIn .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

.guides .postcard:nth-child(1) {
animation-delay: .08s
}

.guides .postcard:nth-child(2) {
animation-delay: .14s
}

.guides .postcard:nth-child(3) {
animation-delay: .2s
}

.guides .postcard:hover {
box-shadow: 1px 8px 40px 0 #1b2b3324;
transform: translateY(-4px)
}

.guides .postcardimage {
width: 100%;
height: 200px;
overflow: hidden;
position: relative;
border-bottom: 1px solid #1b2b3312
}

.guides .postcardimage img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .42s ease-in-out
}

.guides .postcard:hover .postcardimage img {
transform: scale(1.04)
}

.guides .postcardimage .imageholder {
width: 100%;
height: 100%;
background: linear-gradient(107deg, #1B2B33, #d025458c);
display: flex;
align-items: center;
justify-content: center
}

.guides .postcardimage .imageholder svg {
opacity: .35
}

.guides .postcardmeta {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px 24px 0
}

.guides .postcardauthor {
font-size: 16px;
color: #1B2B33;
font-weight: 600
}

.guides .postcardtime {
font-size: 16px;
color: #1b2b3380;
margin-left: auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 4px
}

.guides .postcardtime svg {
flex-shrink: 0
}

.guides .postcardbody {
padding: 12px 24px 24px;
display: flex;
flex-direction: column;
gap: 8px;
flex: 1
}

.guides .postcardsubtitle {
font-size: 16px;
color: #D02545;
font-weight: 600;
letter-spacing: .04em;
text-transform: uppercase;
margin: 0
}

.guides .postcardtitle {
font-size: 21px;
line-height: 1.35;
color: #1B2B33;
margin: 0;
font-weight: 700;
letter-spacing: -.01em
}

.guides .postcarddesc {
font-size: 16px;
line-height: 1.55;
color: #1b2b33b8;
margin: 0;
flex: 1
}

.guides .postcardlink {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 8px;
margin-top: 8px;
padding: 8px 24px;
border-radius: 8px;
background: #1B2B33;
color: #F4FDF9;
font-size: 16px;
font-weight: 600;
text-decoration: none;
align-self: flex-start;
border: 2px solid transparent;
position: relative;
transition: background .35s ease-in-out, color .35s ease-in-out, border-color .35s ease-in-out
}

.guides .postcardlink::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 6px;
border: 1.5px solid #f4fdf900;
transition: border-color .4s cubic-bezier(0.34, 1.2, 0.64, 1);
pointer-events: none
}

.guides .postcardlink:hover {
background: #D02545;
color: #fff;
border-color: #D02545
}

.guides .postcardlink:hover::after {
border-color: #f4fdf94d
}

.guides .postcardlink svg {
transition: transform .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.guides .postcardlink:hover svg {
transform: translateX(4px)
}

.guides .aboutstrip {
background: #F4FDF9;
border-top: 1px solid #1b2b3314;
border-bottom: 1px solid #1b2b3314;
padding: 40px 24px
}

.guides .aboutstripinner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 24px;
align-items: stretch
}

.guides .statitem {
display: flex;
flex-direction: column;
align-items: center;
gap: 8px;
padding: 24px;
border-radius: 14px;
background: #fff;
box-shadow: 1px 2px 6px 0 #d025450f;
border: 1px solid #d0254514;
position: relative
}

.guides .statitem::before {
content: '';
position: absolute;
top: 0;
left: 24px;
right: 24px;
height: 3px;
background: linear-gradient(107deg, #D02545, transparent);
border-radius: 0 0 3px 3px
}

.guides .statnum {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
letter-spacing: -.03em;
background: linear-gradient(107deg, #1B2B33, #d02545b3);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.guides .statlabel {
font-size: 16px;
line-height: 1.35;
color: #1b2b33a6;
text-align: center;
font-weight: 500
}

.guides .complexblock {
padding: 80px 24px;
background: #fff
}

.guides .complexinner {
max-width: 1500px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 40px;
align-items: start
}

.guides .complexnarrative {
display: flex;
flex-direction: column;
gap: 24px
}

.guides .complexnarrative h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
background: linear-gradient(107deg, #1B2B33, #d02545cc);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.guides .complexnarrative aside {
font-size: 16px;
line-height: 1.55;
color: #D02545;
font-weight: 600;
border-left: 3px solid #D02545;
border-right: 1px solid #d0254533;
padding: 8px 12px;
border-radius: 3px;
background: #d025450a
}

.guides .complexnarrative p {
font-size: 16px;
line-height: 1.55;
color: #1b2b33c7;
margin: 0
}

.guides .complextable {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 6px 18px 0 #1b2b3317;
border: 1px solid #1b2b3317
}

.guides .complextable table {
width: 100%;
border-collapse: collapse
}

.guides .complextable thead tr {
background: #1B2B33
}

.guides .complextable thead th {
padding: 12px 24px;
font-size: 16px;
font-weight: 700;
color: #F4FDF9;
text-align: left;
letter-spacing: .03em
}

.guides .complextable tbody tr {
border-bottom: 1px solid #1b2b3312;
transition: background .32s ease-in-out
}

.guides .complextable tbody tr:last-child {
border-bottom: none
}

.guides .complextable tbody tr:hover {
background: #d025450a
}

.guides .complextable tbody td {
padding: 12px 24px;
font-size: 16px;
line-height: 1.35;
color: #1B2B33;
vertical-align: top
}

.guides .complextable tbody td:first-child {
font-weight: 600;
color: #D02545;
white-space: nowrap
}

.guides .complextable tbody td:last-child {
color: #1b2b33a6;
font-size: 16px
}

.guides .splitblock {
position: relative;
overflow: hidden
}

.guides .splitblockbg {
position: absolute;
inset: 0;
display: flex;
flex-direction: column;
pointer-events: none
}

.guides .splitblockbgtop {
flex: 1;
background: #1B2B33
}

.guides .splitblockbgbottom {
flex: 1;
background: #F4FDF9
}

.guides .splitblockinner {
max-width: 1500px;
margin: 0 auto;
padding: 80px 24px;
position: relative;
display: flex;
flex-direction: column;
gap: 40px
}

.guides .splitblockheader {
display: flex;
flex-direction: column;
gap: 12px
}

.guides .splitblockheader h2 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0;
color: #F4FDF9
}

.guides .splitblockheader p {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9a6;
margin: 0;
max-width: 520px
}

.guides .imagephotowrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 8px 40px 0 #1b2b3324;
border: 2px solid #f4fdf91f;
position: relative
}

.guides .imagephotowrap img {
width: 100%;
height: 400px;
object-fit: cover;
object-position: center;
display: block
}

.guides .imagevignette {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #1b2b3338 0%, transparent 40%, #1b2b3361 100%);
pointer-events: none
}

.guides .splitblockgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.guides .splitcard {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 1px 2px 6px 0 #1b2b330f;
border: 1px solid #1b2b3312;
display: flex;
flex-direction: column;
gap: 8px
}

.guides .splitcard h4 {
font-size: 18px;
line-height: 1.35;
color: #1B2B33;
margin: 0;
font-weight: 700
}

.guides .splitcard p {
font-size: 16px;
line-height: 1.55;
color: #1b2b33ad;
margin: 0
}

.guides .splitcardicon {
width: 36px;
height: 36px;
border-radius: 8px;
background: #d025451a;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 4px
}

.guides .pulsedot {
width: 10px;
height: 10px;
border-radius: 50%;
background: #D02545;
animation: pulseanim 1.8s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;
display: inline-block;
flex-shrink: 0
}

@keyframes pulseanim {

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

50% {
transform: scale(1.45);
opacity: .55
}
}

@media (max-width: 992px) {
.guides .pagetoph1 {
font-size: 52px
}

.guides .postsgrid {
grid-template-columns: repeat(2, 1fr);
padding: 40px 24px
}

.guides .aboutstripinner {
grid-template-columns: 1fr 1fr
}

.guides .aboutstripinner .statitem:last-child {
grid-column: span 2
}

.guides .complexinner {
grid-template-columns: 1fr
}

.guides .splitblockgrid {
grid-template-columns: 1fr
}

.guides .splitblockheader h2 {
font-size: 37px
}
}

@media (max-width: 576px) {
.guides .pagetoph1 {
font-size: 37px
}

.guides .pagetopdesc {
align-self: flex-start;
text-align: left
}

.guides .postsgrid {
grid-template-columns: 1fr;
padding: 40px 24px
}

.guides .aboutstripinner {
grid-template-columns: 1fr
}

.guides .aboutstripinner .statitem:last-child {
grid-column: span 1
}

.guides .statnum {
font-size: 37px
}

.guides .complexnarrative h2 {
font-size: 27px
}

.guides .splitblockheader h2 {
font-size: 27px
}

.guides .imagephotowrap img {
height: 240px
}
}

.contactus {
max-width: 1500px;
margin: 0 auto;
overflow: hidden
}

.contactus .pagereveal {
animation: revealup .42s cubic-bezier(0.34, 1.2, 0.64, 1) both
}

@keyframes revealup {
from {
opacity: 0;
transform: scale(0.97)
}

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

.contactus .shadowpulse {
animation: shadowcycle 3.5s ease-in-out infinite
}

@keyframes shadowcycle {

0%,
100% {
box-shadow: 1px 2px 6px 0 #d025450f
}

50% {
box-shadow: 1px 8px 40px 0 #d0254524
}
}

.contactus ::selection {
background: #1B2B33;
color: #F4FDF9;
font-weight: 700
}

.contactus .stripblock {
display: flex;
flex-direction: row;
align-items: stretch;
min-height: 340px;
background: #fff;
border-bottom: 2px dashed #d0254547;
position: relative;
overflow: hidden
}

.contactus .stripblock .textside {
flex: 1 1 0;
padding: 80px 40px 80px 80px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
z-index: 2
}

.contactus .stripblock .imageside {
flex: 0 0 320px;
max-width: 320px;
position: relative;
overflow: hidden
}

.contactus .stripblock .imageside img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-left: 2px solid #d025452e
}

.contactus .stripblock .imageside .filteroverlay {
position: absolute;
inset: 0;
background: #d0254561;
mix-blend-mode: multiply;
pointer-events: none
}

.contactus .stripblock .patternrow {
display: flex;
flex-direction: row;
gap: 8px;
margin-bottom: 24px
}

.contactus .stripblock .patternrow span {
display: inline-block;
width: 8px;
height: 8px;
border-radius: 3px;
background: #d0254538
}

.contactus .stripblock .patternrow span:nth-child(odd) {
background: #1b2b3321
}

.contactus .stripblock h1 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.03em;
background: linear-gradient(107deg, #1B2B33 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 24px;
max-width: 520px
}

.contactus .stripblock .actionlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
color: #D02545;
text-decoration: none;
font-weight: 600;
border-bottom: 2px solid #d025454d;
padding-bottom: 4px;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.contactus .stripblock .actionlink:hover {
border-color: #D02545;
color: #1B2B33
}

.contactus .stripblock .actionlink svg {
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.contactus .stripblock .actionlink:hover svg {
transform: translateX(4px)
}

.contactus .stripblock .circlecorner {
position: absolute;
bottom: -60px;
left: -60px;
width: 200px;
height: 200px;
pointer-events: none;
z-index: 0
}

.contactus .stripblock .circlecorner circle {
fill: none;
stroke: #d0254512;
stroke-width: 1
}

.contactus .detailsrow {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 0;
background: #F4FDF9;
border-bottom: 2px dashed #1b2b3326;
position: relative
}

.contactus .detailsrow .detailitem {
padding: 40px;
border-right: 1px solid #1b2b331a;
display: flex;
flex-direction: column;
gap: 12px;
transition: background .35s ease-in-out
}

.contactus .detailsrow .detailitem:last-child {
border-right: none
}

.contactus .detailsrow .detailitem:hover {
background: #fff
}

.contactus .detailsrow .detailitem .iconbox {
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
background: #d0254514;
border-radius: 8px;
flex-shrink: 0
}

.contactus .detailsrow .detailitem h4 {
font-size: 16px;
color: #1B2B33;
margin: 0;
font-weight: 700;
letter-spacing: .02em;
text-transform: uppercase
}

.contactus .detailsrow .detailitem p {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
margin: 0
}

.contactus .detailsrow .detailitem a {
color: #D02545;
text-decoration: none;
font-weight: 600;
transition: color .33s ease-in-out
}

.contactus .detailsrow .detailitem a:hover {
color: #1B2B33
}

.contactus .formarea {
display: grid;
grid-template-columns: 1fr 480px;
gap: 0;
background: #fff;
position: relative
}

.contactus .formarea .formside {
padding: 80px 40px 80px 80px;
border-right: 2px dashed #d0254538;
position: relative
}

.contactus .formarea .infoside {
padding: 80px 40px;
background: #1B2B33;
display: flex;
flex-direction: column;
justify-content: center;
gap: 40px;
position: relative;
overflow: hidden
}

.contactus .formarea .infoside .circlecorner2 {
position: absolute;
top: -40px;
right: -40px;
width: 180px;
height: 180px;
pointer-events: none
}

.contactus .formarea .infoside .circlecorner2 circle {
fill: none;
stroke: #f4fdf912;
stroke-width: 1
}

.contactus .formarea .infoside h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
background: linear-gradient(107deg, #F4FDF9 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0
}

.contactus .formarea .infoside p {
font-size: 16px;
line-height: 1.55;
color: #f4fdf9c7;
margin: 0
}

.contactus .formarea .infoside .imagethumb {
border-radius: 8px;
overflow: hidden;
border: 2px solid #d025454d;
box-shadow: 1px 6px 18px 0 #d0254517;
flex-shrink: 0
}

.contactus .formarea .infoside .imagethumb img {
width: 100%;
height: 200px;
object-fit: cover;
display: block
}

.contactus .formarea .infoside .tagline {
font-size: 16px;
color: #f4fdf980;
border-top: 1px solid #f4fdf91a;
padding-top: 24px;
line-height: 1.55
}

.contactus .formarea .formside h3 {
font-size: 27px;
line-height: 1.35;
letter-spacing: -.01em;
background: linear-gradient(107deg, #1B2B33 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 8px
}

.contactus .formarea .formside .formdesc {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
margin: 0 0 40px;
opacity: .72
}

.contactus .formarea .formbody {
display: flex;
flex-direction: column;
gap: 24px
}

.contactus .formbody .fieldrow {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.contactus .formbody .fieldgroup {
display: flex;
flex-direction: column;
gap: 8px
}

.contactus .formbody .fieldgroup label {
font-size: 16px;
font-weight: 600;
color: #1B2B33;
letter-spacing: .01em
}

.contactus .formbody .fieldgroup input[type="text"],
.contactus .formbody .fieldgroup input[type="email"],
.contactus .formbody .fieldgroup input[type="tel"] {
width: 100%;
padding: 12px 16px;
border: 1.5px solid #1b2b3333;
border-radius: 8px;
font-size: 16px;
color: #1B2B33;
background: #F4FDF9;
outline: none;
transition: border-color .35s ease-in-out, box-shadow .35s ease-in-out;
box-sizing: border-box
}

.contactus .formbody .fieldgroup input[type="text"]:focus,
.contactus .formbody .fieldgroup input[type="email"]:focus,
.contactus .formbody .fieldgroup input[type="tel"]:focus {
border-color: #D02545;
box-shadow: inset 0 2px 6px 0 #d0254514
}

.contactus .formbody .fieldgroup input::placeholder {
color: #1b2b3361;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap
}

.contactus .formbody .checkgroup {
display: flex;
flex-direction: column;
gap: 8px
}

.contactus .formbody .checkgroup legend {
font-size: 16px;
font-weight: 600;
color: #1B2B33;
margin-bottom: 8px;
display: block
}

.contactus .formbody .checkgroup .checkoption {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 8px 12px;
border-radius: 8px;
border: 1.5px solid #1b2b331f;
background: #F4FDF9;
cursor: pointer;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.contactus .formbody .checkgroup .checkoption:hover {
border-color: #d0254566;
background: #f4fdf999
}

.contactus .formbody .checkgroup .checkoption input[type="checkbox"] {
width: 18px;
height: 18px;
accent-color: #D02545;
cursor: pointer;
flex-shrink: 0
}

.contactus .formbody .checkgroup .checkoption span {
font-size: 16px;
color: #1B2B33;
line-height: 1.35
}

.contactus .formbody .privacyrow {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 12px;
border-radius: 8px;
border: 1.5px solid #1b2b331f;
background: #f4fdf980
}

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

.contactus .formbody .privacyrow .privacytext {
font-size: 16px;
line-height: 1.55;
color: #1b2b33c7
}

.contactus .formbody .privacyrow .privacytext a {
color: #D02545;
text-decoration: underline;
text-underline-offset: 2px;
transition: color .33s ease-in-out
}

.contactus .formbody .privacyrow .privacytext a:hover {
color: #1B2B33
}

.contactus .formbody .submitbtn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 40px;
background: #D02545;
color: #fff;
font-size: 18px;
font-weight: 700;
border: none;
border-radius: 14px;
cursor: pointer;
letter-spacing: .01em;
position: relative;
transition: background .35s ease-in-out, box-shadow .35s ease-in-out;
box-shadow: 1px 6px 18px 0 #d0254517;
align-self: flex-start
}

.contactus .formbody .submitbtn::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 11px;
border: 2px solid #fff0;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1);
pointer-events: none
}

.contactus .formbody .submitbtn:hover {
background: #1B2B33;
box-shadow: 1px 8px 40px 0 #d0254524
}

.contactus .formbody .submitbtn:hover::after {
border-color: #ffffff4d
}

.contactus .formbody .submitbtn:focus {
outline: 3px solid #d0254580;
outline-offset: 3px
}

.contactus .formbody .submitbtn:active {
transform: scale(0.98)
}

.contactus .formarea .formside .sidenote {
margin-top: 24px;
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start
}

.contactus .formarea .formside .sidenote aside {
font-size: 16px;
line-height: 1.55;
color: #1b2b338c;
border-left: 3px solid #d025454d;
padding-left: 12px;
border-radius: 0 3px 3px 0
}

@media (max-width: 992px) {
.contactus .stripblock {
flex-direction: column
}

.contactus .stripblock .imageside {
flex: 0 0 220px;
max-width: 100%;
height: 220px
}

.contactus .stripblock .textside {
padding: 40px 24px
}

.contactus .stripblock h1 {
font-size: 37px
}

.contactus .detailsrow {
grid-template-columns: 1fr
}

.contactus .detailsrow .detailitem {
border-right: none;
border-bottom: 1px solid #1b2b331a
}

.contactus .formarea {
grid-template-columns: 1fr
}

.contactus .formarea .formside {
padding: 40px 24px;
border-right: none;
border-bottom: 2px dashed #d0254538
}

.contactus .formarea .infoside {
padding: 40px 24px
}

.contactus .formbody .fieldrow {
grid-template-columns: 1fr
}
}

@media (max-width: 576px) {
.contactus .stripblock .textside {
padding: 24px 16px
}

.contactus .stripblock h1 {
font-size: 27px
}

.contactus .detailsrow .detailitem {
padding: 24px 16px
}

.contactus .formarea .formside {
padding: 24px 16px
}

.contactus .formarea .infoside {
padding: 24px 16px
}

.contactus .formbody .submitbtn {
width: 100%;
justify-content: center
}
}

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

.entry .entryInner {
max-width: 1500px;
margin: 0 auto;
padding: 0 24px
}

.entry .titleBlock {
padding: 80px 0;
position: relative;
background: #fff
}

.entry .titleBlock::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(107deg, #D02545, transparent);
border-radius: 0 3px 3px 0
}

.entry .titleBlock .titleGrid {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 80px
}

.entry .titleBlock .textSide {
flex: 1 1 0;
min-width: 0
}

.entry .titleBlock .imageSide {
flex: 0 0 340px;
width: 340px
}

.entry .titleBlock .labelTag {
display: inline-block;
font-size: 16px;
font-weight: 600;
color: #D02545;
letter-spacing: .08em;
text-transform: uppercase;
margin-bottom: 24px;
padding: 4px 12px;
border: 1.5px solid #d025454d;
border-radius: 3px;
background: #d025450a
}

.entry .titleBlock .mainHeading {
font-size: 68px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0 0 24px;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.entry .titleBlock .subText {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin-bottom: 40px;
max-width: 520px
}

.entry .titleBlock .pointsList {
list-style: none;
padding: 0;
margin: 0 0 40px;
display: flex;
flex-direction: column;
gap: 12px
}

.entry .titleBlock .pointsList li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
font-size: 18px;
line-height: 1.55;
color: #1B2B33
}

.entry .titleBlock .pointDot {
flex-shrink: 0;
width: 8px;
height: 8px;
border-radius: 40px;
background: #D02545;
margin-top: 8px
}

.entry .titleBlock .primaryBtn {
display: inline-block;
padding: 12px 40px;
background: #D02545;
color: #fff;
font-size: 18px;
font-weight: 700;
border-radius: 8px;
text-decoration: none;
border: 2px solid #D02545;
position: relative;
transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1), color .38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 1px 6px 18px 0 #d0254517
}

.entry .titleBlock .primaryBtn::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 6px;
border: 2px solid #fff0;
transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.entry .titleBlock .primaryBtn:hover {
background: #b01e38;
color: #fff
}

.entry .titleBlock .primaryBtn:hover::after {
border-color: #ffffff80
}

.entry .titleBlock .imageCard {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 8px 40px 0 #1b2b3324;
border: 1.5px solid #1b2b331a;
position: relative
}

.entry .titleBlock .imageCard img {
display: block;
width: 340px;
height: 420px;
object-fit: cover;
filter: brightness(0.88) contrast(1.04);
transition: filter .4s ease-in-out
}

.entry .titleBlock .imageCard:hover img {
filter: brightness(1) contrast(1.04)
}

.entry .titleBlock .imageCard::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(107deg, #d0254514, transparent 60%);
pointer-events: none;
border-radius: 14px
}

.entry .proofSection {
padding: 80px 0;
background: #F4FDF9;
position: relative
}

.entry .proofSection .waveDivider {
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0
}

.entry .proofSection .waveDivider svg {
display: block;
width: 100%
}

.entry .proofSection .proofTop {
display: flex;
flex-direction: row;
align-items: flex-end;
gap: 40px;
margin-bottom: 40px
}

.entry .proofSection .proofHeading {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0;
flex: 1 1 0
}

.entry .proofSection .proofNote {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
max-width: 340px;
flex: 0 0 340px
}

.entry .proofSection .metricsRow {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.entry .proofSection .metricCard {
background: #fff;
border-radius: 14px;
padding: 40px 24px 24px;
border: 1.5px solid #1b2b3312;
box-shadow: 1px 2px 6px 0 #1b2b330f;
position: relative;
overflow: hidden;
transition: box-shadow .35s cubic-bezier(0.34, 1.2, 0.64, 1), transform .35s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.entry .proofSection .metricCard::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(107deg, #D02545, transparent);
border-radius: 14px 14px 0 0
}

.entry .proofSection .metricCard:hover {
box-shadow: 1px 8px 40px 0 #d0254524;
transform: translateY(-4px)
}

.entry .proofSection .metricNumber {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
color: #D02545;
letter-spacing: -.03em;
display: block;
margin-bottom: 8px
}

.entry .proofSection .metricLabel {
font-size: 18px;
line-height: 1.35;
font-weight: 700;
color: #1B2B33;
margin-bottom: 8px
}

.entry .proofSection .metricDesc {
font-size: 16px;
line-height: 1.55;
color: #3a4f5a
}

.entry .proofSection .proofImageRow {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px;
align-items: stretch
}

.entry .proofSection .proofImageWrap {
flex: 0 0 380px;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #1b2b331a;
box-shadow: 1px 6px 18px 0 #1b2b3317
}

.entry .proofSection .proofImageWrap img {
display: block;
width: 380px;
height: 260px;
object-fit: cover;
filter: brightness(0.88);
transition: filter .42s ease-in-out
}

.entry .proofSection .proofImageWrap:hover img {
filter: brightness(1)
}

.entry .proofSection .proofTextBox {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 12px
}

.entry .proofSection .proofTextBox p {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0
}

.entry .proofSection .proofTextBox .proofSubLabel {
font-size: 16px;
font-weight: 600;
color: #D02545;
letter-spacing: .06em;
text-transform: uppercase;
margin-bottom: 4px
}

.entry .experienceSection {
padding: 80px 0;
background: #fff;
position: relative
}

.entry .experienceSection .brushDivider {
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0
}

.entry .experienceSection .expGrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center
}

.entry .experienceSection .expLeft {
position: relative
}

.entry .experienceSection .expImageWrap {
border-radius: 24px;
overflow: hidden;
border: 1.5px solid #1b2b3314;
box-shadow: 1px 8px 40px 0 #1b2b3324;
position: relative
}

.entry .experienceSection .expImageWrap img {
display: block;
width: 100%;
height: 400px;
object-fit: cover;
filter: brightness(0.87);
transition: filter .4s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.entry .experienceSection .expImageWrap:hover img {
filter: brightness(1)
}

.entry .experienceSection .expQuoteCard {
position: absolute;
bottom: -24px;
right: -24px;
background: #1B2B33;
color: #fff;
border-radius: 14px;
padding: 24px;
max-width: 260px;
box-shadow: 1px 8px 40px 0 #1b2b3324;
border: 1.5px solid #d0254540
}

.entry .experienceSection .expQuoteCard .quoteText {
font-size: 16px;
line-height: 1.55;
margin: 0 0 12px;
color: #F4FDF9
}

.entry .experienceSection .expQuoteCard .quoteName {
font-size: 16px;
font-weight: 700;
color: #D02545
}

.entry .experienceSection .expQuoteCard .quoteRole {
font-size: 16px;
color: #f4fdf9a6
}

.entry .experienceSection .expRight {
padding-bottom: 24px
}

.entry .experienceSection .expHeading {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 24px
}

.entry .experienceSection .expBody {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0 0 24px
}

.entry .experienceSection .expSteps {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 24px
}

.entry .experienceSection .expStep {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
background: #F4FDF9;
border-radius: 8px;
padding: 12px;
border: 1px solid #1b2b3312;
box-shadow: inset 0 1px 4px 0 #1b2b330a;
transition: background .36s ease-in-out
}

.entry .experienceSection .expStep:hover {
background: #d025450a
}

.entry .experienceSection .stepNum {
flex-shrink: 0;
width: 32px;
height: 32px;
border-radius: 40px;
background: #D02545;
color: #fff;
font-size: 16px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center
}

.entry .experienceSection .stepText {
font-size: 16px;
line-height: 1.55;
color: #1B2B33
}

.entry .supportSection {
padding: 80px 0;
background: #1B2B33;
position: relative
}

.entry .supportSection .supportInner {
position: relative;
z-index: 1
}

.entry .supportSection .colorZone {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0
}

.entry .supportSection .colorZone::before {
content: '';
position: absolute;
width: 600px;
height: 600px;
border-radius: 40px;
background: #d0254514;
top: -100px;
right: -100px;
animation: zoneDrift 12s ease-in-out infinite alternate
}

.entry .supportSection .colorZone::after {
content: '';
position: absolute;
width: 400px;
height: 400px;
border-radius: 40px;
background: #f4fdf90a;
bottom: -80px;
left: -60px;
animation: zoneDrift2 15s ease-in-out infinite alternate
}

@keyframes zoneDrift {
0% {
transform: translate(0, 0) scale(1)
}

100% {
transform: translate(-40px, 40px) scale(1.08)
}
}

@keyframes zoneDrift2 {
0% {
transform: translate(0, 0) scale(1)
}

100% {
transform: translate(30px, -30px) scale(1.05)
}
}

.entry .supportSection .supportHeading {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
background: linear-gradient(107deg, #F4FDF9, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 12px;
max-width: 600px
}

.entry .supportSection .supportSubtitle {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9bf;
margin: 0 0 40px;
max-width: 520px
}

.entry .supportSection .supportCards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.entry .supportSection .supportCard {
background: #f4fdf90d;
border: 1.5px solid #f4fdf91a;
border-radius: 14px;
padding: 24px;
transition: background .4s ease-in-out, border-color .4s ease-in-out;
box-shadow: inset 0 1px 6px 0 #d025450f
}

.entry .supportSection .supportCard:hover {
background: #d025451a;
border-color: #d025454d
}

.entry .supportSection .supportIcon {
width: 40px;
height: 40px;
margin-bottom: 12px
}

.entry .supportSection .supportCardTitle {
font-size: 18px;
font-weight: 700;
color: #F4FDF9;
margin-bottom: 8px
}

.entry .supportSection .supportCardText {
font-size: 16px;
line-height: 1.55;
color: #f4fdf9b3
}

.entry .supportSection .supportBottom {
margin-top: 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
padding: 24px;
background: #f4fdf90a;
border-radius: 14px;
border: 1px solid #f4fdf914
}

.entry .supportSection .supportBottomText {
flex: 1 1 0;
font-size: 18px;
line-height: 1.55;
color: #f4fdf9cc
}

.entry .supportSection .supportLink {
display: inline-block;
padding: 12px 40px;
background: transparent;
color: #F4FDF9;
font-size: 18px;
font-weight: 700;
border-radius: 8px;
text-decoration: none;
border: 2px solid #f4fdf966;
transition: border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .38s cubic-bezier(0.34, 1.2, 0.64, 1);
flex-shrink: 0;
position: relative
}

.entry .supportSection .supportLink::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 6px;
border: 2px solid #fff0;
transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.entry .supportSection .supportLink:hover {
border-color: #D02545;
background: #d0254526
}

.entry .supportSection .supportLink:hover::after {
border-color: #d025454d
}

.entry .valueSection {
padding: 80px 0;
background: #fff;
position: relative
}

.entry .valueSection .valueDividerTop {
position: absolute;
top: 0;
left: 0;
width: 100%;
overflow: hidden;
line-height: 0
}

.entry .valueSection .valueLayout {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 80px;
align-items: start
}

.entry .valueSection .valueSide {
position: sticky;
top: 40px
}

.entry .valueSection .valueHeading {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.03em;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin: 0 0 24px
}

.entry .valueSection .valueNote {
font-size: 16px;
line-height: 1.55;
color: #3a4f5a;
margin: 0
}

.entry .valueSection .valueItems {
display: flex;
flex-direction: column;
gap: 24px
}

.entry .valueSection .valueItem {
display: grid;
grid-template-columns: auto 1fr;
gap: 24px;
align-items: start;
padding: 24px;
border-radius: 14px;
border: 1.5px solid #1b2b3312;
background: #F4FDF9;
box-shadow: 1px 2px 6px 0 #1b2b330f;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.entry .valueSection .valueItem:hover {
box-shadow: 1px 6px 18px 0 #d0254517;
border-color: #d0254533
}

.entry .valueSection .valueItemIcon {
width: 48px;
height: 48px;
flex-shrink: 0
}

.entry .valueSection .valueItemTitle {
font-size: 21px;
line-height: 1.35;
font-weight: 700;
color: #1B2B33;
margin-bottom: 8px
}

.entry .valueSection .valueItemText {
font-size: 16px;
line-height: 1.55;
color: #3a4f5a;
margin: 0
}

.entry .valueSection .valueFootnote {
margin-top: 40px;
padding: 24px;
border-radius: 8px;
border-left: 4px solid #D02545;
border-top: 1px solid #d0254526;
border-right: 1px solid #d0254514;
border-bottom: 1px solid #d0254514;
background: #d0254508
}

.entry .valueSection .valueFootnote p {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
margin: 0
}

@media (max-width: 992px) {
.entry .titleBlock .titleGrid {
flex-direction: column;
gap: 40px
}

.entry .titleBlock .imageSide {
flex: none;
width: 100%
}

.entry .titleBlock .imageCard img {
width: 100%;
height: 300px
}

.entry .titleBlock .mainHeading {
font-size: 52px
}

.entry .proofSection .metricsRow {
grid-template-columns: 1fr
}

.entry .proofSection .proofTop {
flex-direction: column;
gap: 12px
}

.entry .proofSection .proofNote {
flex: none;
max-width: 100%
}

.entry .proofSection .proofImageRow {
flex-direction: column
}

.entry .proofSection .proofImageWrap {
flex: none;
width: 100%
}

.entry .proofSection .proofImageWrap img {
width: 100%;
height: 220px
}

.entry .experienceSection .expGrid {
grid-template-columns: 1fr;
gap: 80px
}

.entry .experienceSection .expQuoteCard {
position: relative;
bottom: auto;
right: auto;
max-width: 100%;
margin-top: 12px
}

.entry .supportSection .supportCards {
grid-template-columns: 1fr
}

.entry .supportSection .supportBottom {
flex-direction: column;
align-items: flex-start
}

.entry .valueSection .valueLayout {
grid-template-columns: 1fr;
gap: 40px
}

.entry .valueSection .valueSide {
position: static
}

.entry .valueSection .valueHeading {
font-size: 37px
}
}

@media (max-width: 576px) {
.entry .titleBlock {
padding: 40px 0
}

.entry .titleBlock .mainHeading {
font-size: 37px
}

.entry .proofSection {
padding: 40px 0
}

.entry .experienceSection {
padding: 40px 0
}

.entry .supportSection {
padding: 40px 0
}

.entry .valueSection {
padding: 40px 0
}

.entry .proofSection .metricsRow {
grid-template-columns: 1fr
}

.entry .supportSection .supportCards {
grid-template-columns: 1fr
}
}

.services {
max-width: 1500px;
margin: 0 auto;
overflow: hidden
}

.services ::selection {
background: #1B2B33;
color: #F4FDF9;
font-weight: 700
}

.services .pagetop {
background: #1B2B33;
color: #F4FDF9;
padding: 80px 40px;
position: relative;
display: flex;
flex-direction: row;
align-items: stretch;
gap: 80px
}

.services .pagetop::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: radial-gradient(ellipse at 20% 50%, #d025451f 0%, transparent 60%), radial-gradient(ellipse at 90% 10%, #d0254512 0%, transparent 50%);
pointer-events: none
}

.services .pagetop::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(107deg, #D02545, transparent)
}

.services .topleft {
flex: 1.4;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
position: relative;
z-index: 1
}

.services .topright {
flex: 1;
display: flex;
flex-direction: column;
justify-content: center;
gap: 24px;
position: relative;
z-index: 1
}

.services .toplabel {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
color: #f4fdf9a6;
letter-spacing: .08em;
text-transform: uppercase
}

.services .toplabel span {
display: inline-block;
width: 24px;
height: 2px;
background: #D02545;
border-radius: 3px
}

.services .pagetop h1 {
font-size: 68px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0;
background: linear-gradient(107deg, #F4FDF9, #f4fdf999);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.services .pagetop h1 em {
font-style: normal;
background: linear-gradient(107deg, #D02545, #d0254580);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.services .toptext {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9bf;
margin: 0;
max-width: 520px
}

.services .topaside {
font-size: 16px;
line-height: 1.55;
color: #f4fdf980;
border-left: 2px solid #d0254566;
padding-left: 24px;
margin: 0
}

.services .topstats {
display: flex;
flex-direction: row;
gap: 40px;
padding-top: 24px;
border-top: 1px solid #f4fdf91a
}

.services .statitem {
display: flex;
flex-direction: column;
gap: 4px
}

.services .statnum {
font-size: 37px;
line-height: 1.1;
font-weight: 700;
color: #D02545
}

.services .statlabel {
font-size: 16px;
color: #f4fdf98c;
line-height: 1.35
}

.services .topimage {
width: 100%;
height: 320px;
border-radius: 14px;
overflow: hidden;
border: 1px solid #f4fdf91f;
position: relative
}

.services .topimage img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
animation: slowzoom 14s cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate
}

@keyframes slowzoom {
from {
transform: scale(1)
}

to {
transform: scale(1.08)
}
}

.services .topimage::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(107deg, #1b2b338c, transparent 70%);
pointer-events: none
}

.services .topdots {
position: absolute;
bottom: 40px;
right: 40px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 8px;
pointer-events: none;
z-index: 0
}

.services .topdots span {
display: block;
border-radius: 40px;
background: #d0254540
}

.services .topquote {
font-size: 21px;
line-height: 1.55;
color: #f4fdf9d9;
font-style: italic;
margin: 0;
padding: 24px;
background: #f4fdf90d;
border-radius: 14px;
border: 1px solid #f4fdf91a
}

.services .offerblock {
padding: 80px 40px;
background: #F4FDF9;
position: relative
}

.services .offerblock::before {
content: '';
position: absolute;
top: 0;
left: 40px;
width: 160px;
height: 2px;
background: linear-gradient(107deg, #D02545, transparent)
}

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

.services .offertop h2 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
flex: 1.2;
background: linear-gradient(107deg, #1B2B33, #d02545cc);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.services .offerdesc {
flex: 1;
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0;
opacity: .75
}

.services .offergrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
align-items: start
}

.services .offergrid::before {
content: '';
grid-column: 1 / -1;
height: 3px;
background: linear-gradient(107deg, #D02545, #d0254526, transparent);
border-radius: 3px;
margin-bottom: 8px
}

.services .offercard {
background: #fff;
border-radius: 14px;
border: 1px solid #1b2b331a;
padding: 40px 24px 24px;
display: flex;
flex-direction: column;
gap: 12px;
box-shadow: 1px 2px 6px 0 #1b2b330f;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), transform .38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative
}

.services .offercard:hover {
box-shadow: 1px 8px 40px 0 #1b2b3324;
transform: translateY(-4px)
}

.services .offercard:hover::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 12px;
border: 1px solid #d025454d;
pointer-events: none
}

.services .cardicon {
width: 48px;
height: 48px;
border-radius: 14px;
background: linear-gradient(107deg, #d025451f, #d025450a);
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 8px
}

.services .cardicon svg {
width: 24px;
height: 24px
}

.services .offercard h3 {
font-size: 21px;
line-height: 1.35;
margin: 0;
color: #1B2B33;
letter-spacing: -.01em
}

.services .offercard p {
font-size: 16px;
line-height: 1.55;
color: #1b2b33b3;
margin: 0
}

.services .cardtags {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 8px;
margin-top: 8px;
padding-top: 12px;
border-top: 1px solid #1b2b3314;
font-size: 16px;
color: #1b2b3380
}

.services .cardtags span {
padding: 4px 12px;
background: #d0254512;
border-radius: 40px;
color: #D02545;
font-size: 16px
}

.services .processblock {
padding: 80px 40px;
background: #1B2B33;
position: relative;
overflow: hidden
}

.services .processbg {
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(107deg, #f4fdf905 0px, #f4fdf905 1px, transparent 1px, transparent 60px);
animation: bgpan 18s linear infinite;
pointer-events: none
}

@keyframes bgpan {
from {
background-position: 0 0
}

to {
background-position: 0 -120px
}
}

.services .processblock::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 50% 50%, transparent 40%, #1b2b3399 100%);
pointer-events: none
}

.services .processinner {
position: relative;
z-index: 1
}

.services .processblock h2 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 12px;
background: linear-gradient(107deg, #F4FDF9, #d02545e6);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
max-width: 700px
}

.services .processlead {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9a6;
margin: 0 0 40px;
max-width: 540px
}

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

.services .processlist {
display: flex;
flex-direction: column;
gap: 24px
}

.services .processstep {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.services .stepnum {
flex-shrink: 0;
width: 48px;
height: 48px;
border-radius: 14px;
border: 1px solid #d0254580;
display: flex;
align-items: center;
justify-content: center;
font-size: 21px;
font-weight: 700;
color: #D02545;
line-height: 1.1
}

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

.services .steptext h4 {
font-size: 18px;
line-height: 1.35;
color: #F4FDF9;
margin: 0
}

.services .steptext p {
font-size: 16px;
line-height: 1.55;
color: #f4fdf999;
margin: 0
}

.services .processimage {
border-radius: 14px;
overflow: hidden;
border: 1px solid #f4fdf91a;
position: relative
}

.services .processimage img {
width: 100%;
height: 440px;
object-fit: cover;
display: block;
animation: slowzoom 16s cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate
}

.services .processimage::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(107deg, #1b2b3366, transparent 60%);
pointer-events: none
}

.services .processdots {
position: absolute;
top: 40px;
right: 40px;
display: flex;
flex-direction: column;
gap: 8px;
pointer-events: none;
z-index: 1
}

.services .processdots span {
display: block;
border-radius: 40px;
background: #d025454d
}

.services .faqblock {
padding: 80px 40px;
background: #fff;
position: relative
}

.services .faqblock::before {
content: '';
position: absolute;
bottom: 0;
right: 40px;
width: 200px;
height: 2px;
background: linear-gradient(107deg, transparent, #D02545)
}

.services .faqlayout {
display: grid;
grid-template-columns: 1fr 1.6fr;
gap: 80px;
align-items: start
}

.services .faqside {
position: sticky;
top: 24px;
display: flex;
flex-direction: column;
gap: 24px
}

.services .faqside h2 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
background: linear-gradient(107deg, #1B2B33, #d02545d9);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.services .faqside p {
font-size: 18px;
line-height: 1.55;
color: #1b2b33b3;
margin: 0
}

.services .faqsideaside {
font-size: 16px;
line-height: 1.55;
color: #1b2b3380;
border-left: 2px solid #d0254559;
padding-left: 24px;
margin: 0
}

.services .faqsideimage {
border-radius: 14px;
overflow: hidden;
border: 1px solid #1b2b331a
}

.services .faqsideimage img {
width: 100%;
height: 220px;
object-fit: cover;
display: block;
animation: slowzoom 20s cubic-bezier(0.34, 1.2, 0.64, 1) infinite alternate
}

.services .faqlist {
display: flex;
flex-direction: column;
gap: 4px
}

.services .faqitem {
border-radius: 8px;
border: 1px solid #1b2b331a;
overflow: hidden;
transition: border-color .35s ease-in-out
}

.services .faqitem:focus-within {
border-color: #d0254580
}

.services .faqbtn {
width: 100%;
background: transparent;
border: none;
padding: 24px;
text-align: left;
cursor: pointer;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
font-size: 18px;
line-height: 1.35;
color: #1B2B33;
font-weight: 600;
transition: background .35s ease-in-out
}

.services .faqbtn:hover {
background: #d025450a
}

.services .faqarrow {
flex-shrink: 0;
width: 24px;
height: 24px;
border-radius: 40px;
border: 1px solid #1b2b3333;
display: flex;
align-items: center;
justify-content: center;
transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.services .faqbtn:hover .faqarrow {
background: #D02545;
border-color: #D02545
}

.services .faqbtn:hover .faqarrow svg path {
stroke: #fff
}

.services .faqanswer {
font-size: 16px;
line-height: 1.55;
color: #1b2b33b3;
padding: 0 24px 24px;
margin: 0
}

.services .faqitem details {
display: block
}

.services .faqitem details summary {
list-style: none;
cursor: pointer;
padding: 24px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: 24px;
font-size: 18px;
line-height: 1.35;
color: #1B2B33;
font-weight: 600;
transition: background .35s ease-in-out
}

.services .faqitem details summary::-webkit-details-marker {
display: none
}

.services .faqitem details summary:hover {
background: #d025450a
}

.services .faqitem details[open] summary {
color: #D02545
}

.services .faqitem details summary .faqarrow {
transition: transform .38s cubic-bezier(0.34, 1.2, 0.64, 1), background .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.services .faqitem details[open] summary .faqarrow {
transform: rotate(180deg);
background: #D02545;
border-color: #D02545
}

.services .faqitem details[open] summary .faqarrow svg path {
stroke: #fff
}

.services .faqitem details p {
font-size: 16px;
line-height: 1.55;
color: #1b2b33b3;
padding: 0 24px 24px;
margin: 0
}

@media (max-width: 992px) {
.services .pagetop {
flex-direction: column;
gap: 40px;
padding: 40px 24px
}

.services .pagetop h1 {
font-size: 52px
}

.services .topdots {
display: none
}

.services .offertop {
flex-direction: column;
align-items: flex-start;
gap: 24px
}

.services .offertop h2 {
font-size: 37px
}

.services .offergrid {
grid-template-columns: 1fr 1fr
}

.services .offerblock,
.services .processblock,
.services .faqblock {
padding: 40px 24px
}

.services .processgrid {
grid-template-columns: 1fr;
gap: 40px
}

.services .processblock h2 {
font-size: 37px
}

.services .faqlayout {
grid-template-columns: 1fr;
gap: 40px
}

.services .faqside {
position: static
}

.services .faqside h2 {
font-size: 37px
}
}

@media (max-width: 576px) {
.services .pagetop h1 {
font-size: 37px
}

.services .topstats {
gap: 24px
}

.services .statnum {
font-size: 27px
}

.services .offergrid {
grid-template-columns: 1fr
}

.services .offertop h2 {
font-size: 27px
}

.services .processblock h2,
.services .faqside h2 {
font-size: 27px
}
}

.aboutus {
max-width: 1500px;
margin: 0 auto;
overflow: hidden
}

.aboutus ::selection {
background: #1B2B33;
color: #F4FDF9;
font-weight: 700
}

.aboutus .radial-bg {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: inherit
}

.aboutus .radial-bg span {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
border: 1.5px solid #d0254521;
animation: ringExpand 4s cubic-bezier(0.34, 1.2, 0.64, 1) infinite;
pointer-events: none
}

.aboutus .radial-bg span:nth-child(1) {
width: 120px;
height: 120px;
animation-delay: 0s
}

.aboutus .radial-bg span:nth-child(2) {
width: 240px;
height: 240px;
animation-delay: 1.1s
}

.aboutus .radial-bg span:nth-child(3) {
width: 380px;
height: 380px;
animation-delay: 2.2s
}

.aboutus .radial-bg span:nth-child(4) {
width: 520px;
height: 520px;
animation-delay: 3.1s
}

@keyframes ringExpand {
0% {
opacity: 0;
transform: translate(-50%, -50%) scale(0.7)
}

30% {
opacity: 1
}

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

.aboutus .dotscatter {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.aboutus .dotscatter span {
position: absolute;
width: 4px;
height: 4px;
border-radius: 50%;
background: #d025451f
}

.aboutus .titlepanel {
position: relative;
background: #fff;
padding: 40px 80px;
display: flex;
flex-direction: row;
align-items: center;
gap: 80px;
border-bottom: 1px solid #1b2b3314
}

.aboutus .titlepanel .textside {
flex: 0 0 auto;
max-width: 560px;
position: relative;
z-index: 1
}

.aboutus .titlepanel .textside h1 {
font-size: 68px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0 0 12px;
background: linear-gradient(107deg, #1B2B33 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.aboutus .titlepanel .textside .tagline {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0 0 24px;
opacity: .78
}

.aboutus .titlepanel .textside .links {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.aboutus .titlepanel .textside .links a.primary {
display: inline-block;
background: #D02545;
color: #fff;
font-size: 16px;
font-weight: 600;
padding: 12px 24px;
border-radius: 8px;
text-decoration: none;
border: 2px solid #D02545;
box-shadow: 1px 6px 18px 0 #d0254517;
transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative
}

.aboutus .titlepanel .textside .links a.primary::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 5px;
border: 1.5px solid #fff0;
transition: border-color .35s ease-in-out
}

.aboutus .titlepanel .textside .links a.primary:hover {
background: #b01f3a;
box-shadow: 1px 8px 40px 0 #d0254524
}

.aboutus .titlepanel .textside .links a.primary:hover::after {
border-color: #ffffff73
}

.aboutus .titlepanel .textside .links a.secondary {
display: inline-block;
background: transparent;
color: #1B2B33;
font-size: 16px;
font-weight: 600;
padding: 12px 24px;
border-radius: 8px;
text-decoration: none;
border: 2px solid #1b2b3338;
transition: border-color .42s ease-in-out, color .42s ease-in-out;
position: relative
}

.aboutus .titlepanel .textside .links a.secondary::after {
content: '';
position: absolute;
inset: 3px;
border-radius: 5px;
border: 1.5px solid transparent;
transition: border-color .35s ease-in-out
}

.aboutus .titlepanel .textside .links a.secondary:hover {
border-color: #D02545;
color: #D02545
}

.aboutus .titlepanel .textside .links a.secondary:hover::after {
border-color: #d025452e
}

.aboutus .titlepanel .imageside {
flex: 1 1 0;
position: relative;
z-index: 1
}

.aboutus .titlepanel .imageside figure {
margin: 0;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #1b2b331a;
box-shadow: 1px 8px 40px 0 #1b2b3324;
position: relative
}

.aboutus .titlepanel .imageside figure::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at 60% 40%, transparent 55%, #1b2b3338 100%);
pointer-events: none
}

.aboutus .titlepanel .imageside figure img {
display: block;
width: 100%;
height: 340px;
object-fit: cover
}

.aboutus .storysection {
background: #F4FDF9;
padding: 80px;
position: relative;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

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

.aboutus .storysection .sidenote {
flex: 0 0 180px;
padding-top: 8px
}

.aboutus .storysection .sidenote .label {
font-size: 16px;
font-weight: 700;
color: #D02545;
letter-spacing: .06em;
text-transform: uppercase;
margin: 0 0 8px
}

.aboutus .storysection .sidenote .since {
font-size: 52px;
line-height: 1.1;
font-weight: 800;
color: #1B2B33;
margin: 0
}

.aboutus .storysection .sidenote .divider {
width: 40px;
height: 3px;
background: #D02545;
border-radius: 3px;
margin: 12px 0
}

.aboutus .storysection .sidenote .slashlist {
font-size: 16px;
color: #1b2b339e;
line-height: 1.55;
margin: 0
}

.aboutus .storysection .storycontent {
flex: 1 1 0
}

.aboutus .storysection .storycontent h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
background: linear-gradient(107deg, #1B2B33 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.aboutus .storysection .storycontent p {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0 0 24px;
max-width: 680px
}

.aboutus .storysection .storycontent .imagepair {
display: flex;
flex-direction: row;
gap: 24px;
margin-top: 40px
}

.aboutus .storysection .storycontent .imagepair figure {
flex: 1 1 0;
margin: 0;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #1b2b331a;
box-shadow: 1px 2px 6px 0 #1b2b330f
}

.aboutus .storysection .storycontent .imagepair figure img {
display: block;
width: 100%;
height: 220px;
object-fit: cover
}

.aboutus .stepssection {
background: #1B2B33;
padding: 80px;
position: relative;
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.aboutus .stepssection .overlaycircles {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.aboutus .stepssection .overlaycircles span {
position: absolute;
border-radius: 50%;
background: #d025450f
}

.aboutus .stepssection .overlaycircles span:nth-child(1) {
width: 320px;
height: 320px;
top: -80px;
right: 120px
}

.aboutus .stepssection .overlaycircles span:nth-child(2) {
width: 200px;
height: 200px;
bottom: -40px;
right: 40px
}

.aboutus .stepssection .overlaycircles span:nth-child(3) {
width: 160px;
height: 160px;
top: 60px;
right: 280px;
background: #f4fdf90a
}

.aboutus .stepssection .stepsimagecol {
flex: 0 0 380px;
position: relative;
z-index: 1
}

.aboutus .stepssection .stepsimagecol figure {
margin: 0;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #f4fdf91f;
box-shadow: 1px 6px 18px 0 #d0254517
}

.aboutus .stepssection .stepsimagecol figure img {
display: block;
width: 100%;
height: 460px;
object-fit: cover
}

.aboutus .stepssection .stepsright {
flex: 1 1 0;
position: relative;
z-index: 1
}

.aboutus .stepssection .stepsright h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 8px;
background: linear-gradient(107deg, #F4FDF9 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.aboutus .stepssection .stepsright .subtext {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9b3;
margin: 0 0 40px
}

.aboutus .stepssection .stepslist {
list-style: none;
margin: 0;
padding: 0;
position: relative
}

.aboutus .stepssection .stepslist::before {
content: '';
position: absolute;
left: 20px;
top: 0;
bottom: 0;
width: 2px;
background: linear-gradient(180deg, #D02545 0%, #d025451a 100%);
border-radius: 3px
}

.aboutus .stepssection .stepslist li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
margin-bottom: 40px;
position: relative
}

.aboutus .stepssection .stepslist li:last-child {
margin-bottom: 0
}

.aboutus .stepssection .stepslist .stepnum {
flex: 0 0 40px;
width: 40px;
height: 40px;
border-radius: 50%;
background: #D02545;
color: #fff;
font-size: 16px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 1px 2px 6px 0 #d025450f 0 0 0 3px #d025452e;
position: relative;
z-index: 1
}

.aboutus .stepssection .stepslist .steptextblock h5 {
font-size: 18px;
font-weight: 700;
color: #F4FDF9;
margin: 0 0 4px;
line-height: 1.35
}

.aboutus .stepssection .stepslist .steptextblock p {
font-size: 16px;
line-height: 1.55;
color: #f4fdf9a6;
margin: 0
}

.aboutus .teamvalues {
background: #fff;
padding: 80px;
position: relative
}

.aboutus .teamvalues .twozone {
display: flex;
flex-direction: row;
gap: 80px;
align-items: flex-start
}

.aboutus .teamvalues .leftzone {
flex: 0 0 420px
}

.aboutus .teamvalues .leftzone h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
background: linear-gradient(107deg, #1B2B33 0%, #D02545 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.aboutus .teamvalues .leftzone p {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0 0 24px
}

.aboutus .teamvalues .leftzone figure {
margin: 0;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #1b2b331a;
box-shadow: 1px 6px 18px 0 #1b2b3317
}

.aboutus .teamvalues .leftzone figure img {
display: block;
width: 100%;
height: 280px;
object-fit: cover
}

.aboutus .teamvalues .rightzone {
flex: 1 1 0
}

.aboutus .teamvalues .rightzone h3 {
font-size: 27px;
line-height: 1.35;
letter-spacing: -.01em;
margin: 0 0 24px;
color: #1B2B33
}

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

.aboutus .teamvalues .valuelist li {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px;
padding: 24px;
border-radius: 14px;
border: 1.5px solid #1b2b3314;
background: #F4FDF9;
box-shadow: 1px 2px 6px 0 #1b2b330f;
transition: border-color .4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1);
cursor: default
}

.aboutus .teamvalues .valuelist li:hover {
border-color: #d0254559;
box-shadow: 1px 6px 18px 0 #d0254517
}

.aboutus .teamvalues .valuelist .iconring {
flex: 0 0 44px;
width: 44px;
height: 44px;
border-radius: 50%;
background: #D02545;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 0 0 3px #d0254526;
position: relative
}

.aboutus .teamvalues .valuelist .iconring svg {
width: 22px;
height: 22px
}

.aboutus .teamvalues .valuelist .valuetext h5 {
font-size: 18px;
font-weight: 700;
color: #1B2B33;
margin: 0 0 4px;
line-height: 1.35
}

.aboutus .teamvalues .valuelist .valuetext p {
font-size: 16px;
line-height: 1.55;
color: #1b2b33ad;
margin: 0
}

.aboutus .teamvalues .teamgrid {
margin-top: 40px;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px
}

.aboutus .teamvalues .teamcard {
border-radius: 14px;
border: 1.5px solid #1b2b3314;
padding: 24px;
background: #fff;
box-shadow: 1px 2px 6px 0 #1b2b330f;
display: flex;
flex-direction: column;
gap: 8px;
transition: box-shadow .37s ease-in-out
}

.aboutus .teamvalues .teamcard:hover {
box-shadow: 1px 8px 40px 0 #1b2b3324
}

.aboutus .teamvalues .teamcard .avatar {
width: 48px;
height: 48px;
border-radius: 50%;
background: linear-gradient(107deg, #1B2B33, #D02545);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 21px;
font-weight: 700;
box-shadow: 0 0 0 3px #d025451f
}

.aboutus .teamvalues .teamcard h6 {
font-size: 16px;
font-weight: 700;
color: #1B2B33;
margin: 0;
line-height: 1.35
}

.aboutus .teamvalues .teamcard .role {
font-size: 16px;
color: #D02545;
margin: 0;
line-height: 1.35
}

.aboutus .teamvalues .teamcard .bio {
font-size: 16px;
line-height: 1.55;
color: #1b2b33a6;
margin: 0
}

@media (max-width: 992px) {
.aboutus .titlepanel {
flex-direction: column;
padding: 40px 24px;
gap: 24px
}

.aboutus .titlepanel .textside {
max-width: 100%
}

.aboutus .titlepanel .textside h1 {
font-size: 52px
}

.aboutus .storysection {
flex-direction: column;
padding: 40px 24px;
gap: 24px
}

.aboutus .storysection .sidenote {
flex: none
}

.aboutus .storysection .storycontent .imagepair {
flex-direction: column
}

.aboutus .stepssection {
flex-direction: column;
padding: 40px 24px;
gap: 40px
}

.aboutus .stepssection .stepsimagecol {
flex: none;
width: 100%
}

.aboutus .teamvalues {
padding: 40px 24px
}

.aboutus .teamvalues .twozone {
flex-direction: column;
gap: 40px
}

.aboutus .teamvalues .leftzone {
flex: none;
width: 100%
}

.aboutus .teamvalues .teamgrid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 576px) {
.aboutus .titlepanel .textside h1 {
font-size: 37px
}

.aboutus .storysection .sidenote .since {
font-size: 37px
}

.aboutus .teamvalues .teamgrid {
grid-template-columns: 1fr
}

.aboutus .stepssection .stepslist::before {
display: none
}
}

.learningprogram {
max-width: 1500px;
margin: 0 auto;
overflow: hidden
}

.learningprogram .programhero {
padding: 80px 80px 40px;
position: relative;
background: #F4FDF9
}

.learningprogram .programhero .bracketframe {
position: relative;
display: grid;
grid-template-columns: 1fr 420px;
gap: 80px;
align-items: start
}

.learningprogram .programhero .bracketframe::before,
.learningprogram .programhero .bracketframe::after {
content: "";
position: absolute;
width: 28px;
height: 28px;
border-color: #D02545;
border-style: solid
}

.learningprogram .programhero .bracketframe::before {
top: -16px;
left: -16px;
border-width: 3px 0 0 3px
}

.learningprogram .programhero .bracketframe::after {
bottom: -16px;
right: -16px;
border-width: 0 3px 3px 0
}

.learningprogram .programhero .textside {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 24px
}

.learningprogram .programhero .textside .label {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
color: #D02545;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase
}

.learningprogram .programhero .textside .label .labelline {
display: inline-block;
width: 32px;
height: 2px;
background: #D02545;
border-radius: 3px
}

.learningprogram .programhero .textside h1 {
font-size: 68px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.learningprogram .programhero .textside .herotext {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
max-width: 520px;
margin: 0
}

.learningprogram .programhero .textside .heronote {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.learningprogram .programhero .textside .heronote aside {
font-size: 16px;
color: #D02545;
font-weight: 700;
min-width: 48px;
padding-top: 4px;
line-height: 1.35
}

.learningprogram .programhero .textside .heronote p {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
margin: 0;
opacity: .82
}

.learningprogram .programhero .textside .heroactions {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap
}

.learningprogram .programhero .textside .heroactions .btnprimary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 40px;
background: #D02545;
color: #fff;
font-size: 16px;
font-weight: 700;
border: 2px solid #D02545;
border-radius: 8px;
cursor: pointer;
position: relative;
transition: background .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 1px 6px 18px 0 #d0254517;
text-decoration: none
}

.learningprogram .programhero .textside .heroactions .btnprimary::after {
content: "";
position: absolute;
inset: 3px;
border: 2px solid #fff0;
border-radius: 6px;
transition: border-color .42s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.learningprogram .programhero .textside .heroactions .btnprimary:hover {
background: #b01e38;
box-shadow: 1px 8px 40px 0 #d0254524
}

.learningprogram .programhero .textside .heroactions .btnprimary:hover::after {
border-color: #ffffff73
}

.learningprogram .programhero .textside .heroactions .btnsecondary {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 40px;
background: transparent;
color: #1B2B33;
font-size: 16px;
font-weight: 600;
border: 2px solid #1B2B33;
border-radius: 8px;
cursor: pointer;
transition: background .35s ease-in-out, color .35s ease-in-out;
text-decoration: none
}

.learningprogram .programhero .textside .heroactions .btnsecondary:hover {
background: #1B2B33;
color: #F4FDF9
}

.learningprogram .programhero .imageside {
position: relative;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 8px 40px 0 #1b2b3324;
border: 1.5px solid #d0254521
}

.learningprogram .programhero .imageside img {
width: 100%;
height: 480px;
object-fit: cover;
display: block;
border-radius: 14px
}

.learningprogram .programhero .imageside .imgoverlay {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, #d0254538 0%, transparent 55%);
border-radius: 14px;
pointer-events: none
}

.learningprogram .programhero .imageside .imgbracket {
position: absolute;
bottom: 16px;
left: 16px;
width: 24px;
height: 24px;
border-left: 3px solid #D02545;
border-bottom: 3px solid #D02545;
border-radius: 0 0 0 3px;
pointer-events: none
}

.learningprogram .programhero .imageside .imgbracket2 {
position: absolute;
top: 16px;
right: 16px;
width: 24px;
height: 24px;
border-right: 3px solid #F4FDF9;
border-top: 3px solid #F4FDF9;
border-radius: 0 3px 0 0;
pointer-events: none
}

.learningprogram .divider1 {
height: 3px;
background: linear-gradient(107deg, #D02545, transparent);
margin: 0
}

.learningprogram .stepsblock {
padding: 80px;
background: #fff;
position: relative
}

.learningprogram .stepsblock .geoshape {
position: absolute;
top: 40px;
right: 40px;
width: 120px;
height: 120px;
border: 2px solid #d0254514;
border-radius: 24px;
animation: slowrotate 18s linear infinite;
pointer-events: none
}

.learningprogram .stepsblock .geoshape2 {
position: absolute;
bottom: 40px;
left: 60px;
width: 64px;
height: 64px;
border: 2px solid #1b2b3312;
border-radius: 14px;
animation: slowrotate 28s linear infinite reverse;
pointer-events: none
}

@keyframes slowrotate {
from {
transform: rotate(0deg)
}

to {
transform: rotate(360deg)
}
}

.learningprogram .stepsblock .blockintro {
display: grid;
grid-template-columns: 320px 1fr;
gap: 80px;
align-items: end;
margin-bottom: 80px
}

.learningprogram .stepsblock .blockintro h2 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.learningprogram .stepsblock .blockintro .introdetail {
display: flex;
flex-direction: column;
gap: 12px
}

.learningprogram .stepsblock .blockintro .introdetail p {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0
}

.learningprogram .stepsblock .stepslist {
position: relative;
display: flex;
flex-direction: column;
gap: 0
}

.learningprogram .stepsblock .stepslist .stepline {
position: absolute;
left: 28px;
top: 28px;
bottom: 28px;
width: 2px;
background: linear-gradient(to bottom, #D02545, #d025451a);
border-radius: 3px
}

.learningprogram .stepsblock .stepslist .stepitem {
display: grid;
grid-template-columns: 56px 1fr;
gap: 24px;
align-items: start;
padding: 24px 0;
border-bottom: 1px solid #1b2b3314;
position: relative
}

.learningprogram .stepsblock .stepslist .stepitem:last-child {
border-bottom: none
}

.learningprogram .stepsblock .stepslist .stepitem .stepnum {
width: 56px;
height: 56px;
border-radius: 14px;
background: #D02545;
color: #fff;
font-size: 21px;
font-weight: 800;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
box-shadow: 1px 6px 18px 0 #d0254517;
position: relative;
z-index: 1
}

.learningprogram .stepsblock .stepslist .stepitem .stepnum.alt {
background: #1B2B33;
box-shadow: 1px 6px 18px 0 #1b2b3317
}

.learningprogram .stepsblock .stepslist .stepitem .stepcontent {
padding-top: 8px
}

.learningprogram .stepsblock .stepslist .stepitem .stepcontent h4 {
font-size: 21px;
line-height: 1.35;
color: #1B2B33;
margin: 0 0 8px;
font-weight: 700
}

.learningprogram .stepsblock .stepslist .stepitem .stepcontent p {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
margin: 0;
opacity: .78
}

.learningprogram .stepsblock .stepslist .stepitem .stepcontent .stepslash {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 4px;
margin-top: 12px
}

.learningprogram .stepsblock .stepslist .stepitem .stepcontent .stepslash span {
font-size: 16px;
color: #D02545;
font-weight: 600
}

.learningprogram .stepsblock .stepslist .stepitem .stepcontent .stepslash span+span::before {
content: " / ";
color: #1b2b334d;
font-weight: 400
}

.learningprogram .divider2 {
height: 3px;
background: linear-gradient(107deg, transparent, #D02545);
margin: 0
}

.learningprogram .formatblock {
padding: 80px;
background: #1B2B33;
position: relative;
overflow: hidden
}

.learningprogram .formatblock .bganim {
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 80% 20%, #d025451f 0%, transparent 55%);
animation: bgzoom 12s ease-in-out infinite alternate;
pointer-events: none
}

@keyframes bgzoom {
from {
transform: scale(1)
}

to {
transform: scale(1.12)
}
}

.learningprogram .formatblock .formatgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
position: relative
}

.learningprogram .formatblock .formatleft h2 {
font-size: 52px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
background: linear-gradient(107deg, #F4FDF9, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.learningprogram .formatblock .formatleft p {
font-size: 18px;
line-height: 1.55;
color: #f4fdf9d9;
margin: 0 0 24px
}

.learningprogram .formatblock .formatleft .metapills {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 12px
}

.learningprogram .formatblock .formatleft .metapills .pill {
padding: 8px 24px;
border-radius: 40px;
border: 1.5px solid #f4fdf938;
color: #F4FDF9;
font-size: 16px;
font-weight: 600;
background: #f4fdf90f;
transition: background .4s ease-in-out, border-color .4s ease-in-out
}

.learningprogram .formatblock .formatleft .metapills .pill:hover {
background: #d0254538;
border-color: #D02545
}

.learningprogram .formatblock .formatright {
position: relative;
border-radius: 14px;
overflow: hidden;
border: 1.5px solid #d0254538;
box-shadow: 1px 8px 40px 0 #1b2b3324
}

.learningprogram .formatblock .formatright img {
width: 100%;
height: 420px;
object-fit: cover;
display: block;
border-radius: 14px
}

.learningprogram .formatblock .formatright .imgoverlay2 {
position: absolute;
inset: 0;
background: linear-gradient(107deg, #1b2b3373 0%, transparent 60%);
border-radius: 14px;
pointer-events: none
}

.learningprogram .formatblock .formatright .imgcaption {
position: absolute;
bottom: 24px;
left: 24px;
right: 24px;
display: flex;
flex-direction: column;
gap: 4px
}

.learningprogram .formatblock .formatright .imgcaption strong {
font-size: 21px;
color: #F4FDF9;
font-weight: 700;
line-height: 1.35
}

.learningprogram .formatblock .formatright .imgcaption span {
font-size: 16px;
color: #f4fdf9b3
}

.learningprogram .divider3 {
height: 3px;
background: linear-gradient(107deg, #D02545, #1b2b3366);
margin: 0
}

.learningprogram .faqblock {
padding: 80px;
background: #F4FDF9;
position: relative
}

.learningprogram .faqblock .geoshape3 {
position: absolute;
top: 80px;
right: 80px;
width: 80px;
height: 80px;
border: 2px solid #d025451a;
border-radius: 40px;
animation: slowrotate 22s linear infinite;
pointer-events: none
}

.learningprogram .faqblock h2 {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.01em;
margin: 0 0 40px;
color: #1B2B33;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
max-width: 540px
}

.learningprogram .faqblock .faqgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 24px
}

.learningprogram .faqblock .faqgrid .faqitem {
background: #fff;
border-radius: 14px;
padding: 24px;
border: 1.5px solid #1b2b3314;
box-shadow: 1px 2px 6px 0 #1b2b330f;
transition: box-shadow .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.learningprogram .faqblock .faqgrid .faqitem:hover {
box-shadow: 1px 6px 18px 0 #d0254517;
border-color: #d0254538
}

.learningprogram .faqblock .faqgrid .faqitem h5 {
font-size: 18px;
line-height: 1.35;
color: #1B2B33;
margin: 0 0 12px;
font-weight: 700
}

.learningprogram .faqblock .faqgrid .faqitem p {
font-size: 16px;
line-height: 1.55;
color: #1B2B33;
margin: 0;
opacity: .78
}

.learningprogram .faqblock .faqgrid .faqitem.wide {
grid-column: span 2
}

.learningprogram .faqblock .faqcta {
margin-top: 40px;
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
padding: 40px;
background: #1B2B33;
border-radius: 14px;
box-shadow: 1px 8px 40px 0 #1b2b3324
}

.learningprogram .faqblock .faqcta .ctacopy {
flex: 1
}

.learningprogram .faqblock .faqcta .ctacopy h3 {
font-size: 27px;
line-height: 1.35;
color: #F4FDF9;
margin: 0 0 8px;
font-weight: 700
}

.learningprogram .faqblock .faqcta .ctacopy p {
font-size: 16px;
line-height: 1.55;
color: #f4fdf9bf;
margin: 0
}

.learningprogram .faqblock .faqcta .ctabtn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 40px;
background: #D02545;
color: #fff;
font-size: 16px;
font-weight: 700;
border: 2px solid #D02545;
border-radius: 8px;
cursor: pointer;
text-decoration: none;
flex-shrink: 0;
position: relative;
transition: background .4s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .4s cubic-bezier(0.34, 1.2, 0.64, 1);
box-shadow: 1px 6px 18px 0 #d0254517
}

.learningprogram .faqblock .faqcta .ctabtn::after {
content: "";
position: absolute;
inset: 3px;
border: 2px solid #fff0;
border-radius: 6px;
transition: border-color .44s cubic-bezier(0.34, 1.2, 0.64, 1)
}

.learningprogram .faqblock .faqcta .ctabtn:hover {
background: #b01e38;
box-shadow: 1px 8px 40px 0 #d0254524
}

.learningprogram .faqblock .faqcta .ctabtn:hover::after {
border-color: #fff6
}

@media (max-width: 992px) {
.learningprogram .programhero {
padding: 40px 24px 24px
}

.learningprogram .programhero .bracketframe {
grid-template-columns: 1fr;
gap: 40px
}

.learningprogram .programhero .textside h1 {
font-size: 52px
}

.learningprogram .stepsblock {
padding: 40px 24px
}

.learningprogram .stepsblock .blockintro {
grid-template-columns: 1fr;
gap: 24px;
margin-bottom: 40px
}

.learningprogram .stepsblock .blockintro h2 {
font-size: 37px
}

.learningprogram .formatblock {
padding: 40px 24px
}

.learningprogram .formatblock .formatgrid {
grid-template-columns: 1fr;
gap: 40px
}

.learningprogram .formatblock .formatleft h2 {
font-size: 37px
}

.learningprogram .faqblock {
padding: 40px 24px
}

.learningprogram .faqblock .faqgrid {
grid-template-columns: 1fr
}

.learningprogram .faqblock .faqgrid .faqitem.wide {
grid-column: span 1
}

.learningprogram .faqblock .faqcta {
flex-direction: column;
align-items: flex-start;
padding: 24px
}
}

@media (max-width: 576px) {
.learningprogram .programhero .textside h1 {
font-size: 37px
}

.learningprogram .programhero .textside .heroactions {
flex-direction: column
}

.learningprogram .stepsblock .blockintro h2 {
font-size: 27px
}

.learningprogram .formatblock .formatleft h2 {
font-size: 27px
}

.learningprogram .faqblock h2 {
font-size: 27px
}

.learningprogram .faqblock .faqcta h3 {
font-size: 21px
}
}

.successPage {
min-height: 80vh;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 80px 24px;
background-color: #F4FDF9
}

.successPage .successWrapper {
max-width: 560px;
width: 100%;
background: #fff;
border-radius: 24px;
padding: 80px 40px;
box-shadow: 1px 8px 40px 0 #d0254524;
text-align: center;
border: 1px solid #d025451a
}

.successPage .iconCircle {
width: 80px;
height: 80px;
border-radius: 40px;
background: linear-gradient(107deg, #D02545, #d025451f);
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
margin: 0 auto 40px;
box-shadow: 1px 6px 18px 0 #d0254517 inset 0 1px 4px 0 #d025452e
}

.successPage .iconCircle svg {
display: block
}

.successPage .successHeading {
font-size: 37px;
line-height: 1.1;
letter-spacing: -.02em;
margin: 0 0 24px;
background: linear-gradient(107deg, #1B2B33, #D02545);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.successPage .successText {
font-size: 18px;
line-height: 1.55;
color: #1B2B33;
margin: 0 0 40px;
padding: 0 8px
}

.successPage .dividerLine {
width: 48px;
height: 3px;
background: linear-gradient(107deg, #D02545, #d0254533);
border-radius: 3px;
margin: 0 auto 40px
}

.successPage .successNote {
font-size: 16px;
line-height: 1.55;
color: #4a5a62;
margin: 0 0 40px;
padding: 12px 24px;
background: #F4FDF9;
border-radius: 14px;
border-left: 3px solid #D02545;
border-top: 1px solid #1b2b3314;
text-align: left
}

.successPage .successNote strong {
color: #1B2B33
}

.successPage .returnButton {
display: inline-block;
padding: 12px 40px;
background: #D02545;
color: #fff;
font-size: 16px;
line-height: 1.35;
font-weight: 600;
text-decoration: none;
border-radius: 8px;
border: 2px solid #D02545;
transition: background-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color .38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow .42s ease-in-out;
box-shadow: 1px 2px 6px 0 #d025450f;
position: relative
}

.successPage .returnButton:hover {
background: #b01e3a;
border-color: #b01e3a;
box-shadow: 1px 6px 18px 0 #d0254517 inset 0 0 0 2px #ffffff38
}

.successPage .returnButton:focus {
outline: 3px solid #D02545;
outline-offset: 3px
}

.successPage .returnButton:active {
background: #8f1830;
border-color: #8f1830
}

.successPage .secondaryLink {
display: block;
margin-top: 24px;
font-size: 16px;
line-height: 1.35;
color: #1B2B33;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .35s ease-in-out
}

.successPage .secondaryLink:hover {
color: #D02545
}

.successPage .secondaryLink:focus {
outline: 2px solid #D02545;
outline-offset: 2px;
border-radius: 3px
}

@media (max-width: 576px) {
.successPage {
padding: 40px 12px
}

.successPage .successWrapper {
padding: 40px 24px
}

.successPage .successHeading {
font-size: 27px
}

.successPage .successText {
font-size: 16px
}

.successPage .returnButton {
width: 100%;
text-align: center
}
}