* {
box-sizing: border-box
}

body {
margin: 0;
min-height: 100dvh;
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%
}

body:focus-visible {
outline: 2px solid #09A8C7
}

:focus-visible {
outline: 2px solid #09A8C7;
outline-offset: 2px
}

:focus:not(:focus-visible) {
outline: none
}

.siteheader {
position: relative;
background: linear-gradient(135deg, #F9FEFC 0%, #eaf9fd 55%, #f3eafd 100%);
border-bottom: 2px solid #09a8c72e;
box-shadow: 1px 7px 22px 0 #09a8c71a;
z-index: 100
}

.siteheader::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #09A8C7 0%, #922DDF 100%);
pointer-events: none
}

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

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

.brandshell {
display: flex;
align-items: center;
justify-content: center;
width: 120px;
height: 48px;
background: #F9FEFC;
border: 1.5px solid #09a8c74d;
border-radius: 5px;
box-shadow: 1px 1px 3px 0 #09a8c712 2px 4px 10px 0 #922ddf17;
padding: 4px 8px;
text-decoration: none;
transition: box-shadow .28s ease-in-out, border-color .28s ease-in-out
}

.brandshell:hover {
box-shadow: 1px 7px 22px 0 #09a8c71a;
border-color: #09a8c78c
}

.brandshell img {
width: 100%;
height: 40px;
object-fit: contain;
display: block
}

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

.brandname {
font-family: 'Red Hat Display', sans-serif;
font-size: 22px;
font-weight: 700;
line-height: 1.1;
color: #1b1b2e;
letter-spacing: 0;
text-decoration: none
}

.brandtag {
font-family: 'Roboto Slab', serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #09A8C7;
letter-spacing: 0
}

.regionbadge {
display: flex;
align-items: center;
gap: 8px;
padding: 4px 16px;
border: 1.5px solid #922ddf38;
border-radius: 3px;
background: #922ddf0a
}

.regionbadge svg {
flex-shrink: 0
}

.regiontext {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #3a2060
}

.navcolumn {
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
justify-content: flex-end
}

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

.navlist li {
display: flex
}

.navlink {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
color: #1b1b2e;
text-decoration: none;
padding: 8px 16px;
border-radius: 3px;
border: 1.5px solid transparent;
transition: color .25s cubic-bezier(0.4, 0, 0.2, 1), border-color .25s cubic-bezier(0.4, 0, 0.2, 1), background .25s cubic-bezier(0.4, 0, 0.2, 1);
white-space: nowrap;
min-height: 44px;
display: flex;
align-items: center
}

.navlink:hover {
color: #09A8C7;
border-color: #09a8c759;
background: #09a8c70d
}

.navlink.active {
color: #09A8C7;
border-color: #09a8c780;
background: #09a8c714;
box-shadow: inset 0 1px 4px 0 #09a8c71f
}

.navdivider {
width: 1px;
height: 20px;
background: #09a8c738;
margin: 0 4px;
flex-shrink: 0
}

@media (max-width: 1024px) {
.headerframe {
padding: 16px 32px;
gap: 16px
}

.brandlabel {
display: none
}
}

@media (max-width: 640px) {
.headerframe {
padding: 16px;
flex-direction: column;
align-items: flex-start;
gap: 16px
}

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

.navlist {
justify-content: flex-start
}

.regionbadge {
display: none
}
}

@media (max-width: 360px) {
.navlink {
padding: 8px;
font-size: 15px
}
}

.sitefooter {
background: #F9FEFC;
border-top: 2px solid #09a8c72e;
box-shadow: 1px 1px 3px 0 #09a8c712;
position: relative
}

.sitefooter::after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #922DDF 0%, #09A8C7 100%);
pointer-events: none
}

