html {
box-sizing: border-box;
}

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

body {
margin: 0;
padding: 0;
position: relative;
min-height: 100vh;
}

.sitehead {
background: linear-gradient(135deg, #ffffff 0%, #f4ecff 55%, #e8f9ec 100%);
border-bottom: 2px solid #B674FC;
position: relative;
overflow: hidden;
}

.sitehead::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, #B674FC 0%, #0F486E 50%, #C4F7CF 100%);
pointer-events: none;
}

.sitehead::after {
content: '';
position: absolute;
bottom: -1px;
right: -60px;
width: 320px;
height: 320px;
border-radius: 50%;
background: rgba(182, 116, 252, 0.06);
pointer-events: none;
z-index: 0;
}

.headtop {
max-width: 1400px;
margin: 0 auto;
padding: 24px 48px 16px 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
position: relative;
z-index: 1;
}

.headbottom {
max-width: 1400px;
margin: 0 auto;
padding: 0 48px 24px 48px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
position: relative;
z-index: 1;
}

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

.menuzone a {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.015em;
color: #0F486E;
text-decoration: none;
padding: 8px 16px;
border-radius: 20px;
border: 1px solid transparent;
transition: color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
display: inline-flex;
align-items: center;
gap: 8px;
min-height: 44px;
}

.menuzone a:hover {
color: #B674FC;
background: rgba(182, 116, 252, 0.08);
border-color: rgba(182, 116, 252, 0.25);
}

.menuzone a:focus {
outline: 2px solid #B674FC;
outline-offset: 3px;
box-shadow: 0 0 0 4px rgba(182, 116, 252, 0.18);
}

.menuzone a.active {
color: #B674FC;
background: rgba(182, 116, 252, 0.1);
border-color: rgba(182, 116, 252, 0.3);
}

.logopod {
display: flex;
align-items: center;
justify-content: center;
width: 160px;
height: 72px;
border-radius: 12px;
background: #ffffff;
border: 1px solid rgba(182, 116, 252, 0.22);
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08), 2px 6px 25px 0 rgba(182, 116, 252, 0.09), inset 0 1px 3px rgba(182, 116, 252, 0.07);
flex-shrink: 0;
text-decoration: none;
}

.logopod img {
width: 120px;
height: 56px;
object-fit: contain;
display: block;
}

.trustbadge {
display: flex;
align-items: center;
gap: 8px;
background: rgba(196, 247, 207, 0.4);
border: 1px solid rgba(15, 72, 110, 0.18);
border-radius: 12px;
padding: 8px 16px;
flex-shrink: 0;
}

.trustbadge .badgeicon {
width: 20px;
height: 20px;
flex-shrink: 0;
}

.trustbadge span {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
}

.trustbadge small {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #0F486E;
opacity: 0.75;
font-weight: 400;
}

.brandname {
font-family: 'IBM Plex Serif', serif;
font-size: 23px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
display: block;
margin-top: 4px;
}

.brandtag {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.015em;
color: #B674FC;
font-weight: 400;
display: block;
}

.brandtext {
display: flex;
flex-direction: column;
gap: 0;
}

.headright {
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 8px;
}

.starsrow {
display: flex;
align-items: center;
gap: 4px;
}

.starsvg {
width: 16px;
height: 16px;
fill: #B674FC;
}

.starsrow span {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
color: #0F486E;
font-weight: 700;
margin-left: 4px;
}

@media (max-width: 1280px) {

.headtop,
.headbottom {
padding-left: 24px;
padding-right: 24px;
}

.menuzone a {
padding: 8px 12px;
}
}

@media (max-width: 768px) {
.headtop {
padding: 16px;
flex-wrap: wrap;
gap: 16px;
}

.headbottom {
padding: 0 16px 16px 16px;
flex-wrap: wrap;
gap: 16px;
}

.menuzone {
gap: 8px;
width: 100%;
justify-content: flex-start;
}

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

.headright {
align-items: flex-start;
}

.logopod {
width: 130px;
height: 60px;
}

.logopod img {
width: 100px;
height: 46px;
}

.trustbadge {
padding: 8px 12px;
}
}

.sitefooter {
background: linear-gradient(160deg, #0F486E 0%, #0a3050 100%);
position: relative;
overflow: hidden;
}

.sitefooter::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, #C4F7CF 0%, #B674FC 50%, #C4F7CF 100%);
pointer-events: none;
}

.footertop {
max-width: 1400px;
margin: 0 auto;
padding: 48px 48px 24px 48px;
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 48px;
flex-wrap: wrap;
}

.footerbrand {
display: flex;
flex-direction: column;
gap: 16px;
flex: 0 0 auto;
}

.footerlogopod {
display: flex;
align-items: center;
justify-content: center;
width: 150px;
height: 68px;
border-radius: 12px;
background: rgba(255, 255, 255, 0.12);
border: 1px solid rgba(196, 247, 207, 0.25);
box-shadow: 2px 3px 5px 0 rgba(15, 72, 110, 0.08), 2px 6px 25px 0 rgba(15, 72, 110, 0.09);
text-decoration: none;
}

.footerlogopod img {
width: 110px;
height: 52px;
object-fit: contain;
display: block;
}

.footerbrandname {
font-family: 'IBM Plex Serif', serif;
font-size: 23px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #ffffff;
font-weight: 700;
display: block;
}

.footerbrandtag {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.015em;
color: rgba(196, 247, 207, 0.85);
display: block;
}

.footernav {
display: flex;
flex-direction: column;
gap: 8px;
flex: 1 1 auto;
align-items: center;
}

.footernavlabel {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: rgba(196, 247, 207, 0.7);
font-weight: 700;
text-transform: uppercase;
margin-bottom: 8px;
}

.footernav a {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(255, 255, 255, 0.82);
text-decoration: none;
padding: 8px 16px;
border-radius: 4px;
transition: color 0.35s ease-in-out, background 0.35s ease-in-out;
display: flex;
align-items: center;
gap: 8px;
min-height: 44px;
}

.footernav a:hover {
color: #C4F7CF;
background: rgba(196, 247, 207, 0.08);
}

.footernav a:focus {
outline: 2px solid #C4F7CF;
outline-offset: 3px;
box-shadow: 0 0 0 4px rgba(196, 247, 207, 0.2);
}

.footernav a i {
font-size: 16px;
color: rgba(182, 116, 252, 0.8);
}

.footercontact {
display: flex;
flex-direction: column;
gap: 16px;
flex: 0 0 auto;
align-items: flex-end;
}

.footercontactlabel {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: rgba(196, 247, 207, 0.7);
font-weight: 700;
text-transform: uppercase;
}

.footercontact a {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.01em;
color: rgba(255, 255, 255, 0.85);
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
transition: color 0.4s ease-in-out;
min-height: 44px;
}

.footercontact a:hover {
color: #C4F7CF;
}

.footercontact a:focus {
outline: 2px solid #C4F7CF;
outline-offset: 3px;
}

.footercontact a i {
font-size: 16px;
color: #B674FC;
}

.footerdivider {
max-width: 1400px;
margin: 0 auto;
height: 1px;
background: rgba(196, 247, 207, 0.15);
margin-left: 48px;
margin-right: 48px;
}

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

.footerlegal {
display: flex;
align-items: center;
gap: 16px;
flex-wrap: wrap;
}

.footerlegal a {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.01em;
color: rgba(255, 255, 255, 0.55);
text-decoration: none;
transition: color 0.32s ease-in-out;
min-height: 44px;
display: inline-flex;
align-items: center;
}

.footerlegal a:hover {
color: rgba(196, 247, 207, 0.85);
}

.footerlegal a:focus {
outline: 2px solid #C4F7CF;
outline-offset: 3px;
}

.footerlegal span {
color: rgba(255, 255, 255, 0.2);
font-size: 16px;
}

.footercopyright {
font-family: 'Ubuntu', sans-serif;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.01em;
color: rgba(255, 255, 255, 0.45);
}

@media (max-width: 1280px) {

.footertop,
.footerbottom {
padding-left: 24px;
padding-right: 24px;
}

.footerdivider {
margin-left: 24px;
margin-right: 24px;
}
}

@media (max-width: 768px) {
.footertop {
padding: 48px 16px 24px 16px;
flex-direction: column;
gap: 24px;
}

.footernav {
align-items: flex-start;
}

.footercontact {
align-items: flex-start;
}

.footerdivider {
margin-left: 16px;
margin-right: 16px;
}

.footerbottom {
padding: 24px 16px;
flex-direction: column;
align-items: flex-start;
gap: 16px;
}
}

.legal-r-details {
max-width: 1400px;
margin: 0 auto;
padding: 96px 48px;
}

.legal-r-details h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
margin-bottom: 48px;
padding-bottom: 16px;
border-bottom: 2px solid #B674FC;
}

.legal-r-details h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
margin-top: 48px;
margin-bottom: 24px;
}

.legal-r-details h3 {
font-size: 30px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #0F486E;
margin-top: 48px;
margin-bottom: 16px;
}

.legal-r-details h4 {
font-size: 23px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #0F486E;
margin-top: 24px;
margin-bottom: 16px;
}

.legal-r-details h5 {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #0F486E;
margin-top: 24px;
margin-bottom: 8px;
text-transform: uppercase;
}

.legal-r-details h6 {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.02em;
color: #5a5a5a;
margin-top: 16px;
margin-bottom: 8px;
font-style: italic;
}

.legal-r-details p {
font-size: 16px;
line-height: 1.9;
letter-spacing: 0.01em;
color: #1e2d3a;
margin-bottom: 24px;
}

.legal-r-details strong,
.legal-r-details b {
font-weight: 700;
color: #0F486E;
}

.legal-r-details em,
.legal-r-details i {
font-style: italic;
color: #3a3a5c;
}

.legal-r-details a {
color: #B674FC;
text-decoration: underline;
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), text-decoration-color 0.38s ease-in-out;
}

.legal-r-details a:hover {
color: #0F486E;
text-decoration-color: #C4F7CF;
}

