@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/source-sans-pro@latest/700-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/400.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/400-italic.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/700.css";
@import "https://cdn.jsdelivr.net/npm/@fontsource/nunito@latest/700-italic.css";

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

body {
margin: 0;
min-height: 100dvh;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #201816;
background: #FFF
}

.sitehead {
background: #201816;
position: relative
}

.sitehead-band {
background: #F4DCC9;
padding: 8px 0
}

.sitehead-band-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px
}

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

.sitehead-contactitem {
display: flex;
align-items: center;
gap: 8px;
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #201816;
text-decoration: none;
transition: opacity .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.sitehead-contactitem:hover {
opacity: .7
}

.sitehead-contactitem .mi {
font-size: 16px;
color: #201816
}

.sitehead-tagline {
font-family: 'Nunito', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #201816;
font-style: italic;
white-space: nowrap
}

.sitehead-main {
max-width: 1200px;
margin: 0 auto;
padding: 36px 24px;
display: flex;
flex-direction: column;
align-items: center;
gap: 36px
}

.sitehead-logorow {
display: flex;
align-items: center;
justify-content: center
}

.sitehead-logobadge {
background: #FFF;
border-radius: 14px;
padding: 12px 24px;
box-shadow: 1px 6px 25px 0 #f4dcc91a;
border: 1px solid #f4dcc966;
display: flex;
align-items: center;
justify-content: center
}

.sitehead-logobadge img {
width: 48px;
height: 48px;
object-fit: contain;
display: block
}

.sitehead-brand {
margin-left: 12px;
display: flex;
flex-direction: column
}

.sitehead-brandname {
font-family: 'Nunito', sans-serif;
font-size: 23px;
font-weight: 700;
line-height: 1.15;
color: #FFF;
letter-spacing: 0
}

.sitehead-brandsub {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #F4DCC9
}

.sitehead-navrow {
width: 100%;
display: flex;
justify-content: center
}

.sitehead-nav {
display: flex;
align-items: center;
gap: 4px;
flex-wrap: wrap;
justify-content: center;
background: #f4dcc912;
border-radius: 26px;
padding: 8px 12px;
border: 1px solid #f4dcc926
}

.sitehead-navlink {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
color: #F4DCC9;
text-decoration: none;
padding: 8px 24px;
border-radius: 42px;
transition: background .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
white-space: nowrap
}

.sitehead-navlink:hover {
background: #F4DCC9;
color: #201816
}

.sitehead-navlink.active {
background: #F4DCC9;
color: #201816
}

.sitehead-valueprop {
text-align: center;
max-width: 640px;
padding: 24px 36px;
background: #f4dcc914;
border-radius: 14px;
border-left: 3px solid #F4DCC9;
border-right: 3px solid #F4DCC9
}

.sitehead-valueprop p {
font-family: 'Nunito', sans-serif;
font-size: 19px;
line-height: 1.6;
color: #FFF;
margin: 0
}

.sitefooter {
background: #201816;
color: #F4DCC9
}

.sitefooter-top {
max-width: 1200px;
margin: 0 auto;
padding: 72px 24px 36px;
display: grid;
grid-template-columns: 220px 1fr 1fr 1fr;
gap: 36px;
align-items: start
}

.sitefooter-logocol {
display: flex;
flex-direction: column;
gap: 24px
}

.sitefooter-logobadge {
background: #FFF;
border-radius: 14px;
padding: 12px;
box-shadow: 1px 2px 5px 0 #2018160d;
display: inline-flex;
align-items: center;
justify-content: center;
width: 72px;
height: 72px
}

.sitefooter-logobadge img {
width: 48px;
height: 48px;
object-fit: contain;
display: block
}

.sitefooter-brandname {
font-family: 'Nunito', sans-serif;
font-size: 19px;
font-weight: 700;
line-height: 1.15;
color: #FFF
}

.sitefooter-desc {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #f4dcc9bf;
margin: 0
}

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

.sitefooter-collabel {
font-family: 'Nunito', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
color: #FFF;
text-transform: uppercase;
letter-spacing: .08em;
padding-bottom: 8px;
border-bottom: 1px solid #f4dcc933;
margin-bottom: 4px
}

.sitefooter-link {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #f4dcc9cc;
text-decoration: none;
transition: color .7s ease;
display: inline-block
}

.sitefooter-link:hover {
color: #FFF
}

.sitefooter-contactitem {
display: flex;
align-items: flex-start;
gap: 8px;
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #f4dcc9cc;
text-decoration: none;
transition: color .7s ease
}

.sitefooter-contactitem:hover {
color: #FFF
}

.sitefooter-contactitem .mi {
font-size: 16px;
margin-top: 4px;
flex-shrink: 0
}

.sitefooter-divider {
max-width: 1200px;
margin: 0 auto;
border: none;
border-top: 1px solid #f4dcc926
}

.sitefooter-bottom {
max-width: 1200px;
margin: 0 auto;
padding: 24px 24px 36px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 12px
}

.sitefooter-copy {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #f4dcc980
}

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

.sitefooter-legallink {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #f4dcc980;
text-decoration: none;
transition: color .6s ease
}

.sitefooter-legallink:hover {
color: #f4dcc9e6
}

.cookiebar {
position: fixed;
bottom: 24px;
left: 24px;
z-index: 2000;
width: 320px;
background: #FFF;
border-radius: 14px;
box-shadow: 1px 9px 52px 0 #20181624;
border: 1px solid #f4dcc980;
padding: 24px;
display: none
}

.cookiebar-desc {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #201816;
margin: 0 0 12px
}

.cookiebar-cats {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 24px
}

.cookiebar-catrow {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px
}

.cookiebar-catlabel {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #201816
}

.cookiebar-toggle {
appearance: none;
-webkit-appearance: none;
width: 36px;
height: 20px;
background: #20181626;
border-radius: 42px;
position: relative;
cursor: pointer;
transition: background .5s ease;
flex-shrink: 0;
border: none;
outline: none
}

.cookiebar-toggle::after {
content: '';
position: absolute;
top: 3px;
left: 3px;
width: 14px;
height: 14px;
background: #FFF;
border-radius: 42px;
transition: transform .5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.cookiebar-toggle:checked {
background: #201816
}

.cookiebar-toggle:checked::after {
transform: translateX(16px)
}

.cookiebar-toggle:focus {
border: 2px solid #F4DCC9;
background: #f4dcc94d
}

.cookiebar-toggle:disabled {
opacity: .5;
cursor: not-allowed
}

.cookiebar-optout {
font-family: 'Source Sans Pro', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #20181699;
margin: 0 0 24px;
display: flex;
align-items: center;
gap: 8px
}

.cookiebar-optout input[type="checkbox"] {
accent-color: #201816;
width: 16px;
height: 16px;
cursor: pointer;
flex-shrink: 0
}

.cookiebar-btns {
display: flex;
gap: 12px
}

.cookiebar-accept {
flex: 1;
font-family: 'Nunito', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
color: #FFF;
background: #201816;
border: 2px solid #201816;
border-radius: 7px;
padding: 8px 12px;
cursor: pointer;
transition: background .6s ease, color .6s ease
}

.cookiebar-accept:hover {
background: #F4DCC9;
color: #201816;
border-color: #F4DCC9
}

.cookiebar-accept:focus {
border-color: #F4DCC9;
background: #f4dcc933;
color: #201816
}

.cookiebar-reject {
flex: 1;
font-family: 'Nunito', sans-serif;
font-size: 16px;
font-weight: 700;
line-height: 1.4;
color: #201816;
background: transparent;
border: 2px solid #201816;
border-radius: 7px;
padding: 8px 12px;
cursor: pointer;
transition: background .6s ease, color .6s ease
}

.cookiebar-reject:hover {
background: #2018160f
}

.cookiebar-reject:focus {
border-color: #F4DCC9;
background: #f4dcc926
}

@media (max-width: 960px) {
.sitefooter-top {
grid-template-columns: 1fr 1fr
}

.sitefooter-logocol {
grid-column: 1 / -1
}

.sitehead-band-inner {
flex-direction: column;
align-items: flex-start;
gap: 8px
}
}

@media (max-width: 480px) {
.sitefooter-top {
grid-template-columns: 1fr
}

.sitehead-valueprop {
padding: 24px
}

.sitehead-main {
padding: 24px 12px
}

.cookiebar {
left: 12px;
right: 12px;
width: auto;
bottom: 12px
}

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

.terms-box-oqj {
max-width: 1200px;
margin: 0 auto;
padding: 72px 24px;
color: #201816;
line-height: 1.6
}

.terms-box-oqj h1 {
font-size: 42px;
line-height: 1.15;
margin-bottom: 36px;
margin-top: 0;
color: #201816
}

.terms-box-oqj h2 {
font-size: 23px;
line-height: 1.4;
margin-top: 72px;
margin-bottom: 24px;
color: #201816
}

.terms-box-oqj h3 {
font-size: 19px;
line-height: 1.4;
margin-top: 36px;
margin-bottom: 12px;
color: #201816
}

.terms-box-oqj h4,
.terms-box-oqj h5,
.terms-box-oqj h6 {
font-size: 16px;
line-height: 1.4;
margin-top: 24px;
margin-bottom: 8px;
color: #201816
}

.terms-box-oqj p {
font-size: 16px;
line-height: 1.6;
margin-top: 0;
margin-bottom: 24px;
color: #201816
}

.terms-box-oqj ul,
.terms-box-oqj ol {
font-size: 16px;
line-height: 1.6;
margin-top: 0;
margin-bottom: 24px;
padding-left: 36px;
color: #201816
}

.terms-box-oqj ul {
list-style-type: disc
}

.terms-box-oqj ol {
list-style-type: decimal
}

.terms-box-oqj li {
margin-bottom: 8px;
font-size: 16px;
line-height: 1.6
}

.terms-box-oqj li:last-child {
margin-bottom: 0
}

.terms-box-oqj ul ul,
.terms-box-oqj ol ol,
.terms-box-oqj ul ol,
.terms-box-oqj ol ul {
margin-top: 8px;
margin-bottom: 8px
}

.terms-box-oqj strong,
.terms-box-oqj b {
font-weight: 700;
color: #201816
}

.terms-box-oqj a {
color: #201816;
text-decoration: underline;
text-underline-offset: 3px;
transition: color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity .5s ease
}

.terms-box-oqj a:hover {
opacity: .65
}

.terms-box-oqj hr {
border: none;
border-top: 1px solid #F4DCC9;
margin-top: 36px;
margin-bottom: 36px
}

.terms-box-oqj table {
width: 100%;
border-collapse: collapse;
margin-bottom: 36px;
font-size: 16px;
line-height: 1.4;
box-shadow: 1px 6px 25px 0 #f4dcc91a;
border-radius: 7px;
overflow: hidden
}

.terms-box-oqj thead {
background-color: #201816;
color: #FFF
}

.terms-box-oqj thead th {
padding: 12px 24px;
font-size: 16px;
line-height: 1.4;
font-weight: 700;
text-align: left;
letter-spacing: .04em;
text-transform: uppercase;
color: #FFF
}

.terms-box-oqj tbody tr {
border-bottom: 1px solid #F4DCC9;
transition: background-color .5s ease
}

.terms-box-oqj tbody tr:last-child {
border-bottom: none
}

.terms-box-oqj tbody tr:hover {
background-color: #f4dcc92e
}

.terms-box-oqj td {
padding: 12px 24px;
font-size: 16px;
line-height: 1.6;
color: #201816;
vertical-align: top
}

.terms-box-oqj th {
padding: 12px 24px;
font-size: 16px;
line-height: 1.4;
font-weight: 700;
text-align: left;
color: #201816
}

@media (max-width: 960px) {
.terms-box-oqj {
padding: 36px 24px
}

.terms-box-oqj h1 {
font-size: 42px
}

.terms-box-oqj h2 {
margin-top: 36px
}

.terms-box-oqj table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch
}
}

@media (max-width: 480px) {
.terms-box-oqj {
padding: 36px 12px
}

.terms-box-oqj h1 {
font-size: 23px
}

.terms-box-oqj h2 {
font-size: 19px;
margin-top: 36px
}

.terms-box-oqj h3 {
font-size: 16px
}

.terms-box-oqj ul,
.terms-box-oqj ol {
padding-left: 24px
}

.terms-box-oqj thead th,
.terms-box-oqj td,
.terms-box-oqj th {
padding: 8px 12px
}
}

.srvc {
overflow-x: hidden
}

.srvc .prog {
background-color: #F4DCC9;
background-image: repeating-linear-gradient(0deg, #2018160a 0px, #2018160a 1px, transparent 1px, transparent 48px), repeating-linear-gradient(90deg, #2018160a 0px, #2018160a 1px, transparent 1px, transparent 48px);
padding-top: 72px;
padding-bottom: 72px;
position: relative
}

.srvc .prog::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 6px;
background: #201816
}

.srvc .prog-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.srvc .prog-left {
flex: 1 1 0;
min-width: 0
}

.srvc .prog-right {
flex: 0 0 340px;
position: relative
}

.srvc .prog-label {
font-size: 16px;
line-height: 1.4;
letter-spacing: .12em;
text-transform: uppercase;
color: #201816;
opacity: .5;
margin-bottom: 24px
}

.srvc .prog-heading {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
margin-bottom: 12px
}

.srvc .prog-rule {
width: 48px;
height: 4px;
background: #201816;
margin-bottom: 24px;
border-radius: 2px
}

.srvc .prog-body {
font-size: 19px;
line-height: 1.6;
color: #201816;
max-width: 520px
}

.srvc .prog-body p {
margin-bottom: 24px
}

.srvc .prog-items {
margin-top: 36px;
display: flex;
flex-direction: column;
gap: 24px
}

.srvc .prog-item {
background: #fff;
border-radius: 14px;
padding: 24px;
box-shadow: 1px 6px 25px 0 #2018161a;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform .5s ease;
cursor: default
}

.srvc .prog-items:hover .prog-item {
opacity: .55
}

.srvc .prog-items:hover .prog-item:hover {
opacity: 1;
box-shadow: 1px 9px 52px 0 #20181624;
transform: translateY(-2px)
}

.srvc .prog-item-num {
font-size: 42px;
line-height: 1.15;
color: #F4DCC9;
font-style: italic;
margin-bottom: 8px;
display: block
}

.srvc .prog-item h4 {
font-size: 19px;
line-height: 1.4;
color: #201816;
font-style: italic;
margin-bottom: 8px
}

.srvc .prog-item-rule {
width: 28px;
height: 2px;
background: #F4DCC9;
margin-bottom: 12px;
border-radius: 2px
}

.srvc .prog-item p {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .8
}

.srvc .prog-right-bg {
position: absolute;
top: -36px;
right: -36px;
width: 260px;
height: 260px;
pointer-events: none;
overflow: hidden
}

.srvc .prog-circles {
width: 260px;
height: 260px
}

.srvc .prog-img-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 9px 52px 0 #20181624;
margin-bottom: 24px
}

.srvc .prog-img-wrap img {
width: 340px;
height: 220px;
object-fit: cover;
display: block;
transition: transform .7s ease
}

.srvc .prog-img-wrap:hover img {
transform: scale(1.04)
}

.srvc .prog-img2-wrap {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 6px 25px 0 #2018161a
}

.srvc .prog-img2-wrap img {
width: 340px;
height: 180px;
object-fit: cover;
display: block;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srvc .prog-img2-wrap:hover img {
transform: scale(1.05)
}

.srvc .contact-sect {
background: #fff;
background-image: linear-gradient(180deg, #f4dcc938 0%, #f4dcc90a 38%, #fff 100%);
padding-top: 72px;
padding-bottom: 72px;
position: relative
}

.srvc .contact-sect::before {
content: "";
display: block;
width: 80px;
height: 4px;
background: #F4DCC9;
margin: 0 auto 72px;
border-radius: 2px
}

.srvc .contact-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.srvc .contact-meta {
flex: 0 0 380px;
min-width: 0;
position: relative
}

.srvc .contact-meta-bg {
position: absolute;
bottom: -36px;
left: -36px;
pointer-events: none;
overflow: hidden;
width: 200px;
height: 200px
}

.srvc .contact-heading {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
margin-bottom: 12px
}

.srvc .contact-rule {
width: 48px;
height: 4px;
background: #201816;
margin-bottom: 24px;
border-radius: 2px
}

.srvc .contact-desc {
font-size: 19px;
line-height: 1.6;
color: #201816;
margin-bottom: 36px
}

.srvc .contact-desc p {
margin-bottom: 12px
}

.srvc .expert-card {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start;
background: #F4DCC9;
border-radius: 14px;
padding: 24px;
box-shadow: 1px 2px 5px 0 #2018160d
}

.srvc .expert-portrait {
flex: 0 0 72px;
width: 72px;
height: 90px;
overflow: hidden
}

.srvc .expert-portrait img {
width: 72px;
height: 90px;
object-fit: cover;
object-position: top;
display: block
}

.srvc .expert-info h5 {
font-size: 16px;
line-height: 1.4;
color: #201816;
font-style: italic;
margin-bottom: 4px
}

.srvc .expert-info p {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .7
}

.srvc .contact-form-wrap {
flex: 1 1 0;
min-width: 0
}

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

.srvc .form-field {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1 1 0
}

.srvc .form-field label {
font-size: 16px;
line-height: 1.4;
color: #201816;
letter-spacing: .06em;
text-transform: uppercase
}

.srvc .form-field input,
.srvc .form-field textarea {
background: #fff;
border: 1.5px solid #2018162e;
border-radius: 7px;
padding: 12px 16px;
font-size: 16px;
line-height: 1.6;
color: #201816;
outline: none;
box-shadow: inset 1px 2px 5px 0 #2018160d;
transition: border-color .55s ease;
width: 100%
}

.srvc .form-field input::placeholder,
.srvc .form-field textarea::placeholder {
color: #20181661
}

.srvc .form-field input:focus,
.srvc .form-field textarea:focus {
border-color: #201816
}

.srvc .form-field textarea {
resize: vertical;
min-height: 120px
}

.srvc .form-full {
margin-bottom: 24px
}

.srvc .privacy-row {
display: flex;
flex-direction: row;
gap: 12px;
align-items: flex-start;
margin-bottom: 24px
}

.srvc .privacy-row input[type="checkbox"] {
margin-top: 3px;
accent-color: #201816;
width: 16px;
height: 16px;
flex-shrink: 0
}

.srvc .privacy-row span {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .75
}

.srvc .privacy-row a {
color: #201816;
text-decoration: underline;
transition: opacity .5s ease
}

.srvc .privacy-row a:hover {
opacity: .6
}

.srvc .btn-submit {
background: #201816;
color: #F4DCC9;
border: none;
border-radius: 7px;
padding: 16px 36px;
font-size: 16px;
line-height: 1.4;
letter-spacing: .08em;
text-transform: uppercase;
cursor: pointer;
box-shadow: 1px 6px 25px 0 #2018161a;
transition: background .55s ease, color .55s ease, box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.srvc .btn-submit:hover {
background: #F4DCC9;
color: #201816;
box-shadow: 1px 9px 52px 0 #20181624
}

.srvc .btn-submit:focus {
outline: 2px solid #201816;
outline-offset: 3px
}

.srvc .btn-submit:active {
background: #201816;
color: #fff
}

@media (max-width: 960px) {
.srvc .prog-inner {
flex-direction: column;
gap: 36px
}

.srvc .prog-right {
flex: 0 0 auto;
width: 100%
}

.srvc .prog-img-wrap img,
.srvc .prog-img2-wrap img {
width: 100%;
height: 220px
}

.srvc .contact-inner {
flex-direction: column;
gap: 36px
}

.srvc .contact-meta {
flex: 0 0 auto;
width: 100%
}

.srvc .form-row {
flex-direction: column;
gap: 24px
}
}

@media (max-width: 480px) {
.srvc .prog {
padding-top: 36px;
padding-bottom: 36px
}

.srvc .prog-inner {
padding: 0 24px
}

.srvc .prog-heading {
font-size: 23px
}

.srvc .contact-sect {
padding-top: 36px;
padding-bottom: 36px
}

.srvc .contact-inner {
padding: 0 24px
}

.srvc .contact-heading {
font-size: 23px
}

.srvc .prog-body {
font-size: 16px
}

.srvc .contact-desc {
font-size: 16px
}
}

.certspage {
background: #FFF;
overflow-x: clip
}

.certspage .titleblock {
padding: 72px 24px;
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 72px
}

.certspage .titleblock .txtside {
flex: 1;
position: relative;
padding: 36px
}

.certspage .titleblock .dotgrid {
position: absolute;
inset: 0;
background-image: radial-gradient(circle, #2018161f 1px, transparent 1px);
background-size: 18px 18px;
border-radius: 14px;
pointer-events: none;
z-index: 0
}

.certspage .titleblock .txtside .txtwrap {
position: relative;
z-index: 1
}

.certspage .titleblock .txtside .pretxt {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .7;
margin-bottom: 12px;
display: block
}

.certspage .titleblock .txtside h1 {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
margin-bottom: 24px
}

.certspage .titleblock .txtside .subdesc {
font-size: 19px;
line-height: 1.6;
color: #201816;
opacity: .8
}

.certspage .titleblock .imgside {
flex: 0 0 420px;
position: relative;
border-radius: 26px;
overflow: hidden;
box-shadow: 1px 9px 52px 0 #20181624
}

.certspage .titleblock .imgside img {
width: 420px;
height: 560px;
object-fit: cover;
object-position: top;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.certspage .titleblock .imgside:hover img {
transform: scale(1.04)
}

.certspage .titleblock .imgside .imggrad {
position: absolute;
inset: 0;
background: linear-gradient(to left, #2018168c 0%, #2018162e 45%, transparent 75%);
border-radius: 26px;
pointer-events: none
}

.certspage .certlist {
background: #201816;
padding: 72px 24px;
position: relative;
overflow: hidden
}

.certspage .certlist .wavebg {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0
}

.certspage .certlist .wavebg svg {
width: 200%;
height: 100%;
animation: colorwave 8s ease infinite
}

@keyframes colorwave {
0% {
transform: translateX(0)
}

50% {
transform: translateX(-25%)
}

100% {
transform: translateX(0)
}
}

.certspage .certlist .inner {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1;
margin-left: 36px
}

.certspage .certlist h2 {
font-size: 42px;
line-height: 1.15;
color: #F4DCC9;
font-style: italic;
margin-bottom: 36px
}

.certspage .certlist .gridcerts {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px
}

.certspage .certlist .certcard {
background: #f4dcc912;
border: 1px solid #f4dcc92e;
border-radius: 14px;
padding: 24px;
transition: background .6s ease, box-shadow .6s ease
}

.certspage .certlist .certcard:hover {
background: #f4dcc924;
box-shadow: 1px 6px 25px 0 #f4dcc91a
}

.certspage .certlist .certcard .certicon {
width: 42px;
height: 42px;
margin-bottom: 12px;
display: flex;
align-items: center;
justify-content: center
}

.certspage .certlist .certcard .certicon svg {
width: 36px;
height: 36px
}

.certspage .certlist .certcard h4 {
font-size: 16px;
line-height: 1.4;
color: #F4DCC9;
font-style: italic;
margin-bottom: 8px
}

.certspage .certlist .certcard p {
font-size: 16px;
line-height: 1.6;
color: #f4dcc9b3
}

.certspage .certlist .certcard .certbadge {
display: inline-block;
margin-top: 12px;
font-size: 16px;
color: #F4DCC9;
border: 1px solid #f4dcc959;
border-radius: 7px;
padding: 4px 12px
}

.certspage .processsec {
padding: 72px 24px;
max-width: 1200px;
margin: 0 auto;
margin-right: 36px
}

.certspage .processsec h2 {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
margin-bottom: 8px
}

.certspage .processsec .subdesc {
font-size: 19px;
line-height: 1.6;
color: #201816;
opacity: .7;
margin-bottom: 36px;
max-width: 600px
}

.certspage .processsec .steps {
display: flex;
flex-direction: row;
gap: 24px;
align-items: flex-start
}

.certspage .processsec .step {
flex: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 12px;
position: relative
}

.certspage .processsec .step:not(:last-child)::after {
content: '';
position: absolute;
top: 21px;
right: -12px;
width: 24px;
height: 2px;
background: linear-gradient(233deg, #201816 0%, #F4DCC9 60%, #201816 100%)
}

.certspage .processsec .step .stepnum {
width: 42px;
height: 42px;
border-radius: 14px;
background: #F4DCC9;
display: flex;
align-items: center;
justify-content: center;
font-size: 19px;
line-height: 1.15;
color: #201816;
flex-shrink: 0
}

.certspage .processsec .step .stepicon {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center
}

.certspage .processsec .step h5 {
font-size: 16px;
line-height: 1.4;
color: #201816;
font-style: italic
}

.certspage .processsec .step p {
font-size: 16px;
line-height: 1.6;
color: #201816b3
}

.certspage .processsec .imgrow {
margin-top: 36px;
border-radius: 26px;
overflow: hidden;
box-shadow: 1px 6px 25px 0 #2018161a
}

.certspage .processsec .imgrow img {
width: 100%;
height: 280px;
object-fit: cover;
display: block;
transition: transform .8s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.certspage .processsec .imgrow:hover img {
transform: scale(1.03)
}

.certspage .expertsec {
background: #F4DCC9;
padding: 72px 24px;
position: relative
}

.certspage .expertsec::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(233deg, #201816 0%, #2018164d 60%, #F4DCC9 100%)
}

.certspage .expertsec .inner {
max-width: 1200px;
margin: 0 auto;
margin-left: 72px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.certspage .expertsec .portraitcol {
flex: 0 0 240px
}

.certspage .expertsec .portraitcol .portraitwrap {
width: 240px;
height: 360px;
border-radius: 42px;
overflow: hidden;
box-shadow: 1px 9px 52px 0 #20181624
}

.certspage .expertsec .portraitcol .portraitwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
transition: transform .7s ease
}

.certspage .expertsec .portraitcol .portraitwrap:hover img {
transform: scale(1.05)
}

.certspage .expertsec .expertinfo {
flex: 1;
padding-top: 12px
}

.certspage .expertsec .expertinfo h2 {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
margin-bottom: 24px
}

.certspage .expertsec .expertinfo .quote {
font-size: 19px;
line-height: 1.6;
color: #201816;
font-style: italic;
margin-bottom: 24px;
padding-left: 24px;
border-top: 2px solid #20181640;
padding-top: 24px
}

.certspage .expertsec .expertinfo .expertname {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .8;
margin-bottom: 24px
}

.certspage .expertsec .expertinfo .metalist {
display: flex;
flex-direction: row;
gap: 24px;
flex-wrap: wrap
}

.certspage .expertsec .expertinfo .metaitem {
display: flex;
flex-direction: column;
gap: 4px
}

.certspage .expertsec .expertinfo .metaitem .metaval {
font-size: 23px;
line-height: 1.15;
color: #201816
}

.certspage .expertsec .expertinfo .metaitem .metalabel {
font-size: 16px;
line-height: 1.4;
color: #201816a6
}

.certspage .diag {
position: absolute;
pointer-events: none;
overflow: hidden;
inset: 0
}

.certspage .diag svg {
width: 100%;
height: 100%
}

.certspage .wavdiv {
display: block;
line-height: 0;
overflow: hidden
}

.certspage .wavdiv svg {
display: block;
width: 100%
}

@media (max-width: 960px) {
.certspage .titleblock {
flex-direction: column;
gap: 36px;
padding: 36px 24px
}

.certspage .titleblock .imgside {
flex: 0 0 auto;
width: 100%
}

.certspage .titleblock .imgside img {
width: 100%;
height: 320px
}

.certspage .certlist .gridcerts {
grid-template-columns: repeat(2, 1fr)
}

.certspage .certlist .inner {
margin-left: 0
}

.certspage .processsec {
margin-right: 0
}

.certspage .processsec .steps {
flex-direction: column;
gap: 24px
}

.certspage .processsec .step:not(:last-child)::after {
display: none
}

.certspage .expertsec .inner {
flex-direction: column;
margin-left: 0;
gap: 36px
}

.certspage .expertsec .portraitcol {
flex: 0 0 auto
}
}

@media (max-width: 480px) {
.certspage .titleblock .txtside h1 {
font-size: 23px
}

.certspage .certlist h2 {
font-size: 23px
}

.certspage .certlist .gridcerts {
grid-template-columns: 1fr
}

.certspage .processsec h2 {
font-size: 23px
}

.certspage .expertsec .expertinfo h2 {
font-size: 23px
}

.certspage .expertsec .portraitcol .portraitwrap {
width: 180px;
height: 270px
}
}

.ctus {
background: #FFF;
overflow-x: clip
}

.ctus .grad-top {
background: linear-gradient(233deg, #201816 0%, #3d2e29 38%, #F4DCC9 100%);
padding: 72px 24px;
position: relative
}

.ctus .grad-top::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 80px;
background: linear-gradient(to bottom, transparent, #FFF);
pointer-events: none
}

.ctus .grad-inner {
max-width: 1200px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 72px
}

.ctus .grad-text {
flex: 1 1 0;
position: relative;
z-index: 1
}

.ctus .grad-text::before {
content: '';
position: absolute;
top: -24px;
right: -36px;
width: 2px;
height: calc(100% + 48px);
background: linear-gradient(to bottom, transparent, #f4dcc966, transparent);
pointer-events: none
}

.ctus .dot-row {
display: flex;
flex-direction: row;
gap: 8px;
margin-bottom: 24px
}

.ctus .dot-row span {
width: 6px;
height: 6px;
border-radius: 42px;
background: #F4DCC9;
display: block;
opacity: .7
}

.ctus .dot-row span:first-child {
opacity: 1
}

.ctus .dot-row span:last-child {
opacity: .4
}

.ctus .lbl {
font-size: 16px;
line-height: 1.4;
color: #f4dcc9b3;
letter-spacing: .12em;
text-transform: uppercase;
margin-bottom: 12px;
display: block
}

.ctus .grad-h1 {
font-size: 42px;
line-height: 1.15;
color: #FFF;
margin-bottom: 12px;
font-style: italic
}

.ctus .grad-sub {
font-size: 19px;
line-height: 1.6;
color: #f4dcc9e6;
max-width: 480px
}

.ctus .grad-img {
flex: 0 0 340px;
position: relative;
opacity: .45;
border-radius: 14px;
overflow: hidden;
align-self: stretch
}

.ctus .grad-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
border-radius: 14px;
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .grad-img:hover img {
transform: scale(1.04)
}

.ctus .contact-body {
max-width: 1200px;
margin: 0 auto;
padding: 72px 24px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.ctus .info-col {
flex: 0 0 320px;
display: flex;
flex-direction: column;
gap: 36px
}

.ctus .info-item {
display: flex;
flex-direction: column;
gap: 8px;
border-radius: 14px;
background: #F4DCC9;
padding: 24px;
box-shadow: 1px 6px 25px 0 #2018161a;
transition: box-shadow .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.ctus .info-item:hover {
box-shadow: 1px 9px 52px 0 #20181624 0 0 0 2px #20181614
}

.ctus .info-icon {
width: 36px;
height: 36px;
display: flex;
align-items: center;
justify-content: center;
background: #201816;
border-radius: 7px;
margin-bottom: 4px
}

.ctus .info-icon svg {
width: 18px;
height: 18px;
stroke: #F4DCC9;
fill: none;
stroke-width: 1.5
}

.ctus .info-label {
font-size: 16px;
line-height: 1.4;
color: #2018168c;
letter-spacing: .08em;
text-transform: uppercase
}

.ctus .info-val {
font-size: 16px;
line-height: 1.6;
color: #201816;
font-style: italic
}

.ctus .info-val a {
color: #201816;
text-decoration: none;
transition: color .5s ease
}

.ctus .info-val a:hover {
background: linear-gradient(233deg, #201816 0%, #8b5e3c 55%, #F4DCC9 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text
}

.ctus .form-col {
flex: 1 1 0
}

.ctus .form-head {
margin-bottom: 36px
}

.ctus .form-h2 {
font-size: 23px;
line-height: 1.4;
color: #201816;
font-style: italic;
margin-bottom: 8px
}

.ctus .form-desc {
font-size: 16px;
line-height: 1.6;
color: #201816a6
}

.ctus .kform {
display: flex;
flex-direction: column;
gap: 24px
}

.ctus .field-grp {
display: flex;
flex-direction: column;
gap: 8px
}

.ctus .field-lbl {
font-size: 16px;
line-height: 1.4;
color: #201816;
letter-spacing: .04em
}

.ctus .field-lbl em {
color: #8b5e3c;
font-style: normal
}

.ctus .kinput {
width: 100%;
padding: 12px 16px;
border: 1.5px solid #20181633;
border-radius: 7px;
font-size: 16px;
line-height: 1.6;
color: #201816;
background: #FFF;
outline: none;
box-shadow: inset 1px 2px 5px 0 #2018160d;
transition: border-color .5s ease, box-shadow .5s ease
}

.ctus .kinput::placeholder {
color: #20181659
}

.ctus .kinput:focus {
border-color: #201816;
box-shadow: inset 1px 2px 5px 0 #2018160d 0 0 0 3px #f4dcc980
}

.ctus .slot-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 8px
}

.ctus .slot-opt {
position: relative
}

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

.ctus .slot-opt label {
display: block;
padding: 12px 8px;
border: 1.5px solid #20181633;
border-radius: 7px;
font-size: 16px;
line-height: 1.4;
color: #201816a6;
text-align: center;
cursor: pointer;
transition: background .55s ease, border-color .55s ease, color .55s ease;
user-select: none
}

.ctus .slot-opt label:hover {
border-color: #201816;
color: #201816;
background: #f4dcc94d
}

.ctus .slot-opt input[type="radio"]:checked+label {
background: #201816;
border-color: #201816;
color: #F4DCC9
}

.ctus .slot-opt input[type="radio"]:focus-visible+label {
outline: 2px solid #201816;
outline-offset: 2px
}

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

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

.ctus .privacy-row p {
font-size: 16px;
line-height: 1.6;
color: #201816a6
}

.ctus .privacy-row a {
color: #201816;
text-decoration: underline;
text-underline-offset: 3px;
transition: opacity .5s ease
}

.ctus .privacy-row a:hover {
opacity: .6
}

.ctus .submit-btn {
align-self: flex-start;
padding: 12px 36px;
background: #201816;
color: #F4DCC9;
border: none;
border-radius: 26px;
font-size: 16px;
line-height: 1.4;
cursor: pointer;
letter-spacing: .06em;
box-shadow: 1px 6px 25px 0 #2018161a;
transition: background .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .7s ease
}

.ctus .submit-btn:hover {
background: #F4DCC9;
color: #201816;
box-shadow: 1px 9px 52px 0 #20181624 0 0 18px 4px #f4dcc980
}

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

.ctus .submit-btn:active {
box-shadow: 1px 2px 5px 0 #2018160d
}

.ctus .divider-line {
display: flex;
align-items: center;
gap: 12px;
padding: 0 24px;
max-width: 1200px;
margin: 0 auto
}

.ctus .divider-line::before,
.ctus .divider-line::after {
content: '';
flex: 1;
height: 1px;
background: #2018161f
}

.ctus .divider-word {
font-size: 16px;
line-height: 1.4;
color: #20181659;
letter-spacing: .1em;
text-transform: uppercase;
white-space: nowrap
}

@media (max-width: 960px) {
.ctus .grad-inner {
flex-direction: column;
gap: 36px
}

.ctus .grad-img {
flex: 0 0 220px;
width: 100%;
max-width: 340px;
height: 220px
}

.ctus .contact-body {
flex-direction: column;
gap: 36px
}

.ctus .info-col {
flex: none;
width: 100%;
flex-direction: row;
flex-wrap: wrap
}

.ctus .info-item {
flex: 1 1 220px
}

.ctus .slot-grid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 480px) {
.ctus .grad-h1 {
font-size: 23px
}

.ctus .slot-grid {
grid-template-columns: 1fr
}

.ctus .info-col {
flex-direction: column
}

.ctus .contact-body {
padding: 36px 12px
}

.ctus .grad-top {
padding: 36px 12px 72px
}
}

.aboutpg {
overflow-x: hidden
}

.aboutpg .grid-bg {
position: absolute;
inset: 0;
background-image: linear-gradient(#2018160f 1px, transparent 1px), linear-gradient(90deg, #2018160f 1px, transparent 1px);
background-size: 48px 48px;
pointer-events: none;
z-index: 0
}

.aboutpg .opener {
position: relative;
padding: 72px 24px;
background-color: #F4DCC9;
display: flex;
flex-direction: column;
align-items: center;
text-align: center
}

.aboutpg .opener-body {
position: relative;
z-index: 1;
max-width: 1200px;
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
gap: 24px
}

.aboutpg .opener-eyebrow {
font-size: 16px;
line-height: 1.4;
letter-spacing: .12em;
text-transform: uppercase;
color: #201816;
opacity: .55
}

.aboutpg .opener-heading {
font-size: 72px;
line-height: 1.15;
color: #201816;
margin: 0;
font-style: italic;
max-width: 820px
}

.aboutpg .opener-tag {
font-size: 19px;
line-height: 1.6;
color: #201816;
max-width: 560px;
opacity: .82
}

.aboutpg .opener-links {
display: flex;
flex-direction: row;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
margin-top: 8px
}

.aboutpg .lnk-primary {
display: inline-block;
padding: 12px 36px;
background-color: #201816;
color: #F4DCC9;
font-size: 16px;
line-height: 1.4;
border-radius: 7px;
text-decoration: none;
box-shadow: 1px 6px 25px 0 #2018161a;
transition: background-color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.aboutpg .lnk-primary:hover {
background-color: #3a2e2b;
color: #fff
}

.aboutpg .lnk-secondary {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border: 1.5px solid #2018164d;
border-radius: 7px;
color: #201816;
text-decoration: none;
transition: border-color .5s ease, background-color .5s ease
}

.aboutpg .lnk-secondary:hover {
border-color: #201816;
background-color: #2018160f
}

.aboutpg .lnk-secondary svg {
width: 20px;
height: 20px
}

.aboutpg .opener-img-fade {
width: 100%;
max-width: 900px;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 9px 52px 0 #20181624;
opacity: 0;
animation: fadeImg .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) .4s forwards
}

@keyframes fadeImg {
from {
opacity: 0;
transform: translateY(16px)
}

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

.aboutpg .opener-img-fade img {
width: 100%;
height: 360px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), brightness .7s ease
}

.aboutpg .opener-img-fade:hover img {
transform: scale(1.04);
filter: brightness(1.05)
}

.aboutpg .divider-tick {
display: flex;
flex-direction: row;
align-items: center;
gap: 0;
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 24px
}

.aboutpg .divider-tick span {
display: block;
flex: 1;
height: 1px;
background-color: #2018162e;
position: relative
}

.aboutpg .divider-tick span::before,
.aboutpg .divider-tick span::after {
content: '';
position: absolute;
top: -3px;
width: 1px;
height: 7px;
background-color: #20181647
}

.aboutpg .divider-tick span::before {
left: 25%
}

.aboutpg .divider-tick span::after {
left: 75%
}

.aboutpg .dtick-dot {
width: 5px;
height: 5px;
border-radius: 2px;
background-color: #20181647;
flex-shrink: 0;
margin: 0 8px
}

.aboutpg .detail-sec {
padding: 72px 24px;
background-color: #fff;
position: relative
}

.aboutpg .vignette-layer {
position: absolute;
inset: 0;
pointer-events: none;
animation: vigPulse 5s ease-in-out infinite;
background: radial-gradient(ellipse 90% 80% at 50% 50%, transparent 55%, #20181612 100%);
z-index: 0
}

@keyframes vigPulse {

0%,
100% {
opacity: .5
}

50% {
opacity: 1
}
}

.aboutpg .detail-inner {
position: relative;
z-index: 1;
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 72px 36px;
align-items: start
}

.aboutpg .detail-col-left {
display: flex;
flex-direction: column;
gap: 24px
}

.aboutpg .detail-label {
font-size: 16px;
line-height: 1.4;
letter-spacing: .1em;
text-transform: uppercase;
color: #201816;
opacity: .5
}

.aboutpg .detail-heading {
font-size: 42px;
line-height: 1.15;
color: #201816;
margin: 0;
font-style: italic
}

.aboutpg .detail-para {
font-size: 19px;
line-height: 1.6;
color: #201816;
opacity: .8;
max-width: 480px
}

.aboutpg .detail-para em {
font-style: italic;
font-size: 23px;
opacity: 1;
color: #201816
}

.aboutpg .detail-col-right {
display: flex;
flex-direction: column;
gap: 24px
}

.aboutpg .cards-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px
}

.aboutpg .abt-card {
position: relative;
background-color: #F4DCC9;
border-radius: 14px;
padding: 24px;
overflow: hidden;
box-shadow: 1px 2px 5px 0 #2018160d;
transition: box-shadow .6s ease, transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.aboutpg .abt-card:hover {
box-shadow: 1px 6px 25px 0 #2018161a;
transform: translateY(-3px)
}

.aboutpg .abt-card::after {
content: '';
position: absolute;
top: -18px;
right: -18px;
width: 52px;
height: 52px;
background: linear-gradient(233deg, #201816 0%, #3a2e2b 45%, #F4DCC9 100%);
transform: rotate(45deg);
border-radius: 2px;
pointer-events: none
}

.aboutpg .card-icon {
width: 36px;
height: 36px;
margin-bottom: 12px;
color: #201816
}

.aboutpg .card-title {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #201816;
margin-bottom: 8px
}

.aboutpg .card-desc {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .75
}

.aboutpg .profile-strip {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 12px;
background-color: #2018160a;
border-radius: 7px
}

.aboutpg .prof-thumb {
width: 64px;
height: 80px;
border-radius: 7px;
overflow: hidden;
flex-shrink: 0;
box-shadow: 1px 2px 5px 0 #2018160d
}

.aboutpg .prof-thumb img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.aboutpg .prof-thumb:hover img {
transform: scale(1.06)
}

.aboutpg .prof-info {
display: flex;
flex-direction: column;
gap: 4px
}

.aboutpg .prof-name {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #201816
}

.aboutpg .prof-role {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .6
}

.aboutpg .img-pair {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
margin-top: 8px
}

.aboutpg .img-frame {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 6px 25px 0 #2018161a
}

.aboutpg .img-frame img {
width: 100%;
height: 200px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter .7s ease;
filter: grayscale(30%)
}

.aboutpg .img-frame:hover img {
transform: scale(1.05);
filter: grayscale(0%)
}

.aboutpg .img-frame-wide {
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 6px 25px 0 #2018161a;
grid-column: span 2
}

.aboutpg .img-frame-wide img {
width: 100%;
height: 220px;
object-fit: cover;
object-position: center;
display: block;
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94), filter .7s ease;
filter: grayscale(30%)
}

.aboutpg .img-frame-wide:hover img {
transform: scale(1.04);
filter: grayscale(0%)
}

.aboutpg .underline-anim {
display: inline-block;
position: relative;
color: #201816;
text-decoration: none;
font-size: 16px;
line-height: 1.4
}

.aboutpg .underline-anim::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
height: 1.5px;
background-color: #201816;
animation: lineBreath 2.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite
}

@keyframes lineBreath {
0% {
width: 0
}

50% {
width: 100%
}

100% {
width: 0
}
}

@media (max-width: 960px) {
.aboutpg .opener-heading {
font-size: 42px
}

.aboutpg .detail-inner {
grid-template-columns: 1fr;
gap: 36px
}

.aboutpg .detail-para {
max-width: 100%
}
}

@media (max-width: 480px) {
.aboutpg .opener-heading {
font-size: 42px
}

.aboutpg .cards-grid {
grid-template-columns: 1fr
}

.aboutpg .img-pair {
grid-template-columns: 1fr
}

.aboutpg .img-frame-wide {
grid-column: span 1
}

.aboutpg .opener-links {
flex-direction: column;
align-items: center
}
}

.entrypg {
overflow-x: hidden
}

.entrypg .splitscreen {
display: flex;
flex-direction: row;
min-height: 480px
}

.entrypg .splitscreen .leftpane {
background: #201816;
flex: 1 1 55%;
display: flex;
flex-direction: column;
justify-content: center;
padding: 72px 36px 72px 72px;
position: relative
}

.entrypg .splitscreen .rightpane {
background: #F4DCC9;
flex: 1 1 45%;
position: relative;
overflow: hidden
}

.entrypg .splitscreen .rightpane img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: sepia(0.3) saturate(0.85) brightness(0.92);
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entrypg .splitscreen .rightpane:hover img {
transform: scale(1.04)
}

.entrypg .splitscreen .strokes {
position: absolute;
top: 24px;
right: 24px;
display: flex;
flex-direction: column;
gap: 8px;
pointer-events: none
}

.entrypg .splitscreen .strokes span {
display: block;
height: 2px;
background: #F4DCC9;
opacity: .35
}

.entrypg .splitscreen .strokes span:nth-child(1) {
width: 36px
}

.entrypg .splitscreen .strokes span:nth-child(2) {
width: 24px
}

.entrypg .splitscreen .strokes span:nth-child(3) {
width: 42px
}

.entrypg .splitscreen .strokes span:nth-child(4) {
width: 18px
}

.entrypg .splitscreen .eyebrow {
font-size: 16px;
line-height: 1.4;
color: #F4DCC9;
opacity: .7;
text-transform: uppercase;
letter-spacing: .14em;
margin-bottom: 24px
}

.entrypg .splitscreen .maintitle {
font-size: 42px;
line-height: 1.15;
color: #FFF;
font-style: italic;
margin-bottom: 24px
}

.entrypg .splitscreen .maintitle em {
font-style: normal;
color: #F4DCC9
}

.entrypg .splitscreen .subdesc {
font-size: 19px;
line-height: 1.6;
color: #F4DCC9;
opacity: .85;
max-width: 480px;
margin-bottom: 36px
}

.entrypg .splitscreen .arrowline {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px
}

.entrypg .splitscreen .arrowsvg {
flex-shrink: 0
}

.entrypg .splitscreen .arrowlabel {
font-size: 16px;
line-height: 1.4;
color: #F4DCC9;
opacity: .6
}

.entrypg .svgdivider {
display: flex;
justify-content: center;
overflow: hidden;
line-height: 0
}

.entrypg .svgdivider svg {
display: block
}

.entrypg .hesitpanel {
background: #FFF;
padding: 72px 0
}

.entrypg .hesitpanel .hesitinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.entrypg .hesitpanel .hesitlabel {
flex: 0 0 220px;
display: flex;
flex-direction: column;
gap: 12px;
padding-top: 8px
}

.entrypg .hesitpanel .hesitlabel .tagline {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .45;
text-transform: uppercase;
letter-spacing: .12em
}

.entrypg .hesitpanel .hesitlabel .bigq {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic
}

.entrypg .hesitpanel .hesitbody {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 24px
}

.entrypg .hesitpanel .hesitbody .hesittxt {
font-size: 19px;
line-height: 1.6;
color: #201816
}

.entrypg .hesitpanel .hesitbody .hesittxt em {
font-style: italic;
font-size: 23px
}

.entrypg .hesitpanel .hesitbody .accentbar {
display: flex;
flex-direction: row;
align-items: center;
gap: 24px;
background: #F4DCC9;
border-radius: 14px;
padding: 24px 36px
}

.entrypg .hesitpanel .hesitbody .accentbar .accentico {
flex-shrink: 0
}

.entrypg .hesitpanel .hesitbody .accentbar .accenttxt {
font-size: 19px;
line-height: 1.6;
color: #201816
}

.entrypg .svgdivider2 {
display: flex;
justify-content: center;
overflow: hidden;
line-height: 0;
background: #FFF
}

.entrypg .reputpanel {
background: #F4DCC9;
padding: 72px 0;
position: relative
}

.entrypg .reputpanel .bglines {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden
}

.entrypg .reputpanel .bglines svg {
width: 100%;
height: 100%;
opacity: .13
}

.entrypg .reputpanel .reputinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
position: relative
}

.entrypg .reputpanel .reputtop {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 36px
}

.entrypg .reputpanel .reputhead {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
max-width: 520px
}

.entrypg .reputpanel .reputsub {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .6;
max-width: 280px;
text-align: right
}

.entrypg .reputpanel .refgrid {
display: grid;
grid-template-columns: 2fr 1fr 2fr 1fr;
gap: 24px;
align-items: start
}

.entrypg .reputpanel .refcard {
background: #FFF;
border-radius: 14px;
padding: 24px;
box-shadow: 1px 6px 25px 0 #2018161a;
display: flex;
flex-direction: column;
gap: 12px
}

.entrypg .reputpanel .reflabel {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 24px 8px;
gap: 8px
}

.entrypg .reputpanel .reflabeltext {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .5;
text-transform: uppercase;
letter-spacing: .1em;
text-align: center
}

.entrypg .reputpanel .refcard .refname {
font-size: 19px;
line-height: 1.4;
color: #201816;
font-style: italic
}

.entrypg .reputpanel .refcard .reforg {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .55
}

.entrypg .reputpanel .refcard .refdesc {
font-size: 16px;
line-height: 1.6;
color: #201816
}

.entrypg .reputpanel .refcard .portraitwrap {
width: 100%;
aspect-ratio: 2/3;
border-radius: 7px;
overflow: hidden
}

.entrypg .reputpanel .refcard .portraitwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: top;
display: block;
filter: sepia(0.2) saturate(0.9);
transition: transform .6s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entrypg .reputpanel .refcard .portraitwrap:hover img {
transform: scale(1.05)
}

.entrypg .svgdivider3 {
display: flex;
justify-content: center;
overflow: hidden;
line-height: 0;
background: #F4DCC9
}

.entrypg .gappanel {
background: #201816;
padding: 72px 0
}

.entrypg .gappanel .gapinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: center
}

.entrypg .gappanel .gapimgcol {
flex: 0 0 420px;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 9px 52px 0 #20181624
}

.entrypg .gappanel .gapimgcol img {
width: 100%;
height: 320px;
object-fit: cover;
object-position: center;
display: block;
filter: sepia(0.25) saturate(0.8) brightness(0.88);
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entrypg .gappanel .gapimgcol:hover img {
transform: scale(1.04)
}

.entrypg .gappanel .gaptextcol {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 24px
}

.entrypg .gappanel .gaphead {
font-size: 42px;
line-height: 1.15;
color: #FFF;
font-style: italic
}

.entrypg .gappanel .gaphead em {
font-style: normal;
color: #F4DCC9
}

.entrypg .gappanel .gaptxt {
font-size: 19px;
line-height: 1.6;
color: #F4DCC9;
opacity: .85
}

.entrypg .gappanel .gapsteps {
display: flex;
flex-direction: column;
gap: 12px
}

.entrypg .gappanel .gapstep {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.entrypg .gappanel .stepnum {
flex-shrink: 0;
width: 36px;
height: 36px;
border-radius: 7px;
background: #F4DCC9;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
line-height: 1.15;
color: #201816
}

.entrypg .gappanel .steptxt {
font-size: 16px;
line-height: 1.6;
color: #F4DCC9;
opacity: .8;
padding-top: 8px
}

.entrypg .svgdivider4 {
display: flex;
justify-content: center;
overflow: hidden;
line-height: 0;
background: #201816
}

.entrypg .approachpanel {
background: #FFF;
padding: 72px 0
}

.entrypg .approachpanel .approachinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px
}

.entrypg .approachpanel .approachtop {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 72px;
margin-bottom: 36px
}

.entrypg .approachpanel .approachleft {
display: flex;
flex-direction: column;
gap: 12px
}

.entrypg .approachpanel .approachkicker {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .4;
text-transform: uppercase;
letter-spacing: .12em
}

.entrypg .approachpanel .approachhead {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic
}

.entrypg .approachpanel .approachright {
display: flex;
flex-direction: column;
gap: 24px;
padding-top: 8px
}

.entrypg .approachpanel .approachtxt {
font-size: 19px;
line-height: 1.6;
color: #201816
}

.entrypg .approachpanel .featgrid {
display: grid;
grid-template-columns: 80px 1fr 80px 1fr;
gap: 24px;
align-items: start;
border-top: 1px solid #2018161a;
padding-top: 36px
}

.entrypg .approachpanel .featicolabel {
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
gap: 8px;
padding-top: 4px
}

.entrypg .approachpanel .featicotxt {
font-size: 16px;
line-height: 1.4;
color: #201816;
opacity: .45;
text-align: center;
text-transform: uppercase;
letter-spacing: .08em
}

.entrypg .approachpanel .featblock {
display: flex;
flex-direction: column;
gap: 8px
}

.entrypg .approachpanel .featblockhead {
font-size: 19px;
line-height: 1.4;
color: #201816;
font-style: italic
}

.entrypg .approachpanel .featblocktxt {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .7
}

.entrypg .approachpanel .maskimgrow {
margin-top: 36px;
border-radius: 14px;
overflow: hidden;
position: relative;
height: 220px
}

.entrypg .approachpanel .maskimgrow img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: sepia(0.2) saturate(0.85) brightness(0.9);
transition: transform .7s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entrypg .approachpanel .maskimgrow:hover img {
transform: scale(1.04)
}

.entrypg .approachpanel .maskimgrow .maskoverlay {
position: absolute;
inset: 0;
background: linear-gradient(233deg, #2018168c 0%, #f4dcc92e 60%, #20181600 100%);
display: flex;
align-items: center;
justify-content: flex-end;
padding: 36px;
pointer-events: none
}

.entrypg .approachpanel .maskimgrow .masklabel {
font-size: 23px;
line-height: 1.4;
color: #FFF;
font-style: italic;
max-width: 320px;
text-align: right
}

.entrypg .svgdivider5 {
display: flex;
justify-content: center;
overflow: hidden;
line-height: 0;
background: #FFF
}

.entrypg .fitpanel {
background: #F4DCC9;
padding: 72px 0
}

.entrypg .fitpanel .fitinner {
max-width: 1200px;
margin: 0 auto;
padding: 0 36px;
display: flex;
flex-direction: row;
gap: 72px;
align-items: flex-start
}

.entrypg .fitpanel .fittextcol {
flex: 1 1 auto;
display: flex;
flex-direction: column;
gap: 24px
}

.entrypg .fitpanel .fithead {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic
}

.entrypg .fitpanel .fittxt {
font-size: 19px;
line-height: 1.6;
color: #201816
}

.entrypg .fitpanel .fitlist {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 12px
}

.entrypg .fitpanel .fititem {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 12px
}

.entrypg .fitpanel .fitdot {
flex-shrink: 0;
margin-top: 8px;
width: 8px;
height: 8px;
border-radius: 2px;
background: #201816;
opacity: .5
}

.entrypg .fitpanel .fititemtxt {
font-size: 16px;
line-height: 1.6;
color: #201816
}

.entrypg .fitpanel .fitimgcol {
flex: 0 0 340px;
display: flex;
flex-direction: column;
gap: 24px
}

.entrypg .fitpanel .fitportraitrow {
display: flex;
flex-direction: row;
gap: 12px
}

.entrypg .fitpanel .fitportraitwrap {
flex: 1 1 auto;
border-radius: 14px;
overflow: hidden;
box-shadow: 1px 6px 25px 0 #2018161a
}

.entrypg .fitpanel .fitportraitwrap img {
width: 100%;
height: 260px;
object-fit: cover;
object-position: top;
display: block;
filter: sepia(0.2) saturate(0.9) brightness(0.92);
transition: transform .65s cubic-bezier(0.25, 0.46, 0.45, 0.94)
}

.entrypg .fitpanel .fitportraitwrap:hover img {
transform: scale(1.04)
}

.entrypg .fitpanel .fitclosenote {
font-size: 16px;
line-height: 1.6;
color: #201816;
opacity: .6;
font-style: italic
}

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

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

.entrypg .splitscreen .leftpane {
animation: fadeblur .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.entrypg .splitscreen .rightpane {
animation: fadeblur .7s .2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

@media (max-width: 960px) {
.entrypg .splitscreen {
flex-direction: column
}

.entrypg .splitscreen .leftpane {
padding: 36px 24px;
flex: none
}

.entrypg .splitscreen .rightpane {
flex: none;
height: 320px
}

.entrypg .hesitpanel .hesitinner {
flex-direction: column;
gap: 36px
}

.entrypg .hesitpanel .hesitlabel {
flex: none
}

.entrypg .reputpanel .refgrid {
grid-template-columns: 1fr 1fr
}

.entrypg .reputpanel .reflabel {
display: none
}

.entrypg .reputpanel .reputtop {
flex-direction: column;
align-items: flex-start;
gap: 12px
}

.entrypg .reputpanel .reputsub {
text-align: left;
max-width: 100%
}

.entrypg .gappanel .gapinner {
flex-direction: column;
gap: 36px
}

.entrypg .gappanel .gapimgcol {
flex: none;
width: 100%
}

.entrypg .approachpanel .approachtop {
grid-template-columns: 1fr;
gap: 24px
}

.entrypg .approachpanel .featgrid {
grid-template-columns: 60px 1fr
}

.entrypg .fitpanel .fitinner {
flex-direction: column;
gap: 36px
}

.entrypg .fitpanel .fitimgcol {
flex: none;
width: 100%
}
}

@media (max-width: 480px) {
.entrypg .splitscreen .maintitle {
font-size: 42px
}

.entrypg .reputpanel .refgrid {
grid-template-columns: 1fr
}

.entrypg .approachpanel .featgrid {
grid-template-columns: 1fr
}

.entrypg .approachpanel .featicolabel {
flex-direction: row;
justify-content: flex-start
}

.entrypg .gappanel .gaphead,
.entrypg .hesitpanel .hesitlabel .bigq,
.entrypg .fitpanel .fithead,
.entrypg .approachpanel .approachhead,
.entrypg .reputpanel .reputhead {
font-size: 42px
}

.entrypg .splitscreen .leftpane {
padding: 36px 24px
}

.entrypg .hesitpanel,
.entrypg .reputpanel,
.entrypg .gappanel,
.entrypg .approachpanel,
.entrypg .fitpanel {
padding: 36px 0
}

.entrypg .hesitpanel .hesitinner,
.entrypg .reputpanel .reputinner,
.entrypg .gappanel .gapinner,
.entrypg .approachpanel .approachinner,
.entrypg .fitpanel .fitinner {
padding: 0 24px
}
}

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

.successPage .successCard {
max-width: 560px;
width: 100%;
background: #F4DCC9;
border-radius: 26px;
padding: 72px 36px;
text-align: center;
box-shadow: 1px 9px 52px 0 #f4dcc924
}

.successPage .successCard .iconWrap {
width: 64px;
height: 64px;
margin: 0 auto 36px;
border-radius: 42px;
background: #201816;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center
}

.successPage .successCard .iconWrap svg {
display: block
}

.successPage .successCard .successTitle {
font-size: 42px;
line-height: 1.15;
color: #201816;
font-style: italic;
margin-bottom: 24px
}

.successPage .successCard .successMsg {
font-size: 19px;
line-height: 1.6;
color: #201816;
margin-bottom: 36px
}

.successPage .successCard .returnLink {
display: inline-block;
background: #201816;
color: #F4DCC9;
font-size: 16px;
line-height: 1.4;
padding: 12px 36px;
border-radius: 7px;
text-decoration: none;
transition: background .6s cubic-bezier(0.25, 0.46, 0.45, 0.94), color .5s ease
}

.successPage .successCard .returnLink:hover,
.successPage .successCard .returnLink:focus {
background: #F4DCC9;
color: #201816;
outline: 2px solid #201816;
outline-offset: 2px
}

@media (max-width: 480px) {
.successPage {
padding: 36px 12px
}

.successPage .successCard {
padding: 36px 24px
}

.successPage .successCard .successTitle {
font-size: 23px
}
}