.footerframe {
max-width: 1400px;
margin: 0 auto;
padding: 32px 32px 48px;
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.footerbrandshell {
display: flex;
align-items: center;
justify-content: center;
width: 120px;
height: 48px;
background: #F9FEFC;
border: 1.5px solid #922ddf47;
border-radius: 5px;
box-shadow: 1px 1px 3px 0 #922ddf12;
padding: 4px 8px;
text-decoration: none;
transition: box-shadow .28s ease-in-out
}

.footerbrandshell:hover {
box-shadow: 1px 7px 22px 0 #922ddf1a
}

.footerbrandshell img {
width: 100%;
height: 40px;
object-fit: contain;
display: block
}

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

.footernav li {
display: flex;
align-items: center
}

.footernavlink {
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #3a2060;
text-decoration: none;
padding: 8px 16px;
border: 1.5px solid transparent;
border-radius: 3px;
transition: color .27s ease-in-out, border-color .27s ease-in-out;
white-space: nowrap;
min-height: 44px;
display: flex;
align-items: center
}

.footernavlink:hover {
color: #922DDF;
border-color: #922ddf4d
}

.footersep {
width: 4px;
height: 4px;
border-radius: 32px;
background: #09a8c766;
flex-shrink: 0
}

.footercontact {
display: flex;
align-items: center;
gap: 8px
}

.footercontactlink {
font-family: 'Roboto Slab', serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #09A8C7;
text-decoration: none;
border-bottom: 1.5px solid #09a8c759;
padding-bottom: 1px;
transition: color .25s ease-in-out, border-color .25s ease-in-out
}

.footercontactlink:hover {
color: #922DDF;
border-color: #922ddf80
}

.footercopyright {
font-family: 'Roboto Slab', serif;
font-size: 15px;
font-weight: 400;
line-height: 1.4;
color: #6a5a80;
text-align: center
}

@media (max-width: 640px) {
.footerframe {
padding: 32px 16px 48px
}

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

.footersep {
display: none
}
}

.cookiepopup {
position: fixed;
bottom: 32px;
right: 32px;
width: 320px;
background: #F9FEFC;
border: 1.5px solid #09a8c74d;
border-radius: 5px;
box-shadow: 1px 9px 36px 0 #09a8c71f;
padding: 16px;
z-index: 1000;
display: flex;
flex-direction: column;
gap: 16px;
transform: translateX(calc(-100% - 64px));
transition: transform .22s cubic-bezier(0.4, 0, 0.2, 1)
}

.cookiepopup.visible {
transform: translateX(0)
}

.cookiepopup .popupicon {
display: flex;
align-items: center;
gap: 8px
}

.cookiepopup .popuptext {
font-family: 'Roboto Slab', serif;
font-size: 15px;
font-weight: 400;
line-height: 1.7;
color: #1b1b2e
}

.cookiepopup .popupactions {
display: flex;
gap: 8px
}

.cookiepopup .popupbtn {
flex: 1;
font-family: 'Red Hat Display', sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
padding: 8px 16px;
border-radius: 3px;
border: 2px solid #09A8C7;
background: transparent;
color: #09A8C7;
cursor: pointer;
min-height: 44px;
transition: background .25s cubic-bezier(0.4, 0, 0.2, 1), color .25s cubic-bezier(0.4, 0, 0.2, 1), border-color .25s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.cookiepopup .popupbtn:hover {
background: #09a8c71a
}

.cookiepopup .popupbtn:focus-visible {
outline: 2px solid #09A8C7;
outline-offset: 2px
}

.cookiepopup .popupbtn.decline {
border-color: #922ddf73;
color: #922DDF
}

.cookiepopup .popupbtn.decline:hover {
background: #922ddf14
}

@media (max-width: 640px) {
.cookiepopup {
bottom: 16px;
right: 16px;
left: 16px;
width: auto
}
}

@media (max-width: 360px) {
.cookiepopup {
bottom: 8px;
right: 8px;
left: 8px
}
}

.terms-body {
max-width: 1400px;
margin: 0 auto;
padding: 48px 32px;
color: #2a2a35;
line-height: 1.7;
font-size: 15px
}

.terms-body h1 {
font-size: 58px;
line-height: 1.1;
color: #09A8C7;
margin-bottom: 32px;
margin-top: 0;
letter-spacing: -.5px
}

.terms-body h2 {
font-size: 42px;
line-height: 1.1;
color: #2a2a35;
margin-top: 48px;
margin-bottom: 16px;
padding-bottom: 8px;
border-bottom: 2px solid #09A8C7
}

.terms-body h3 {
font-size: 22px;
line-height: 1.4;
color: #922DDF;
margin-top: 32px;
margin-bottom: 16px
}

.terms-body h4 {
font-size: 22px;
line-height: 1.4;
color: #2a2a35;
margin-top: 32px;
margin-bottom: 8px;
font-weight: 600
}

.terms-body h5 {
font-size: 15px;
line-height: 1.4;
color: #2a2a35;
margin-top: 16px;
margin-bottom: 8px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .08em
}

.terms-body h6 {
font-size: 15px;
line-height: 1.4;
color: #555560;
margin-top: 16px;
margin-bottom: 8px;
font-weight: 600
}

.terms-body p {
font-size: 15px;
line-height: 1.7;
color: #2a2a35;
margin-top: 0;
margin-bottom: 16px
}

.terms-body em,
.terms-body i {
font-style: italic;
color: #555560
}

.terms-body a {
color: #09A8C7;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), text-decoration-color .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.terms-body a:hover {
color: #922DDF;
text-decoration-color: #922DDF
}

.terms-body a:visited {
color: #7a26bc
}

.terms-body table {
width: 100%;
border-collapse: collapse;
margin-top: 16px;
margin-bottom: 32px;
font-size: 15px;
line-height: 1.4;
border-radius: 5px;
overflow: hidden;
box-shadow: 1px 7px 22px 0 #09a8c71a
}

.terms-body thead {
background: linear-gradient(135deg, #09A8C7 0%, #0b8faa 100%)
}

.terms-body thead th {
color: #F9FEFC;
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .07em;
padding: 16px;
text-align: left;
border: none
}

.terms-body tbody tr {
background-color: #F9FEFC;
transition: background-color .25s ease-in-out
}

.terms-body tbody tr:nth-child(even) {
background-color: #edf9fc
}

.terms-body tbody tr:hover {
background-color: #d6f1f8
}

.terms-body td {
padding: 16px;
color: #2a2a35;
border-bottom: 1px solid #09a8c71f;
vertical-align: top
}

.terms-body th {
padding: 16px;
vertical-align: middle
}

.terms-body hr {
border: none;
border-top: 1px solid #09a8c740;
margin-top: 48px;
margin-bottom: 48px;
position: relative
}

.terms-body hr::after {
content: "";
display: block;
width: 48px;
height: 3px;
background: linear-gradient(90deg, #09A8C7, #922DDF);
border-radius: 3px;
margin: -2px auto 0
}

@media (max-width: 1024px) {
.terms-body {
padding: 48px 32px
}

.terms-body h1 {
font-size: 42px
}

.terms-body h2 {
font-size: 42px
}
}

@media (max-width: 640px) {
.terms-body {
padding: 32px 16px
}

.terms-body h1 {
font-size: 42px
}

.terms-body h2 {
font-size: 22px;
margin-top: 32px
}

.terms-body h3 {
font-size: 22px
}

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

@media (max-width: 360px) {
.terms-body {
padding: 16px 8px
}

.terms-body h1 {
font-size: 22px
}

.terms-body h2 {
font-size: 22px
}
}

.blogdetail {
max-width: 1400px;
margin: 0 auto;
overflow-x: clip
}

.blogdetail .titleblock {
position: relative;
padding: 96px 48px;
background: linear-gradient(203deg, #922DDF, #09A8C7);
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-end
}

.blogdetail .titleblock::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to bottom, transparent 30%, #09a8c7d9 100%);
z-index: 1
}

.blogdetail .titleblock .thinline {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 3px;
background: #F9FEFC;
opacity: .6;
z-index: 2
}

.blogdetail .titleblock .bgimage {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: blur(3px) saturate(0.7);
z-index: 0
}

.blogdetail .titleblock .titlemeta {
position: relative;
z-index: 2;
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
margin-bottom: 16px
}

.blogdetail .titleblock .categorytag {
display: inline-block;
padding: 4px 16px;
border: 2px solid #F9FEFC;
border-radius: 3px;
font-size: 15px;
line-height: 1.4;
color: #F9FEFC;
letter-spacing: .12em;
text-transform: uppercase;
font-weight: 700
}

.blogdetail .titleblock .readtime {
font-size: 15px;
line-height: 1.4;
color: #F9FEFC;
opacity: .85
}

.blogdetail .titleblock h1 {
position: relative;
z-index: 2;
font-size: 58px;
line-height: 1.1;
color: #F9FEFC;
font-weight: 700;
max-width: 820px;
margin: 0 0 32px;
text-transform: uppercase;
letter-spacing: .04em
}

.blogdetail .titleblock .publishrow {
position: relative;
z-index: 2;
display: flex;
flex-direction: row;
align-items: center;
gap: 32px
}

.blogdetail .titleblock .publishdate {
font-size: 15px;
line-height: 1.4;
color: #F9FEFC;
opacity: .8
}

.blogdetail .titleblock .statitem {
font-size: 15px;
line-height: 1.4;
color: #F9FEFC;
opacity: .8;
display: flex;
flex-direction: row;
align-items: center;
gap: 8px
}

.blogdetail .titleblock .statitem svg {
flex-shrink: 0
}

.blogdetail .svgdivider {
width: 100%;
line-height: 0;
display: block
}

.blogdetail .svgdivider svg {
display: block;
width: 100%
}

.blogdetail .articlearea {
background: #F9FEFC;
padding: 96px 48px
}

.blogdetail .articlearea .articlegrid {
display: grid;
grid-template-columns: 1fr 3px 2fr;
gap: 48px;
max-width: 1200px;
margin: 0 auto
}

.blogdetail .articlearea .accentdivider {
width: 3px;
background: linear-gradient(203deg, #922DDF, #09A8C7);
border-radius: 3px;
align-self: stretch
}

.blogdetail .articlearea .leftcolumn {
display: flex;
flex-direction: column;
gap: 32px
}

.blogdetail .articlearea .rightcolumn {
display: flex;
flex-direction: column;
gap: 32px
}

.blogdetail .articlearea .leftcolumn .leadtext {
font-size: 22px;
line-height: 1.7;
color: #1b2230;
font-weight: 400
}

.blogdetail .articlearea .leftcolumn .pollcard {
border: 2px solid #09A8C7;
border-radius: 5px;
padding: 32px;
box-shadow: 1px 7px 22px 0 #09a8c71a;
background: #fff
}

.blogdetail .articlearea .leftcolumn .pollcard .polllabel {
font-size: 15px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .12em;
font-weight: 700;
color: #09A8C7;
margin-bottom: 16px;
display: block
}

.blogdetail .articlearea .leftcolumn .pollcard .pollquestion {
font-size: 22px;
line-height: 1.4;
color: #1b2230;
font-weight: 700;
margin-bottom: 32px
}

.blogdetail .pollform {
display: flex;
flex-direction: column;
gap: 16px
}

.blogdetail .pollform .polloption {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
cursor: pointer
}

.blogdetail .pollform .polloption input[type="radio"] {
appearance: none;
-webkit-appearance: none;
width: 22px;
height: 22px;
border: 2px solid #09A8C7;
border-radius: 32px;
flex-shrink: 0;
cursor: pointer;
transition: background-color .28s ease-in-out, border-color .28s ease-in-out;
position: relative
}

.blogdetail .pollform .polloption input[type="radio"]:checked {
background-color: #09A8C7;
border-color: #922DDF;
box-shadow: inset 0 0 0 4px #F9FEFC
}

.blogdetail .pollform .polloption .optiontext {
font-size: 15px;
line-height: 1.4;
color: #1b2230;
transition: color .25s cubic-bezier(0.4, 0, 0.2, 1)
}

.blogdetail .pollform .polloption input[type="radio"]:checked+.optiontext {
color: #09A8C7;
font-weight: 700
}

.blogdetail .pollform .pollsubmit {
margin-top: 16px;
display: inline-block;
border: 3px solid #922DDF;
border-radius: 3px;
background: transparent;
color: #922DDF;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
padding: 8px 32px;
cursor: pointer;
text-transform: uppercase;
letter-spacing: .1em;
transition: background-color .35s cubic-bezier(0.4, 0, 0.2, 1), color .35s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.blogdetail .pollform .pollsubmit:hover {
background: #922DDF;
color: #F9FEFC
}

.blogdetail .pollform .pollsubmit:focus {
outline: 2px solid #922DDF;
outline-offset: 2px
}

.blogdetail .articlearea .rightcolumn .articlebody {
font-size: 15px;
line-height: 1.7;
color: #1b2230
}

.blogdetail .articlearea .rightcolumn .articlebody p {
margin-bottom: 16px
}

.blogdetail .articlearea .rightcolumn .articlebody h2 {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
color: #1b2230;
text-transform: uppercase;
letter-spacing: .08em;
margin-bottom: 16px;
margin-top: 32px
}

.blogdetail .articlearea .rightcolumn .articlebody h3 {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
color: #09A8C7;
margin-bottom: 8px;
margin-top: 32px
}

.blogdetail .articlearea .rightcolumn .articlebody ol {
padding-left: 32px;
margin-bottom: 16px
}

.blogdetail .articlearea .rightcolumn .articlebody li {
font-size: 15px;
line-height: 1.7;
color: #1b2230;
margin-bottom: 8px
}

.blogdetail .articlearea .rightcolumn .articlebody figure {
margin: 32px 0;
border-radius: 5px;
overflow: hidden
}

.blogdetail .articlearea .rightcolumn .articlebody figure img {
width: 100%;
aspect-ratio: 4/3;
object-fit: cover;
display: block;
border-radius: 5px
}

.blogdetail .articlearea .rightcolumn .articlebody figcaption {
font-size: 15px;
line-height: 1.4;
color: #09A8C7;
margin-top: 8px;
font-style: italic
}

.blogdetail .articlearea .rightcolumn .articlebody table {
width: 100%;
border-collapse: collapse;
margin: 32px 0;
font-size: 15px;
line-height: 1.4
}

.blogdetail .articlearea .rightcolumn .articlebody caption {
font-size: 15px;
line-height: 1.4;
color: #922DDF;
font-weight: 700;
text-align: left;
margin-bottom: 8px;
text-transform: uppercase;
letter-spacing: .08em
}

.blogdetail .articlearea .rightcolumn .articlebody thead tr {
background: linear-gradient(203deg, #922DDF, #09A8C7)
}

.blogdetail .articlearea .rightcolumn .articlebody thead td,
.blogdetail .articlearea .rightcolumn .articlebody thead th {
color: #F9FEFC;
font-weight: 700;
padding: 8px 16px
}

.blogdetail .articlearea .rightcolumn .articlebody td {
padding: 8px 16px;
border-bottom: 1px solid #09a8c72e;
color: #1b2230
}

.blogdetail .articlearea .rightcolumn .articlebody tr:nth-child(even) td {
background: #09a8c70d
}

.blogdetail .articlearea .rightcolumn .articlebody abbr {
text-decoration: underline dotted #09A8C7;
cursor: help
}

.blogdetail .articlearea .rightcolumn .articlebody cite {
font-style: italic;
color: #922DDF
}

.blogdetail .svgdivider2 {
width: 100%;
line-height: 0;
display: block
}

.blogdetail .svgdivider2 svg {
display: block;
width: 100%
}

.blogdetail .insightarea {
background: radial-gradient(ellipse at center, #e8f8fc 0%, #c8e8f5 100%);
padding: 96px 48px
}

.blogdetail .insightarea .insightinner {
max-width: 900px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 48px
}

.blogdetail .insightarea .insightlabel {
font-size: 15px;
line-height: 1.4;
text-transform: uppercase;
letter-spacing: .14em;
font-weight: 700;
color: #922DDF;
margin-bottom: 8px;
display: block
}

.blogdetail .insightarea h2 {
font-size: 42px;
line-height: 1.1;
font-weight: 700;
color: #1b2230;
text-transform: uppercase;
letter-spacing: .06em;
margin-bottom: 32px
}

.blogdetail .insightarea .insightgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.blogdetail .insightarea .insightitem {
background: #fff;
border-radius: 5px;
padding: 32px;
box-shadow: 1px 9px 36px 0 #09a8c71f;
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.blogdetail .insightarea .insightitem:hover {
box-shadow: 1px 9px 36px 0 #922ddf2e
}

.blogdetail .insightarea .insightitem .insighticon {
width: 48px;
height: 48px;
flex-shrink: 0
}

.blogdetail .insightarea .insightitem h4 {
font-size: 15px;
line-height: 1.4;
font-weight: 700;
color: #1b2230;
text-transform: uppercase;
letter-spacing: .08em;
margin: 0
}

.blogdetail .insightarea .insightitem p {
font-size: 15px;
line-height: 1.7;
color: #3a4558;
margin: 0
}

.blogdetail .insightarea .ctarow {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
flex-wrap: wrap
}

.blogdetail .insightarea .ctarow a {
display: inline-block;
border: 3px solid #09A8C7;
border-radius: 3px;
background: transparent;
color: #09A8C7;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
padding: 8px 32px;
text-decoration: none;
text-transform: uppercase;
letter-spacing: .1em;
transition: background-color .28s ease-in-out, color .28s ease-in-out
}

.blogdetail .insightarea .ctarow a:hover {
background: #09A8C7;
color: #F9FEFC
}

.blogdetail .insightarea .ctarow a:focus {
outline: 2px solid #09A8C7;
outline-offset: 2px
}

.blogdetail .insightarea .ctarow .secondary {
border-color: #922DDF;
color: #922DDF;
transition: background-color .35s cubic-bezier(0.4, 0, 0.2, 1), color .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.blogdetail .insightarea .ctarow .secondary:hover {
background: #922DDF;
color: #F9FEFC
}

.blogdetail .decorativeoutline {
position: absolute;
pointer-events: none;
z-index: 0
}

.blogdetail .titleblock .decorativeoutline {
right: 48px;
bottom: 48px;
width: 220px;
height: 220px;
opacity: .13
}

.blogdetail .cascade1 {
animation: revealup .38s cubic-bezier(0.4, 0, 0.2, 1) both
}

.blogdetail .cascade2 {
animation: revealup .38s cubic-bezier(0.4, 0, 0.2, 1) .09s both
}

.blogdetail .cascade3 {
animation: revealup .38s cubic-bezier(0.4, 0, 0.2, 1) .18s both
}

.blogdetail .cascade4 {
animation: revealup .38s cubic-bezier(0.4, 0, 0.2, 1) .27s both
}

@keyframes revealup {
from {
opacity: 0;
transform: translateY(18px)
}

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

@media (max-width: 1024px) {
.blogdetail .articlearea .articlegrid {
grid-template-columns: 1fr
}

.blogdetail .articlearea .accentdivider {
width: 100%;
height: 3px;
align-self: auto
}

.blogdetail .insightarea .insightgrid {
grid-template-columns: 1fr 1fr
}

.blogdetail .titleblock h1 {
font-size: 42px
}
}

@media (max-width: 640px) {
.blogdetail .titleblock {
padding: 48px 16px
}

.blogdetail .titleblock h1 {
font-size: 22px
}

.blogdetail .articlearea {
padding: 48px 16px
}

.blogdetail .insightarea {
padding: 48px 16px
}

.blogdetail .insightarea .insightgrid {
grid-template-columns: 1fr
}

.blogdetail .insightarea h2 {
font-size: 22px
}

.blogdetail .titleblock .decorativeoutline {
display: none
}

.blogdetail .titleblock .publishrow {
flex-direction: column;
align-items: flex-start;
gap: 8px
}
}

@media (max-width: 360px) {
.blogdetail .titleblock h1 {
font-size: 22px
}

.blogdetail .articlearea .leftcolumn .pollcard {
padding: 16px
}
}

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

.press .pagewrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 32px
}

@keyframes splitReveal {
0% {
letter-spacing: .4em;
opacity: 0
}

100% {
letter-spacing: .02em;
opacity: 1
}
}

.press .titleblock {
position: relative;
padding: 96px 0 48px;
border-top: 3px solid #09A8C7;
border-bottom: 3px solid #922DDF;
overflow: hidden
}

.press .titleblock::before {
content: "";
position: absolute;
inset: 0;
background-image: repeating-linear-gradient(203deg, transparent, transparent 18px, #09a8c70a 18px, #09a8c70a 20px);
pointer-events: none
}

.press .titleblock .pagewrap {
display: flex;
flex-direction: row;
align-items: stretch;
gap: 48px
}

.press .titleblock .textside {
flex: 1 1 0;
display: flex;
flex-direction: column;
justify-content: center;
gap: 16px;
padding: 32px 0
}

.press .titleblock .imageside {
flex: 0 0 480px;
position: relative;
border-radius: 5px;
overflow: hidden
}

.press .titleblock .imageside img {
width: 100%;
height: 100%;
object-fit: cover;
aspect-ratio: 4/3;
display: block
}

.press .titleblock .imageside::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(203deg, #922ddf8c 0%, #09a8c72e 100%);
pointer-events: none
}

.press .titlelabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .18em;
color: #555
}

.press .titlelabel span {
color: #09A8C7
}

.press .titleblock .heading {
font-size: 58px;
line-height: 1.1;
font-weight: 900;
color: #111;
margin: 0;
animation: splitReveal .38s cubic-bezier(0.4, 0, 0.2, 1) both;
letter-spacing: .02em
}

.press .titleblock .heading em {
font-style: normal;
color: #922DDF
}

.press .titledesc {
font-size: 22px;
line-height: 1.4;
color: #333;
max-width: 520px;
margin: 0
}

.press .titleblock .tagrow {
display: flex;
flex-direction: row;
gap: 8px;
flex-wrap: wrap;
margin-top: 8px
}

.press .tag {
display: inline-block;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #09A8C7;
border: 2px solid #09A8C7;
border-radius: 3px;
padding: 4px 16px;
background: transparent;
transition: background .28s ease-in-out, color .28s ease-in-out
}

.press .tag:hover {
background: #09A8C7;
color: #fff
}

.press .pressresources {
background: #F9FEFC;
padding: 96px 0;
position: relative;
border-bottom: 3px solid #09A8C7
}

.press .pressresources::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 6px;
height: 100%;
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
pointer-events: none
}

.press .pressresources .pagewrap {
display: flex;
flex-direction: column;
gap: 48px
}

.press .sectionlabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .18em;
color: #555;
margin: 0 0 8px
}

.press .sectionlabel span {
color: #922DDF
}

.press .sectionheading {
font-size: 42px;
line-height: 1.1;
font-weight: 900;
text-transform: uppercase;
letter-spacing: .04em;
color: #111;
margin: 0 0 16px
}

.press .resourcegrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.press .resourcecard {
background: #fff;
border-radius: 5px;
box-shadow: 1px 1px 3px 0 #09a8c712;
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
border: 2px solid transparent;
transition: border-color .32s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.press .resourcecard::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
border-radius: 5px 5px 0 0
}

.press .resourcecard:hover {
border-color: #09A8C7;
box-shadow: 1px 7px 22px 0 #09a8c71a
}

.press .cardicon {
width: 48px;
height: 48px;
display: flex;
align-items: center;
justify-content: center
}

.press .cardicon svg {
width: 40px;
height: 40px
}

.press .cardtitle {
font-size: 22px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .06em;
color: #111;
line-height: 1.1;
margin: 0
}

.press .cardbody {
font-size: 15px;
line-height: 1.7;
color: #333;
margin: 0
}

.press .cardlink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #09A8C7;
text-decoration: none;
border: 2px solid #09A8C7;
border-radius: 3px;
padding: 8px 16px;
margin-top: auto;
width: fit-content;
transition: background .26s ease-in-out, color .26s ease-in-out;
position: relative;
overflow: hidden
}

.press .cardlink:hover {
background: #09A8C7;
color: #fff
}

.press .cardlink svg {
width: 16px;
height: 16px;
flex-shrink: 0
}

.press .statrow {
display: flex;
flex-direction: row;
gap: 32px;
border-top: 1px solid #09a8c72e;
padding-top: 32px
}

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

.press .statnumber {
font-size: 42px;
font-weight: 900;
line-height: 1.1;
color: #09A8C7
}

.press .statbar {
height: 3px;
background: #09a8c726;
border-radius: 3px;
margin: 4px 0 8px;
position: relative
}

.press .statbarfill {
height: 100%;
border-radius: 3px;
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%)
}

.press .statlabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #555
}

.press .contactblock {
padding: 96px 0;
background: #fff;
position: relative;
border-top: 3px solid #922DDF;
border-bottom: 3px solid #09A8C7
}

.press .contactblock::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 6px;
height: 100%;
background: linear-gradient(203deg, #09A8C7 0%, #922DDF 100%);
pointer-events: none
}

.press .contactblock .pagewrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 96px;
align-items: start
}

.press .contactleft {
display: flex;
flex-direction: column;
gap: 32px
}

.press .contactright {
display: flex;
flex-direction: column;
gap: 32px
}

.press .contactheading {
font-size: 42px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: .04em;
line-height: 1.1;
color: #111;
margin: 0
}

.press .contactbody {
font-size: 15px;
line-height: 1.7;
color: #333;
margin: 0
}

.press .detailblock {
display: flex;
flex-direction: column;
gap: 16px
}

.press .detailrow {
display: flex;
flex-direction: column;
gap: 4px;
padding: 16px;
background: #F9FEFC;
border-radius: 5px;
box-shadow: 1px 1px 3px 0 #922ddf12;
border: 2px solid transparent;
transition: border-color .35s cubic-bezier(0.4, 0, 0.2, 1)
}

.press .detailrow:hover {
border-color: #922DDF
}

.press .detaillabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #555
}

.press .detaillabel span {
color: #922DDF
}

.press .detailvalue {
font-size: 22px;
line-height: 1.4;
color: #111;
font-weight: 600
}

.press .detailvalue a {
color: #09A8C7;
text-decoration: none;
transition: color .26s ease-in-out
}

.press .detailvalue a:hover {
color: #922DDF
}

.press .guidelinelist {
display: flex;
flex-direction: column;
gap: 16px
}

.press .guidelineitem {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start
}

.press .guidelinedot {
flex-shrink: 0;
width: 8px;
height: 8px;
border-radius: 32px;
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
margin-top: 6px
}

.press .guidelinetext {
font-size: 15px;
line-height: 1.7;
color: #333;
margin: 0
}

.press .outlinebutton {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #922DDF;
text-decoration: none;
border: 3px solid #922DDF;
border-radius: 3px;
padding: 16px 32px;
background: transparent;
width: fit-content;
transition: background .29s cubic-bezier(0.4, 0, 0.2, 1), color .29s cubic-bezier(0.4, 0, 0.2, 1);
cursor: pointer;
position: relative;
overflow: hidden
}

.press .outlinebutton:hover {
background: #922DDF;
color: #fff !important
}

@media (max-width: 1024px) {
.press .titleblock .pagewrap {
flex-direction: column-reverse;
gap: 32px
}

.press .titleblock .imageside {
flex: 0 0 auto;
width: 100%;
max-height: 320px
}

.press .titleblock .heading {
font-size: 42px
}

.press .resourcegrid {
grid-template-columns: 1fr 1fr
}

.press .contactblock .pagewrap {
grid-template-columns: 1fr;
gap: 48px
}

.press .statrow {
flex-wrap: wrap
}
}

@media (max-width: 640px) {
.press .pagewrap {
padding: 0 16px
}

.press .titleblock {
padding: 48px 0 32px
}

.press .titleblock .heading {
font-size: 42px
}

.press .titledesc {
font-size: 15px
}

.press .resourcegrid {
grid-template-columns: 1fr
}

.press .sectionheading {
font-size: 22px
}

.press .contactheading {
font-size: 22px
}

.press .statnumber {
font-size: 22px
}

.press .pressresources {
padding: 48px 0
}

.press .contactblock {
padding: 48px 0
}

.press .statrow {
gap: 16px
}
}

@media (max-width: 360px) {
.press .titleblock .heading {
font-size: 22px
}

.press .pagewrap {
padding: 0 8px
}
}

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

.startpage .titleblock {
background: #09A8C7;
padding: 96px 48px;
position: relative
}

.startpage .titleblock .titleinner {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 48px;
max-width: 1400px
}

.startpage .titleblock .titleleft {
flex: 1 1 0;
display: flex;
flex-direction: column;
gap: 32px
}

.startpage .titleblock .titleright {
flex: 0 0 420px;
display: flex;
flex-direction: column;
gap: 16px
}

.startpage .titleblock .eyebrow {
font-size: 15px;
line-height: 1.4;
color: #F9FEFC;
text-transform: uppercase;
letter-spacing: .18em;
font-weight: 700
}

.startpage .titleblock .maintitle {
font-size: 72px;
line-height: 1.1;
color: #F9FEFC;
font-weight: 900;
margin: 0
}

.startpage .titleblock .subtitle {
font-size: 22px;
line-height: 1.4;
color: #F9FEFC;
margin: 0;
max-width: 560px;
opacity: .92
}

.startpage .titleblock .titlebadge {
display: inline-flex;
align-items: center;
gap: 8px;
background: #f9fefc26;
border: 2px solid #f9fefc66;
border-radius: 5px;
padding: 8px 16px;
font-size: 15px;
color: #F9FEFC;
font-weight: 600;
width: fit-content
}

.startpage .titleblock .titlebadge svg {
flex-shrink: 0
}

.startpage .titleblock .titleimgwrap {
width: 100%;
aspect-ratio: 4/3;
border-radius: 5px;
overflow: hidden;
box-shadow: 1px 9px 36px 0 #09a8c71f
}

.startpage .titleblock .titleimgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.startpage .titleblock .titleactions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap
}

.startpage .titleblock .btnprimary {
display: inline-flex;
align-items: center;
gap: 8px;
background: #F9FEFC;
color: #09A8C7;
border: 3px solid #F9FEFC;
border-radius: 3px;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
cursor: pointer;
text-decoration: none;
transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.startpage .titleblock .btnprimary:hover {
background: transparent;
color: #F9FEFC
}

.startpage .titleblock .btnsecondary {
display: inline-flex;
align-items: center;
gap: 8px;
background: transparent;
color: #F9FEFC;
border: 3px solid #f9fefc99;
border-radius: 3px;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
cursor: pointer;
text-decoration: none;
transition: border-color .35s ease-in-out, background .35s ease-in-out
}

.startpage .titleblock .btnsecondary:hover {
border-color: #F9FEFC;
background: #f9fefc1f
}

.startpage .postlisting {
background: #F9FEFC;
padding: 96px 48px
}

.startpage .postlisting .listingtop {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 32px;
margin-bottom: 48px
}

.startpage .postlisting .listinghead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #181818;
margin: 0;
text-transform: uppercase;
letter-spacing: .06em
}

.startpage .postlisting .listinglink {
font-size: 15px;
color: #09A8C7;
font-weight: 700;
text-decoration: none;
border-bottom: 2px solid #09A8C7;
padding-bottom: 4px;
white-space: nowrap;
transition: color .27s ease-in-out, border-color .27s ease-in-out
}

.startpage .postlisting .listinglink:hover {
color: #922DDF;
border-color: #922DDF
}

.startpage .postlisting .postgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.startpage .postlisting .postcard {
background: #fff;
border-radius: 5px;
box-shadow: 1px 7px 22px 0 #09a8c71a;
display: flex;
flex-direction: column;
overflow: hidden;
transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration: none
}

.startpage .postlisting .postcard:hover {
box-shadow: 1px 9px 36px 0 #09a8c71f;
transform: translateY(-4px)
}

.startpage .postlisting .postcard .cardimage {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
flex-shrink: 0
}

.startpage .postlisting .postcard .cardimage img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.startpage .postlisting .postcard:hover .cardimage img {
transform: scale(1.04)
}

.startpage .postlisting .postcard .cardbody {
padding: 32px;
display: flex;
flex-direction: column;
gap: 16px;
flex: 1
}

.startpage .postlisting .postcard .cardtag {
display: inline-block;
font-size: 15px;
font-weight: 700;
color: #922DDF;
text-transform: uppercase;
letter-spacing: .1em
}

.startpage .postlisting .postcard .cardtitle {
font-size: 22px;
line-height: 1.4;
font-weight: 800;
color: #181818;
margin: 0
}

.startpage .postlisting .postcard .carddesc {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.startpage .postlisting .postcard .cardmeta {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center;
flex-wrap: wrap;
margin-top: auto
}

.startpage .postlisting .postcard .cardmeta .metaitem {
font-size: 15px;
color: #888;
display: flex;
align-items: center;
gap: 4px
}

.startpage .postlisting .postcard .cardmeta .metaitem svg {
flex-shrink: 0
}

.startpage .adjacenttopics {
background: #fff;
padding: 96px 48px;
position: relative
}

.startpage .adjacenttopics::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, #09A8C7 0%, transparent 100%)
}

.startpage .adjacenttopics .topicsgrid {
display: grid;
grid-template-columns: 1fr 2fr;
gap: 48px;
align-items: start
}

.startpage .adjacenttopics .topicslabel {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #181818;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0 0 16px
}

.startpage .adjacenttopics .topicsdesc {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.startpage .adjacenttopics .topicslist {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
list-style: none;
padding: 0;
margin: 0
}

.startpage .adjacenttopics .topicslist li {
background: #F9FEFC;
border-radius: 5px;
padding: 32px;
border-top: 3px solid #09A8C7;
box-shadow: 1px 1px 3px 0 #09a8c712;
transition: box-shadow .29s ease-in-out, border-color .29s ease-in-out
}

.startpage .adjacenttopics .topicslist li:hover {
box-shadow: 1px 7px 22px 0 #09a8c71a;
border-color: #922DDF
}

.startpage .adjacenttopics .topicslist .topicname {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
color: #181818;
margin: 0 0 8px
}

.startpage .adjacenttopics .topicslist .topicdesc {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.startpage .mostread {
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
padding: 96px 48px;
position: relative
}

.startpage .mostread .edgeglow {
position: absolute;
inset: 0;
pointer-events: none;
border-radius: 0;
box-shadow: inset 0 0 48px 0 #09a8c72e inset 0 0 80px 0 #922ddf1f;
animation: edgeglowpulse 4s ease-in-out infinite alternate
}

@keyframes edgeglowpulse {
from {
opacity: .5
}

to {
opacity: 1
}
}

.startpage .mostread .mostreadinner {
position: relative
}

.startpage .mostread .mostreadhead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #F9FEFC;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0 0 8px
}

.startpage .mostread .mostreadsubhead {
font-size: 15px;
line-height: 1.7;
color: #f9fefcd9;
margin: 0 0 48px;
max-width: 560px
}

.startpage .mostread .readstack {
display: flex;
flex-direction: column;
gap: 4px
}

.startpage .mostread .readitem {
display: flex;
flex-direction: row;
align-items: center;
gap: 32px;
background: #f9fefc14;
border-radius: 3px;
padding: 32px;
border: 1px solid #f9fefc26;
transition: background .33s cubic-bezier(0.4, 0, 0.2, 1), border-color .33s cubic-bezier(0.4, 0, 0.2, 1);
text-decoration: none
}

.startpage .mostread .readitem:hover {
background: #f9fefc26;
border-color: #f9fefc59
}

.startpage .mostread .readitem .readnum {
font-size: 58px;
line-height: 1.1;
font-weight: 900;
color: #f9fefc2e;
flex-shrink: 0;
width: 72px;
text-align: center
}

.startpage .mostread .readitem .readbody {
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.startpage .mostread .readitem .readtitle {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
color: #F9FEFC;
margin: 0
}

.startpage .mostread .readitem .readexcerpt {
font-size: 15px;
line-height: 1.7;
color: #f9fefcc7;
margin: 0
}

.startpage .mostread .readitem .readmeta {
display: flex;
flex-direction: row;
gap: 16px;
align-items: center
}

.startpage .mostread .readitem .readmeta span {
font-size: 15px;
color: #f9fefc99;
display: flex;
align-items: center;
gap: 4px
}

.startpage .mostread .readitem .readimg {
flex: 0 0 160px;
aspect-ratio: 4/3;
border-radius: 3px;
overflow: hidden
}

.startpage .mostread .readitem .readimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.startpage .territories {
background: #F9FEFC;
padding: 96px 48px;
position: relative
}

.startpage .territories::after {
content: '';
position: absolute;
bottom: 0;
left: 48px;
right: 48px;
height: 1px;
background: linear-gradient(90deg, transparent 0%, #922DDF 50%, transparent 100%)
}

.startpage .territories .terrhead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #181818;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0 0 8px
}

.startpage .territories .terrintro {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0 0 48px;
max-width: 640px
}

.startpage .territories .terrgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

.startpage .territories .terrcard {
border-radius: 5px;
overflow: hidden;
position: relative;
box-shadow: 1px 7px 22px 0 #922ddf1a;
display: flex;
flex-direction: column
}

.startpage .territories .terrcard .terrimg {
width: 100%;
aspect-ratio: 4/3;
overflow: hidden;
flex-shrink: 0
}

.startpage .territories .terrcard .terrimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px) saturate(1.1);
transition: filter .38s ease-in-out, transform .38s ease-in-out
}

.startpage .territories .terrcard:hover .terrimg img {
filter: blur(2px) saturate(1.3);
transform: scale(1.04)
}

.startpage .territories .terrcard .terrcontent {
background: #fff;
padding: 32px;
flex: 1;
display: flex;
flex-direction: column;
gap: 8px
}

.startpage .territories .terrcard .terrtype {
font-size: 15px;
font-weight: 700;
color: #09A8C7;
text-transform: uppercase;
letter-spacing: .1em
}

.startpage .territories .terrcard .terrname {
font-size: 22px;
line-height: 1.4;
font-weight: 800;
color: #181818;
margin: 0
}

.startpage .territories .terrcard .terrdesc {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.startpage .territories .terrcard .terrreader {
font-size: 15px;
color: #922DDF;
font-weight: 600;
margin-top: 8px
}

.startpage .archivegrowth {
background: #fff;
padding: 96px 48px
}

.startpage .archivegrowth .archivegrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.startpage .archivegrowth .archivetext {
display: flex;
flex-direction: column;
gap: 16px
}

.startpage .archivegrowth .archivehead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #181818;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0
}

.startpage .archivegrowth .archivebody {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.startpage .archivegrowth .archivebody strong {
color: #09A8C7
}

.startpage .archivegrowth .archivelink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 700;
color: #922DDF;
text-decoration: none;
border-bottom: 2px solid #922DDF;
padding-bottom: 4px;
width: fit-content;
transition: color .27s ease-in-out, border-color .27s ease-in-out
}

.startpage .archivegrowth .archivelink:hover {
color: #09A8C7;
border-color: #09A8C7
}

.startpage .archivegrowth .archivemetrics {
display: flex;
flex-direction: column;
gap: 16px
}

.startpage .archivegrowth .metricrow {
display: flex;
flex-direction: column;
gap: 8px
}

.startpage .archivegrowth .metriclabel {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center
}

.startpage .archivegrowth .metriclabel .mlname {
font-size: 15px;
font-weight: 700;
color: #333;
text-transform: uppercase;
letter-spacing: .08em
}

.startpage .archivegrowth .metriclabel .mlvalue {
font-size: 15px;
font-weight: 700;
color: #09A8C7
}

.startpage .archivegrowth .metricbar {
height: 8px;
background: #eef5f7;
border-radius: 32px;
overflow: hidden
}

.startpage .archivegrowth .metricfill {
height: 100%;
border-radius: 32px;
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
transition: width .4s cubic-bezier(0.4, 0, 0.2, 1)
}

.startpage .underrated {
background: linear-gradient(203deg, #09a8c714 0%, #F9FEFC 100%);
padding: 96px 48px;
position: relative
}

.startpage .underrated .underratedinner {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.startpage .underrated .underratedleft {
display: flex;
flex-direction: column;
gap: 32px
}

.startpage .underrated .underratedhead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #181818;
text-transform: uppercase;
letter-spacing: .06em;
margin: 0
}

.startpage .underrated .underrateddesc {
font-size: 15px;
line-height: 1.7;
color: #444;
margin: 0
}

.startpage .underrated .underratedimg {
width: 100%;
aspect-ratio: 4/3;
border-radius: 5px;
overflow: hidden;
box-shadow: 1px 9px 36px 0 #922ddf1f
}

.startpage .underrated .underratedimg img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.startpage .underrated .underratedright {
display: flex;
flex-direction: column;
gap: 16px
}

.startpage .underrated .hiddenpiece {
background: #fff;
border-radius: 5px;
padding: 32px;
box-shadow: 1px 1px 3px 0 #09a8c712;
display: flex;
flex-direction: column;
gap: 8px;
position: relative;
transition: box-shadow .31s ease-in-out
}

.startpage .underrated .hiddenpiece::before {
content: '';
position: absolute;
left: 0;
top: 16px;
bottom: 16px;
width: 4px;
background: #09A8C7;
border-radius: 0 3px 3px 0
}

.startpage .underrated .hiddenpiece:hover {
box-shadow: 1px 7px 22px 0 #09a8c71a
}

.startpage .underrated .hiddenpiece .piecetag {
font-size: 15px;
font-weight: 700;
color: #922DDF;
text-transform: uppercase;
letter-spacing: .1em
}

.startpage .underrated .hiddenpiece .piecetitle {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
color: #181818;
margin: 0
}

.startpage .underrated .hiddenpiece .piecereason {
font-size: 15px;
line-height: 1.7;
color: #555;
margin: 0
}

.startpage .underrated .hiddenpiece .piecelink {
font-size: 15px;
font-weight: 700;
color: #09A8C7;
text-decoration: none;
display: inline-flex;
align-items: center;
gap: 4px;
transition: color .26s ease-in-out
}

.startpage .underrated .hiddenpiece .piecelink:hover {
color: #922DDF
}

.startpage .aboutblock {
background: #181818;
padding: 96px 48px;
position: relative
}

.startpage .aboutblock .aboutinner {
display: grid;
grid-template-columns: 2fr 1fr;
gap: 48px;
align-items: center
}

.startpage .aboutblock .abouttext {
display: flex;
flex-direction: column;
gap: 16px
}

.startpage .aboutblock .aboutlabel {
font-size: 15px;
font-weight: 700;
color: #09A8C7;
text-transform: uppercase;
letter-spacing: .18em
}

.startpage .aboutblock .abouthead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #F9FEFC;
margin: 0
}

.startpage .aboutblock .aboutbody {
font-size: 15px;
line-height: 1.7;
color: #f9fefcc7;
margin: 0
}

.startpage .aboutblock .aboutbody strong {
color: #09A8C7
}

.startpage .aboutblock .aboutbodyb {
font-size: 15px;
line-height: 1.7;
color: #f9fefcc7;
margin: 0
}

.startpage .aboutblock .aboutside {
display: flex;
flex-direction: column;
align-items: center;
gap: 16px
}

.startpage .aboutblock .portraitwrap {
width: 220px;
aspect-ratio: 3/4;
border-radius: 32px;
overflow: hidden;
box-shadow: 1px 9px 36px 0 #922ddf1f;
box-shadow: inset 0 0 0 3px #09a8c74d 1px 9px 36px 0 #922ddf1f
}

.startpage .aboutblock .portraitwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.startpage .aboutblock .portraitname {
font-size: 15px;
font-weight: 700;
color: #F9FEFC;
text-align: center
}

.startpage .aboutblock .portraitrole {
font-size: 15px;
color: #f9fefc99;
text-align: center
}

.startpage .nextstep {
background: #F9FEFC;
padding: 96px 48px
}

.startpage .nextstep .nextstepinner {
display: flex;
flex-direction: column;
align-items: center;
gap: 32px;
text-align: center;
max-width: 720px;
margin: 0 auto
}

.startpage .nextstep .nextsteplabel {
font-size: 15px;
font-weight: 700;
color: #922DDF;
text-transform: uppercase;
letter-spacing: .18em
}

.startpage .nextstep .nextstephead {
font-size: 42px;
line-height: 1.1;
font-weight: 800;
color: #181818;
margin: 0
}

.startpage .nextstep .nextstepdesc {
font-size: 22px;
line-height: 1.4;
color: #444;
margin: 0
}

.startpage .nextstep .nextstepactions {
display: flex;
flex-direction: row;
gap: 16px;
flex-wrap: wrap;
justify-content: center
}

.startpage .nextstep .nextstepbtn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 16px 32px;
border-radius: 3px;
font-size: 15px;
font-weight: 700;
cursor: pointer;
text-decoration: none;
transition: background .28s cubic-bezier(0.4, 0, 0.2, 1), color .28s cubic-bezier(0.4, 0, 0.2, 1), border-color .28s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
overflow: hidden
}

.startpage .nextstep .nextstepbtn.primary {
background: #09A8C7;
color: #F9FEFC;
border: 3px solid #09A8C7
}

.startpage .nextstep .nextstepbtn.primary:hover {
background: transparent;
color: #09A8C7
}

.startpage .nextstep .nextstepbtn.secondary {
background: transparent;
color: #922DDF;
border: 3px solid #922DDF
}

.startpage .nextstep .nextstepbtn.secondary:hover {
background: #922DDF;
color: #F9FEFC
}

.startpage .nextstep .nextstepcontact {
font-size: 15px;
color: #888
}

.startpage .nextstep .nextstepcontact a {
color: #09A8C7;
font-weight: 700;
text-decoration: none;
transition: color .26s ease-in-out
}

.startpage .nextstep .nextstepcontact a:hover {
color: #922DDF
}

@media (max-width: 1024px) {
.startpage .titleblock .titleright {
flex: 0 0 320px
}

.startpage .postlisting .postgrid {
grid-template-columns: 1fr 1fr
}

.startpage .territories .terrgrid {
grid-template-columns: 1fr 1fr
}

.startpage .adjacenttopics .topicsgrid {
grid-template-columns: 1fr
}

.startpage .adjacenttopics .topicslist {
grid-template-columns: 1fr 1fr
}

.startpage .archivegrowth .archivegrid {
grid-template-columns: 1fr
}

.startpage .underrated .underratedinner {
grid-template-columns: 1fr
}

.startpage .aboutblock .aboutinner {
grid-template-columns: 1fr
}

.startpage .aboutblock .aboutside {
flex-direction: row;
justify-content: flex-start;
align-items: center
}

.startpage .mostread .readitem .readimg {
display: none
}
}

@media (max-width: 640px) {
.startpage .titleblock {
padding: 48px 16px
}

.startpage .titleblock .titleinner {
flex-direction: column
}

.startpage .titleblock .titleright {
flex: 0 0 auto;
width: 100%
}

.startpage .titleblock .maintitle {
font-size: 42px
}

.startpage .postlisting {
padding: 48px 16px
}

.startpage .postlisting .postgrid {
grid-template-columns: 1fr
}

.startpage .postlisting .listingtop {
flex-direction: column;
align-items: flex-start
}

.startpage .adjacenttopics {
padding: 48px 16px
}

.startpage .adjacenttopics .topicslist {
grid-template-columns: 1fr
}

.startpage .mostread {
padding: 48px 16px
}

.startpage .mostread .readitem {
flex-direction: column;
gap: 16px
}

.startpage .mostread .readitem .readnum {
font-size: 42px;
width: auto
}

.startpage .territories {
padding: 48px 16px
}

.startpage .territories .terrgrid {
grid-template-columns: 1fr
}

.startpage .archivegrowth {
padding: 48px 16px
}

.startpage .underrated {
padding: 48px 16px
}

.startpage .aboutblock {
padding: 48px 16px
}

.startpage .nextstep {
padding: 48px 16px
}

.startpage .nextstep .nextstephead {
font-size: 42px
}
}

@media (max-width: 360px) {
.startpage .titleblock .maintitle {
font-size: 42px
}

.startpage .titleblock .titleactions {
flex-direction: column
}

.startpage .nextstep .nextstepactions {
flex-direction: column;
align-items: stretch
}
}

.blog {
background: #F9FEFC;
overflow-x: clip
}

.blog .pagetop {
position: relative;
background: #0d1117;
padding: 96px 32px;
text-align: center;
overflow: hidden
}

.blog .pagetop::before {
content: "";
position: absolute;
inset: 0;
background: url(./landing_images/featured-2a.jpg) center/cover no-repeat;
opacity: .18;
filter: blur(2px)
}

.blog .pagetop::after {
content: "";
position: absolute;
inset: 0;
background: 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)' opacity='0.06'/%3E%3C/svg%3E");
opacity: .35;
pointer-events: none
}

.blog .pagetop .eyebrow {
position: relative;
z-index: 1;
display: inline-block;
font-size: 15px;
line-height: 1.4;
letter-spacing: .18em;
text-transform: uppercase;
color: #09A8C7;
margin-bottom: 16px;
font-weight: 600
}

.blog .pagetop h1 {
position: relative;
z-index: 1;
font-size: 58px;
line-height: 1.1;
color: #F9FEFC;
font-weight: 700;
letter-spacing: -.01em;
margin: 0 auto;
max-width: 900px
}

@media (max-width: 640px) {
.blog .pagetop h1 {
font-size: 42px
}

.blog .pagetop {
padding: 64px 16px
}
}

@media (max-width: 360px) {
.blog .pagetop h1 {
font-size: 32px
}
}

.blog .postgrid {
max-width: 1400px;
margin: 0 auto;
padding: 96px 32px
}

.blog .postgrid h2 {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #0d1117;
margin-bottom: 48px
}

.blog .postgrid h2 span {
color: #09A8C7
}

.blog .cardgrid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px
}