.legal-r-details hr {
border: none;
height: 1px;
background: linear-gradient(90deg, #B674FC 0%, #C4F7CF 60%, transparent 100%);
margin: 48px 0;
opacity: 0.6;
border-radius: 4px;
}

.legal-r-details div {
font-size: 16px;
line-height: 1.6;
color: #1e2d3a;
}

.legal-r-details div.notice {
background: linear-gradient(135deg, rgba(182, 116, 252, 0.06) 0%, rgba(196, 247, 207, 0.08) 100%);
border-top: 2px solid #B674FC;
border-radius: 0px 0px 12px 12px;
padding: 24px;
margin: 24px 0;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
}

@media (max-width: 1280px) {
.legal-r-details {
padding: 96px 48px;
}

.legal-r-details h1 {
font-size: 42px;
}

.legal-r-details h2 {
font-size: 30px;
}

.legal-r-details h3 {
font-size: 23px;
}
}

@media (max-width: 768px) {
.legal-r-details {
padding: 48px 24px;
}

.legal-r-details h1 {
font-size: 30px;
margin-bottom: 24px;
}

.legal-r-details h2 {
font-size: 23px;
margin-top: 24px;
}

.legal-r-details h3 {
font-size: 16px;
margin-top: 24px;
}

.legal-r-details h4,
.legal-r-details h5,
.legal-r-details h6 {
font-size: 16px;
}

.legal-r-details p {
line-height: 1.6;
}

.legal-r-details hr {
margin: 24px 0;
}
}

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

.blog_detail .reading {
display: inline-flex;
align-items: center;
gap: 8px;
background: #fff;
border: 1px solid rgba(182, 116, 252, 0.18);
border-radius: 20px;
padding: 8px 16px;
font-size: 16px;
color: #0F486E;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
margin-bottom: 24px;
}

.blog_detail .reading i {
font-size: 16px;
color: #B674FC;
}

@keyframes trackIn {
from {
letter-spacing: -0.04em;
opacity: 0;
}

to {
letter-spacing: 0.02em;
opacity: 1;
}
}

.blog_detail .posttitle {
animation: trackIn 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) both;
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.02em;
color: #fff;
font-weight: 800;
margin: 0 0 24px 0;
}

.blog_detail .predesc {
font-size: 23px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.88);
margin: 0 0 24px 0;
font-style: italic;
}

.blog_detail .titlegrid {
display: grid;
grid-template-columns: 1fr 1fr;
min-height: 0;
position: relative;
}

.blog_detail .titleleft {
background: linear-gradient(137deg, #0F486E 0%, #B674FC 100%);
padding: 96px 48px 96px 48px;
position: relative;
display: flex;
flex-direction: column;
justify-content: center;
}

.blog_detail .gridlines {
position: absolute;
inset: 0;
pointer-events: none;
overflow: hidden;
border-radius: 0;
}

.blog_detail .gridlines svg {
width: 100%;
height: 100%;
opacity: 0.07;
}

.blog_detail .corneraccent {
position: absolute;
pointer-events: none;
}

.blog_detail .corneraccent.topleft {
top: 0;
left: 0;
}

.blog_detail .corneraccent.botright {
bottom: 0;
right: 0;
transform: rotate(180deg);
}

.blog_detail .titleright {
position: relative;
overflow: hidden;
}

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

.blog_detail .articleblock {
display: grid;
grid-template-columns: 220px 1fr;
gap: 48px;
padding: 96px 48px;
background: #fff;
}

.blog_detail .sidenote {
padding-top: 8px;
}

.blog_detail .sidelabel {
font-size: 16px;
line-height: 1.4;
color: #B674FC;
font-style: italic;
font-weight: 600;
margin-bottom: 16px;
letter-spacing: 0.02em;
}

.blog_detail .sideinfo {
font-size: 16px;
line-height: 1.6;
color: #0F486E;
margin-bottom: 24px;
}

.blog_detail .sidedivider {
width: 32px;
height: 2px;
background: linear-gradient(90deg, #B674FC, #C4F7CF);
border-radius: 4px;
margin-bottom: 24px;
}

.blog_detail .sidelink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
color: #0F486E;
text-decoration: none;
font-weight: 600;
border-bottom: 2px solid transparent;
transition: border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), color 0.38s ease-in-out;
}

.blog_detail .sidelink:hover,
.blog_detail .sidelink:focus {
color: #B674FC;
border-bottom-color: #B674FC;
}

.blog_detail .sidelink:focus {
outline: 2px solid #B674FC;
outline-offset: 4px;
border-radius: 4px;
}

.blog_detail .articlecontent {
font-size: 16px;
line-height: 1.9;
color: #1a2e3d;
letter-spacing: 0.01em;
}

.blog_detail .articlecontent p {
margin-bottom: 24px;
color: #1a2e3d;
}

.blog_detail .articlecontent h2 {
font-size: 30px;
line-height: 1.2;
font-weight: 800;
letter-spacing: 0.02em;
color: #0F486E;
margin: 48px 0 16px 0;
}

.blog_detail .articlecontent h3 {
font-size: 23px;
line-height: 1.4;
font-weight: 700;
letter-spacing: 0.015em;
color: #0F486E;
margin: 24px 0 16px 0;
}

.blog_detail .articlecontent h4,
.blog_detail .articlecontent h5,
.blog_detail .articlecontent h6 {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
color: #0F486E;
margin: 24px 0 8px 0;
letter-spacing: 0.02em;
}

.blog_detail .articlecontent mark {
background: rgba(196, 247, 207, 0.6);
color: #0F486E;
border-radius: 4px;
padding: 0 4px;
}

.blog_detail .articlecontent del {
color: #8a9baa;
text-decoration: line-through;
}

.blog_detail .articlecontent ul {
list-style: none;
padding: 0;
margin: 0 0 24px 0;
counter-reset: listcount;
}

.blog_detail .articlecontent ul li {
counter-increment: listcount;
display: flex;
align-items: flex-start;
gap: 16px;
margin-bottom: 16px;
font-size: 16px;
line-height: 1.6;
color: #1a2e3d;
}

.blog_detail .articlecontent ul li::before {
content: counter(listcount, decimal-leading-zero);
font-size: 23px;
font-weight: 800;
color: #B674FC;
line-height: 1.2;
min-width: 36px;
letter-spacing: 0.01em;
}

.blog_detail .articlecontent blockquote {
border-radius: 12px;
background: linear-gradient(137deg, rgba(182, 116, 252, 0.07) 0%, rgba(196, 247, 207, 0.13) 100%);
box-shadow: inset 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
padding: 24px 24px 24px 24px;
margin: 24px 0;
font-style: italic;
font-size: 23px;
line-height: 1.6;
color: #0F486E;
letter-spacing: 0.01em;
}

.blog_detail .articlecontent blockquote cite {
display: block;
font-size: 16px;
font-style: normal;
color: #B674FC;
margin-top: 8px;
font-weight: 600;
}

.blog_detail .articlecontent figure {
margin: 24px 0;
}

.blog_detail .articlecontent figure img {
width: 100%;
border-radius: 12px;
aspect-ratio: 4/3;
object-fit: cover;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
}

.blog_detail .articlecontent figcaption {
font-size: 16px;
color: #0F486E;
font-style: italic;
margin-top: 8px;
line-height: 1.4;
}

.blog_detail .articlecontent table {
width: 100%;
border-collapse: collapse;
border-radius: 12px;
overflow: hidden;
margin-bottom: 24px;
box-shadow: 2px 3px 5px 0 rgba(15, 72, 110, 0.08);
}

.blog_detail .articlecontent caption {
font-size: 16px;
font-weight: 700;
color: #0F486E;
text-align: left;
margin-bottom: 8px;
letter-spacing: 0.02em;
}

.blog_detail .articlecontent thead tr {
background: linear-gradient(90deg, #0F486E, #B674FC);
}

.blog_detail .articlecontent thead td,
.blog_detail .articlecontent thead th {
color: #fff;
font-weight: 700;
padding: 16px;
font-size: 16px;
letter-spacing: 0.015em;
}

.blog_detail .articlecontent tbody tr {
border-bottom: 1px solid rgba(182, 116, 252, 0.12);
transition: background 0.35s ease-in-out;
}

.blog_detail .articlecontent tbody tr:hover {
background: rgba(196, 247, 207, 0.2);
}

.blog_detail .articlecontent tbody td {
padding: 16px;
font-size: 16px;
color: #1a2e3d;
line-height: 1.6;
}

.blog_detail .articlecontent tfoot td {
padding: 16px;
font-size: 16px;
color: #0F486E;
font-weight: 600;
background: rgba(182, 116, 252, 0.06);
}

.blog_detail .divider {
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
padding: 0 48px;
margin: 0;
}

.blog_detail .divider .line {
flex: 1;
height: 1px;
background: linear-gradient(90deg, transparent, #B674FC 40%, #0F486E 60%, transparent);
}

.blog_detail .divider .cross {
width: 16px;
height: 16px;
position: relative;
flex-shrink: 0;
}

.blog_detail .divider .cross::before,
.blog_detail .divider .cross::after {
content: '';
position: absolute;
background: #B674FC;
border-radius: 4px;
}

.blog_detail .divider .cross::before {
width: 2px;
height: 16px;
left: 50%;
top: 0;
transform: translateX(-50%);
}

.blog_detail .divider .cross::after {
width: 16px;
height: 2px;
top: 50%;
left: 0;
transform: translateY(-50%);
}

@media (max-width: 1280px) {
.blog_detail .titlegrid {
grid-template-columns: 1fr 1fr;
}

.blog_detail .posttitle {
font-size: 42px;
}

.blog_detail .articleblock {
grid-template-columns: 180px 1fr;
padding: 96px 24px;
gap: 24px;
}

.blog_detail .titleleft {
padding: 48px 24px;
}
}

@media (max-width: 768px) {
.blog_detail .titlegrid {
grid-template-columns: 1fr;
}

.blog_detail .titleright {
display: none;
}

.blog_detail .titleleft {
padding: 48px 24px;
}

.blog_detail .posttitle {
font-size: 30px;
}

.blog_detail .predesc {
font-size: 16px;
}

.blog_detail .articleblock {
grid-template-columns: 1fr;
padding: 48px 16px;
gap: 24px;
}

.blog_detail .sidenote {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16px;
align-items: center;
}

.blog_detail .sidedivider {
display: none;
}

.blog_detail .divider {
padding: 0 16px;
}
}

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

.services * {
box-sizing: border-box;
}

.services ::selection {
background: #0F486E;
color: #ffffff;
}

.services .pagewrap {
max-width: 1400px;
margin: 0 auto;
padding: 0 24px;
}

.services .titleblock {
display: grid;
grid-template-columns: 5fr 7fr;
min-height: 580px;
position: relative;
}

.services .titleblock .colorzone {
background: #0F486E;
padding: 96px 48px 96px 48px;
display: flex;
flex-direction: column;
justify-content: center;
position: relative;
}

.services .titleblock .colorzone::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 2px;
height: 100%;
background: #B674FC;
}

.services .titleblock .colorzone .eyebrow {
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #C4F7CF;
margin-bottom: 24px;
font-style: italic;
}

.services .titleblock .colorzone h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #ffffff;
font-weight: 800;
margin-bottom: 24px;
}

.services .titleblock .colorzone .tagline {
font-size: 16px;
line-height: 1.6;
color: #C4F7CF;
max-width: 360px;
}

.services .titleblock .imagezone {
position: relative;
overflow: hidden;
}

.services .titleblock .imagezone img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
filter: blur(0px);
transform: scale(1.04);
transition: transform 0.45s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .titleblock .imagezone:hover img {
transform: scale(1.08);
}

.services .titleblock .imagezone .depthblur {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 180px;
background: linear-gradient(to top, rgba(182, 116, 252, 0.18), transparent);
pointer-events: none;
}

