*, *::before, *::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
:root {
--c-bg: #ffffff;
--c-ink: #071b31;
--c-ink-72: rgba(7, 27, 49, 0.72);
--c-ink-60: rgba(7, 27, 49, 0.60);
--c-ink-40: rgba(7, 27, 49, 0.40);
--c-ink-24: rgba(7, 27, 49, 0.24);
--c-ink-12: rgba(7, 27, 49, 0.12);
--c-accent: #d8edfa;
--c-card: #e8ebed;
--c-photo-bg: #ededed;
--c-tag-bg: rgba(255, 255, 255, 0.60);
--font: 'Onest', system-ui, -apple-system, sans-serif;
--header-h: 80px;
--page-pad: 40px;
--content-w: 1360px;
--gap-section: 20px;
--folder-tab-h: 34px;
}
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
}
body {
font-family: var(--font);
background-color: var(--c-bg);
color: var(--c-ink);
display: flex;
flex-direction: column;
min-height: 100vh;
}
img, svg {
display: block;
max-width: 100%;
}
a {
color: inherit;
text-decoration: none;
}
.skip-link {
position: absolute;
left: -9999px;
top: auto;
width: 1px;
height: 1px;
overflow: hidden;
}
.skip-link:focus {
left: 0;
top: 0;
width: auto;
height: auto;
overflow: visible;
padding: 4px 12px;
background: var(--c-ink);
color: #fff;
z-index: 9999;
outline: none;
}
:focus-visible {
outline: 2px solid var(--c-ink);
outline-offset: 2px;
}
.site-main {
flex: 1;
display: flex;
flex-direction: column;
gap: var(--gap-section);
}
.site-header {
position: sticky;
top: 0;
z-index: 100;
height: var(--header-h);
padding: 24px var(--page-pad) 0;
overflow: hidden;
backdrop-filter: blur(6px);
background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
-webkit-backdrop-filter: blur(6px);
}
.site-header__body {
display: flex;
align-items: center;
justify-content: space-between;
height: 100%;
}
.site-header__left {
display: flex;
align-items: center;
gap: 12px;
}
.site-header__logo {
width: 18px;
height: 18px;
flex-shrink: 0;
}
.site-header__location {
display: flex;
align-items: center;
gap: 8px;
}
.site-header__divider {
display: flex;
align-items: center;
justify-content: center;
width: 28px;
align-self: stretch;
}
.site-header__divider img {
width: 10px;
height: 10px;
}
.site-header__city {
font-size: 20px;
font-weight: 500;
line-height: 28px;
white-space: nowrap;
}
.site-header__right {
display: flex;
align-items: center;
gap: 12px;
}
.site-header__icon-group {
display: flex;
align-items: center;
}
.site-header__icon-btn {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
flex-shrink: 0;
transition: opacity 0.15s ease;
}
.site-header__icon-btn:hover {
opacity: 0.6;
}
.site-header__icon-btn img {
width: 24px;
height: 24px;
}
.site-header__icon-btn--max img {
width: 22px;
height: 22px;
}
.site-header__sep {
font-size: 20px;
font-weight: 500;
line-height: 28px;
opacity: 0.24;
}
.site-header__links {
display: flex;
align-items: center;
gap: 4px;
}
.site-header__link {
font-size: 20px;
font-weight: 500;
line-height: 28px;
padding: 0 8px;
text-decoration: underline;
text-underline-offset: 3px;
transition: opacity 0.15s ease;
}
.site-header__link:hover {
opacity: 0.6;
}
.site-footer {
padding: 0 var(--page-pad) 16px;
overflow: hidden;
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.site-footer__body {
height: 48px;
display: flex;
align-items: center;
justify-content: center;
}
.site-footer__copy {
font-size: 20px;
font-weight: 500;
line-height: 28px;
color: var(--c-ink-40);
white-space: nowrap;
}
.pg-section {
background: var(--c-bg);
display: flex;
flex-direction: column;
align-items: center;
overflow: clip;
padding: var(--page-pad);
}
.pg-section--about {
padding-top: 80px;
padding-bottom: 80px;
}
.pg-section--goodbye {
padding-top: 80px;
padding-bottom: 200px;
}
.pg-section__body {
max-width: var(--content-w);
width: 100%;
display: flex;
flex-direction: column;
gap: 40px;
}
.tag {
background: #EBEDEF;
height: 40px;
display: inline-flex;
align-items: center;
justify-content: center;
padding: 0 16px;
border-radius: 1000px;
font-size: 20px;
font-weight: 500;
line-height: 28px;
white-space: nowrap;
flex-shrink: 0;
}
.tag--muted {
color: var(--c-ink-60);
}
.tag-row {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.goodbye-body {
display: flex;
flex-direction: column;
gap: 40px;
align-items: center;
max-width: var(--content-w);
width: 100%;
}
.goodbye-gif {
transform: rotate(-2deg);
width: 286px;
height: 200px;
border-radius: 24px;
overflow: hidden;
position: relative;
background: var(--c-photo-bg);
flex-shrink: 0;
}
.goodbye-gif img {
position: absolute;
width: 105%;
height: 191%;
top: -3%;
left: -4%;
max-width: none;
object-fit: cover;
}
.goodbye-text {
display: flex;
flex-direction: column;
gap: 12px;
align-items: center;
font-weight: 500;
text-align: center;
}
.goodbye-text__heading {
font-size: 36px;
line-height: 44px;
white-space: nowrap;
}
.goodbye-text__sub {
font-size: 20px;
line-height: 28px;
opacity: 0.9;
width: 720px;
}
.goodbye-contacts {
display: flex;
flex-direction: column;
gap: 12px;
align-items: center;
width: fit-content;
max-width: 100%;
}
.goodbye-btn-row {
display: flex;
gap: 12px;
align-items: center;
justify-content: center;
width: 100%;
}
.btn-pill {
display: inline-flex;
align-items: center;
gap: 12px;
height: 48px;
padding: 0 20px 0 16px;
border-radius: 24px;
background: var(--c-ink);
color: #fff;
font-size: 20px;
font-weight: 400;
line-height: 28px;
white-space: nowrap;
flex-shrink: 0;
cursor: pointer;
text-decoration: none;
transition: opacity 0.15s ease;
}
.btn-pill:hover {
opacity: 0.75;
}
.btn-pill img {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.icon-btn {
display: flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
flex-shrink: 0;
transition: opacity 0.15s ease;
}
.icon-btn:hover {
opacity: 0.6;
}
.icon-btn img {
width: 22px;
height: 22px;
}
.icon-btn--linkedin img {
width: 24px;
height: 24px;
}
.goodbye-email {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
height: 48px;
padding: 0 20px;
border: 1.5px solid var(--c-ink-12);
border-radius: 24px;
font-size: 20px;
font-weight: 500;
line-height: 28px;
white-space: nowrap;
width: 100%;
transition: border-color 0.15s ease;
}
.goodbye-email:hover {
border-color: var(--c-ink);
}
.goodbye-email__icon {
display: block;
width: 24px;
height: 24px;
flex-shrink: 0;
background-color: #9CA4AD;
-webkit-mask-image: url('/vector/copy-icon.svg');
mask-image: url('/vector/copy-icon.svg');
mask-size: contain;
mask-repeat: no-repeat;
mask-position: center;
transition: background-color 0.15s ease;
}
.goodbye-email:hover .goodbye-email__icon {
background-color: var(--c-ink);
}
.copy-toast {
padding: 16px 20px;
position: fixed;
top: 100px;
right: 24px;
display: flex;
align-items: center;
gap: 16px;
background: #ffffff;
border: 1.5px solid var(--c-ink-12);
border-radius: 24px;
z-index: 9999;
opacity: 0;
transform: translateY(-12px);
transition: opacity 0.2s ease, transform 0.2s ease;
pointer-events: none;
}
.copy-toast--visible {
opacity: 1;
transform: translateY(0);
pointer-events: auto;
}
.copy-toast__icon {
width: 28px;
height: 28px;
flex-shrink: 0;
}
.copy-toast__text {
font-family: var(--font);
font-size: 20px;
font-weight: 500;
line-height: 28px;
color: var(--c-ink);
white-space: nowrap;
}
.btn-pill__icon {
display: block;
width: 12px;
height: 12px;
flex-shrink: 0;
background-color: #fff;
-webkit-mask-image: url('/vector/case-arrow.svg');
mask-image: url('/vector/case-arrow.svg');
mask-size: contain;
mask-repeat: no-repeat;
mask-position: center;
}
.case-img-block {
width: 100%;
min-height: 400px;
border-radius: 40px;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
position: relative;
}
.mobile-image {
padding: 40px;
}
.web-image {
padding: 60px;
}
.case-img-block__img {
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 12px;
}
.no-padding {
padding: 0;
}
.case-img-description {
margin-top: 24px;
opacity: 0.6;
width: 800px;
font-size: 20px;
line-height: 28px;
color: #071B31;
font-weight: normal;
}
.case-img-block--placeholder {
flex-direction: column;
align-items: stretch;
justify-content: flex-start;
gap: 24px;
padding: 40px;
}
.case-img-block__ph-row {
height: 204px;
background: rgba(7, 27, 49, 0.06);
border-radius: 12px;
flex-shrink: 0;
}
.error-page {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
text-align: center;
gap: 1rem;
min-height: 40vh;
padding: 40px;
}
.error-page__code {
font-size: clamp(4rem, 12vw, 8rem);
font-weight: 800;
line-height: 1;
opacity: 0.12;
}
.error-page__title {
font-size: 36px;
font-weight: 500;
line-height: 44px;
}
.error-page__link {
font-size: 20px;
font-weight: 500;
line-height: 28px;
text-decoration: underline;
text-underline-offset: 3px;
color: var(--c-ink);
transition: opacity 0.15s ease;
}
.error-page__link:hover {
opacity: 0.6;
}
.site-header__avatar {
width: 40px;
height: 40px;
border-radius: 100px;
object-fit: cover;
flex-shrink: 0;
}
.site-header__breadcrumb {
display: flex;
align-items: center;
gap: 4px;
}
.site-header__chevron {
width: 24px;
height: 24px;
flex-shrink: 0;
opacity: 0.4;
}
.site-header__breadcrumb-text {
font-size: 20px;
font-weight: 500;
line-height: 28px;
color: var(--c-ink);
opacity: 0.6;
white-space: nowrap;
}
.case-page {
display: flex;
flex-direction: column;
align-items: center;
}
.case-page__body {
gap: 60px;
display: flex;
flex-direction: column;
width: 100%;
max-width: var(--content-w);
padding: 40px var(--page-pad);
}
.case-head-info {
display: flex;
flex-direction: column;
gap: 24px;
}
.case-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.case-title {
font-size: 36px;
font-weight: 500;
line-height: 44px;
color: var(--c-ink);
max-width: 720px;
}
.case-desc {
font-size: 20px;
font-weight: 500;
line-height: 28px;
color: var(--c-ink);
max-width: 800px;
}
.case-links-row {
display: flex;
flex-wrap: wrap;
gap: 12px;
}
.case-warning {
font-size: 20px;
line-height: 28px;
color: var(--c-ink-40);
}
.case-ext-link {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 16px 20px 16px 16px;
border: 1.5px solid var(--c-ink-12);
border-radius: 24px;
color: var(--c-ink);
text-decoration: none;
transition: border-color 0.15s ease, background 0.15s ease;
cursor: pointer;
}
.case-ext-link:hover {
border-color: var(--c-ink);
}
.case-ext-link__info {
display: flex;
align-items: center;
gap: 12px;
}
.case-ext-link__icon {
width: 24px;
height: 24px;
flex-shrink: 0;
}
.case-ext-link__label {
font-size: 20px;
font-weight: 500;
line-height: 28px;
white-space: nowrap;
}
.case-ext-link__arrow {
width: 12px;
height: 12px;
flex-shrink: 0;
}
.case-back-link {
align-self: flex-start;
}
.case-text-section {
display: flex;
flex-direction: column;
gap: 24px;
}
.case-section-heading {
font-size: 36px;
font-weight: 500;
line-height: 44px;
color: var(--c-ink);
max-width: 720px;
scroll-margin-top: calc(var(--header-h) + 24px);
}
.case-heading-icon {
margin-right: 22px;
margin-left: 22px;
display: inline-block;
width: 16px;
height: 16px;
vertical-align: middle;
position: relative;
top: -1px;
}
.case-para {
font-size: 20px;
font-weight: 500;
line-height: 28px;
color: var(--c-ink);
max-width: 800px;
white-space: pre-line;
}
.case-para--muted {
opacity: 0.72;
}
.text-highlight {
display: inline;
padding: 0 6px;
}
.case-list {
display: flex;
flex-direction: column;
gap: 0;
padding-left: 28px;
}
.case-list__item {
font-size: 20px;
font-weight: 500;
line-height: 28px;
}
.case-list--ul {
list-style-type: disc;
}
.case-steps {
display: flex;
flex-direction: column;
gap: 12px;
}
.case-step {
display: inline-flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 16px 20px 16px 16px;
border: 1.5px solid var(--c-ink-12);
border-radius: 24px;
max-width: 500px;
text-decoration: none;
transition: border-color 0.15s, background 0.15s;
}
a.case-step:hover {
border-color: var(--c-ink);
}
.case-step__label {
font-size: 20px;
font-weight: 500;
line-height: 28px;
color: var(--c-ink);
white-space: nowrap;
}
.case-step__arrow {
width: 12px;
height: 12px;
flex-shrink: 0;
}
.card-grid-wrap {
display: flex;
gap: 24px;
flex-direction: column;
padding: 40px;
border-radius: 40px;
background: var(--c-card);
}
.card-grid {
display: flex;
align-content: center;
justify-content: center;
flex-wrap: wrap;
gap: 24px;
background: var(--c-card);
}
.story-card {
height: 204px;
width: 204px;
aspect-ratio: 1 / 1;
display: flex;
flex-direction: column;
justify-content: space-between;
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
padding: 16px;
}
.story-card__text {
font-family: 'Inter', system-ui, -apple-system, sans-serif;
font-size: 14px;
line-height: 20px;
color: rgba(7, 27, 49, 0.90);
letter-spacing: -0.2px;
}
.story-card__author {
font-size: 13px;
font-weight: 500;
line-height: 18px;
color: rgba(7, 27, 49, 0.55);
margin-top: auto;
}
.story-card__ordinal {
position: absolute;
margin: 162px;
display: flex;
align-items: center;
justify-content: center;
background-color: white;
border-radius: 1em;
width: 32px;
height: 32px;
}
.story-card__bottom {
display: flex;
justify-content: space-between;
}