@media (max-width: 1024px) {
.blog .cardgrid {
grid-template-columns: repeat(2, 1fr)
}
}

@media (max-width: 640px) {
.blog .cardgrid {
grid-template-columns: 1fr;
gap: 24px
}

.blog .postgrid {
padding: 64px 16px
}
}

.blog .postcard {
background: #fff;
border-radius: 5px;
box-shadow: 1px 1px 3px 0 #09a8c712;
transition: box-shadow .28s ease-in-out, transform .28s cubic-bezier(0.4, 0, 0.2, 1);
display: flex;
flex-direction: column;
overflow: hidden;
animation: cardrise .55s cubic-bezier(0.34, 1.56, 0.64, 1) both
}

.blog .postcard:nth-child(1) {
animation-delay: .05s
}

.blog .postcard:nth-child(2) {
animation-delay: .13s
}

.blog .postcard:nth-child(3) {
animation-delay: .21s
}

.blog .postcard:nth-child(4) {
animation-delay: .29s
}

.blog .postcard:nth-child(5) {
animation-delay: .37s
}

@keyframes cardrise {
from {
opacity: 0;
transform: translateY(28px) scale(0.97)
}

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

.blog .postcard:hover {
box-shadow: 1px 9px 36px 0 #09a8c71f;
transform: translateY(-4px)
}

.blog .postcard .imagewrap {
aspect-ratio: 4/3;
overflow: hidden;
background: #0d1117
}

.blog .postcard .imagewrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .38s cubic-bezier(0.4, 0, 0.2, 1), filter .38s ease-in-out;
filter: blur(0px)
}