.services .divider1 {
border: none;
border-top: 2px dashed #B674FC;
margin: 0;
opacity: 0.45;
}

.services .offeringsblock {
background: #ffffff;
padding: 96px 0;
position: relative;
}

.services .offeringsblock .pulsebg {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 600px;
height: 600px;
border-radius: 50%;
background: radial-gradient(ellipse at 50% 50%, rgba(182, 116, 252, 0.07) 0%, transparent 70%);
animation: spotpulse 5s ease-in-out infinite;
pointer-events: none;
z-index: 0;
}

@keyframes spotpulse {
0% {
transform: translate(-50%, -50%) scale(0.88);
opacity: 0.6;
}

50% {
transform: translate(-50%, -50%) scale(1.12);
opacity: 1;
}

100% {
transform: translate(-50%, -50%) scale(0.88);
opacity: 0.6;
}
}

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

.services .offeringsblock .blockhead {
display: grid;
grid-template-columns: 220px 1fr;
gap: 48px;
margin-bottom: 48px;
align-items: start;
}

.services .offeringsblock .sidenote {
font-size: 16px;
line-height: 1.6;
color: #0F486E;
font-style: italic;
padding-top: 8px;
border-top: 2px solid #C4F7CF;
}

.services .offeringsblock .blockhead h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 800;
margin-bottom: 16px;
}

.services .offeringsblock .blockhead .lead {
font-size: 23px;
line-height: 1.4;
color: #2a2a3d;
}

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

.services .offeringsblock .servicecard {
background: #ffffff;
border-radius: 20px;
padding: 48px 24px 32px;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
border: 2px solid #0F486E;
outline: 5px solid #B674FC;
outline-offset: -8px;
position: relative;
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s ease-in-out;
cursor: default;
}

.services .offeringsblock .servicecard:active {
transform: scale(1.04);
}

.services .offeringsblock .servicecard .cardnum {
font-size: 58px;
line-height: 1.2;
font-weight: 800;
color: #B674FC;
opacity: 0.22;
position: absolute;
top: 16px;
right: 24px;
letter-spacing: 0.01em;
pointer-events: none;
}

.services .offeringsblock .servicecard .cardicon {
width: 48px;
height: 48px;
background: linear-gradient(135deg, #B674FC 0%, #0F486E 100%);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 24px;
}

.services .offeringsblock .servicecard .cardicon svg {
width: 26px;
height: 26px;
fill: none;
stroke: #ffffff;
stroke-width: 2;
stroke-linecap: round;
stroke-linejoin: round;
}

.services .offeringsblock .servicecard h4 {
font-size: 23px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 16px;
}

.services .offeringsblock .servicecard p {
font-size: 16px;
line-height: 1.6;
color: #2a2a3d;
margin: 0;
}

.services .offeringsblock .servicecard:hover {
transform: translateY(-4px);
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
}

.services .divider2 {
height: 2px;
background: linear-gradient(90deg, #C4F7CF 0%, #B674FC 50%, #0F486E 100%);
border: none;
margin: 0;
}

.services .approachblock {
background: #f4f0ff;
padding: 96px 0;
}

.services .approachblock .doublesidebar {
display: grid;
grid-template-columns: 200px 1fr 200px;
gap: 48px;
align-items: start;
}

.services .approachblock .sideleft {
padding-top: 8px;
}

.services .approachblock .sideleft .quotemark {
font-size: 72px;
line-height: 1;
color: #B674FC;
font-weight: 800;
display: block;
margin-bottom: 16px;
letter-spacing: 0.01em;
}

.services .approachblock .sideleft .sidetext {
font-size: 16px;
line-height: 1.6;
color: #0F486E;
font-style: italic;
}

.services .approachblock .sideright {
padding-top: 8px;
display: flex;
flex-direction: column;
align-items: flex-end;
gap: 24px;
}

.services .approachblock .sideright .metricbox {
background: #0F486E;
border-radius: 12px;
padding: 24px 16px;
text-align: center;
width: 100%;
box-shadow: 2px 3px 5px 0 rgba(15, 72, 110, 0.08);
}

.services .approachblock .sideright .metricbox .metricnum {
font-size: 42px;
line-height: 1.2;
font-weight: 800;
color: #C4F7CF;
letter-spacing: 0.01em;
display: block;
}

.services .approachblock .sideright .metricbox .metriclabel {
font-size: 16px;
line-height: 1.4;
color: #ffffff;
display: block;
margin-top: 8px;
}

.services .approachblock .centercol h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 800;
margin-bottom: 24px;
}

.services .approachblock .steplist {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 24px;
}

.services .approachblock .steplist li {
display: grid;
grid-template-columns: 56px 1fr;
gap: 24px;
align-items: start;
}

.services .approachblock .steplist li .stepnum {
font-size: 42px;
line-height: 1;
font-weight: 800;
color: #B674FC;
letter-spacing: 0.01em;
}

.services .approachblock .steplist li .stepcontent h5 {
font-size: 23px;
line-height: 1.2;
color: #0F486E;
font-weight: 700;
margin-bottom: 8px;
letter-spacing: 0.01em;
}

.services .approachblock .steplist li .stepcontent p {
font-size: 16px;
line-height: 1.6;
color: #2a2a3d;
margin: 0;
}

.services .divider3 {
border: none;
border-top: 2px dashed #0F486E;
margin: 0;
opacity: 0.3;
}

.services .voicesblock {
background: #0F486E;
padding: 96px 0;
position: relative;
overflow: hidden;
}

.services .voicesblock .bgaccent {
position: absolute;
top: -80px;
right: -80px;
width: 400px;
height: 400px;
border-radius: 50%;
background: linear-gradient(135deg, rgba(182, 116, 252, 0.14) 0%, rgba(196, 247, 207, 0.07) 100%);
pointer-events: none;
animation: spotpulse 6.5s ease-in-out infinite;
}

.services .voicesblock .voicehead {
display: grid;
grid-template-columns: 1fr 280px;
gap: 48px;
align-items: end;
margin-bottom: 48px;
}

.services .voicesblock .voicehead h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #ffffff;
font-weight: 800;
margin: 0;
}

.services .voicesblock .voicehead .imagefeature {
position: relative;
border-radius: 20px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
}

.services .voicesblock .voicehead .imagefeature img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.42s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.services .voicesblock .voicehead .imagefeature:hover img {
transform: scale(1.06);
}

.services .voicesblock .testimonialrow {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}

.services .voicesblock .tcard {
background: rgba(255, 255, 255, 0.06);
border: 1px solid rgba(196, 247, 207, 0.18);
border-radius: 20px;
padding: 32px 24px;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
box-shadow: 2px 3px 5px 0 rgba(15, 72, 110, 0.08);
transition: background 0.35s ease-in-out;
}

.services .voicesblock .tcard:hover {
background: rgba(255, 255, 255, 0.1);
}

.services .voicesblock .tcard .tquote {
font-size: 16px;
line-height: 1.9;
color: #ffffff;
margin-bottom: 24px;
font-style: italic;
}

.services .voicesblock .tcard .tauthor {
display: flex;
flex-direction: row;
align-items: center;
gap: 16px;
}

.services .voicesblock .tcard .tauthor .portrait {
width: 56px;
height: 56px;
border-radius: 12px;
overflow: hidden;
flex-shrink: 0;
}

.services .voicesblock .tcard .tauthor .portrait img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
aspect-ratio: 5/7;
}

.services .voicesblock .tcard .tauthor .authorname {
font-size: 16px;
line-height: 1.4;
color: #C4F7CF;
font-weight: 700;
}

.services .voicesblock .tcard .tauthor .authordesc {
font-size: 16px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.6);
}

.services .voicesblock .tcard.noportrait .tauthor {
padding-left: 8px;
}

@media (max-width: 1280px) {
.services .titleblock {
grid-template-columns: 1fr 1fr;
}

.services .offeringsblock .cardgrid {
grid-template-columns: repeat(2, 1fr);
}

.services .approachblock .doublesidebar {
grid-template-columns: 160px 1fr 160px;
gap: 24px;
}

.services .voicesblock .testimonialrow {
grid-template-columns: repeat(2, 1fr);
}

.services .voicesblock .voicehead {
grid-template-columns: 1fr 220px;
}
}

@media (max-width: 768px) {
.services .titleblock {
grid-template-columns: 1fr;
}

.services .titleblock .colorzone {
padding: 48px 24px;
}

.services .titleblock .colorzone h1 {
font-size: 42px;
}

.services .titleblock .imagezone {
height: 280px;
}

.services .offeringsblock .blockhead {
grid-template-columns: 1fr;
gap: 16px;
}

.services .offeringsblock .cardgrid {
grid-template-columns: 1fr;
}

.services .approachblock .doublesidebar {
grid-template-columns: 1fr;
}

.services .approachblock .sideright {
flex-direction: row;
align-items: stretch;
}

.services .approachblock .sideright .metricbox {
flex: 1;
}

.services .voicesblock .voicehead {
grid-template-columns: 1fr;
}

.services .voicesblock .testimonialrow {
grid-template-columns: 1fr;
}

.services .voicesblock .voicehead h2 {
font-size: 30px;
}

.services .approachblock .centercol h2 {
font-size: 30px;
}

.services .offeringsblock .blockhead h2 {
font-size: 30px;
}
}

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

.interview .graphpaper {
background-image:
linear-gradient(rgba(182, 116, 252, 0.06) 1px, transparent 1px),
linear-gradient(90deg, rgba(182, 116, 252, 0.06) 1px, transparent 1px),
linear-gradient(rgba(15, 72, 110, 0.04) 2px, transparent 2px),
linear-gradient(90deg, rgba(15, 72, 110, 0.04) 2px, transparent 2px);
background-size: 24px 24px, 24px 24px, 96px 96px, 96px 96px;
}

.interview .titleblock {
padding: 96px 48px;
position: relative;
}

.interview .titleblock .tbinner {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 2fr;
gap: 48px;
align-items: center;
}

.interview .titleblock .imagecard {
position: relative;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
aspect-ratio: 4/3;
}

.interview .titleblock .imagecard img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}

.interview .titleblock .imagecard .imgoverlay {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(to bottom, rgba(15, 72, 110, 0.55), transparent);
pointer-events: none;
}

.interview .titleblock .shapelayer {
position: absolute;
top: -16px;
left: -16px;
width: calc(100% + 32px);
height: calc(100% + 32px);
border: 2px solid rgba(182, 116, 252, 0.18);
border-radius: 20px;
pointer-events: none;
}

.interview .titleblock .shapelayerouter {
position: absolute;
top: -32px;
left: -32px;
width: calc(100% + 64px);
height: calc(100% + 64px);
border: 1px solid rgba(196, 247, 207, 0.25);
border-radius: 36px;
pointer-events: none;
}

.interview .titleblock .textzone {
display: flex;
flex-direction: column;
gap: 24px;
}

