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

html {
font-size: 100%
}

body {
margin: 0;
padding: 0;
min-height: 100vh;
font-family: 'Cabin', sans-serif;
background: #FBFAF7;
color: #1C2748;
line-height: 1.6
}

.top-bar {
background: linear-gradient(135deg, #fff 0%, #FBFAF7 100%);
border-bottom: 1px solid #c5142814;
box-shadow: 0 3px 2px 1px #1c27480d
}

.top-bar__plate {
max-width: 1320px;
margin: 0 auto;
padding: 24px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 48px
}

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

.brand__mark {
width: 62px;
height: 62px;
padding: 8px;
background: #fff;
border: 2px solid #FBFAF7;
border-radius: 7px;
box-shadow: 0 5px 20px 1px #1c274817;
transition: box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1), transform .38s ease-in-out
}

.brand__mark:hover {
box-shadow: 0 10px 36px 1px #c5142824;
transform: translateY(-2px)
}

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

.locale-badge {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
background: #fff;
border: 1px solid #1c27481f;
border-radius: 36px;
font-size: 14px;
font-weight: 500;
color: #1C2748;
letter-spacing: .02em;
transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), border-color .4s ease-in-out
}

.locale-badge:hover {
background: #c514280a;
border-color: #C51428
}

.locale-badge__icon {
width: 18px;
height: 18px;
border-radius: 4px;
background: linear-gradient(135deg, #C51428 0%, #1C2748 100%)
}

.nav-deck {
display: flex;
flex-direction: column;
gap: 12px;
align-items: flex-end
}

.nav-primary {
display: flex;
flex-wrap: wrap;
gap: 8px 4px;
justify-content: flex-end
}

.nav-primary__link {
padding: 12px 24px;
font-family: 'Montserrat', sans-serif;
font-size: 17px;
font-weight: 500;
color: #1C2748;
text-decoration: none;
letter-spacing: -.01em;
border-radius: 36px;
background: transparent;
transition: background .48s cubic-bezier(0.16, 1, 0.3, 1), color .35s ease-in-out;
position: relative
}

.nav-primary__link::after {
content: '';
position: absolute;
bottom: 8px;
left: 24px;
right: 24px;
height: 2px;
background: #C51428;
transform: scaleX(0);
transform-origin: right;
transition: transform .52s cubic-bezier(0.16, 1, 0.3, 1)
}

.nav-primary__link:hover {
background: #c514280f;
color: #C51428
}

.nav-primary__link:hover::after {
transform: scaleX(1);
transform-origin: left
}

.nav-primary__link:focus {
outline: 2px solid #C51428;
outline-offset: 4px
}

@media (max-width: 1366px) {
.top-bar__plate {
gap: 24px;
padding: 24px
}

.nav-deck {
gap: 8px
}

.nav-primary {
gap: 4px
}

.nav-primary__link {
padding: 12px 24px;
font-size: 17px
}
}

@media (max-width: 768px) {
.top-bar__plate {
flex-direction: column;
align-items: flex-start;
gap: 24px;
padding: 24px
}

.brand {
width: 100%;
justify-content: space-between
}

.nav-deck {
width: 100%;
align-items: stretch
}

.nav-primary {
flex-direction: column;
gap: 8px
}

.nav-primary__link {
padding: 12px 24px;
text-align: left
}

.nav-primary__link::after {
left: 24px;
right: auto;
width: 32px
}
}

@media (max-width: 375px) {
.top-bar__plate {
padding: 12px;
gap: 12px
}

.brand__mark {
width: 54px;
height: 54px
}

.locale-badge {
font-size: 14px;
padding: 8px 12px
}

.nav-primary__link {
font-size: 17px;
padding: 12px 24px
}
}

.base-plate {
background: linear-gradient(180deg, #FBFAF7 0%, #fff 100%);
border-top: 1px solid #c514280f
}

.base-plate__pod {
max-width: 1320px;
margin: 0 auto;
padding: 96px 24px 48px
}

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

.trust-cell {
display: flex;
flex-direction: column;
gap: 24px
}

.trust-cell__mark {
width: 58px;
height: 58px;
padding: 8px;
background: #fff;
border: 2px solid #1c274814;
border-radius: 7px;
box-shadow: 0 3px 2px 1px #c514280d
}

.trust-cell__mark img {
width: 100%;
height: 100%;
object-fit: contain;
display: block
}

.trust-cell__heading {
font-family: 'Montserrat', sans-serif;
font-size: 21px;
font-weight: 700;
color: #1C2748;
line-height: 1.3;
letter-spacing: -.02em;
margin: 0
}

.trust-cell__text {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
margin: 0;
letter-spacing: .01em
}

.trust-cell__text a {
color: #C51428;
text-decoration: none;
transition: color .4s ease-in-out;
position: relative
}

.trust-cell__text a::after {
content: '';
position: absolute;
bottom: -2px;
left: 0;
right: 0;
height: 1px;
background: currentColor;
opacity: .4;
transition: opacity .35s cubic-bezier(0.16, 1, 0.3, 1)
}

.trust-cell__text a:hover {
color: #1C2748
}

.trust-cell__text a:hover::after {
opacity: 1
}

.trust-cell__text a:focus {
outline: 2px solid #C51428;
outline-offset: 3px
}

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

.nav-legal__heading {
font-family: 'Montserrat', sans-serif;
font-size: 17px;
font-weight: 700;
color: #1C2748;
line-height: 1.3;
letter-spacing: -.01em;
margin: 0 0 12px
}

.nav-legal__link {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 17px;
color: #1C2748;
text-decoration: none;
line-height: 1.6;
letter-spacing: .01em;
transition: color .45s cubic-bezier(0.16, 1, 0.3, 1), transform .38s ease-in-out
}

.nav-legal__link::before {
content: '';
display: inline-block;
width: 6px;
height: 6px;
border-radius: 4px;
background: #C51428;
transition: transform .5s cubic-bezier(0.16, 1, 0.3, 1), background .4s ease-in-out
}

.nav-legal__link:hover {
color: #C51428;
transform: translateX(4px)
}

.nav-legal__link:hover::before {
transform: scale(1.4);
background: #1C2748
}

.nav-legal__link:focus {
outline: 2px solid #C51428;
outline-offset: 3px
}

.copyright-strip {
margin-top: 48px;
padding-top: 24px;
border-top: 1px solid #1c274814
}

.copyright-strip__text {
font-size: 14px;
line-height: 1.6;
color: #1c2748b3;
margin: 0;
letter-spacing: .02em
}

@media (max-width: 1366px) {
.base-plate__pod {
padding: 96px 24px 48px
}

.base-grid {
gap: 48px
}
}

@media (max-width: 768px) {
.base-plate__pod {
padding: 48px 24px 24px
}

.base-grid {
grid-template-columns: 1fr;
gap: 48px
}

.nav-legal {
gap: 12px
}

.copyright-strip {
margin-top: 48px
}
}

@media (max-width: 375px) {
.base-plate__pod {
padding: 48px 12px 24px
}

.base-grid {
gap: 24px
}

.trust-cell {
gap: 12px
}

.trust-cell__mark {
width: 52px;
height: 52px
}

.copyright-strip {
margin-top: 24px;
padding-top: 24px
}
}

.consent-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
background: linear-gradient(135deg, #fff 0%, #FBFAF7 100%);
border-bottom: 2px solid #c514281f;
box-shadow: 0 10px 36px 1px #1c274824;
z-index: 1500;
padding: 24px;
transform: translateY(-100%);
transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.consent-overlay.visible {
transform: translateY(0)
}

.consent-pod {
max-width: 1320px;
margin: 0 auto;
display: flex;
align-items: center;
gap: 48px;
flex-wrap: wrap
}

.consent-pod__symbol {
width: 48px;
height: 48px;
flex-shrink: 0;
border-radius: 7px;
background: linear-gradient(135deg, #C51428 0%, #1C2748 100%);
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 5px 20px 1px #c5142817
}

.consent-pod__symbol svg {
width: 24px;
height: 24px;
fill: #fff
}

.consent-text {
flex: 1;
min-width: 280px
}

.consent-text__message {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
margin: 0;
letter-spacing: .01em
}

.consent-actions {
display: flex;
gap: 12px;
flex-wrap: wrap
}

.consent-btn {
padding: 12px 24px;
font-family: 'Montserrat', sans-serif;
font-size: 17px;
font-weight: 500;
border: 2px solid #1C2748;
border-radius: 36px;
background: transparent;
color: #1C2748;
cursor: pointer;
transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), color .38s ease-in-out, border-color .4s ease-in-out, transform .35s cubic-bezier(0.16, 1, 0.3, 1);
letter-spacing: -.01em;
position: relative
}

.consent-btn:hover {
background: #1C2748;
color: #fff;
border-color: #1C2748;
transform: translateY(-2px);
box-shadow: 0 5px 20px 1px #1c274817
}

.consent-btn:focus {
outline: 2px solid #C51428;
outline-offset: 4px
}

.consent-btn:active {
transform: translateY(0);
box-shadow: inset 0 3px 2px 1px #1c27480d
}

.consent-btn--primary {
border-color: #C51428;
color: #C51428
}

.consent-btn--primary:hover {
background: #C51428;
color: #fff;
border-color: #C51428
}

.consent-settings {
display: none;
width: 100%;
margin-top: 24px;
padding-top: 24px;
border-top: 1px solid #1c274814
}

.consent-settings.active {
display: block
}

.consent-settings__grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 24px
}

.consent-toggle {
display: flex;
align-items: center;
gap: 12px;
padding: 12px;
background: #fff;
border: 1px solid #1c274814;
border-radius: 7px;
transition: border-color .4s ease-in-out, box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.consent-toggle:hover {
border-color: #C51428;
box-shadow: 0 3px 2px 1px #c514280d
}

.consent-toggle__checkbox {
width: 20px;
height: 20px;
border: 2px solid #1C2748;
border-radius: 4px;
cursor: pointer;
transition: background .38s ease-in-out, border-color .35s cubic-bezier(0.16, 1, 0.3, 1);
appearance: none;
position: relative;
flex-shrink: 0
}

.consent-toggle__checkbox:checked {
background: #C51428;
border-color: #C51428
}

.consent-toggle__checkbox:checked::after {
content: '';
position: absolute;
top: 2px;
left: 6px;
width: 4px;
height: 8px;
border: solid #fff;
border-width: 0 2px 2px 0;
transform: rotate(45deg)
}

.consent-toggle__checkbox:focus {
outline: 2px solid #C51428;
outline-offset: 2px
}

.consent-toggle__label {
font-size: 17px;
line-height: 1.3;
color: #1C2748;
cursor: pointer;
letter-spacing: .01em
}

.consent-mini {
position: fixed;
bottom: 24px;
right: 24px;
z-index: 1500;
display: none
}

.consent-mini.visible {
display: block
}

.consent-mini__trigger {
width: 56px;
height: 56px;
border-radius: 7px;
background: linear-gradient(135deg, #C51428 0%, #1C2748 100%);
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 10px 36px 1px #1c274824;
transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .45s ease-in-out
}

.consent-mini__trigger:hover {
transform: scale(1.08);
box-shadow: 0 10px 36px 1px #c5142824
}

.consent-mini__trigger:focus {
outline: 2px solid #C51428;
outline-offset: 4px
}

.consent-mini__trigger svg {
width: 28px;
height: 28px;
fill: #fff
}

@media (max-width: 768px) {
.consent-pod {
gap: 24px
}

.consent-pod__symbol {
width: 42px;
height: 42px
}

.consent-text {
min-width: 100%
}

.consent-actions {
width: 100%
}

.consent-btn {
flex: 1;
min-width: 140px
}

.consent-settings__grid {
grid-template-columns: 1fr;
gap: 12px
}
}

@media (max-width: 375px) {
.consent-overlay {
padding: 12px
}

.consent-pod {
gap: 12px
}

.consent-actions {
flex-direction: column;
gap: 8px
}

.consent-btn {
width: 100%
}

.consent-mini__trigger {
width: 52px;
height: 52px
}

.consent-mini {
bottom: 12px;
right: 12px
}
}

::selection {
background: #1C2748;
color: #FBFAF7
}

.policy-view {
max-width: 1320px;
margin: 0 auto;
padding: 48px 24px;
background: #fff
}

.policy-view h1 {
font-size: 70px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1C2748;
margin: 0 0 48px
}

.policy-view h2 {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.01em;
color: #1C2748;
margin: 48px 0 24px
}

.policy-view h3 {
font-size: 21px;
line-height: 1.3;
letter-spacing: 0;
color: #1C2748;
margin: 24px 0 12px
}

.policy-view h4 {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
color: #1C2748;
margin: 24px 0 12px
}

.policy-view h5 {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
color: #1C2748;
margin: 24px 0 12px
}

.policy-view h6 {
font-size: 14px;
line-height: 1.6;
letter-spacing: .02em;
color: #1C2748;
margin: 24px 0 12px;
text-transform: uppercase
}

.policy-view p {
font-size: 17px;
line-height: 1.9;
letter-spacing: .01em;
color: #2a2a2a;
margin: 0 0 24px
}

.policy-view ul {
margin: 0 0 24px;
padding: 0 0 0 24px
}

.policy-view ol {
margin: 0 0 24px;
padding: 0 0 0 24px
}

.policy-view li {
font-size: 17px;
line-height: 1.9;
letter-spacing: .01em;
color: #2a2a2a;
margin: 0 0 12px
}

.policy-view li:last-child {
margin-bottom: 0
}

.policy-view em {
font-style: italic;
color: #2a2a2a
}

.policy-view i {
font-style: italic;
color: #2a2a2a
}

.policy-view a {
color: #C51428;
text-decoration: none;
border-bottom: 1px solid #c514284d;
transition: border-color .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.policy-view a:hover {
border-bottom-color: #C51428
}

.policy-view table {
width: 100%;
border-collapse: collapse;
margin: 0 0 48px;
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em
}

.policy-view thead {
background: #FBFAF7
}

.policy-view th {
padding: 12px 24px;
text-align: left;
font-weight: 600;
color: #1C2748;
border-bottom: 2px solid #1C2748
}

.policy-view td {
padding: 12px 24px;
color: #2a2a2a;
border-bottom: 1px solid #1c27481a
}

.policy-view tbody tr:last-child td {
border-bottom: none
}

.policy-view hr {
border: none;
height: 1px;
background: #1c274826;
margin: 48px 0
}

.policy-view div {
margin: 0 0 24px
}

@media (max-width: 768px) {
.policy-view {
padding: 24px 12px
}

.policy-view h1 {
font-size: 28px;
margin-bottom: 24px
}

.policy-view h2 {
font-size: 21px;
margin-top: 24px
}

.policy-view h3 {
font-size: 17px
}

.policy-view table {
font-size: 14px
}

.policy-view th {
padding: 8px 12px
}

.policy-view td {
padding: 8px 12px
}
}

@media (max-width: 375px) {
.policy-view {
padding: 24px 8px
}

.policy-view table {
display: block;
overflow-x: auto
}
}

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

.blog-dtl__title-zone {
background: #1C2748;
padding: 96px 24px;
position: relative;
overflow: hidden
}

.blog-dtl__title-zone::before {
content: '';
position: absolute;
top: -120px;
left: -80px;
width: 340px;
height: 340px;
background: radial-gradient(ellipse at center, #c514282e 0%, transparent 70%);
filter: blur(60px);
pointer-events: none
}

.blog-dtl__title-zone::after {
content: '';
position: absolute;
bottom: -90px;
right: -110px;
width: 420px;
height: 420px;
background: radial-gradient(ellipse at center, #fbfaf71f 0%, transparent 70%);
filter: blur(70px);
pointer-events: none
}

.blog-dtl__title-container {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1;
text-align: center
}

.blog-dtl__meta-row {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
gap: 24px;
margin-bottom: 24px;
flex-wrap: wrap
}

.blog-dtl__tag-item {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
line-height: 1.3;
color: #FBFAF7;
letter-spacing: .02em
}

.blog-dtl__tag-dot {
width: 8px;
height: 8px;
background: #C51428;
border-radius: 36px
}

.blog-dtl__title-h1 {
font-size: 70px;
line-height: 1.1;
color: #FBFAF7;
margin: 0 0 24px;
letter-spacing: -.02em;
font-weight: 700
}

.blog-dtl__quick-link {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: #fbfaf726;
color: #FBFAF7;
text-decoration: none;
border-radius: 4px;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
transition: background .42s cubic-bezier(0.16, 1, 0.3, 1), transform .42s cubic-bezier(0.16, 1, 0.3, 1)
}

.blog-dtl__quick-link:hover {
background: #c5142840;
transform: translateY(-2px)
}

.blog-dtl__quick-link svg {
width: 18px;
height: 18px;
transition: transform .38s ease-in-out
}

.blog-dtl__quick-link:hover svg {
transform: translateX(4px)
}

.blog-dtl__divider-geo {
height: 48px;
background: #FBFAF7;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
overflow: hidden
}

.blog-dtl__geo-shape {
width: 24px;
height: 24px;
background: #C51428;
opacity: .15;
transform: rotate(45deg)
}

.blog-dtl__geo-shape:nth-child(even) {
background: #1C2748;
opacity: .12
}

.blog-dtl__info-grid {
padding: 96px 24px;
background: #fff;
position: relative
}

.blog-dtl__info-grid::before {
content: '';
position: absolute;
top: 50%;
right: 8%;
width: 280px;
height: 280px;
background: #FBFAF7;
border-radius: 36px;
transform: translateY(-50%) rotate(12deg);
opacity: .6;
pointer-events: none;
z-index: 0;
animation: blog-dtl-rotate 28s linear infinite
}

@keyframes blog-dtl-rotate {
from {
transform: translateY(-50%) rotate(12deg)
}

to {
transform: translateY(-50%) rotate(372deg)
}
}

.blog-dtl__info-container {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1
}

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

.blog-dtl__stat-box {
background: #fff;
padding: 24px;
border-radius: 7px;
text-align: center;
box-shadow: 0 5px 20px 1px #1c274817;
transition: transform .48s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .48s cubic-bezier(0.16, 1, 0.3, 1);
opacity: 0;
animation: blog-dtl-appear .52s ease-in-out forwards
}

.blog-dtl__stat-box:nth-child(1) {
animation-delay: .1s
}

.blog-dtl__stat-box:nth-child(2) {
animation-delay: .2s
}

.blog-dtl__stat-box:nth-child(3) {
animation-delay: .3s
}

.blog-dtl__stat-box:nth-child(4) {
animation-delay: .4s
}

@keyframes blog-dtl-appear {
from {
opacity: 0;
transform: translateY(24px)
}

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

.blog-dtl__stat-box:hover {
transform: translateY(-4px);
box-shadow: 0 10px 36px 1px #1c274824
}

.blog-dtl__stat-icon {
width: 48px;
height: 48px;
margin: 0 auto 12px;
display: flex;
align-items: center;
justify-content: center;
background: #FBFAF7;
border-radius: 36px
}

.blog-dtl__stat-icon svg {
width: 24px;
height: 24px;
fill: #1C2748
}

.blog-dtl__stat-number {
font-size: 28px;
line-height: 1.1;
color: #1C2748;
font-weight: 700;
margin: 0 0 8px;
letter-spacing: -.01em
}

.blog-dtl__stat-label {
font-size: 14px;
line-height: 1.3;
color: #1C2748;
opacity: .7;
margin: 0;
letter-spacing: .01em
}

.blog-dtl__article-zone {
padding: 96px 24px;
background: #FBFAF7
}

.blog-dtl__article-container {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.blog-dtl__article-col {
display: flex;
flex-direction: column;
gap: 24px
}

.blog-dtl__subtitle-box {
background: #fff;
padding: 24px;
border-radius: 7px;
box-shadow: 0 3px 2px 1px #1c27480d
}

.blog-dtl__subtitle-label {
font-size: 14px;
line-height: 1.3;
color: #1C2748;
opacity: .6;
margin: 0 0 8px;
letter-spacing: .02em;
text-transform: uppercase
}

.blog-dtl__subtitle-text {
font-size: 21px;
line-height: 1.6;
color: #1C2748;
margin: 0;
letter-spacing: 0;
font-weight: 600
}

.blog-dtl__content-prose {
background: #fff;
padding: 48px;
border-radius: 7px;
box-shadow: 0 5px 20px 1px #1c274817
}

.blog-dtl__content-prose p {
font-size: 17px;
line-height: 1.9;
color: #1C2748;
margin: 0 0 24px;
letter-spacing: .01em
}

.blog-dtl__content-prose p:last-child {
margin-bottom: 0
}

.blog-dtl__content-prose h2 {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 48px 0 24px;
letter-spacing: -.01em;
font-weight: 700;
position: relative;
padding-left: 24px
}

.blog-dtl__content-prose h2:first-child {
margin-top: 0
}

.blog-dtl__content-prose h2::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: #C51428;
border-radius: 4px
}

.blog-dtl__content-prose h3 {
font-size: 21px;
line-height: 1.3;
color: #1C2748;
margin: 24px 0 12px;
letter-spacing: 0;
font-weight: 600
}

.blog-dtl__content-prose small {
font-size: 14px;
line-height: 1.6;
color: #1C2748;
opacity: .7;
display: block;
margin: 12px 0;
letter-spacing: .01em
}

.blog-dtl__content-prose ul {
margin: 24px 0;
padding: 0;
list-style: none
}

.blog-dtl__content-prose li {
font-size: 17px;
line-height: 1.9;
color: #1C2748;
margin: 0 0 12px;
padding-left: 28px;
position: relative;
letter-spacing: .01em
}

.blog-dtl__content-prose li::before {
content: '';
position: absolute;
left: 0;
top: 12px;
width: 0;
height: 0;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent;
border-left: 8px solid #C51428
}

.blog-dtl__content-prose blockquote {
background: #FBFAF7;
padding: 24px;
margin: 24px 0;
border-radius: 7px;
border-left: 4px solid #C51428;
font-size: 17px;
line-height: 1.6;
color: #1C2748;
font-style: italic;
letter-spacing: .01em
}

.blog-dtl__content-prose details {
background: #FBFAF7;
padding: 24px;
margin: 24px 0;
border-radius: 7px
}

.blog-dtl__content-prose summary {
font-size: 17px;
line-height: 1.3;
color: #1C2748;
font-weight: 600;
cursor: pointer;
letter-spacing: 0;
transition: color .35s cubic-bezier(0.16, 1, 0.3, 1)
}

.blog-dtl__content-prose summary:hover {
color: #C51428
}

.blog-dtl__content-prose details[open] summary {
margin-bottom: 12px
}

.blog-dtl__image-block {
background: #fff;
padding: 24px;
border-radius: 7px;
box-shadow: 0 5px 20px 1px #1c274817
}

.blog-dtl__image-wrapper {
width: 100%;
height: 380px;
border-radius: 4px;
overflow: hidden;
position: relative
}

.blog-dtl__image-wrapper img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .55s cubic-bezier(0.16, 1, 0.3, 1)
}

.blog-dtl__image-wrapper:hover img {
transform: scale(1.06)
}

.blog-dtl__actions-zone {
padding: 96px 24px;
background: #fff;
text-align: center
}

.blog-dtl__actions-container {
max-width: 1320px;
margin: 0 auto
}

.blog-dtl__actions-heading {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 48px;
letter-spacing: -.01em;
font-weight: 700
}

.blog-dtl__btn-group {
display: flex;
flex-direction: row;
justify-content: center;
gap: 24px;
flex-wrap: wrap
}

.blog-dtl__btn-primary {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: #1C2748;
color: #fff;
text-decoration: none;
border-radius: 4px;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
border: none;
cursor: pointer;
transition: background .45s ease-in-out, transform .45s ease-in-out, box-shadow .45s ease-in-out;
box-shadow: 0 3px 2px 1px #1c27480d
}

.blog-dtl__btn-primary:hover {
background: #0f1829;
transform: translateY(-2px);
box-shadow: 0 10px 36px 1px #1c274824
}

.blog-dtl__btn-primary:active {
transform: translateY(0);
box-shadow: inset 0 3px 8px #0003
}

.blog-dtl__btn-primary svg {
width: 18px;
height: 18px;
transition: transform .38s ease-in-out
}

.blog-dtl__btn-primary:hover svg {
transform: translateX(6px)
}

.blog-dtl__btn-secondary {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 12px 24px;
background: #FBFAF7;
color: #1C2748;
text-decoration: none;
border-radius: 4px;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
border: none;
cursor: pointer;
transition: background .4s cubic-bezier(0.16, 1, 0.3, 1), transform .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.blog-dtl__btn-secondary:hover {
background: #eeede6;
transform: translateY(-2px)
}

.blog-dtl__btn-secondary:active {
transform: translateY(0);
box-shadow: inset 0 2px 6px #1c274826
}

.blog-dtl__btn-secondary svg {
width: 18px;
height: 18px;
transition: transform .38s ease-in-out
}

.blog-dtl__btn-secondary:hover svg {
transform: translateX(6px)
}

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

.blog-dtl__title-h1 {
font-size: 56px
}
}

@media (max-width: 768px) {
.blog-dtl__title-zone {
padding: 48px 24px
}

.blog-dtl__title-h1 {
font-size: 42px
}

.blog-dtl__info-blocks {
grid-template-columns: 1fr
}

.blog-dtl__article-container {
grid-template-columns: 1fr;
gap: 24px
}

.blog-dtl__content-prose {
padding: 24px
}

.blog-dtl__btn-group {
flex-direction: column;
align-items: stretch
}

.blog-dtl__info-grid {
padding: 48px 24px
}

.blog-dtl__actions-zone {
padding: 48px 24px
}

.blog-dtl__article-zone {
padding: 48px 24px
}
}

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

.blog-dtl__stat-number {
font-size: 24px
}

.blog-dtl__actions-heading {
font-size: 24px
}

.blog-dtl__content-prose h2 {
font-size: 24px
}
}

.qz {
background: #FBFAF7;
overflow-x: clip
}

.qz__intro {
max-width: 1320px;
margin: 0 auto;
padding: 96px 24px;
display: flex;
flex-direction: row;
align-items: center;
gap: 48px;
position: relative
}

.qz__intro::before {
content: '';
position: absolute;
top: 24px;
right: 24px;
width: 280px;
height: 280px;
border-radius: 50%;
background: radial-gradient(ellipse at center, #c5142814, transparent);
pointer-events: none;
z-index: 1;
filter: blur(48px)
}

.qz__intro::after {
content: '';
position: absolute;
bottom: 48px;
left: 48px;
width: 320px;
height: 320px;
border-radius: 50%;
background: radial-gradient(ellipse at center, #1c27480f, transparent);
pointer-events: none;
z-index: 1;
filter: blur(64px)
}

.qz__frame {
flex: 0 0 480px;
position: relative;
z-index: 2
}

.qz__frame-deco {
position: relative;
border-radius: 7px;
overflow: hidden;
box-shadow: 0 10px 36px 1px #1c274824
}

.qz__frame-deco::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60%;
background: linear-gradient(180deg, #c5142859 0%, transparent 100%);
z-index: 2;
pointer-events: none
}

.qz__visual {
width: 100%;
height: 520px;
object-fit: cover;
display: block;
opacity: 0;
transform: translateY(24px);
animation: qzReveal .85s cubic-bezier(0.16, 1, 0.3, 1) .2s forwards
}

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

.qz__text-zone {
flex: 1;
position: relative;
z-index: 2
}

.qz__title {
font-size: 70px;
line-height: 1.1;
letter-spacing: -.03em;
color: #1C2748;
margin: 0 0 24px
}

.qz__divider {
width: 64px;
height: 4px;
background: #C51428;
border-radius: 4px;
margin: 0 0 24px
}

.qz__desc {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
color: #1C2748;
margin: 0;
opacity: .85
}

.qz__assess {
background: #fff;
position: relative;
padding: 96px 24px;
clip-path: polygon(0 0, 100% 48px, 100% 100%, 0 calc(100% - 48px))
}

.qz__assess-inner {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 240px 1fr;
gap: 48px;
align-items: start
}

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

.qz__sidebar-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 12px;
padding: 24px;
background: #FBFAF7;
border-radius: 7px;
box-shadow: 0 3px 2px 1px #c514280d;
transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s ease-in-out
}

.qz__sidebar-item:hover {
transform: translateY(-4px);
box-shadow: 0 5px 20px 1px #c5142817
}

.qz__sidebar-icon {
width: 48px;
height: 48px;
border-radius: 50%;
background: radial-gradient(ellipse at center, #1c27481f, transparent);
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.qz__sidebar-icon::before {
content: '';
width: 20px;
height: 20px;
background: #C51428;
clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
transition: transform .48s ease-in-out
}

.qz__sidebar-item:hover .qz__sidebar-icon::before {
transform: rotate(60deg)
}

.qz__sidebar-label {
font-size: 14px;
line-height: 1.3;
letter-spacing: .02em;
color: #1C2748;
text-align: center;
margin: 0;
font-weight: 600
}

.qz__questions {
display: flex;
flex-direction: column;
gap: 48px
}

.qz__question-block {
background: #FBFAF7;
border-radius: 7px;
padding: 48px;
box-shadow: 0 5px 20px 1px #1c274817;
position: relative;
transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.qz__question-block:hover {
box-shadow: 0 10px 36px 1px #1c274824
}

.qz__question-num {
position: absolute;
top: 24px;
right: 24px;
font-size: 70px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1C2748;
opacity: .08;
font-weight: 700;
pointer-events: none
}

.qz__question-heading {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.01em;
color: #1C2748;
margin: 0 0 24px;
position: relative;
padding-left: 24px
}

.qz__question-heading::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: #C51428;
border-radius: 4px
}

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

.qz__option {
position: relative
}

.qz__option-input {
position: absolute;
opacity: 0;
pointer-events: none
}

.qz__option-label {
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 24px;
background: #fff;
border-radius: 7px;
cursor: pointer;
transition: background .38s ease-in-out, box-shadow .38s cubic-bezier(0.16, 1, 0.3, 1), transform .38s ease-in-out;
border: 2px solid transparent
}

.qz__option-label:hover {
background: #fbfaf799;
box-shadow: 0 3px 2px 1px #c514280d;
transform: translateX(4px)
}

.qz__option-input:checked+.qz__option-label {
background: #c514280d;
border-color: #C51428;
box-shadow: inset 0 2px 4px #c514281f
}

.qz__option-mark {
width: 24px;
height: 24px;
border-radius: 50%;
border: 2px solid #1C2748;
flex-shrink: 0;
position: relative;
transition: border-color .35s ease-in-out, background .35s ease-in-out
}

.qz__option-input:checked+.qz__option-label .qz__option-mark {
border-color: #C51428;
background: #C51428
}

.qz__option-mark::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 8px;
height: 8px;
background: #fff;
border-radius: 50%;
transform: translate(-50%, -50%) scale(0);
transition: transform .35s cubic-bezier(0.16, 1, 0.3, 1)
}

.qz__option-input:checked+.qz__option-label .qz__option-mark::after {
transform: translate(-50%, -50%) scale(1)
}

.qz__option-text {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
color: #1C2748;
margin: 0;
flex: 1
}

.qz__progress {
background: #FBFAF7;
padding: 96px 24px;
position: relative
}

.qz__progress::before {
content: '';
position: absolute;
top: 48px;
right: 96px;
width: 180px;
height: 180px;
border: 2px solid #c5142814;
border-radius: 50%;
pointer-events: none
}

.qz__progress::after {
content: '';
position: absolute;
top: 24px;
right: 72px;
width: 228px;
height: 228px;
border: 2px solid #1c27480f;
border-radius: 50%;
pointer-events: none
}

.qz__progress-inner {
max-width: 1320px;
margin: 0 auto;
text-align: center;
position: relative;
z-index: 2
}

.qz__progress-title {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.01em;
color: #1C2748;
margin: 0 0 48px
}

.qz__checklist {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24px;
margin: 0 0 48px
}

.qz__check-item {
background: #fff;
border-radius: 7px;
padding: 24px;
display: flex;
flex-direction: row;
align-items: center;
gap: 12px;
box-shadow: 0 3px 2px 1px #1c27480d;
text-align: left;
transition: opacity .4s ease-in-out
}

.qz__check-item:hover~.qz__check-item {
opacity: .5
}

.qz__check-box {
width: 32px;
height: 32px;
border-radius: 4px;
background: #FBFAF7;
border: 2px solid #1C2748;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.qz__check-box::before {
content: '';
width: 16px;
height: 8px;
border-left: 3px solid #fff;
border-bottom: 3px solid #fff;
transform: rotate(-45deg) translateY(-2px);
opacity: 0
}

.qz__check-item.qz__check-item--done .qz__check-box {
background: #C51428;
border-color: #C51428
}

.qz__check-item.qz__check-item--done .qz__check-box::before {
opacity: 1
}

.qz__check-text {
font-size: 17px;
line-height: 1.6;
letter-spacing: .01em;
color: #1C2748;
margin: 0;
flex: 1
}

.qz__progress-counter {
font-size: 21px;
line-height: 1.3;
letter-spacing: 0;
color: #1C2748;
margin: 0 0 48px;
font-weight: 600
}

.qz__progress-counter span {
color: #C51428
}

.qz__divider-wrap {
display: flex;
align-items: center;
justify-content: center;
margin: 48px 0;
position: relative
}

.qz__divider-line {
height: 2px;
background: linear-gradient(90deg, transparent, #1c27481f, transparent);
flex: 1
}

.qz__divider-shape {
width: 24px;
height: 24px;
background: #C51428;
transform: rotate(45deg);
margin: 0 24px;
animation: qzRotate 8s linear infinite
}

@keyframes qzRotate {
from {
transform: rotate(45deg)
}

to {
transform: rotate(405deg)
}
}

.qz__submit-btn {
display: inline-flex;
flex-direction: row;
align-items: center;
gap: 12px;
padding: 24px 48px;
background: #1C2748;
color: #fff;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
border: none;
border-radius: 36px;
cursor: pointer;
transition: background .47s ease-in-out, transform .47s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .47s ease-in-out;
box-shadow: 0 5px 20px 1px #1c274817;
font-weight: 600;
position: relative;
overflow: hidden
}

.qz__submit-btn:hover {
background: #0f1a30;
transform: translateY(-2px);
box-shadow: 0 10px 36px 1px #1c274824
}

.qz__submit-btn:active {
transform: translateY(0);
box-shadow: inset 0 3px 8px #0003
}

.qz__submit-btn::after {
content: '';
width: 12px;
height: 12px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transform: rotate(45deg);
transition: transform .4s cubic-bezier(0.16, 1, 0.3, 1)
}

.qz__submit-btn:hover::after {
transform: rotate(45deg) translateX(4px)
}

@media (max-width: 1366px) {
.qz__intro {
padding: 48px 24px;
gap: 24px
}

.qz__frame {
flex: 0 0 400px
}

.qz__visual {
height: 440px
}

.qz__title {
font-size: 28px
}

.qz__assess-inner {
grid-template-columns: 200px 1fr;
gap: 24px
}

.qz__question-block {
padding: 24px
}

.qz__checklist {
grid-template-columns: 1fr
}
}

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

.qz__frame {
flex: 0 0 auto;
width: 100%
}

.qz__visual {
height: 360px
}

.qz__title {
font-size: 28px
}

.qz__desc {
font-size: 17px
}

.qz__assess {
padding: 48px 24px;
clip-path: polygon(0 0, 100% 24px, 100% 100%, 0 calc(100% - 24px))
}

.qz__assess-inner {
grid-template-columns: 1fr;
gap: 24px
}

.qz__sidebar {
flex-direction: row;
overflow-x: auto
}

.qz__sidebar-item {
flex: 0 0 160px
}

.qz__questions {
gap: 24px
}

.qz__question-block {
padding: 24px
}

.qz__question-num {
font-size: 28px;
top: 12px;
right: 12px
}

.qz__question-heading {
font-size: 21px;
padding-left: 12px
}

.qz__option-label {
padding: 12px
}

.qz__progress {
padding: 48px 24px
}

.qz__progress-title {
font-size: 21px;
margin: 0 0 24px
}

.qz__checklist {
margin: 0 0 24px
}

.qz__progress-counter {
margin: 0 0 24px
}

.qz__submit-btn {
padding: 12px 24px
}
}

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

.qz__title {
font-size: 21px
}

.qz__desc {
font-size: 14px
}

.qz__assess {
padding: 24px 12px
}

.qz__question-heading {
font-size: 17px
}

.qz__option-text {
font-size: 14px
}

.qz__progress {
padding: 24px 12px
}

.qz__progress-title {
font-size: 17px
}

.qz__check-text {
font-size: 14px
}
}

.blg {
background: #FBFAF7;
overflow-x: clip
}

.blg__title-wrap {
max-width: 1320px;
margin: 0 auto;
padding: 96px 24px 48px;
text-align: center;
position: relative;
background: linear-gradient(ellipse at center, #1c274808, transparent)
}

.blg__title-wrap::before {
content: '';
position: absolute;
top: 48px;
left: 12%;
width: 8px;
height: 8px;
background: #c5142826;
border-radius: 36px;
animation: blg-pulse-a 4.2s cubic-bezier(0.16, 1, 0.3, 1) infinite
}

.blg__title-wrap::after {
content: '';
position: absolute;
bottom: 96px;
right: 18%;
width: 12px;
height: 12px;
background: #1c27481f;
border-radius: 36px;
animation: blg-pulse-b 5.1s cubic-bezier(0.16, 1, 0.3, 1) infinite
}

.blg__dot-a {
position: absolute;
top: 24%;
right: 8%;
width: 6px;
height: 6px;
background: #c514282e;
border-radius: 36px;
animation: blg-pulse-c 3.8s ease-in-out infinite
}

.blg__dot-b {
position: absolute;
bottom: 32%;
left: 15%;
width: 10px;
height: 10px;
background: #1c27481a;
border-radius: 36px
}

.blg__dot-c {
position: absolute;
top: 18%;
left: 25%;
width: 5px;
height: 5px;
background: #c514281f;
border-radius: 36px
}

@keyframes blg-pulse-a {

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

50% {
transform: scale(1.02);
opacity: .25
}
}

@keyframes blg-pulse-b {

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

50% {
transform: scale(1.02);
opacity: .22
}
}

@keyframes blg-pulse-c {

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

50% {
transform: scale(1.02);
opacity: .28
}
}

.blg__main-heading {
font-size: 70px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1C2748;
margin: 0 0 24px
}

.blg__intro-list {
list-style: none;
padding: 0;
margin: 0 0 48px;
display: flex;
flex-direction: column;
gap: 12px;
align-items: center
}

.blg__intro-item {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
position: relative;
padding-left: 24px
}

.blg__intro-item::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 0;
height: 0;
border-left: 6px solid #C51428;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent
}

.blg__title-image {
width: 100%;
max-width: 800px;
height: 420px;
object-fit: cover;
border-radius: 7px;
display: block;
margin: 0 auto;
position: relative;
box-shadow: 0 5px 20px 1px #1c274817
}

.blg__title-image::after {
content: '';
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, transparent 40%, #1c274840);
pointer-events: none;
border-radius: 7px
}

.blg__divider-top {
max-width: 1320px;
margin: 0 auto;
padding: 0 24px;
display: flex;
justify-content: space-between;
align-items: center;
gap: 24px
}

.blg__divider-line {
width: 80px;
height: 2px;
background: linear-gradient(90deg, #C51428, #c514284d)
}

.blg__divider-line--right {
background: linear-gradient(270deg, #C51428, #c514284d)
}

.blg__posts-section {
max-width: 1320px;
margin: 0 auto;
padding: 96px 24px
}

.blg__posts-grid {
display: grid;
grid-template-columns: 1.2fr 0.8fr 1fr;
gap: 24px
}

.blg__post-card {
background: #fff;
border-radius: 7px;
overflow: hidden;
box-shadow: 0 3px 2px 1px #1c27480d;
transition: box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1), transform .38s ease-in-out;
display: flex;
flex-direction: column;
position: relative
}

.blg__post-card:hover {
box-shadow: 0 10px 36px 1px #1c274824;
transform: translateY(-4px)
}

.blg__post-image-wrap {
width: 100%;
height: 240px;
overflow: hidden;
position: relative
}

.blg__post-image {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform .52s cubic-bezier(0.16, 1, 0.3, 1)
}

.blg__post-card:hover .blg__post-image {
transform: scale(1.05)
}

.blg__post-tags {
position: absolute;
top: 12px;
left: 12px;
display: flex;
gap: 8px;
z-index: 2
}

.blg__post-tag {
background: #fbfaf7f2;
color: #1C2748;
font-size: 14px;
line-height: 1.3;
padding: 4px 12px;
border-radius: 4px;
font-weight: 500
}

.blg__post-content {
padding: 24px;
display: flex;
flex-direction: column;
flex-grow: 1
}

.blg__post-subtitle {
font-size: 14px;
line-height: 1.3;
color: #C51428;
margin: 0 0 8px;
letter-spacing: .03em;
text-transform: uppercase;
font-weight: 600
}

.blg__post-title {
font-size: 21px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 12px;
letter-spacing: -.01em;
font-weight: 700
}

.blg__post-description {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
margin: 0 0 24px;
flex-grow: 1
}

.blg__post-meta {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 24px;
border-top: 1px solid #1c27481a
}

.blg__post-author {
font-size: 14px;
line-height: 1.3;
color: #1C2748;
font-weight: 500
}

.blg__post-stats {
display: flex;
gap: 12px;
align-items: center
}

.blg__post-stat {
font-size: 14px;
line-height: 1.3;
color: #1c274899;
display: flex;
align-items: center;
gap: 4px
}

.blg__post-stat::before {
content: '';
width: 4px;
height: 4px;
background: #C51428;
border-radius: 36px
}

.blg__post-link {
position: absolute;
inset: 0;
z-index: 1
}

.blg__insight-section {
background: #fff;
padding: 96px 24px;
position: relative
}

.blg__insight-section::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg, transparent, #c5142833 20%, #c5142833 80%, transparent)
}

.blg__insight-wrap {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: center
}

.blg__insight-text {
padding-right: 24px
}

.blg__insight-heading {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 24px;
position: relative;
padding-left: 24px
}

.blg__insight-heading::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: linear-gradient(180deg, #C51428, #c514284d);
border-radius: 4px
}

.blg__insight-paragraph {
font-size: 17px;
line-height: 1.9;
color: #1C2748;
margin: 0 0 24px
}

.blg__insight-paragraph:last-child {
margin-bottom: 0
}

.blg__insight-visual {
position: relative;
padding: 48px;
background: radial-gradient(ellipse at center, #c514280d, transparent);
border-radius: 7px
}

.blg__insight-circles {
position: relative;
width: 100%;
aspect-ratio: 1;
display: flex;
align-items: center;
justify-content: center
}

.blg__insight-circle {
position: absolute;
border-radius: 36px;
border: 2px solid;
transition: opacity .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.blg__insight-circle--outer {
width: 280px;
height: 280px;
border-color: #c5142826
}

.blg__insight-circle--mid {
width: 200px;
height: 200px;
border-color: #1c27481f
}

.blg__insight-circle--inner {
width: 120px;
height: 120px;
border-color: #c5142833;
background: #fbfaf7cc
}

.blg__insight-visual:hover .blg__insight-circle--outer {
opacity: .3;
transform: scale(1.08)
}

.blg__insight-visual:hover .blg__insight-circle--mid {
opacity: .6;
transform: scale(0.95)
}

.blg__insight-visual:hover .blg__insight-circle--inner {
opacity: 1;
transform: scale(1.1)
}

.blg__rhythm-section {
background: #FBFAF7;
padding: 96px 24px;
position: relative
}

.blg__rhythm-wrap {
max-width: 1320px;
margin: 0 auto;
text-align: center
}

.blg__rhythm-heading {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 48px
}

.blg__rhythm-grid {
display: grid;
grid-template-columns: 0.7fr 1.3fr 1fr;
gap: 24px
}

.blg__rhythm-card {
background: #fff;
padding: 48px 24px;
border-radius: 7px;
box-shadow: 0 3px 2px 1px #c514280d;
transition: box-shadow .48s ease-in-out, transform .35s cubic-bezier(0.16, 1, 0.3, 1);
position: relative
}

.blg__rhythm-card:hover {
box-shadow: 0 10px 36px 1px #c5142824;
transform: translateY(-8px)
}

.blg__rhythm-card--accent {
background: linear-gradient(ellipse at center, #fbfaf7ff, #fbfaf7f2);
border: 2px solid #c514281a
}

.blg__rhythm-icon {
width: 64px;
height: 64px;
margin: 0 auto 24px;
background: linear-gradient(135deg, #c514281a, #1c274814);
border-radius: 36px;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.blg__rhythm-icon::before {
content: '';
width: 24px;
height: 24px;
background: #C51428;
border-radius: 4px;
transform: rotate(45deg);
opacity: .8
}

.blg__rhythm-card-title {
font-size: 21px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 12px;
font-weight: 700
}

.blg__rhythm-card-text {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
margin: 0
}

.blg__approach-section {
background: #fff;
padding: 96px 24px;
position: relative
}

.blg__approach-section::before {
content: '';
position: absolute;
top: 0;
left: 24px;
width: 120px;
height: 2px;
background: linear-gradient(90deg, #1c27484d, transparent)
}

.blg__approach-section::after {
content: '';
position: absolute;
top: 0;
right: 24px;
width: 120px;
height: 2px;
background: linear-gradient(270deg, #1c27484d, transparent)
}

.blg__approach-wrap {
max-width: 1320px;
margin: 0 auto
}

.blg__approach-heading {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 48px;
text-align: center
}

.blg__approach-columns {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px
}

.blg__approach-column {
font-size: 17px;
line-height: 1.9;
color: #1C2748
}

.blg__approach-paragraph {
margin: 0 0 24px
}

.blg__approach-paragraph:last-child {
margin-bottom: 0
}

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

.blg__rhythm-grid {
grid-template-columns: 1fr 1fr
}
}

@media (max-width: 768px) {
.blg__title-wrap {
padding: 48px 24px 24px
}

.blg__main-heading {
font-size: 28px
}

.blg__title-image {
height: 280px
}

.blg__posts-section {
padding: 48px 24px
}

.blg__posts-grid {
grid-template-columns: 1fr
}

.blg__insight-wrap {
grid-template-columns: 1fr;
gap: 24px
}

.blg__insight-text {
padding-right: 0
}

.blg__insight-visual {
padding: 24px
}

.blg__insight-circles {
max-width: 300px;
margin: 0 auto
}

.blg__insight-circle--outer {
width: 220px;
height: 220px
}

.blg__insight-circle--mid {
width: 160px;
height: 160px
}

.blg__insight-circle--inner {
width: 100px;
height: 100px
}

.blg__rhythm-section {
padding: 48px 24px
}

.blg__rhythm-grid {
grid-template-columns: 1fr
}

.blg__approach-section {
padding: 48px 24px
}

.blg__approach-columns {
grid-template-columns: 1fr;
gap: 24px
}
}

@media (max-width: 375px) {
.blg__main-heading {
font-size: 21px
}

.blg__intro-item {
font-size: 14px
}

.blg__title-image {
height: 220px
}

.blg__post-image-wrap {
height: 180px
}

.blg__post-content {
padding: 12px
}

.blg__insight-heading,
.blg__rhythm-heading,
.blg__approach-heading {
font-size: 21px
}
}

.gm-base {
max-width: 1320px;
margin: 0 auto;
background: #FBFAF7
}

.gm-base__opening {
display: flex;
flex-direction: row;
align-items: center;
gap: 48px;
padding: 96px 48px;
position: relative;
overflow: hidden
}

.gm-base__opening::before {
content: '';
position: absolute;
top: 24px;
right: 48px;
width: 120px;
height: 80px;
background: repeating-linear-gradient(0deg, #C51428, #C51428 2px, transparent 2px, transparent 8px);
opacity: .15;
pointer-events: none
}

.gm-base__opening::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 12"><path d="M0,6 Q30,0 60,6 T120,6 T180,6 T240,6 T300,6 T360,6 T420,6 T480,6 T540,6 T600,6 T660,6 T720,6 T780,6 T840,6 T900,6 T960,6 T1020,6 T1080,6 T1140,6 T1200,6" fill="none" stroke="%231C2748" stroke-width="2"/></svg>') repeat-x;
background-size: 600px 12px
}

.gm-base__opening-visual {
flex-shrink: 0;
width: 280px;
height: 280px;
border-radius: 7px;
overflow: hidden;
opacity: .4;
box-shadow: 0 5px 20px 1px #1c274817;
animation: gm-rotate-in .45s cubic-bezier(0.16, 1, 0.3, 1) forwards
}

@keyframes gm-rotate-in {
from {
opacity: 0;
transform: rotate(-5deg) scale(0.92)
}

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

.gm-base__opening-visual img {
width: 100%;
height: 100%;
object-fit: cover;
display: block
}

.gm-base__opening-content {
flex: 1;
position: relative
}

.gm-base__opening-dots {
position: absolute;
top: -24px;
left: -12px;
display: flex;
gap: 8px;
pointer-events: none
}

.gm-base__opening-dots span {
width: 4px;
height: 4px;
border-radius: 36px;
background: #C51428;
opacity: .3
}

.gm-base__opening-title {
font-size: 70px;
line-height: 1.1;
letter-spacing: -.02em;
color: #1C2748;
font-weight: 700;
margin: 0 0 24px
}

.gm-base__opening-text {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
margin: 0;
max-width: 520px
}

.gm-base__featured {
padding: 96px 48px;
background: linear-gradient(ellipse at 50% 50%, #c5142808, transparent 70%);
position: relative
}

.gm-base__featured::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="2" cy="2" r="1" fill="%231C2748" opacity="0.04"/></svg>');
background-size: 100px 100px;
opacity: .3;
pointer-events: none
}

.gm-base__featured-head {
text-align: center;
margin: 0 0 48px
}

.gm-base__featured-label {
font-size: 14px;
line-height: 1.3;
letter-spacing: .08em;
color: #C51428;
text-transform: uppercase;
margin: 0 0 12px;
font-weight: 600
}

.gm-base__featured-heading {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0;
font-weight: 700;
position: relative;
display: inline-block;
padding-left: 24px
}

.gm-base__featured-heading::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: #C51428;
border-radius: 4px
}

.gm-base__featured-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
position: relative
}

.gm-base__featured-card {
background: #fff;
border-radius: 7px;
overflow: hidden;
box-shadow: 0 3px 2px 1px #1c27480d;
transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .42s cubic-bezier(0.16, 1, 0.3, 1);
animation: gm-card-appear .5s cubic-bezier(0.16, 1, 0.3, 1) backwards
}

.gm-base__featured-card:nth-child(1) {
animation-delay: .1s
}

.gm-base__featured-card:nth-child(2) {
animation-delay: .2s;
grid-row: span 2
}

.gm-base__featured-card:nth-child(3) {
animation-delay: .3s
}

@keyframes gm-card-appear {
from {
opacity: 0;
transform: rotate(-2deg) translateY(24px)
}

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

.gm-base__featured-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 36px 1px #1c274824
}

.gm-base__featured-card-img {
width: 100%;
height: 200px;
overflow: hidden;
position: relative
}

.gm-base__featured-card:nth-child(2) .gm-base__featured-card-img {
height: 320px
}

.gm-base__featured-card-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .55s ease-in-out
}

.gm-base__featured-card:hover .gm-base__featured-card-img img {
transform: scale(1.08)
}

.gm-base__featured-card-body {
padding: 24px
}

.gm-base__featured-card-title {
font-size: 21px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 12px;
font-weight: 600
}

.gm-base__featured-card-desc {
font-size: 14px;
line-height: 1.6;
color: #1C2748;
margin: 0;
opacity: .75
}

.gm-base__posts {
padding: 96px 48px;
background: #fff
}

.gm-base__posts-header {
text-align: center;
margin: 0 0 48px
}

.gm-base__posts-title {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0;
font-weight: 700
}

.gm-base__posts-list {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 48px
}

.gm-base__post-item {
display: flex;
flex-direction: column;
gap: 24px;
text-decoration: none;
color: inherit;
transition: transform .38s cubic-bezier(0.16, 1, 0.3, 1)
}

.gm-base__post-item:hover {
transform: translateX(4px)
}

.gm-base__post-img {
width: 100%;
height: 280px;
border-radius: 7px;
overflow: hidden;
box-shadow: 0 5px 20px 1px #1c274817;
position: relative
}

.gm-base__post-img img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform .5s ease-in-out
}

.gm-base__post-item:hover .gm-base__post-img img {
transform: scale(1.06)
}

.gm-base__post-meta {
display: flex;
gap: 12px;
align-items: center;
flex-wrap: wrap
}

.gm-base__post-tag {
font-size: 14px;
line-height: 1.3;
color: #fff;
background: #C51428;
padding: 4px 12px;
border-radius: 4px;
font-weight: 600
}

.gm-base__post-readtime {
font-size: 14px;
line-height: 1.3;
color: #1C2748;
opacity: .6
}

.gm-base__post-views {
font-size: 14px;
line-height: 1.3;
color: #1C2748;
opacity: .6;
margin-left: auto
}

.gm-base__post-title {
font-size: 21px;
line-height: 1.3;
color: #1C2748;
margin: 0;
font-weight: 700
}

.gm-base__post-subtitle {
font-size: 17px;
line-height: 1.6;
color: #1C2748;
margin: 0;
opacity: .8
}

.gm-base__post-desc {
font-size: 14px;
line-height: 1.6;
color: #1C2748;
margin: 0;
opacity: .7
}

.gm-base__post-author {
font-size: 14px;
line-height: 1.3;
color: #1C2748;
margin: 0;
font-weight: 600
}

.gm-base__habit {
padding: 96px 48px;
background: #FBFAF7;
position: relative;
overflow: hidden
}

.gm-base__habit::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 12"><path d="M0,6 L20,2 L40,8 L60,4 L80,9 L100,3 L120,7 L140,2 L160,8 L180,5 L200,9 L220,3 L240,6 L260,2 L280,8 L300,4 L320,9 L340,3 L360,7 L380,2 L400,8 L420,5 L440,9 L460,3 L480,6 L500,2 L520,8 L540,4 L560,9 L580,3 L600,7 L620,2 L640,8 L660,5 L680,9 L700,3 L720,6 L740,2 L760,8 L780,4 L800,9 L820,3 L840,7 L860,2 L880,8 L900,5 L920,9 L940,3 L960,6 L980,2 L1000,8 L1020,4 L1040,9 L1060,3 L1080,7 L1100,2 L1120,8 L1140,5 L1160,9 L1180,3 L1200,6" fill="none" stroke="%23C51428" stroke-width="1.5"/></svg>') repeat-x;
background-size: 600px 12px
}

.gm-base__habit-inner {
max-width: 800px;
margin: 0 auto;
text-align: center
}

.gm-base__habit-heading {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 24px;
font-weight: 700
}

.gm-base__habit-text {
font-size: 17px;
line-height: 1.9;
color: #1C2748;
margin: 0 0 48px;
column-count: 2;
column-gap: 48px;
text-align: left
}

.gm-base__habit-steps {
display: flex;
flex-direction: row;
gap: 24px;
justify-content: center
}

.gm-base__habit-step {
flex: 1;
max-width: 240px;
text-align: center
}

.gm-base__habit-step-num {
width: 80px;
height: 80px;
margin: 0 auto 24px;
border: 4px solid #C51428;
border-radius: 36px;
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
line-height: 1.1;
color: #C51428;
font-weight: 700;
position: relative;
animation: gm-pulse-border 2s cubic-bezier(0.16, 1, 0.3, 1) infinite
}

@keyframes gm-pulse-border {

0%,
100% {
border-color: #C51428;
transform: scale(1)
}

50% {
border-color: #c5142880;
transform: scale(1.05)
}
}

.gm-base__habit-step-title {
font-size: 17px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 8px;
font-weight: 600
}

.gm-base__habit-step-desc {
font-size: 14px;
line-height: 1.6;
color: #1C2748;
margin: 0;
opacity: .75
}

.gm-base__sections {
padding: 96px 48px;
background: #fff
}

.gm-base__sections-header {
text-align: center;
margin: 0 0 48px
}

.gm-base__sections-title {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0;
font-weight: 700
}

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

.gm-base__section-card {
background: #FBFAF7;
padding: 24px;
border-radius: 7px;
text-align: center;
text-decoration: none;
color: inherit;
transition: background .4s ease-in-out, transform .4s ease-in-out;
position: relative;
overflow: hidden
}

.gm-base__section-card::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, #c514280d, transparent);
transition: left .52s cubic-bezier(0.16, 1, 0.3, 1)
}

.gm-base__section-card:hover::before {
left: 100%
}

.gm-base__section-card:hover {
background: #c5142808;
transform: translateY(-4px)
}

.gm-base__section-icon {
width: 60px;
height: 60px;
margin: 0 auto 24px;
background: #fff;
border-radius: 36px;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 3px 2px 1px #1c27480d
}

.gm-base__section-icon svg {
width: 28px;
height: 28px;
fill: #C51428
}

.gm-base__section-name {
font-size: 17px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 8px;
font-weight: 600
}

.gm-base__section-detail {
font-size: 14px;
line-height: 1.6;
color: #1C2748;
margin: 0;
opacity: .7
}

.gm-base__reading {
padding: 96px 48px;
background: linear-gradient(ellipse at 50% 50%, #1c274808, transparent 70%);
position: relative
}

.gm-base__reading-inner {
max-width: 900px;
margin: 0 auto
}

.gm-base__reading-header {
text-align: center;
margin: 0 0 48px
}

.gm-base__reading-title {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0;
font-weight: 700
}

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

.gm-base__reading-item {
display: flex;
flex-direction: row;
align-items: flex-start;
gap: 24px;
padding: 24px;
background: #fff;
border-radius: 7px;
box-shadow: 0 3px 2px 1px #1c27480d;
transition: box-shadow .45s cubic-bezier(0.16, 1, 0.3, 1), transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.gm-base__reading-item:hover {
box-shadow: 0 10px 36px 1px #1c274824;
transform: translateX(8px)
}

.gm-base__reading-item::before {
content: '';
flex-shrink: 0;
width: 0;
height: 0;
border-top: 6px solid transparent;
border-bottom: 6px solid transparent;
border-left: 10px solid #C51428;
margin-top: 4px;
transition: transform .35s cubic-bezier(0.16, 1, 0.3, 1)
}

.gm-base__reading-item:hover::before {
transform: translateX(4px)
}

.gm-base__reading-link {
flex: 1;
text-decoration: none;
color: inherit
}

.gm-base__reading-link-title {
font-size: 17px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 8px;
font-weight: 600
}

.gm-base__reading-link-desc {
font-size: 14px;
line-height: 1.6;
color: #1C2748;
margin: 0;
opacity: .75
}

.gm-base__reading-stat {
flex-shrink: 0;
width: 60px;
height: 60px;
border: 3px solid #1C2748;
border-radius: 36px;
display: flex;
align-items: center;
justify-content: center;
font-size: 17px;
line-height: 1.1;
color: #1C2748;
font-weight: 700
}

@media (max-width: 1366px) {
.gm-base__opening {
padding: 48px 24px
}

.gm-base__opening-visual {
width: 240px;
height: 240px
}

.gm-base__opening-title {
font-size: 56px
}

.gm-base__featured,
.gm-base__posts,
.gm-base__habit,
.gm-base__sections,
.gm-base__reading {
padding: 48px 24px
}

.gm-base__sections-grid {
grid-template-columns: repeat(2, 1fr)
}
}

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

.gm-base__opening-visual {
width: 100%;
max-width: 320px;
height: 320px
}

.gm-base__opening-title {
font-size: 42px;
text-align: center
}

.gm-base__opening-text {
text-align: center;
max-width: 100%
}

.gm-base__opening-dots {
left: 50%;
transform: translateX(-50%)
}

.gm-base__featured-grid {
grid-template-columns: 1fr
}

.gm-base__featured-card:nth-child(2) {
grid-row: auto
}

.gm-base__featured-card:nth-child(2) .gm-base__featured-card-img {
height: 200px
}

.gm-base__posts-list {
grid-template-columns: 1fr;
gap: 48px
}

.gm-base__habit-text {
column-count: 1
}

.gm-base__habit-steps {
flex-direction: column;
align-items: center
}

.gm-base__sections-grid {
grid-template-columns: 1fr
}

.gm-base__reading-item {
flex-direction: column;
gap: 12px
}

.gm-base__reading-item::before {
display: none
}
}

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

.gm-base__opening-title {
font-size: 28px
}

.gm-base__opening-text {
font-size: 14px
}

.gm-base__featured,
.gm-base__posts,
.gm-base__habit,
.gm-base__sections,
.gm-base__reading {
padding: 24px 12px
}

.gm-base__featured-heading,
.gm-base__posts-title,
.gm-base__habit-heading,
.gm-base__sections-title,
.gm-base__reading-title {
font-size: 21px
}
}

.gm-base ::selection {
background: #1C2748;
color: #FBFAF7
}

.author-bio {
background: #FBFAF7;
color: #1C2748;
overflow-x: clip
}

.author-bio__intro {
position: relative;
padding: 96px 24px;
text-align: center;
background: linear-gradient(to bottom, #fff, #FBFAF7);
overflow: hidden
}

.author-bio__intro::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: linear-gradient(90deg, #1c274808 1px, transparent 1px), linear-gradient(#1c274808 1px, transparent 1px);
background-size: 48px 48px;
opacity: .4;
pointer-events: none
}

.author-bio__intro-content {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1
}

.author-bio__greeting {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.02em;
margin: 0 0 24px;
font-weight: 600;
filter: blur(8px);
animation: clarify-text .5s cubic-bezier(0.16, 1, 0.3, 1) .2s forwards
}

@keyframes clarify-text {
to {
filter: blur(0)
}
}

.author-bio__tagline {
font-size: 17px;
line-height: 1.6;
margin: 0 0 48px;
max-width: 680px;
margin-left: auto;
margin-right: auto;
color: #1c2748bf;
letter-spacing: .01em
}

.author-bio__link-visit {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 24px;
background: #1C2748;
color: #FBFAF7;
text-decoration: none;
border-radius: 4px;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
transition: background .45s cubic-bezier(0.16, 1, 0.3, 1), transform .4s ease-in-out;
margin-bottom: 48px
}

.author-bio__link-visit:hover {
background: #C51428
}

.author-bio__link-visit:hover .author-bio__link-arrow {
transform: translateX(4px)
}

.author-bio__link-arrow {
width: 16px;
height: 16px;
transition: transform .4s ease-in-out
}

.author-bio__intro-img {
max-width: 820px;
width: 100%;
height: auto;
margin: 0 auto;
display: block;
border-radius: 7px;
opacity: .65;
box-shadow: 0 10px 36px 1px #1c274824
}

.author-bio__journey {
padding: 96px 24px;
background: #fff;
position: relative
}

.author-bio__journey-inner {
max-width: 1320px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 48px;
align-items: start
}

.author-bio__journey-text {
display: flex;
flex-direction: column;
gap: 24px
}

.author-bio__journey-heading {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.01em;
margin: 0;
font-weight: 600;
position: relative;
padding-left: 24px
}

.author-bio__journey-heading::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 4px;
background: #C51428;
border-radius: 36px
}

.author-bio__journey-col {
column-count: 2;
column-gap: 24px;
font-size: 17px;
line-height: 1.6;
letter-spacing: .005em;
color: #1c2748d9
}

.author-bio__journey-col p {
margin: 0 0 24px;
break-inside: avoid
}

.author-bio__journey-col p:last-child {
margin-bottom: 0
}

.author-bio__journey-visual {
position: relative
}

.author-bio__journey-img {
width: 100%;
height: 520px;
object-fit: cover;
border-radius: 7px;
box-shadow: 0 5px 20px 1px #1c274817;
position: relative;
z-index: 2
}

.author-bio__journey-corner {
position: absolute;
top: 0;
right: 0;
width: 96px;
height: 96px;
background: #C51428;
border-radius: 0 7px 0 36px;
z-index: 3
}

.author-bio__stats {
padding: 96px 24px;
background: #C51428;
position: relative
}

.author-bio__stats::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image: radial-gradient(circle, #fbfaf714 1px, transparent 1px), radial-gradient(circle, #fbfaf714 1px, transparent 1px);
background-size: 24px 24px;
background-position: 0 0, 12px 12px;
pointer-events: none;
opacity: .5
}

.author-bio__stats-inner {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1
}

.author-bio__stats-title {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.01em;
margin: 0 0 48px;
text-align: center;
color: #FBFAF7;
font-weight: 600
}

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

.author-bio__stat-card {
background: #fbfaf7f2;
padding: 48px 24px;
border-radius: 7px;
text-align: center;
box-shadow: 0 3px 2px 1px #1c27480d;
transition: transform .42s cubic-bezier(0.16, 1, 0.3, 1), box-shadow .38s ease-in-out
}

.author-bio__stat-card:hover {
transform: translateY(-4px);
box-shadow: 0 10px 36px 1px #1c274824
}

.author-bio__stat-number {
font-size: 70px;
line-height: 1.1;
letter-spacing: -.03em;
margin: 0 0 12px;
font-weight: 700;
color: #C51428;
filter: blur(6px);
animation: clarify-number .55s cubic-bezier(0.16, 1, 0.3, 1) .4s forwards
}

@keyframes clarify-number {
to {
filter: blur(0)
}
}

.author-bio__stat-label {
font-size: 17px;
line-height: 1.3;
letter-spacing: .005em;
margin: 0;
color: #1C2748;
font-weight: 500
}

.author-bio__approach {
padding: 96px 24px;
background: #fff;
position: relative
}

.author-bio__approach::after {
content: '';
position: absolute;
bottom: 48px;
right: 48px;
width: 120px;
height: 120px;
background: radial-gradient(ellipse at center, #c5142814, transparent);
border-radius: 50%;
pointer-events: none;
opacity: .6
}

.author-bio__approach-spiral {
position: absolute;
top: 96px;
left: 24px;
width: 80px;
height: 80px;
opacity: .12;
pointer-events: none
}

.author-bio__approach-inner {
max-width: 1320px;
margin: 0 auto;
position: relative;
z-index: 1
}

.author-bio__approach-header {
text-align: center;
margin-bottom: 48px
}

.author-bio__approach-heading {
font-size: 28px;
line-height: 1.3;
letter-spacing: -.01em;
margin: 0 0 24px;
font-weight: 600;
color: #1C2748
}

.author-bio__approach-intro {
font-size: 17px;
line-height: 1.6;
letter-spacing: .005em;
margin: 0;
max-width: 720px;
margin-left: auto;
margin-right: auto;
color: #1c2748cc
}

.author-bio__approach-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 48px
}

.author-bio__approach-block {
display: flex;
flex-direction: column;
gap: 12px
}

.author-bio__approach-icon {
width: 48px;
height: 48px;
background: radial-gradient(ellipse at center, #c5142826, #1c274814);
border-radius: 7px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 12px;
transition: background .48s ease-in-out
}

.author-bio__approach-block:hover .author-bio__approach-icon {
background: radial-gradient(ellipse at center, #c5142840, #1c27481f)
}

.author-bio__approach-icon svg {
width: 24px;
height: 24px;
fill: #C51428
}

.author-bio__approach-subtitle {
font-size: 21px;
line-height: 1.3;
letter-spacing: -.005em;
margin: 0;
font-weight: 600;
color: #1C2748
}

.author-bio__approach-text {
font-size: 17px;
line-height: 1.6;
letter-spacing: .005em;
margin: 0;
color: #1c2748cc
}

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

.author-bio__approach-item {
font-size: 17px;
line-height: 1.6;
letter-spacing: .005em;
color: #1c2748cc;
padding-left: 24px;
position: relative
}

.author-bio__approach-item::before {
content: '';
position: absolute;
left: 0;
top: 10px;
width: 0;
height: 0;
border-left: 6px solid #C51428;
border-top: 4px solid transparent;
border-bottom: 4px solid transparent
}

.author-bio__divider-zigzag {
height: 24px;
background: repeating-linear-gradient(135deg, #1C2748 0px, #1C2748 12px, #FBFAF7 12px, #FBFAF7 24px)
}

@media (max-width: 1366px) {
.author-bio__intro {
padding: 48px 24px
}

.author-bio__greeting {
font-size: 28px
}

.author-bio__journey-inner {
gap: 24px
}

.author-bio__journey-img {
height: 420px
}

.author-bio__stats-grid {
gap: 24px
}

.author-bio__approach-grid {
gap: 24px
}
}

@media (max-width: 768px) {
.author-bio__intro {
padding: 48px 24px
}

.author-bio__greeting {
font-size: 21px
}

.author-bio__tagline {
font-size: 17px
}

.author-bio__journey {
padding: 48px 24px
}

.author-bio__journey-inner {
grid-template-columns: 1fr;
gap: 24px
}

.author-bio__journey-heading {
font-size: 21px;
padding-left: 24px
}

.author-bio__journey-col {
column-count: 1
}

.author-bio__journey-img {
height: 320px
}

.author-bio__journey-corner {
width: 48px;
height: 48px
}

.author-bio__stats {
padding: 48px 24px
}

.author-bio__stats-title {
font-size: 21px;
margin-bottom: 24px
}

.author-bio__stats-grid {
grid-template-columns: 1fr;
gap: 24px
}

.author-bio__stat-card {
padding: 24px
}

.author-bio__stat-number {
font-size: 28px
}

.author-bio__approach {
padding: 48px 24px
}

.author-bio__approach-heading {
font-size: 21px
}

.author-bio__approach-grid {
grid-template-columns: 1fr;
gap: 24px
}

.author-bio__approach-subtitle {
font-size: 17px
}
}

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

.author-bio__greeting {
font-size: 21px;
margin-bottom: 12px
}

.author-bio__tagline {
font-size: 14px;
margin-bottom: 24px
}

.author-bio__link-visit {
padding: 12px 24px;
font-size: 14px;
margin-bottom: 24px
}

.author-bio__journey {
padding: 24px 12px
}

.author-bio__journey-inner {
gap: 24px
}

.author-bio__journey-heading {
font-size: 17px;
padding-left: 12px
}

.author-bio__journey-heading::before {
width: 4px
}

.author-bio__journey-col {
font-size: 14px
}

.author-bio__journey-img {
height: 240px
}

.author-bio__stats {
padding: 24px 12px
}

.author-bio__stats-title {
font-size: 17px;
margin-bottom: 24px
}

.author-bio__stat-number {
font-size: 21px
}

.author-bio__stat-label {
font-size: 14px
}

.author-bio__approach {
padding: 24px 12px
}

.author-bio__approach-heading {
font-size: 17px;
margin-bottom: 12px
}

.author-bio__approach-intro {
font-size: 14px
}

.author-bio__approach-subtitle {
font-size: 17px
}

.author-bio__approach-text {
font-size: 14px
}

.author-bio__approach-item {
font-size: 14px
}
}

::selection {
background: #1C2748;
color: #FBFAF7
}

.success-pg {
background: linear-gradient(to bottom, #FBFAF7 0%, #fff 100%);
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 48px 24px
}

.success-pg .cnfrm-wrap {
max-width: 620px;
width: 100%;
background: #fff;
border-radius: 7px;
padding: 96px 48px;
text-align: center;
box-shadow: 0 5px 20px 1px #1c274817
}

.success-pg .icn-check {
width: 88px;
height: 88px;
margin: 0 auto 48px;
border-radius: 36px;
background: #FBFAF7;
display: flex;
align-items: center;
justify-content: center;
position: relative
}

.success-pg .icn-check::before {
content: '';
width: 42px;
height: 24px;
border-left: 5px solid #C51428;
border-bottom: 5px solid #C51428;
transform: rotate(-45deg);
position: relative;
top: -4px
}

.success-pg .msg-title {
font-size: 28px;
line-height: 1.3;
color: #1C2748;
margin: 0 0 24px;
letter-spacing: -.02em
}

.success-pg .msg-desc {
font-size: 17px;
line-height: 1.6;
color: #4a5568;
margin: 0 0 48px;
letter-spacing: .01em
}

.success-pg .act-grp {
display: flex;
flex-direction: column;
gap: 12px;
align-items: center
}

.success-pg .btn-prim {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 14px 48px;
background: #1C2748;
color: #fff;
text-decoration: none;
border-radius: 4px;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
transition: background .42s cubic-bezier(0.16, 1, 0.3, 1), transform .38s ease-in-out;
position: relative
}

.success-pg .btn-prim:hover {
background: #2a3a5f
}

.success-pg .btn-prim:active {
transform: scale(0.97);
box-shadow: inset 0 3px 2px 1px #1c27480d
}

.success-pg .btn-prim .arr-icn {
width: 16px;
height: 16px;
position: relative;
transition: transform .45s cubic-bezier(0.16, 1, 0.3, 1)
}

.success-pg .btn-prim:hover .arr-icn {
transform: translateX(4px)
}

.success-pg .btn-prim .arr-icn::before,
.success-pg .btn-prim .arr-icn::after {
content: '';
position: absolute;
background: #fff
}

.success-pg .btn-prim .arr-icn::before {
width: 12px;
height: 2px;
top: 7px;
left: 0
}

.success-pg .btn-prim .arr-icn::after {
width: 7px;
height: 7px;
border-right: 2px solid #fff;
border-top: 2px solid #fff;
transform: rotate(45deg);
top: 4px;
right: 0
}

.success-pg .lnk-sec {
color: #1C2748;
text-decoration: none;
font-size: 17px;
line-height: 1.3;
letter-spacing: .01em;
transition: color .4s ease-in-out;
display: inline-block;
border-bottom: 1px solid transparent
}

.success-pg .lnk-sec:hover {
color: #C51428;
border-bottom-color: #C51428
}

.success-pg .ref-info {
margin-top: 48px;
padding-top: 48px;
border-top: 1px solid #e8e6df
}

.success-pg .ref-num {
font-size: 14px;
line-height: 1.6;
color: #6a7280;
margin: 0;
letter-spacing: .02em
}

.success-pg .ref-num .num-val {
color: #1C2748;
font-weight: 600
}

@media (max-width: 768px) {
.success-pg .cnfrm-wrap {
padding: 48px 24px
}

.success-pg .msg-title {
font-size: 21px
}

.success-pg .msg-desc {
font-size: 14px
}

.success-pg .btn-prim {
padding: 12px 36px;
font-size: 14px;
width: 100%;
justify-content: center
}

.success-pg .lnk-sec {
font-size: 14px
}
}

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

.success-pg .cnfrm-wrap {
padding: 48px 12px
}

.success-pg .icn-check {
width: 72px;
height: 72px;
margin-bottom: 24px
}

.success-pg .icn-check::before {
width: 36px;
height: 20px;
border-width: 4px
}
}