.blog .postcard:hover .imagewrap img {
transform: scale(1.04);
filter: blur(0.5px)
}

.blog .postcard .cardtag {
display: inline-block;
font-size: 15px;
line-height: 1.4;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .1em;
color: #922DDF;
padding: 16px 16px 0
}

.blog .postcard .cardbody {
padding: 8px 16px 16px;
flex: 1;
display: flex;
flex-direction: column
}

.blog .postcard h3 {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
color: #0d1117;
margin: 0 0 8px
}

.blog .postcard .carddesc {
font-size: 15px;
line-height: 1.7;
color: #3a3a4a;
margin: 0 0 16px;
flex: 1
}

.blog .postcard .cardmeta {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
font-size: 15px;
line-height: 1.4;
color: #6a6a7a;
flex-wrap: wrap
}

.blog .postcard .cardmeta .metaitem {
display: flex;
flex-direction: row;
align-items: center;
gap: 4px
}

.blog .postcard .cardmeta .metaitem svg {
flex-shrink: 0
}

.blog .postcard .cardlink {
display: inline-block;
margin-top: 16px;
font-size: 15px;
line-height: 1.4;
font-weight: 700;
color: #F9FEFC;
background: #09A8C7;
border: 2px solid #09A8C7;
border-radius: 3px;
padding: 8px 16px;
text-decoration: none;
letter-spacing: .05em;
text-transform: uppercase;
transition: background .25s ease-in-out, color .25s ease-in-out, border-color .25s ease-in-out;
align-self: flex-start
}