.interview .titleblock .tbadge {
display: inline-flex;
align-items: center;
gap: 8px;
border: 1.5px solid rgba(182, 116, 252, 0.4);
border-radius: 4px;
padding: 8px 16px;
width: fit-content;
font-size: 16px;
color: #0F486E;
letter-spacing: 0.02em;
}

.interview .titleblock .tbadge i {
font-size: 16px;
color: #B674FC;
}

.interview .titleblock h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 800;
margin: 0;
}

.interview .titleblock h1 .punct {
color: #B674FC;
}

.interview .titleblock .tagline {
font-size: 23px;
line-height: 1.6;
color: #2a5a7a;
margin: 0;
letter-spacing: 0.01em;
}

.interview .titleblock .personstrip {
display: flex;
align-items: center;
gap: 16px;
padding: 16px;
background: rgba(196, 247, 207, 0.25);
border-radius: 12px;
border: 1px solid rgba(196, 247, 207, 0.6);
}

.interview .titleblock .personstrip .picon {
width: 48px;
height: 48px;
border-radius: 12px;
background: linear-gradient(135deg, #B674FC, #0F486E);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.interview .titleblock .personstrip .picon i {
font-size: 23px;
color: #fff;
}

.interview .titleblock .personstrip .pname {
font-size: 16px;
font-weight: 700;
color: #0F486E;
letter-spacing: 0.01em;
line-height: 1.4;
}

.interview .titleblock .personstrip .prole {
font-size: 16px;
color: #4a7a9a;
line-height: 1.4;
font-style: italic;
}

@keyframes revealrotate {
from {
opacity: 0;
transform: rotate(-2deg) translateY(16px);
}

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

.interview .titleblock .textzone {
animation: revealrotate 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.interview .titleblock .imagecard {
animation: revealrotate 0.38s cubic-bezier(0.34, 1.2, 0.64, 1) 0.08s both;
}

.interview .dialogblock {
padding: 96px 48px;
background: linear-gradient(160deg, #fff 60%, rgba(196, 247, 207, 0.18) 100%);
}

.interview .dialogblock .dbinner {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: 220px 1fr;
gap: 48px;
}

.interview .dialogblock .sidebar {
display: flex;
flex-direction: column;
gap: 24px;
}

.interview .dialogblock .sidebar .sidelabel {
font-size: 16px;
color: #B674FC;
font-style: italic;
letter-spacing: 0.02em;
line-height: 1.4;
border-top: 2px solid rgba(182, 116, 252, 0.3);
padding-top: 16px;
}

.interview .dialogblock .sidebar .sidenote {
font-size: 16px;
color: #4a7a9a;
line-height: 1.6;
letter-spacing: 0.01em;
}

.interview .dialogblock .sidebar .statbox {
background: #0F486E;
border-radius: 12px;
padding: 24px;
color: #fff;
box-shadow: 2px 6px 25px 0 rgba(15, 72, 110, 0.09);
}

.interview .dialogblock .sidebar .statbox .statnum {
font-size: 42px;
font-weight: 800;
line-height: 1.2;
color: #C4F7CF;
letter-spacing: 0.01em;
}

.interview .dialogblock .sidebar .statbox .statlabel {
font-size: 16px;
line-height: 1.6;
color: rgba(196, 247, 207, 0.85);
margin-top: 8px;
}

.interview .dialogblock .questions {
display: flex;
flex-direction: column;
gap: 48px;
}

.interview .dialogblock .qaitem {
display: flex;
flex-direction: column;
gap: 16px;
}

.interview .dialogblock .qaitem .question {
display: flex;
align-items: flex-start;
gap: 16px;
}

.interview .dialogblock .qaitem .qletter {
width: 36px;
height: 36px;
border-radius: 4px;
border: 2px solid #B674FC;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 700;
color: #B674FC;
flex-shrink: 0;
background: rgba(182, 116, 252, 0.06);
}

.interview .dialogblock .qaitem .qtext {
font-size: 23px;
font-weight: 700;
color: #0F486E;
line-height: 1.4;
letter-spacing: 0.01em;
margin: 0;
padding-top: 4px;
}

.interview .dialogblock .qaitem .answer {
display: flex;
align-items: flex-start;
gap: 16px;
padding-left: 0;
}

.interview .dialogblock .qaitem .aletter {
width: 36px;
height: 36px;
border-radius: 4px;
background: #0F486E;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
font-weight: 700;
color: #C4F7CF;
flex-shrink: 0;
}

.interview .dialogblock .qaitem .atext {
font-size: 16px;
line-height: 1.9;
color: #1e3d52;
letter-spacing: 0.01em;
margin: 0;
padding-top: 8px;
}

.interview .dialogblock .qaitem .atext em {
font-style: italic;
color: #0F486E;
}

.interview .dialogblock .qaitem .atext a {
color: #0F486E;
text-decoration: none;
border-bottom: 1px solid transparent;
transition: border-color 0.35s ease-in-out;
}

.interview .dialogblock .qaitem .atext a:focus {
border-bottom-color: #0F486E;
outline: 2px solid #B674FC;
outline-offset: 2px;
}

.interview .dialogblock .qaitem {
padding: 24px;
border-radius: 12px;
background: #fff;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.interview .dialogblock .qaitem:hover {
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
}

.interview .dialogblock .qaitem:active {
background: #0F486E;
}

.interview .dialogblock .qaitem:active .qtext,
.interview .dialogblock .qaitem:active .atext,
.interview .dialogblock .qaitem:active .qletter,
.interview .dialogblock .qaitem:active .aletter {
color: #C4F7CF;
}

.interview .dialogblock .qaitem:active .qletter {
background: rgba(196, 247, 207, 0.15);
border-color: #C4F7CF;
}

.interview .dialogblock .qaitem:active .aletter {
background: rgba(196, 247, 207, 0.2);
}

.interview .profileblock {
padding: 96px 48px;
position: relative;
overflow: hidden;
}

.interview .profileblock::before {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(200deg, rgba(182, 116, 252, 0.08) 0%, #fff 45%, rgba(196, 247, 207, 0.12) 100%);
pointer-events: none;
}

.interview .profileblock .pbinner {
max-width: 1400px;
margin: 0 auto;
position: relative;
}

.interview .profileblock .pbinner .doubleborder {
border: 2px solid rgba(182, 116, 252, 0.2);
border-radius: 20px;
padding: 48px;
position: relative;
}

.interview .profileblock .pbinner .doubleborder::after {
content: '';
position: absolute;
inset: 8px;
border: 1px solid rgba(196, 247, 207, 0.5);
border-radius: 12px;
pointer-events: none;
}

.interview .profileblock .pbinner h2 {
font-size: 42px;
font-weight: 800;
color: #0F486E;
line-height: 1.2;
letter-spacing: 0.02em;
margin: 0 0 48px 0;
text-align: center;
}

.interview .profileblock .pbinner h2 .accent {
color: #B674FC;
font-style: italic;
}

.interview .profileblock .factsrow {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
margin-bottom: 48px;
}

.interview .profileblock .factcard {
border-radius: 12px;
padding: 24px;
background: #fff;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
display: flex;
flex-direction: column;
gap: 16px;
transition: transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.interview .profileblock .factcard:hover {
transform: translateY(-4px);
}

.interview .profileblock .factcard .iconbox {
width: 48px;
height: 48px;
border: 2px solid rgba(182, 116, 252, 0.3);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
background: rgba(182, 116, 252, 0.06);
}

.interview .profileblock .factcard .iconbox i {
font-size: 23px;
color: #B674FC;
}

.interview .profileblock .factcard h4 {
font-size: 16px;
font-weight: 700;
color: #0F486E;
margin: 0;
letter-spacing: 0.02em;
line-height: 1.4;
}

.interview .profileblock .factcard p {
font-size: 16px;
color: #3a6a8a;
line-height: 1.6;
margin: 0;
letter-spacing: 0.01em;
}

.interview .profileblock .numlist {
display: flex;
flex-direction: column;
gap: 24px;
margin-top: 48px;
}

.interview .profileblock .numlist .numitem {
display: flex;
align-items: flex-start;
gap: 24px;
}

.interview .profileblock .numlist .numitem .numeral {
font-size: 42px;
font-weight: 800;
color: #B674FC;
line-height: 1.2;
letter-spacing: 0.01em;
min-width: 48px;
flex-shrink: 0;
}

.interview .profileblock .numlist .numitem .numcontent h5 {
font-size: 23px;
font-weight: 700;
color: #0F486E;
margin: 0 0 8px 0;
line-height: 1.4;
letter-spacing: 0.01em;
}

.interview .profileblock .numlist .numitem .numcontent p {
font-size: 16px;
line-height: 1.9;
color: #1e3d52;
margin: 0;
letter-spacing: 0.01em;
}

@media (max-width: 1280px) {
.interview .titleblock h1 {
font-size: 42px;
}

.interview .profileblock .factsrow {
grid-template-columns: repeat(2, 1fr);
}
}

@media (max-width: 768px) {
.interview .titleblock {
padding: 48px 24px;
}

.interview .titleblock .tbinner {
grid-template-columns: 1fr;
gap: 24px;
}

.interview .titleblock h1 {
font-size: 30px;
}

.interview .titleblock .tagline {
font-size: 16px;
}

.interview .dialogblock {
padding: 48px 16px;
}

.interview .dialogblock .dbinner {
grid-template-columns: 1fr;
gap: 24px;
}

.interview .dialogblock .sidebar {
flex-direction: row;
flex-wrap: wrap;
}

.interview .dialogblock .sidebar .statbox {
flex: 1 1 140px;
}

.interview .dialogblock .qaitem .qtext {
font-size: 16px;
}

.interview .profileblock {
padding: 48px 16px;
}

.interview .profileblock .pbinner .doubleborder {
padding: 24px;
}

.interview .profileblock .pbinner h2 {
font-size: 30px;
margin-bottom: 24px;
}

.interview .profileblock .factsrow {
grid-template-columns: 1fr;
gap: 16px;
}

.interview .profileblock .numlist .numitem .numeral {
font-size: 30px;
}

.interview .profileblock .numlist .numitem .numcontent h5 {
font-size: 16px;
}
}

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

.aboutauthor .titleblock {
position: relative;
padding-top: 96px;
padding-bottom: 48px;
padding-left: 48px;
padding-right: 48px;
display: grid;
grid-template-columns: 1fr 2fr 1fr;
gap: 48px;
align-items: center;
background: #fff;
}

.aboutauthor .titleblock .curvebg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
overflow: hidden;
z-index: 0;
}

.aboutauthor .titleblock .curvebg svg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.aboutauthor .titleblock .imgside {
position: relative;
z-index: 1;
aspect-ratio: 4/3;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
animation: fadeInImg 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

.aboutauthor .titleblock .imgside img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.7);
transition: filter 0.38s ease-in-out;
}

.aboutauthor .titleblock .imgside:hover img {
filter: saturate(1);
}

.aboutauthor .titleblock .imgright {
animation-delay: 0.12s;
}

@keyframes fadeInImg {
from {
opacity: 0;
transform: scale(0.96);
}

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

.aboutauthor .titleblock .textcenter {
position: relative;
z-index: 1;
text-align: center;
animation: bounceIn 0.42s cubic-bezier(0.34, 1.2, 0.64, 1) both;
animation-delay: 0.06s;
}

@keyframes bounceIn {
from {
opacity: 0;
transform: translateY(18px) rotate(-1.5deg);
}

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

.aboutauthor .titleblock .textcenter .eyebrow {
display: inline-block;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #B674FC;
margin-bottom: 16px;
font-style: italic;
}

.aboutauthor .titleblock .textcenter h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 800;
margin-bottom: 24px;
}

.aboutauthor .titleblock .textcenter h1 span {
display: block;
}

.aboutauthor .titleblock .textcenter .tagline {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #2a4a5e;
max-width: 360px;
margin: 0 auto;
}

.aboutauthor .profileblock {
position: relative;
padding: 96px 48px;
background: linear-gradient(157deg, #0F486E 0%, #1a2f4a 100%);
overflow: hidden;
}

.aboutauthor .profileblock .waveedge {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
pointer-events: none;
line-height: 0;
}

.aboutauthor .profileblock .waveedge svg {
display: block;
width: 100%;
}

.aboutauthor .profileblock .profilegrid {
display: grid;
grid-template-columns: 300px 1fr;
gap: 48px;
align-items: start;
position: relative;
z-index: 1;
}

.aboutauthor .profileblock .portraitcol {
display: flex;
flex-direction: column;
gap: 24px;
}

.aboutauthor .profileblock .portraitwrap {
aspect-ratio: 4/5;
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
animation: rotateReveal 0.44s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@keyframes rotateReveal {
from {
opacity: 0;
transform: rotate(-4deg) scale(0.94);
}

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

.aboutauthor .profileblock .portraitwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.75);
transition: filter 0.41s ease-in-out;
}

.aboutauthor .profileblock .portraitwrap:hover img {
filter: saturate(1);
}

.aboutauthor .profileblock .metriccard {
background: rgba(196, 247, 207, 0.1);
border: 1px solid rgba(196, 247, 207, 0.25);
border-radius: 12px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 8px;
}

.aboutauthor .profileblock .metriccard .metricrow {
display: flex;
align-items: center;
gap: 8px;
}

.aboutauthor .profileblock .metriccard .metricval {
font-size: 42px;
line-height: 1.2;
font-weight: 800;
color: #C4F7CF;
letter-spacing: 0.01em;
}

.aboutauthor .profileblock .metriccard .metricarrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
}

.aboutauthor .profileblock .metriccard .metricarrow svg {
width: 22px;
height: 22px;
}

.aboutauthor .profileblock .metriccard .metriclabel {
font-size: 16px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.75);
letter-spacing: 0.01em;
}

.aboutauthor .profileblock .textcol {
display: flex;
flex-direction: column;
gap: 24px;
}

.aboutauthor .profileblock .textcol h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #fff;
font-weight: 800;
}

.aboutauthor .profileblock .textcol .authorname {
font-size: 23px;
line-height: 1.4;
color: #C4F7CF;
font-style: italic;
letter-spacing: 0.01em;
}

.aboutauthor .profileblock .textcol .biowrap {
display: grid;
grid-template-columns: 160px 1fr;
gap: 24px;
align-items: start;
}

.aboutauthor .profileblock .textcol .sidenote {
font-size: 16px;
line-height: 1.6;
color: rgba(196, 247, 207, 0.85);
letter-spacing: 0.01em;
font-style: italic;
border-top: 1px solid rgba(196, 247, 207, 0.3);
padding-top: 16px;
}

.aboutauthor .profileblock .textcol .biotext {
font-size: 16px;
line-height: 1.9;
color: rgba(255, 255, 255, 0.85);
letter-spacing: 0.01em;
}

.aboutauthor .profileblock .textcol .biotext p {
margin-bottom: 16px;
}

.aboutauthor .profileblock .textcol .biotext p:last-child {
margin-bottom: 0;
}

.aboutauthor .profileblock .skillssection {
margin-top: 8px;
}

.aboutauthor .profileblock .skillssection h4 {
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #C4F7CF;
font-weight: 700;
margin-bottom: 16px;
text-transform: uppercase;
}

.aboutauthor .profileblock .skilllist {
display: flex;
flex-direction: column;
gap: 16px;
list-style: none;
margin: 0;
padding: 0;
}

.aboutauthor .profileblock .skilllist li {
display: flex;
flex-direction: column;
gap: 8px;
}

.aboutauthor .profileblock .skilllist .skillrow {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}

.aboutauthor .profileblock .skilllist .skillname {
font-size: 16px;
line-height: 1.4;
color: rgba(255, 255, 255, 0.9);
letter-spacing: 0.01em;
}

.aboutauthor .profileblock .skilllist .skillpct {
font-size: 16px;
line-height: 1.4;
color: #B674FC;
font-weight: 700;
letter-spacing: 0.01em;
}

.aboutauthor .profileblock .skilllist .skilltrack {
width: 100%;
height: 6px;
background: rgba(255, 255, 255, 0.12);
border-radius: 4px;
overflow: hidden;
}

.aboutauthor .profileblock .skilllist .skillfill {
height: 100%;
border-radius: 4px;
background: linear-gradient(90deg, #B674FC 0%, #C4F7CF 100%);
animation: fillbar 0.43s cubic-bezier(0.34, 1.2, 0.64, 1) both;
}

@keyframes fillbar {
from {
width: 0 !important;
}

to {}
}

.aboutauthor .profileblock .imagegallery {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px;
margin-top: 8px;
}

.aboutauthor .profileblock .galleryitem {
aspect-ratio: 4/3;
border-radius: 12px;
overflow: hidden;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
}

.aboutauthor .profileblock .galleryitem img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
filter: saturate(0.7);
transition: filter 0.36s ease-in-out, transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.aboutauthor .profileblock .galleryitem:hover img {
filter: saturate(1);
transform: scale(1.04);
}

.aboutauthor .profileblock .expertiselist {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 16px;
counter-reset: expertcount;
}

.aboutauthor .profileblock .expertiselist li {
display: flex;
flex-direction: row;
gap: 16px;
align-items: flex-start;
counter-increment: expertcount;
}

.aboutauthor .profileblock .expertiselist li .expnum {
font-size: 30px;
line-height: 1.2;
font-weight: 800;
color: #B674FC;
letter-spacing: 0.01em;
min-width: 40px;
flex-shrink: 0;
}

.aboutauthor .profileblock .expertiselist li .expnum::before {
content: counter(expertcount, decimal-leading-zero);
}

.aboutauthor .profileblock .expertiselist li .exptext {
font-size: 16px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.82);
letter-spacing: 0.01em;
padding-top: 8px;
}

.aboutauthor .profileblock .expertiselist li .exptext strong {
color: #C4F7CF;
font-weight: 700;
}

@media (max-width: 1280px) {
.aboutauthor .titleblock {
grid-template-columns: 1fr 1.6fr 1fr;
gap: 24px;
padding-left: 24px;
padding-right: 24px;
}

.aboutauthor .profileblock {
padding: 48px 24px 96px;
}

.aboutauthor .profileblock .profilegrid {
grid-template-columns: 240px 1fr;
gap: 24px;
}

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

.aboutauthor .titleblock .textcenter h1 {
font-size: 42px;
}
}

@media (max-width: 768px) {
.aboutauthor .titleblock {
grid-template-columns: 1fr;
padding-top: 48px;
padding-bottom: 24px;
padding-left: 16px;
padding-right: 16px;
gap: 24px;
}

.aboutauthor .titleblock .imgright {
display: none;
}

.aboutauthor .titleblock .textcenter h1 {
font-size: 30px;
}

.aboutauthor .profileblock {
padding: 48px 16px 80px;
}

.aboutauthor .profileblock .profilegrid {
grid-template-columns: 1fr;
gap: 24px;
}

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

.aboutauthor .profileblock .portraitwrap {
width: 140px;
flex-shrink: 0;
}

.aboutauthor .profileblock .metriccard {
flex: 1;
}

.aboutauthor .profileblock .textcol h2 {
font-size: 30px;
}

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

.aboutauthor .profileblock .imagegallery {
grid-template-columns: repeat(2, 1fr);
}

.aboutauthor .profileblock .imagegallery .galleryitem:last-child {
display: none;
}
}

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

.blog .titleblock {
position: relative;
padding: 96px 48px 48px;
display: grid;
grid-template-columns: 1fr 1.4fr;
gap: 48px;
align-items: start;
background: #fff;
}

.blog .titleblock .blobdeco {
position: absolute;
top: -60px;
right: 80px;
width: 420px;
height: 420px;
background: linear-gradient(137deg, rgba(182, 116, 252, 0.13) 0%, rgba(196, 247, 207, 0.18) 100%);
border-radius: 36px;
filter: blur(48px);
pointer-events: none;
z-index: 0;
}

.blog .titleblock .blobdeco2 {
position: absolute;
bottom: 0;
right: 260px;
width: 220px;
height: 220px;
background: linear-gradient(200deg, rgba(15, 72, 110, 0.09) 0%, rgba(182, 116, 252, 0.11) 100%);
border-radius: 36px;
filter: blur(36px);
pointer-events: none;
z-index: 0;
}

.blog .titleblock .textside {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 24px;
}

.blog .titleblock .textside h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 800;
margin: 0;
}

.blog .titleblock .textside h1 em {
font-style: italic;
color: #B674FC;
}

.blog .titleblock .textside p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
max-width: 480px;
}

.blog .titleblock .textside .actions {
display: flex;
flex-direction: row;
gap: 24px;
align-items: center;
}

.blog .titleblock .textside .actions a {
font-size: 16px;
color: #0F486E;
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
font-weight: 600;
letter-spacing: 0.02em;
transition: color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.blog .titleblock .textside .actions a:hover {
color: #B674FC;
}

.blog .titleblock .textside .actions a svg {
transition: transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.blog .titleblock .textside .actions a:hover svg {
transform: translateX(5px);
}

.blog .titleblock .textside .actions a.secondary {
color: #B674FC;
}

.blog .titleblock .textside .actions a.secondary:hover {
color: #0F486E;
}

.blog .titleblock .imageside {
position: relative;
z-index: 1;
border-radius: 20px;
overflow: hidden;
aspect-ratio: 4/3;
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
}

.blog .titleblock .imageside img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.45s ease-in-out;
}

.blog .titleblock .imageside:hover img {
transform: scale(1.04);
}

.blog .titleblock .imageside .imgoverlay {
position: absolute;
inset: 0;
background: linear-gradient(100deg, rgba(15, 72, 110, 0.55) 0%, rgba(182, 116, 252, 0.12) 70%, transparent 100%);
border-radius: 20px;
}

.blog .titleblock .doubleborder {
position: absolute;
top: 16px;
right: 16px;
bottom: 16px;
left: 16px;
border: 1px solid rgba(182, 116, 252, 0.13);
border-radius: 20px;
pointer-events: none;
z-index: 0;
}

.blog .titleblock .doubleborder2 {
position: absolute;
top: 8px;
right: 8px;
bottom: 8px;
left: 8px;
border: 1px solid rgba(196, 247, 207, 0.22);
border-radius: 20px;
pointer-events: none;
z-index: 0;
}

.blog .postsection {
padding: 96px 48px;
background: linear-gradient(170deg, #f7f3ff 0%, #eef8f2 100%);
}

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

.blog .postsection .postcard {
background: #fff;
border-radius: 20px;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
overflow: hidden;
display: flex;
flex-direction: column;
transition: box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.blog .postsection .postcard:hover {
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.18);
transform: translateY(-4px);
}

.blog .postsection .postcard .cardimage {
aspect-ratio: 4/3;
overflow: hidden;
position: relative;
}

.blog .postsection .postcard .cardimage img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.45s ease-in-out;
}

.blog .postsection .postcard:hover .cardimage img {
transform: scale(1.06);
}

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

.blog .postsection .postcard .cardbody h4 {
font-size: 23px;
line-height: 1.4;
color: #0F486E;
font-weight: 700;
letter-spacing: 0.01em;
margin: 0;
}

.blog .postsection .postcard .cardbody p {
font-size: 16px;
line-height: 1.6;
color: #3a5568;
margin: 0;
flex: 1;
}

.blog .postsection .postcard .cardfooter {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 24px 24px;
}

.blog .postsection .postcard .readtime {
display: flex;
align-items: center;
gap: 8px;
font-size: 16px;
color: #B674FC;
font-weight: 600;
}

.blog .postsection .postcard .readlink {
font-size: 16px;
color: #0F486E;
text-decoration: none;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
transition: color 0.35s ease-in-out;
}

.blog .postsection .postcard .readlink:hover {
color: #B674FC;
}

.blog .postsection .postcard .readlink:focus {
text-decoration: underline;
outline: 2px solid #B674FC;
outline-offset: 2px;
border-radius: 4px;
}

.blog .aboutblock {
padding: 96px 48px;
background: #fff;
display: grid;
grid-template-columns: 200px 1fr;
gap: 48px;
align-items: start;
}

.blog .aboutblock .sidenote {
padding-top: 8px;
}

.blog .aboutblock .sidenote p {
font-size: 16px;
line-height: 1.6;
color: #B674FC;
font-style: italic;
font-weight: 600;
letter-spacing: 0.02em;
margin: 0;
}

.blog .aboutblock .abouttext {
display: flex;
flex-direction: column;
gap: 24px;
}

.blog .aboutblock .abouttext h2 {
font-size: 42px;
line-height: 1.2;
color: #0F486E;
font-weight: 800;
letter-spacing: 0.01em;
margin: 0;
}

.blog .aboutblock .abouttext p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
}

.blog .aboutblock .abouttext .numlist {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 16px;
}

.blog .aboutblock .abouttext .numlist li {
display: flex;
align-items: flex-start;
gap: 16px;
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
}

.blog .aboutblock .abouttext .numlist li .num {
font-size: 42px;
line-height: 1;
color: #B674FC;
font-weight: 800;
min-width: 48px;
letter-spacing: 0.01em;
}

.blog .topicsblock {
padding: 96px 48px;
background: linear-gradient(155deg, #0F486E 0%, #1a2e4a 100%);
position: relative;
overflow: hidden;
}

.blog .topicsblock .bgpattern {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 0;
background-image: repeating-linear-gradient(60deg,
rgba(196, 247, 207, 0.04) 0px,
rgba(196, 247, 207, 0.04) 1px,
transparent 1px,
transparent 40px), repeating-linear-gradient(-60deg,
rgba(182, 116, 252, 0.04) 0px,
rgba(182, 116, 252, 0.04) 1px,
transparent 1px,
transparent 40px);
transition: background-position 0.42s ease-in-out;
}

.blog .topicsblock:hover .bgpattern {
background-position: 20px 20px;
}

.blog .topicsblock .topicscontent {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: 48px;
}

.blog .topicsblock .topicscontent h2 {
font-size: 42px;
line-height: 1.2;
color: #fff;
font-weight: 800;
letter-spacing: 0.01em;
margin: 0;
}

.blog .topicsblock .topicscontent h2 em {
font-style: italic;
color: #C4F7CF;
}

.blog .topicsblock .topicsgrid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 24px;
}

.blog .topicsblock .topiccard {
background: rgba(255, 255, 255, 0.07);
border: 1px solid rgba(196, 247, 207, 0.18);
border-radius: 20px;
padding: 24px;
display: flex;
flex-direction: column;
gap: 16px;
transition: background 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.blog .topicsblock .topiccard:hover {
background: rgba(196, 247, 207, 0.1);
border-color: rgba(196, 247, 207, 0.4);
}

.blog .topicsblock .topiccard .topicicon {
width: 48px;
height: 48px;
background: linear-gradient(135deg, rgba(182, 116, 252, 0.25) 0%, rgba(196, 247, 207, 0.15) 100%);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
}

.blog .topicsblock .topiccard .topicicon svg {
width: 24px;
height: 24px;
}

.blog .topicsblock .topiccard h5 {
font-size: 16px;
line-height: 1.4;
color: #C4F7CF;
font-weight: 700;
letter-spacing: 0.02em;
margin: 0;
}

.blog .topicsblock .topiccard p {
font-size: 16px;
line-height: 1.6;
color: rgba(255, 255, 255, 0.75);
margin: 0;
}

.blog .newsletterblock {
padding: 96px 48px;
background: #fff;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 96px;
align-items: center;
}

.blog .newsletterblock .nltext {
display: flex;
flex-direction: column;
gap: 24px;
}

.blog .newsletterblock .nltext h2 {
font-size: 42px;
line-height: 1.2;
color: #0F486E;
font-weight: 800;
letter-spacing: 0.01em;
margin: 0;
}

.blog .newsletterblock .nltext p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
}

.blog .newsletterblock .nltext .stat {
display: flex;
flex-direction: row;
gap: 48px;
}

.blog .newsletterblock .nltext .stat .statitem {
display: flex;
flex-direction: column;
gap: 8px;
}

.blog .newsletterblock .nltext .stat .statitem .statnum {
font-size: 42px;
line-height: 1.2;
color: #B674FC;
font-weight: 800;
letter-spacing: 0.01em;
}

.blog .newsletterblock .nltext .stat .statitem .statlabel {
font-size: 16px;
line-height: 1.4;
color: #0F486E;
font-weight: 600;
}

.blog .newsletterblock .nlform {
display: flex;
flex-direction: column;
gap: 24px;
}

.blog .newsletterblock .nlform .formcard {
background: linear-gradient(155deg, #f7f3ff 0%, #eef8f2 100%);
border-radius: 20px;
padding: 48px;
box-shadow: 2px 6px 25px 0 rgba(15, 72, 110, 0.09);
display: flex;
flex-direction: column;
gap: 24px;
}

.blog .newsletterblock .nlform .formcard h4 {
font-size: 23px;
line-height: 1.4;
color: #0F486E;
font-weight: 700;
letter-spacing: 0.01em;
margin: 0;
}

.blog .newsletterblock .nlform .formcard .field {
display: flex;
flex-direction: column;
gap: 8px;
}

.blog .newsletterblock .nlform .formcard .field label {
font-size: 16px;
color: #0F486E;
font-weight: 600;
letter-spacing: 0.01em;
}

.blog .newsletterblock .nlform .formcard .field input {
border: 1.5px solid rgba(15, 72, 110, 0.18);
border-radius: 12px;
padding: 16px 16px 16px 48px;
font-size: 16px;
color: #0F486E;
background: #fff;
outline: none;
transition: border-color 0.35s ease-in-out, box-shadow 0.35s ease-in-out;
position: relative;
}

.blog .newsletterblock .nlform .formcard .field input:focus {
border-color: #B674FC;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
}

.blog .newsletterblock .nlform .formcard .field input::placeholder {
color: rgba(15, 72, 110, 0.4);
}

.blog .newsletterblock .nlform .formcard .fieldinput {
position: relative;
}

.blog .newsletterblock .nlform .formcard .fieldinput .inputicon {
position: absolute;
left: 16px;
top: 50%;
transform: translateY(-50%);
color: #B674FC;
pointer-events: none;
display: flex;
align-items: center;
}

.blog .newsletterblock .nlform .formcard .fieldinput input {
width: 100%;
padding-left: 48px;
}

.blog .newsletterblock .nlform .formcard .submitbtn {
background: linear-gradient(135deg, #B674FC 0%, #0F486E 100%);
color: #fff;
border: none;
border-radius: 12px;
padding: 16px 24px;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.02em;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
transition: opacity 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
}

.blog .newsletterblock .nlform .formcard .submitbtn:hover {
opacity: 0.9;
transform: translateY(-2px);
}

.blog .newsletterblock .nlform .formcard .submitbtn:active {
transform: translateY(0);
}

.blog .newsletterblock .nlform .formcard .submitbtn .spinner {
display: none;
width: 18px;
height: 18px;
border: 2px solid rgba(255, 255, 255, 0.4);
border-top-color: #fff;
border-radius: 36px;
animation: spin 0.7s linear infinite;
}

.blog .newsletterblock .nlform .formcard .submitbtn.loading .btnlabel {
display: none;
}

.blog .newsletterblock .nlform .formcard .submitbtn.loading .spinner {
display: block;
}

@keyframes spin {
to {
transform: rotate(360deg);
}
}

.blog .guidesblock {
padding: 96px 48px;
background: linear-gradient(170deg, #f7f3ff 0%, #fff 60%);
display: flex;
flex-direction: column;
gap: 48px;
}

.blog .guidesblock .guidesheader {
display: flex;
flex-direction: row;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
}

.blog .guidesblock .guidesheader h2 {
font-size: 42px;
line-height: 1.2;
color: #0F486E;
font-weight: 800;
letter-spacing: 0.01em;
margin: 0;
}

.blog .guidesblock .guidesheader a {
font-size: 16px;
color: #B674FC;
text-decoration: none;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
white-space: nowrap;
transition: color 0.35s ease-in-out;
}

.blog .guidesblock .guidesheader a:hover {
color: #0F486E;
}

.blog .guidesblock .guidesrow {
display: grid;
grid-template-columns: 1.5fr 1fr;
gap: 24px;
}

.blog .guidesblock .guidecard {
border-radius: 20px;
background: #fff;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
padding: 48px;
display: flex;
flex-direction: column;
gap: 16px;
border: 1px solid rgba(182, 116, 252, 0.1);
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.blog .guidesblock .guidecard:hover {
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.12);
}

.blog .guidesblock .guidecard h4 {
font-size: 23px;
line-height: 1.4;
color: #0F486E;
font-weight: 700;
letter-spacing: 0.01em;
margin: 0;
}

.blog .guidesblock .guidecard p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
}

.blog .guidesblock .guidecard a {
font-size: 16px;
color: #B674FC;
font-weight: 600;
text-decoration: none;
display: flex;
align-items: center;
gap: 8px;
transition: color 0.35s ease-in-out;
}

.blog .guidesblock .guidecard a:hover {
color: #0F486E;
}

.blog .guidesblock .guidecard a:focus {
text-decoration: underline;
outline: 2px solid #B674FC;
outline-offset: 2px;
border-radius: 4px;
}

.blog .guidesblock .guidecard .guidetag {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(182, 116, 252, 0.1);
color: #B674FC;
font-size: 16px;
font-weight: 600;
border-radius: 36px;
padding: 8px 16px;
width: fit-content;
}

.blog .revealitem {
opacity: 0;
transform: translateY(24px);
animation: revealup 0.45s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}

.blog .revealitem:nth-child(1) {
animation-delay: 0.05s;
}

.blog .revealitem:nth-child(2) {
animation-delay: 0.15s;
}

.blog .revealitem:nth-child(3) {
animation-delay: 0.25s;
}

.blog .revealitem:nth-child(4) {
animation-delay: 0.35s;
}

.blog .revealitem:nth-child(5) {
animation-delay: 0.45s;
}

.blog .revealitem:nth-child(6) {
animation-delay: 0.55s;
}

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

@media (max-width: 1280px) {
.blog .titleblock {
grid-template-columns: 1fr 1fr;
padding: 96px 24px 48px;
}

.blog .titleblock .textside h1 {
font-size: 42px;
}

.blog .postsection {
padding: 96px 24px;
}

.blog .postsection .postsgrid {
grid-template-columns: repeat(2, 1fr);
}

.blog .topicsblock .topicsgrid {
grid-template-columns: repeat(2, 1fr);
}

.blog .aboutblock {
padding: 96px 24px;
}

.blog .newsletterblock {
padding: 96px 24px;
gap: 48px;
}

.blog .guidesblock {
padding: 96px 24px;
}

.blog .topicsblock {
padding: 96px 24px;
}
}

@media (max-width: 768px) {
.blog .titleblock {
grid-template-columns: 1fr;
padding: 48px 16px 48px;
}

.blog .titleblock .textside h1 {
font-size: 30px;
}

.blog .titleblock .imageside {
display: none;
}

.blog .titleblock .doubleborder,
.blog .titleblock .doubleborder2 {
display: none;
}

.blog .postsection {
padding: 48px 16px;
}

.blog .postsection .postsgrid {
grid-template-columns: 1fr;
}

.blog .aboutblock {
grid-template-columns: 1fr;
padding: 48px 16px;
gap: 24px;
}

.blog .aboutblock .sidenote {
padding-top: 0;
}

.blog .topicsblock {
padding: 48px 16px;
}

.blog .topicsblock .topicsgrid {
grid-template-columns: 1fr 1fr;
}

.blog .topicsblock .topicscontent h2 {
font-size: 30px;
}

.blog .newsletterblock {
grid-template-columns: 1fr;
padding: 48px 16px;
gap: 48px;
}

.blog .newsletterblock .nltext h2 {
font-size: 30px;
}

.blog .newsletterblock .nlform .formcard {
padding: 24px;
}

.blog .guidesblock {
padding: 48px 16px;
}

.blog .guidesblock .guidesrow {
grid-template-columns: 1fr;
}

.blog .guidesblock .guidesheader h2 {
font-size: 30px;
}

.blog .guidesblock .guidecard {
padding: 24px;
}
}

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

.prime .pcontainer {
max-width: 1400px;
margin-left: auto;
margin-right: auto;
padding-left: 24px;
padding-right: 24px;
}

.prime .titlewrap {
position: relative;
padding: 96px 24px;
background: linear-gradient(112deg, #B674FC 0%, #0F486E 100%);
overflow: hidden;
}

.prime .titlewrap .shapes {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
}

.prime .titlewrap .shapes span {
position: absolute;
border-radius: 20px;
opacity: 0.12;
background: #C4F7CF;
}

.prime .titlewrap .shapes span:nth-child(1) {
width: 180px;
height: 180px;
top: -40px;
right: 12%;
transform: rotate(22deg);
animation: zonedrift 9s ease-in-out infinite alternate;
}

.prime .titlewrap .shapes span:nth-child(2) {
width: 90px;
height: 90px;
bottom: 24px;
left: 8%;
border-radius: 12px;
opacity: 0.09;
animation: zonedrift 13s ease-in-out infinite alternate-reverse;
}

.prime .titlewrap .shapes span:nth-child(3) {
width: 260px;
height: 60px;
bottom: -20px;
right: 5%;
border-radius: 36px;
opacity: 0.07;
animation: zonedrift 11s ease-in-out infinite alternate;
}

@keyframes zonedrift {
0% {
transform: translateY(0px) rotate(0deg);
}

100% {
transform: translateY(18px) rotate(8deg);
}
}

.prime .titleinner {
max-width: 1400px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.prime .titleinner h1 {
font-size: 58px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #ffffff;
font-weight: 800;
max-width: 720px;
margin-bottom: 48px;
}

.prime .titleinner h1 em {
font-style: italic;
color: #C4F7CF;
}

.prime .herolink {
display: inline-flex;
align-items: center;
gap: 8px;
color: #C4F7CF;
font-size: 16px;
letter-spacing: 0.02em;
text-decoration: none;
border-bottom: 1px solid rgba(196, 247, 207, 0.4);
padding-bottom: 4px;
transition: color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.prime .herolink:hover {
color: #ffffff;
border-color: #ffffff;
}

.prime .herolink svg {
transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.prime .herolink:hover svg {
transform: translateX(5px);
}

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

.prime .divider .mono {
width: 48px;
height: 48px;
border: 1.5px solid #B674FC;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #B674FC;
font-size: 23px;
font-weight: 700;
letter-spacing: 0.01em;
}

.prime .postlisting {
padding: 96px 24px;
background: #ffffff;
}

.prime .postlisting .pcontainer {}

.prime .listhead {
margin-bottom: 48px;
}

.prime .listhead h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
}

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

.prime .postcard {
border-radius: 20px;
overflow: hidden;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
background: #fff;
display: flex;
flex-direction: column;
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.prime .postcard:hover {
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
transform: translateY(-4px);
}

.prime .postcard .imgwrap {
aspect-ratio: 4/3;
overflow: hidden;
}

.prime .postcard .imgwrap img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
display: block;
transition: transform 0.42s ease-in-out;
}

.prime .postcard:hover .imgwrap img {
transform: scale(1.04);
}

.prime .postcard .cardtext {
padding: 24px;
flex: 1;
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .postcard .cardtext h3 {
font-size: 23px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin: 0;
}

.prime .postcard .cardtext p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
flex: 1;
}

.prime .postcard .cardmeta {
display: flex;
align-items: center;
justify-content: space-between;
}

.prime .postcard .readtime {
font-size: 16px;
color: #B674FC;
letter-spacing: 0.02em;
display: flex;
align-items: center;
gap: 8px;
}

.prime .postcard .readmore {
display: inline-flex;
align-items: center;
gap: 8px;
color: #0F486E;
font-size: 16px;
text-decoration: none;
font-weight: 600;
letter-spacing: 0.01em;
border-bottom: 1px solid transparent;
transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out;
}

.prime .postcard .readmore:focus {
border-bottom-color: #0F486E;
outline: 2px solid #B674FC;
outline-offset: 2px;
}

.prime .postcard .readmore:hover {
color: #B674FC;
}

.prime .postcard .readmore:hover svg {
transform: translateX(4px);
}

.prime .postcard .readmore svg {
transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.prime .editorial {
padding: 96px 24px;
background: linear-gradient(108deg, #C4F7CF 0%, #f0f8ff 100%);
}

.prime .editorial .pcontainer {
display: grid;
grid-template-columns: 200px 1fr;
gap: 48px;
align-items: start;
}

.prime .editorial .sidenote {
padding-top: 8px;
}

.prime .editorial .sidenote p {
font-size: 16px;
line-height: 1.6;
color: #0F486E;
font-style: italic;
letter-spacing: 0.02em;
margin: 0;
}

.prime .editorial .maintext h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 24px;
}

.prime .editorial .maintext p {
font-size: 16px;
line-height: 1.6;
color: #1a3a50;
margin-bottom: 16px;
}

.prime .editorial .maintext p:last-child {
margin-bottom: 0;
}

.prime .editorial .maintext em {
font-style: italic;
color: #0F486E;
}

.prime .depthsec {
padding: 96px 24px;
background: #0F486E;
position: relative;
overflow: hidden;
}

.prime .depthsec .stripebg {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
pointer-events: none;
background-image: repeating-linear-gradient(90deg,
rgba(196, 247, 207, 0.04) 0px,
rgba(196, 247, 207, 0.04) 1px,
transparent 1px,
transparent 40px);
}

.prime .depthsec .pcontainer {
position: relative;
z-index: 1;
}

.prime .depthsec h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #C4F7CF;
font-weight: 700;
margin-bottom: 48px;
max-width: 600px;
}

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

.prime .metricitem {
padding: 24px;
border: 1.5px solid rgba(196, 247, 207, 0.2);
border-radius: 20px;
background: rgba(255, 255, 255, 0.04);
box-shadow: inset 2px 3px 5px 0 rgba(15, 72, 110, 0.08);
transition: background 0.4s ease-in-out, border-color 0.4s ease-in-out;
}

.prime .metricitem:hover {
background: rgba(196, 247, 207, 0.07);
border-color: rgba(196, 247, 207, 0.45);
}

.prime .metricitem .bignum {
font-size: 58px;
line-height: 1.2;
font-weight: 800;
color: #B674FC;
letter-spacing: 0.01em;
display: block;
}

.prime .metricitem .metlabel {
font-size: 16px;
line-height: 1.6;
color: #C4F7CF;
margin-top: 8px;
letter-spacing: 0.02em;
}

.prime .entrypoints {
padding: 96px 24px;
background: #ffffff;
}

.prime .entrypoints .pcontainer {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center;
}

.prime .entrypoints .entrytext h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 24px;
}

.prime .entrypoints .entrytext p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin-bottom: 16px;
}

.prime .startlist {
list-style: none;
margin: 0;
padding: 0;
counter-reset: startcount;
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .startlist li {
counter-increment: startcount;
display: flex;
align-items: flex-start;
gap: 16px;
padding: 16px;
border-radius: 12px;
border: 1.5px solid rgba(182, 116, 252, 0.15);
background: rgba(182, 116, 252, 0.03);
transition: border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.prime .startlist li:hover {
border-color: rgba(182, 116, 252, 0.4);
background: rgba(182, 116, 252, 0.06);
}

.prime .startlist li::before {
content: counter(startcount, decimal-leading-zero);
font-size: 30px;
font-weight: 800;
color: #B674FC;
line-height: 1.2;
flex-shrink: 0;
letter-spacing: 0.01em;
}

.prime .startlist .litext {
display: flex;
flex-direction: column;
gap: 8px;
}

.prime .startlist .litext strong {
font-size: 16px;
color: #0F486E;
font-weight: 700;
letter-spacing: 0.01em;
}

.prime .startlist .litext span {
font-size: 16px;
color: #2a4a5e;
line-height: 1.6;
}

.prime .startlist .litext a {
font-size: 16px;
color: #B674FC;
text-decoration: none;
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 8px;
transition: color 0.35s ease-in-out;
}

.prime .startlist .litext a:hover {
color: #0F486E;
}

.prime .startlist .litext a:focus {
outline: 2px solid #B674FC;
outline-offset: 2px;
}

.prime .adjacent {
padding: 96px 24px;
background: linear-gradient(108deg, #f5eeff 0%, #e8f4ff 100%);
}

.prime .adjacent .pcontainer {}

.prime .adjacent h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 8px;
}

.prime .adjacent .adjsub {
font-size: 16px;
color: #5a4a7e;
line-height: 1.6;
margin-bottom: 48px;
letter-spacing: 0.01em;
}

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

.prime .topiccard {
border-radius: 20px;
padding: 24px;
background: #ffffff;
box-shadow: 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
display: flex;
flex-direction: column;
gap: 16px;
transition: box-shadow 0.4s cubic-bezier(0.34, 1.2, 0.64, 1), transform 0.4s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.prime .topiccard:hover {
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
transform: translateY(-3px);
}

.prime .topiccard .iconbox {
width: 48px;
height: 48px;
border: 1.5px solid #B674FC;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}

.prime .topiccard .iconbox i {
font-size: 23px;
color: #B674FC;
}

.prime .topiccard h4 {
font-size: 23px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin: 0;
}

.prime .topiccard p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin: 0;
flex: 1;
}

.prime .topiccard a {
font-size: 16px;
color: #B674FC;
text-decoration: none;
font-weight: 600;
display: inline-flex;
align-items: center;
gap: 8px;
transition: color 0.35s ease-in-out;
align-self: flex-start;
}

.prime .topiccard a:hover {
color: #0F486E;
}

.prime .topiccard a:focus {
outline: 2px solid #B674FC;
outline-offset: 2px;
}

.prime .conversation {
padding: 96px 24px;
background: #ffffff;
}

.prime .conversation .pcontainer {
display: grid;
grid-template-columns: 1fr 340px;
gap: 48px;
align-items: start;
}

.prime .conversation .convtext h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 24px;
}

.prime .conversation .convtext p {
font-size: 16px;
line-height: 1.6;
color: #2a4a5e;
margin-bottom: 16px;
}

.prime .conversation .convtext p:last-child {
margin-bottom: 0;
}

.prime .conversation .convtext em {
font-style: italic;
color: #0F486E;
}

.prime .convform {
background: linear-gradient(135deg, rgba(182, 116, 252, 0.06) 0%, rgba(196, 247, 207, 0.08) 100%);
border-radius: 20px;
padding: 24px;
box-shadow: inset 2px 3px 5px 0 rgba(182, 116, 252, 0.08);
}

.prime .convform h4 {
font-size: 23px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 16px;
}

.prime .convform form {
display: flex;
flex-direction: column;
gap: 16px;
}

.prime .convform .fieldbody {
display: flex;
flex-direction: column;
gap: 8px;
}

.prime .convform label {
font-size: 16px;
color: #0F486E;
font-weight: 600;
letter-spacing: 0.01em;
}

.prime .convform .inputwrap {
position: relative;
display: flex;
align-items: center;
}

.prime .convform .inputwrap i {
position: absolute;
left: 12px;
font-size: 16px;
color: #B674FC;
pointer-events: none;
z-index: 1;
}

.prime .convform input,
.prime .convform textarea {
width: 100%;
padding: 12px 12px 12px 36px;
border: 1.5px solid rgba(182, 116, 252, 0.25);
border-radius: 12px;
font-size: 16px;
color: #0F486E;
background: #ffffff;
outline: none;
transition: border-color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
box-sizing: border-box;
}

.prime .convform textarea {
min-height: 96px;
resize: vertical;
}

.prime .convform input:focus,
.prime .convform textarea:focus {
border-color: #B674FC;
box-shadow: 0 0 0 3px rgba(182, 116, 252, 0.15);
}

.prime .convform button[type="submit"] {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
background: #0F486E;
color: #C4F7CF;
font-size: 16px;
font-weight: 700;
letter-spacing: 0.02em;
border: none;
border-radius: 12px;
padding: 16px 24px;
cursor: pointer;
transition: background 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
position: relative;
}

.prime .convform button[type="submit"]:hover {
background: #B674FC;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
}

.prime .convform button[type="submit"]:focus {
outline: 2px solid #B674FC;
outline-offset: 2px;
}

.prime .convform button[type="submit"] .spinner {
display: none;
width: 16px;
height: 16px;
border: 2px solid rgba(196, 247, 207, 0.4);
border-top-color: #C4F7CF;
border-radius: 36px;
animation: spin 0.7s linear infinite;
}

.prime .convform button[type="submit"].loading .btnlabel {
display: none;
}

.prime .convform button[type="submit"].loading .spinner {
display: block;
}

@keyframes spin {
to {
transform: rotate(360deg);
}
}

.prime .authorbio {
padding: 96px 24px;
background: linear-gradient(108deg, #0F486E 0%, #1a3a50 100%);
}

.prime .authorbio .pcontainer {
display: grid;
grid-template-columns: 220px 1fr;
gap: 48px;
align-items: start;
}

.prime .authorbio .portraitwrap {
border-radius: 20px;
overflow: hidden;
aspect-ratio: 3/4;
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
}

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

.prime .authorbio .biotext h2 {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #C4F7CF;
font-weight: 700;
margin-bottom: 24px;
}

.prime .authorbio .biotext p {
font-size: 16px;
line-height: 1.6;
color: rgba(196, 247, 207, 0.85);
margin-bottom: 16px;
}

.prime .authorbio .biotext p:last-child {
margin-bottom: 0;
}

.prime .authorbio .biotext em {
font-style: italic;
color: #C4F7CF;
}

.prime .authorbio .biotext a {
color: #B674FC;
text-decoration: none;
font-weight: 600;
border-bottom: 1px solid rgba(182, 116, 252, 0.4);
transition: color 0.35s ease-in-out, border-color 0.35s ease-in-out;
}

.prime .authorbio .biotext a:hover {
color: #C4F7CF;
border-color: #C4F7CF;
}

.prime .authorbio .biotext a:focus {
outline: 2px solid #B674FC;
outline-offset: 2px;
}

@media (max-width: 1280px) {
.prime .postsgrid {
grid-template-columns: repeat(2, 1fr);
}

.prime .metricsrow {
grid-template-columns: repeat(2, 1fr);
}

.prime .topicsgrid {
grid-template-columns: repeat(2, 1fr);
}

.prime .titleinner h1 {
font-size: 42px;
}
}

@media (max-width: 768px) {
.prime .titlewrap {
padding: 48px 24px;
}

.prime .titleinner h1 {
font-size: 30px;
}

.prime .postsgrid {
grid-template-columns: 1fr;
}

.prime .editorial .pcontainer {
grid-template-columns: 1fr;
gap: 24px;
}

.prime .metricsrow {
grid-template-columns: 1fr 1fr;
}

.prime .metricitem .bignum {
font-size: 42px;
}

.prime .entrypoints .pcontainer {
grid-template-columns: 1fr;
gap: 24px;
}

.prime .topicsgrid {
grid-template-columns: 1fr;
}

.prime .conversation .pcontainer {
grid-template-columns: 1fr;
gap: 24px;
}

.prime .authorbio .pcontainer {
grid-template-columns: 1fr;
gap: 24px;
}

.prime .authorbio .portraitwrap {
max-width: 180px;
}

.prime .listhead h2,
.prime .editorial .maintext h2,
.prime .depthsec h2,
.prime .entrypoints .entrytext h2,
.prime .adjacent h2,
.prime .conversation .convtext h2,
.prime .authorbio .biotext h2 {
font-size: 30px;
}
}

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

.successPage .successCard {
max-width: 560px;
width: 100%;
background: #ffffff;
border-radius: 20px;
box-shadow: 2px 8px 48px 0 rgba(182, 116, 252, 0.11);
padding: 48px;
text-align: center;
position: relative;
}

.successPage .successCard .iconRing {
width: 80px;
height: 80px;
border-radius: 36px;
background: linear-gradient(135deg, #C4F7CF 0%, #B674FC 100%);
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 32px;
box-shadow: 2px 6px 25px 0 rgba(182, 116, 252, 0.09);
}

.successPage .successCard .iconRing svg {
width: 38px;
height: 38px;
display: block;
}

.successPage .successCard .successTitle {
font-size: 42px;
line-height: 1.2;
letter-spacing: 0.01em;
color: #0F486E;
font-weight: 700;
margin-bottom: 16px;
}

.successPage .successCard .successSubtitle {
font-size: 23px;
line-height: 1.4;
letter-spacing: 0.01em;
color: #B674FC;
font-style: italic;
margin-bottom: 24px;
}

.successPage .successCard .successText {
font-size: 16px;
line-height: 1.6;
letter-spacing: 0.01em;
color: #1a3a52;
margin-bottom: 48px;
}

.successPage .successCard .dividerLine {
width: 64px;
height: 2px;
background: linear-gradient(90deg, #B674FC 0%, #C4F7CF 100%);
border-radius: 4px;
margin: 0 auto 48px;
}

.successPage .successCard .returnLink {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 16px;
line-height: 1.4;
letter-spacing: 0.02em;
color: #0F486E;
text-decoration: none;
font-weight: 600;
border-bottom: 2px solid transparent;
padding-bottom: 2px;
transition: color 0.38s cubic-bezier(0.34, 1.2, 0.64, 1), border-color 0.42s ease-in-out;
}

.successPage .successCard .returnLink:hover {
color: #B674FC;
border-color: #B674FC;
}

.successPage .successCard .returnLink:focus-visible {
outline: 2px solid #B674FC;
outline-offset: 4px;
border-radius: 4px;
}

.successPage .successCard .returnLink .arrowIcon {
display: inline-block;
transition: transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1);
}

.successPage .successCard .returnLink:hover .arrowIcon {
transform: translateX(5px);
}

.successPage .successCard .brandNote {
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid rgba(182, 116, 252, 0.18);
font-size: 16px;
line-height: 1.6;
color: #4a6a80;
letter-spacing: 0.01em;
}

.successPage .successCard .brandNote strong {
color: #0F486E;
}

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

.successPage .successCard {
padding: 48px 24px;
}

.successPage .successCard .successTitle {
font-size: 30px;
}

.successPage .successCard .successSubtitle {
font-size: 16px;
}
}