.blog .postcard .cardlink:hover,
.blog .postcard .cardlink:focus {
background: transparent;
color: #09A8C7;
border-color: #09A8C7;
outline: none
}

.blog .postcard .cardlink:active {
background: #077a92;
border-color: #077a92;
color: #F9FEFC
}

.blog .aboutstrip {
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
padding: 96px 32px;
position: relative;
overflow: hidden
}

.blog .aboutstrip .geo {
position: absolute;
top: -48px;
right: -48px;
width: 260px;
height: 260px;
border: 2px solid #f9fefc26;
border-radius: 32px;
pointer-events: none;
animation: geospin 9s ease-in-out infinite alternate
}

.blog .aboutstrip .geo2 {
position: absolute;
bottom: -32px;
left: -32px;
width: 180px;
height: 180px;
border: 2px solid #f9fefc1a;
border-radius: 32px;
pointer-events: none;
animation: geospin 13s ease-in-out infinite alternate-reverse
}

@keyframes geospin {
from {
transform: rotate(0deg) scale(1)
}

to {
transform: rotate(18deg) scale(1.06)
}
}

.blog .aboutstrip .stripinner {
max-width: 1400px;
margin: 0 auto;
display: flex;
flex-direction: row;
align-items: center;
gap: 48px
}

@media (max-width: 1024px) {
.blog .aboutstrip .stripinner {
flex-direction: column;
gap: 32px
}
}

.blog .aboutstrip .stripleft {
flex: 1
}

.blog .aboutstrip .striplabel {
font-size: 15px;
line-height: 1.4;
letter-spacing: .14em;
text-transform: uppercase;
color: #f9fefcbf;
font-weight: 600;
margin-bottom: 16px
}

.blog .aboutstrip h2 {
font-size: 42px;
line-height: 1.1;
font-weight: 700;
color: #F9FEFC;
margin: 0 0 16px
}

@media (max-width: 640px) {
.blog .aboutstrip h2 {
font-size: 32px
}

.blog .aboutstrip {
padding: 64px 16px
}
}

.blog .aboutstrip .striptext {
font-size: 15px;
line-height: 1.7;
color: #f9fefce0;
max-width: 520px;
margin: 0
}

.blog .aboutstrip .stripright {
flex-shrink: 0;
display: flex;
flex-direction: column;
gap: 16px;
align-items: flex-start
}

.blog .aboutstrip .statrow {
display: flex;
flex-direction: row;
align-items: baseline;
gap: 8px
}

.blog .aboutstrip .statnum {
font-size: 58px;
line-height: 1.1;
font-weight: 700;
color: #F9FEFC
}

.blog .aboutstrip .statnum .frac {
color: #f9fefc80;
font-size: 42px
}

.blog .aboutstrip .statlabel {
font-size: 15px;
line-height: 1.4;
color: #f9fefcbf;
font-weight: 600;
text-transform: uppercase;
letter-spacing: .08em
}

.blog .aboutstrip .striplink {
display: inline-block;
margin-top: 8px;
font-size: 15px;
font-weight: 700;
color: #09A8C7;
background: #F9FEFC;
border: 3px solid #F9FEFC;
border-radius: 3px;
padding: 8px 32px;
text-decoration: none;
letter-spacing: .07em;
text-transform: uppercase;
transition: background .27s ease-in-out, color .27s ease-in-out
}

.blog .aboutstrip .striplink:hover,
.blog .aboutstrip .striplink:focus {
background: transparent;
color: #F9FEFC;
outline: none
}

.blog .perspectivebar {
max-width: 1400px;
margin: 0 auto;
padding: 96px 32px
}

.blog .perspectivebar .barhead {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 32px;
margin-bottom: 48px;
flex-wrap: wrap
}

.blog .perspectivebar h2 {
font-size: 42px;
line-height: 1.1;
font-weight: 700;
color: #0d1117;
margin: 0
}

.blog .perspectivebar h2 em {
font-style: normal;
color: #922DDF
}

.blog .perspectivebar .bardesc {
font-size: 15px;
line-height: 1.7;
color: #3a3a4a;
max-width: 400px;
margin: 0
}

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

.blog .topicitem {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
padding: 16px;
border-radius: 5px;
background: #fff;
box-shadow: 1px 1px 3px 0 #09a8c712;
transition: box-shadow .27s cubic-bezier(0.4, 0, 0.2, 1), background .27s ease-in-out;
animation: listreveal .45s cubic-bezier(0.34, 1.4, 0.64, 1) both
}

.blog .topicitem:nth-child(1) {
animation-delay: .08s
}

.blog .topicitem:nth-child(2) {
animation-delay: .18s
}

.blog .topicitem:nth-child(3) {
animation-delay: .28s
}

.blog .topicitem:nth-child(4) {
animation-delay: .38s
}

@keyframes listreveal {
from {
opacity: 0;
transform: translateX(-18px)
}

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

.blog .topicitem:hover {
box-shadow: 1px 7px 22px 0 #09a8c71a;
background: #f4fdff
}

.blog .topicicon {
width: 48px;
height: 48px;
border-radius: 5px;
background: linear-gradient(203deg, #922DDF 0%, #09A8C7 100%);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0
}

.blog .topictext {
flex: 1
}

.blog .topictext h4 {
font-size: 15px;
line-height: 1.4;
font-weight: 700;
color: #0d1117;
margin: 0 0 4px;
text-transform: uppercase;
letter-spacing: .07em
}

.blog .topictext p {
font-size: 15px;
line-height: 1.4;
color: #3a3a4a;
margin: 0
}

.blog .topiclink {
font-size: 15px;
font-weight: 700;
color: #09A8C7;
text-decoration: none;
border-bottom: 2px solid #09A8C7;
padding-bottom: 2px;
letter-spacing: .04em;
transition: color .25s ease-in-out, border-color .25s ease-in-out;
white-space: nowrap
}

.blog .topiclink:hover,
.blog .topiclink:focus {
color: #922DDF;
border-color: #922DDF;
outline: none
}

@media (max-width: 640px) {
.blog .perspectivebar {
padding: 64px 16px
}

.blog .perspectivebar h2 {
font-size: 32px
}

.blog .topicitem {
flex-wrap: wrap
}

.blog .topiclink {
width: 100%
}
}

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

.aboutauthor .pagewrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 32px
}

.aboutauthor .divider {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
margin: 0
}

.aboutauthor .divider span {
display: block;
width: 48px;
height: 2px;
background: #09A8C7
}

.aboutauthor .divider svg {
flex-shrink: 0
}

.aboutauthor .titleblock {
padding-top: 48px;
padding-bottom: 96px;
position: relative;
background: #F9FEFC;
overflow: hidden
}

.aboutauthor .titleblock .decorband {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(203deg, #922DDF, #09A8C7)
}

.aboutauthor .titleblock .decoroutline {
position: absolute;
bottom: 24px;
right: 48px;
width: 180px;
height: 180px;
border: 2px solid #09A8C7;
border-radius: 3px;
opacity: .1;
pointer-events: none;
animation: outlinedrift 7s ease-in-out infinite alternate
}

@keyframes outlinedrift {
from {
transform: translate(0, 0) rotate(0deg)
}

to {
transform: translate(-12px, 10px) rotate(6deg)
}
}

.aboutauthor .titleblock .pagewrap {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: end
}

.aboutauthor .titleblock .textside {
display: flex;
flex-direction: column;
gap: 16px
}

.aboutauthor .titleblock .eyebrow {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #09A8C7;
margin: 0
}

.aboutauthor .titleblock .mainheading {
font-size: 58px;
line-height: 1.1;
font-weight: 900;
color: #0d1a20;
margin: 0
}

.aboutauthor .titleblock .mosaic {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: auto auto;
gap: 8px
}

.aboutauthor .titleblock .mosaicitem {
position: relative;
overflow: hidden;
border-radius: 5px;
aspect-ratio: 4/3
}

.aboutauthor .titleblock .mosaicitem img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
transition: filter .38s cubic-bezier(0.4, 0, 0.2, 1)
}

.aboutauthor .titleblock .mosaicitem:hover img {
filter: blur(0px)
}

.aboutauthor .titleblock .mosaicitem .diagoverlay {
position: absolute;
inset: 0;
background: linear-gradient(203deg, #922ddf73 0%, #09a8c738 100%);
pointer-events: none
}

.aboutauthor .titleblock .mosaicitem.large {
grid-column: 1 / 3
}

.aboutauthor .titleblock .mosaicitem.large img {
filter: blur(3px);
transition: filter .35s ease-in-out
}

.aboutauthor .titleblock .mosaicitem.large:hover img {
filter: blur(0px)
}

.aboutauthor .titleblock .mosaicitem.small img {
filter: blur(3px);
transition: filter .28s cubic-bezier(0.4, 0, 0.2, 1)
}

.aboutauthor .titleblock .mosaicitem.small:hover img {
filter: blur(0px)
}

.aboutauthor .profileblock {
padding: 96px 0 48px;
background: #fff;
position: relative
}

.aboutauthor .profileblock .pagewrap {
display: grid;
grid-template-columns: 340px 1fr;
gap: 48px;
align-items: start
}

.aboutauthor .profileblock .portraitcol {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 16px;
position: sticky;
top: 32px
}

.aboutauthor .profileblock .portraitframe {
width: 120px;
height: 120px;
border-radius: 50%;
overflow: hidden;
box-shadow: 1px 7px 22px 0 #09a8c71a;
flex-shrink: 0
}

.aboutauthor .profileblock .portraitframe img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block
}

.aboutauthor .profileblock .profilename {
font-size: 22px;
font-weight: 800;
color: #0d1a20;
margin: 0;
line-height: 1.4
}

.aboutauthor .profileblock .profilerole {
font-size: 15px;
color: #09A8C7;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
margin: 0
}

.aboutauthor .profileblock .profilemeta {
display: flex;
flex-direction: column;
gap: 8px;
margin-top: 8px
}

.aboutauthor .profileblock .metalabel {
font-size: 15px;
color: #4a5560;
line-height: 1.7
}

.aboutauthor .profileblock .metalabel strong {
color: #0d1a20;
font-weight: 700
}

.aboutauthor .profileblock .metalabel .accent {
color: #09A8C7
}

.aboutauthor .profileblock .presslink {
display: inline-block;
margin-top: 8px;
font-size: 15px;
font-weight: 700;
color: #922DDF;
text-decoration: none;
border-bottom: 2px solid #922DDF;
padding-bottom: 2px;
transition: color .26s ease-in-out, border-color .26s ease-in-out
}

.aboutauthor .profileblock .presslink:hover {
color: #09A8C7;
border-color: #09A8C7
}

.aboutauthor .profileblock .bodycol {
display: flex;
flex-direction: column;
gap: 32px
}

.aboutauthor .profileblock .bodyheading {
font-size: 22px;
font-weight: 800;
color: #0d1a20;
text-transform: uppercase;
letter-spacing: .08em;
line-height: 1.4;
margin: 0 0 8px
}

.aboutauthor .profileblock .bodypara {
font-size: 15px;
line-height: 1.7;
color: #2d3a42;
margin: 0 0 8px
}

.aboutauthor .profileblock .pullquote {
border-top: 3px solid #09A8C7;
border-bottom: 1px solid #09a8c72e;
padding: 32px 32px 32px 0;
margin: 8px 0
}

.aboutauthor .profileblock .pullquote blockquote {
font-size: 22px;
line-height: 1.4;
color: #0d1a20;
font-weight: 700;
font-style: italic;
margin: 0
}

.aboutauthor .profileblock .pullquote blockquote::before {
content: ""
}

.aboutauthor .profileblock .twocol {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 32px
}

.aboutauthor .approachblock {
padding: 48px 0 96px;
position: relative;
background: #F9FEFC
}

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

.aboutauthor .approachblock .pagewrap {
position: relative
}

.aboutauthor .approachblock .sectionlabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #922DDF;
margin: 0 0 16px
}

.aboutauthor .approachblock .sectionheading {
font-size: 42px;
line-height: 1.1;
font-weight: 900;
color: #0d1a20;
margin: 0 0 48px;
max-width: 600px
}

.aboutauthor .approachblock .pillarslist {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 32px;
list-style: none;
margin: 0;
padding: 0
}

.aboutauthor .approachblock .pillaritem {
background: #fff;
border-radius: 5px;
padding: 32px;
box-shadow: 1px 1px 3px 0 #09a8c712;
position: relative;
transition: box-shadow .32s cubic-bezier(0.4, 0, 0.2, 1), transform .32s cubic-bezier(0.4, 0, 0.2, 1);
cursor: default
}

.aboutauthor .approachblock .pillaritem::after {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 0;
border-style: solid;
border-width: 0 0 24px 24px;
border-color: transparent transparent #09A8C7;
border-radius: 0 0 5px 0;
transition: border-width .28s ease-in-out
}

.aboutauthor .approachblock .pillaritem:hover::after {
border-width: 0 0 40px 40px
}

.aboutauthor .approachblock .pillaritem:hover {
box-shadow: 1px 9px 36px 0 #09a8c71f;
transform: translateY(-4px)
}

.aboutauthor .approachblock .pillarnum {
font-size: 42px;
font-weight: 900;
color: #09a8c721;
line-height: 1.1;
margin: 0 0 8px;
display: block
}

.aboutauthor .approachblock .pillarheading {
font-size: 15px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .1em;
color: #0d1a20;
margin: 0 0 8px;
line-height: 1.4
}

.aboutauthor .approachblock .pillarpara {
font-size: 15px;
line-height: 1.7;
color: #4a5560;
margin: 0
}

.aboutauthor .contactblock {
padding: 96px 0;
background: #fff;
position: relative;
overflow: hidden
}

.aboutauthor .contactblock .bgmigrate {
position: absolute;
inset: 0;
background: linear-gradient(203deg, #922ddf0f 0%, #09a8c717 100%);
animation: zonemigrate 12s ease-in-out infinite alternate;
pointer-events: none
}

@keyframes zonemigrate {
from {
transform: scale(1) translate(0, 0);
opacity: .7
}

to {
transform: scale(1.08) translate(2%, -2%);
opacity: 1
}
}

.aboutauthor .contactblock .pagewrap {
position: relative;
display: grid;
grid-template-columns: 1fr 480px;
gap: 96px;
align-items: center
}

.aboutauthor .contactblock .contacttext {
display: flex;
flex-direction: column;
gap: 16px
}

.aboutauthor .contactblock .contactlabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .12em;
color: #09A8C7;
margin: 0
}

.aboutauthor .contactblock .contactheading {
font-size: 42px;
line-height: 1.1;
font-weight: 900;
color: #0d1a20;
margin: 0
}

.aboutauthor .contactblock .contactpara {
font-size: 15px;
line-height: 1.7;
color: #2d3a42;
margin: 0
}

.aboutauthor .contactblock .contactcard {
background: #F9FEFC;
border-radius: 5px;
padding: 48px;
box-shadow: 1px 7px 22px 0 #922ddf1a;
display: flex;
flex-direction: column;
gap: 32px
}

.aboutauthor .contactblock .contactrow {
display: flex;
flex-direction: column;
gap: 4px
}

.aboutauthor .contactblock .rowlabel {
font-size: 15px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .1em;
color: #4a5560
}

.aboutauthor .contactblock .rowlabel .accent {
color: #09A8C7
}

.aboutauthor .contactblock .rowvalue {
font-size: 22px;
font-weight: 700;
color: #0d1a20;
line-height: 1.4;
text-decoration: none;
transition: color .27s ease-in-out
}

.aboutauthor .contactblock .rowvalue:hover {
color: #922DDF
}

.aboutauthor .contactblock .ctabtn {
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: .1em;
color: #922DDF;
background: transparent;
border: 3px solid #922DDF;
border-radius: 5px;
text-decoration: none;
text-align: center;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color .29s cubic-bezier(0.4, 0, 0.2, 1), background .29s cubic-bezier(0.4, 0, 0.2, 1)
}

.aboutauthor .contactblock .ctabtn:hover {
background: #922DDF;
color: #fff
}

.aboutauthor .contactblock .ctabtn:focus {
outline: 3px solid #09A8C7;
outline-offset: 3px
}

@media (max-width: 1024px) {
.aboutauthor .titleblock .mainheading {
font-size: 42px
}

.aboutauthor .profileblock .pagewrap {
grid-template-columns: 260px 1fr;
gap: 32px
}

.aboutauthor .approachblock .pillarslist {
grid-template-columns: 1fr 1fr
}

.aboutauthor .contactblock .pagewrap {
grid-template-columns: 1fr;
gap: 48px
}

.aboutauthor .contactblock .contactcard {
padding: 32px
}
}

@media (max-width: 640px) {
.aboutauthor .pagewrap {
padding: 0 16px
}

.aboutauthor .titleblock {
padding-bottom: 48px
}

.aboutauthor .titleblock .pagewrap {
grid-template-columns: 1fr;
gap: 32px
}

.aboutauthor .titleblock .mainheading {
font-size: 42px
}

.aboutauthor .titleblock .mosaic {
grid-template-columns: 1fr 1fr
}

.aboutauthor .titleblock .mosaicitem.large {
grid-column: 1 / 3
}

.aboutauthor .profileblock {
padding: 48px 0 32px
}

.aboutauthor .profileblock .pagewrap {
grid-template-columns: 1fr
}

.aboutauthor .profileblock .portraitcol {
position: static;
flex-direction: row;
align-items: center;
flex-wrap: wrap
}

.aboutauthor .profileblock .twocol {
grid-template-columns: 1fr;
gap: 16px
}

.aboutauthor .profileblock .pullquote {
padding: 16px 0
}

.aboutauthor .approachblock .sectionheading {
font-size: 22px
}

.aboutauthor .approachblock .pillarslist {
grid-template-columns: 1fr
}

.aboutauthor .contactblock {
padding: 48px 0
}

.aboutauthor .contactblock .contactheading {
font-size: 22px
}
}

@media (max-width: 360px) {
.aboutauthor .titleblock .mainheading {
font-size: 42px
}

.aboutauthor .profileblock .portraitcol {
flex-direction: column;
align-items: flex-start
}
}

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

.successPage .confirmationWrapper {
max-width: 560px;
width: 100%;
text-align: center
}

.successPage .iconMark {
width: 72px;
height: 72px;
margin: 0 auto 32px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 32px;
background: linear-gradient(203deg, #922DDF, #09A8C7);
box-shadow: 1px 9px 36px 0 #09a8c71f
}

.successPage .iconMark svg {
display: block
}

.successPage .confirmationTitle {
font-size: 42px;
line-height: 1.1;
font-weight: 700;
letter-spacing: 0;
color: #111827;
margin: 0 0 16px;
text-transform: uppercase;
letter-spacing: .06em
}

.successPage .confirmationSubtitle {
font-size: 22px;
line-height: 1.4;
color: #374151;
margin: 0 0 32px
}

.successPage .confirmationBody {
font-size: 15px;
line-height: 1.7;
color: #4B5563;
margin: 0 0 48px;
padding: 0 8px
}

.successPage .dividerAccent {
width: 48px;
height: 3px;
background: linear-gradient(203deg, #922DDF, #09A8C7);
border-radius: 3px;
margin: 0 auto 48px
}

.successPage .actionGroup {
display: flex;
flex-direction: row;
gap: 16px;
justify-content: center;
flex-wrap: wrap
}

.successPage .actionGroup .primaryAction {
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
line-height: 1.1;
text-transform: uppercase;
letter-spacing: .08em;
color: #09A8C7;
background: transparent;
border: 3px solid #09A8C7;
border-radius: 5px;
text-decoration: none;
transition: color .28s cubic-bezier(0.4, 0, 0.2, 1), background-color .28s cubic-bezier(0.4, 0, 0.2, 1), box-shadow .35s ease-in-out;
box-shadow: 1px 1px 3px 0 #09a8c712;
cursor: pointer
}

.successPage .actionGroup .primaryAction:hover,
.successPage .actionGroup .primaryAction:focus {
background-color: #09A8C7;
color: #F9FEFC;
box-shadow: 1px 7px 22px 0 #09a8c71a;
outline: none
}

.successPage .actionGroup .primaryAction:active {
box-shadow: inset 1px 1px 3px 0 #09a8c71f
}

.successPage .actionGroup .secondaryAction {
display: inline-block;
padding: 16px 32px;
font-size: 15px;
font-weight: 700;
line-height: 1.1;
text-transform: uppercase;
letter-spacing: .08em;
color: #922DDF;
background: transparent;
border: 3px solid #922DDF;
border-radius: 5px;
text-decoration: none;
transition: color .32s ease-in-out, background-color .32s ease-in-out, box-shadow .38s cubic-bezier(0.4, 0, 0.2, 1);
box-shadow: 1px 1px 3px 0 #922ddf12;
cursor: pointer
}

.successPage .actionGroup .secondaryAction:hover,
.successPage .actionGroup .secondaryAction:focus {
background-color: #922DDF;
color: #F9FEFC;
box-shadow: 1px 7px 22px 0 #922ddf1a;
outline: none
}

.successPage .actionGroup .secondaryAction:active {
box-shadow: inset 1px 1px 3px 0 #922ddf1f
}

@media (max-width: 640px) {
.successPage {
padding: 48px 16px
}

.successPage .confirmationTitle {
font-size: 22px
}

.successPage .confirmationSubtitle {
font-size: 15px
}

.successPage .actionGroup {
flex-direction: column;
align-items: center
}

.successPage .actionGroup .primaryAction,
.successPage .actionGroup .secondaryAction {
width: 100%;
text-align: center
}
}