@font-face {
    font-family: Urbanist;
    src: url('font/Urbanist/Urbanist-Regular.ttf') format('truetype');
    font-style: normal;
    font-weight: 400;
    font-display: swap
}

@font-face {
    font-family: Urbanist;
    src: url('font/Urbanist/Urbanist-SemiBold.ttf') format('truetype');
    font-style: normal;
    font-weight: 500 600;
    font-display: swap
}

@font-face {
    font-family: Urbanist;
    src: url('font/Urbanist/Urbanist-Bold.ttf') format('truetype');
    font-style: normal;
    font-weight: 650 900;
    font-display: swap
}

:root {
    --ink: #202124;
    --body: #565b61;
    --blue: #1967d2;
    --blue-hover: #1559b8;
    --line: #e2e5e9;
    --light: #f7f8fa;
    --radius: 26px;
    --max: 1220px
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 104px
}

body {
    margin: 0;
    color: var(--ink);
    background: #fff;
    font: 400 17px/1.55 Urbanist, Arial, sans-serif
}

body:has(dialog[open]) {
    overflow: hidden
}

button,
input,
select,
textarea {
    font: inherit
}

button,
a {
    -webkit-tap-highlight-color: transparent
}

button {
    color: inherit;
    cursor: pointer
}

a {
    color: inherit;
    text-decoration: none
}

button {
    border: 0;
    background: none
}

img {
    max-width: 100%;
    display: block
}

h1,
h2,
h3,
p {
    margin: 0
}

h1,
h2,
h3 {
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -.035em
}

h2 {
    font-size: clamp(34px, 4.1vw, 52px)
}

h3 {
    font-size: 28px
}

p {
    color: var(--body)
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #1967d2;
    outline-offset: 5px
}

button:disabled {
    cursor: default
}

button svg,
a svg {
    flex-shrink: 0
}

[hidden] {
    display: none !important
}

.icon {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
    flex-shrink: 0;
    vertical-align: middle
}

.icon.small {
    width: 19px;
    height: 19px
}

.svg-defs {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden
}

.skip-link {
    position: fixed;
    left: 16px;
    top: -80px;
    background: #fff;
    border: 2px solid var(--blue);
    padding: 10px 20px;
    z-index: 100
}

.skip-link:focus {
    top: 12px
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 52px;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.3;
    border-radius: 7px;
    transition: background .18s, box-shadow .18s, transform .18s
}

.button.primary {
    background: var(--blue);
    border: 1px solid var(--blue);
    color: white
}

.button.primary:hover {
    background: var(--blue-hover);
    border-color: var(--blue-hover);
    box-shadow: 0 2px 5px #1967d225
}

.button.secondary {
    border: 1px solid #aeb7c5;
    background: white;
    color: var(--blue)
}

.button.secondary:hover {
    background: #edf4ff;
    border-color: var(--blue)
}

.text-link {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    justify-content: flex-start;
    font-weight: 600;
    font-size: 17px;
    color: var(--blue);
    padding: 6px 0
}

.text-link:hover {
    color: #104d9d
}

.text-link:hover svg {
    transform: translateX(3px)
}

.text-link svg {
    transition: transform .2s
}

.icon-button {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.icon-button:hover {
    background: #eef1f6
}

.eyebrow {
    display: block;
    font-weight: 650;
    font-size: 12px;
    letter-spacing: .12em;
    line-height: 1.5;
    color: #5e636b
}

.section {
    max-width: var(--max);
    padding: 94px 0;
    margin: auto
}

.section-head {
    text-align: center;
    margin: 0 auto 46px
}

.section-head h2 {
    margin: 15px auto 20px
}

.section-head p {
    font-size: 19px;
    line-height: 1.55
}

.small-note {
    font-size: 13px;
    line-height: 1.6;
    color: #666d76
}

.check-list {
    padding: 0;
    margin: 22px 0;
    list-style: none
}

.check-list li {
    position: relative;
    padding-left: 25px;
    margin: 12px 0;
    font-size: 16px;
    line-height: 1.5;
    color: #454b54
}

.check-list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #188150;
    font-weight: 700
}

.site-header {
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 0 34px;
    position: sticky;
    top: 0;
    z-index: 30;
    background: #fffffff5;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid #ebedf0
}

.brand {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    flex-shrink: 0
}

.brand img {
    width: 43px;
    height: 43px
}

.brand-word {
    font-size: 27px;
    letter-spacing: .045em;
    line-height: 1.1;
    font-weight: 650;
    color: #0a0a0a
}

.brand-word small {
    display: block;
    font-size: 10px;
    letter-spacing: .07em;
    margin-top: 6px;
    font-weight: 600
}

.desktop-nav {
    display: flex;
    align-items: center;
    gap: 29px;
    margin-right: auto;
    margin-left: 24px
}

.nav-link {
    font-weight: 600;
    font-size: 15px;
    color: #4c5158;
    white-space: nowrap;
    display: inline-flex;
    gap: 5px;
    align-items: center;
    padding: 12px 0
}

.nav-link:hover {
    color: var(--blue)
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 22px
}

.header-cta {
    min-height: 46px;
    padding: 12px 19px;
    border-radius: 6px;
    font-size: 15px
}

.search-toggle {
    color: #515761
}

.nav-dropdown {
    position: relative
}

.mega-menu {
    position: fixed;
    top: 85px;
    left: 0;
    right: 0;
    background: white;
    box-shadow: 0 14px 24px #1e365518;
    border-bottom: 1px solid var(--line);
    padding: 34px max(40px, calc((100vw - 1180px)/2));
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 36px
}

.mega-heading>span {
    font-size: 11px;
    letter-spacing: .12em;
    font-weight: 600;
    color: var(--blue)
}

.mega-heading p {
    font-size: 27px;
    color: var(--ink);
    line-height: 1.25;
    margin-top: 12px
}

.mega-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px
}

.mega-links button {
    text-align: left;
    border-radius: 10px;
    padding: 12px
}

.mega-links button:hover {
    background: #edf4ff
}

.mega-links b {
    font-size: 19px;
    display: block
}

.mega-links span {
    font-size: 13px;
    color: var(--body)
}

.mobile-toggle,
.mobile-menu {
    display: none
}

.announcement {
    background: #eaf2ff;
    min-height: 46px;
    padding: 10px 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: 14px;
    color: #3f4b5e;
    text-align: center;
    line-height: 1.4
}

.announcement a {
    color: #185fc1;
    font-weight: 600;
    margin-left: 5px
}

.announcement a:hover {
    text-decoration: underline
}

.announcement>.icon-button {
    position: absolute;
    right: 11px;
    width: 30px;
    height: 30px
}

.hero {
    padding: 59px 0 0;
    overflow: hidden
}

.hero-copy {
    text-align: center;
    max-width: 980px;
    margin: auto;
    padding: 0 24px
}

.hero-eyebrow {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #5a626e
}

.color-dots {
    display: inline-flex;
    gap: 4px
}

.color-dots i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #4285f4
}

.color-dots i:nth-child(2) {
    background: #ea4335
}

.color-dots i:nth-child(3) {
    background: #fbbc04
}

.color-dots i:nth-child(4) {
    background: #34a853
}

.hero h1 {
    font-size: clamp(54px, 6.3vw, 86px);
    letter-spacing: -.045em;
    line-height: 1.05;
    margin: 24px 0 24px;
    font-weight: 600
}

.hero h1 span {
    color: var(--blue)
}

.hero-copy>p {
    font-size: 19px;
    line-height: 1.6;
    max-width: 790px;
    margin: auto
}

.hero-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 29px;
    margin-top: 30px
}

.hero-actions>.button {
    min-height: 52px
}

.hero-region {
    font-size: 12px;
    color: #68717d;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 24px
}

.hero-region .icon {
    width: 15px;
    height: 15px
}

.hero-stage {
    position: relative;
    max-width: 1220px;
    margin: 52px auto 0;
    height: 462px;
    padding: 0 150px
}

.stage-shape {
    position: absolute;
    pointer-events: none;
    z-index: 0
}

.stage-blue {
    background: #e8f0fe;
    left: 18px;
    right: 18px;
    top: 68px;
    bottom: 6px;
    border-radius: 50px
}

.stage-yellow {
    width: 210px;
    height: 210px;
    background: #fce8a6;
    border-radius: 50%;
    top: 8px;
    right: 0
}

.stage-green {
    width: 185px;
    height: 185px;
    background: #c7e7d2;
    border-radius: 40px;
    bottom: 0;
    left: 0;
    transform: rotate(-10deg)
}

.laptop {
    position: relative;
    z-index: 2;
    border-radius: 23px 23px 6px 6px;
    background: #292b2f;
    border: 2px solid #54565a;
    padding: 18px 10px 10px;
    box-shadow: 0 14px 30px #23334a20
}

.laptop-camera {
    width: 5px;
    height: 5px;
    background: #535b64;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 50%
}

.laptop-screen {
    border-radius: 6px;
    overflow: hidden;
    background: white;
    border: 1px solid #131619;
    height: 386px
}

.laptop-base {
    width: calc(100% - 220px);
    height: 15px;
    position: relative;
    z-index: 3;
    margin-left: -40px;
    background: linear-gradient(#dddfe2, #b3b9c2);
    border-radius: 2px 2px 70% 70%;
    width: calc(100% + 80px);
    box-shadow: 0 10px 15px #24324215
}

.laptop-base::before {
    content: '';
    width: 15%;
    height: 5px;
    background: #858e9b;
    position: absolute;
    left: 42.5%;
    border-radius: 0 0 10px 10px
}

.demo-top {
    height: 47px;
    display: flex;
    align-items: center;
    padding: 0 18px;
    border-bottom: 1px solid #e5e8eb;
    gap: 16px
}

.demo-brand {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    letter-spacing: .02em;
    font-weight: 600
}

.demo-brand b {
    font-weight: 400;
    color: #5d656e;
    margin-left: 3px
}

.demo-top-label {
    margin-left: auto;
    font-size: 10px;
    color: #81858b
}

.demo-avatar {
    font-size: 10px;
    width: 23px;
    height: 23px;
    display: grid;
    place-items: center;
    background: #e2d7f4;
    color: #6241a0;
    border-radius: 50%
}

.demo-body {
    height: 339px;
    display: flex
}

.demo-sidebar {
    width: 135px;
    flex-shrink: 0;
    background: #fcfcfd;
    padding: 24px 10px 10px;
    position: relative;
    border-right: 1px solid #eceef1
}

.demo-sidebar>span {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 9px;
    font-size: 10px;
    color: #697079;
    border-radius: 4px
}

.demo-sidebar .icon {
    width: 13px;
    height: 13px
}

.demo-sidebar .demo-side-active {
    background: #e8f0fe;
    color: #2869c4
}

.side-bottom {
    position: absolute;
    bottom: 28px;
    font-size: 9px;
    color: #989da3;
    left: 20px;
    line-height: 1.6
}

.demo-main {
    padding: 19px;
    background: #f7f9fb;
    flex: 1;
    min-width: 0
}

.demo-banner {
    position: relative;
    height: 177px;
    border-radius: 7px;
    overflow: hidden
}

.demo-banner>img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.demo-banner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, #102c35b8, #102c3500)
}

.demo-banner>div {
    position: absolute;
    inset: 21px 24px;
    z-index: 1;
    color: white
}

.demo-banner span {
    font-size: 8px;
    letter-spacing: .12em;
    font-weight: 600
}

.demo-banner h2 {
    font-size: 27px;
    letter-spacing: -.02em;
    line-height: 1.15;
    margin: 10px 0
}

.demo-banner .demo-class-label {
    font-size: 9px;
    font-weight: 400;
    letter-spacing: 0;
    background: #ffffff25;
    border: 1px solid #ffffff40;
    border-radius: 12px;
    padding: 3px 8px
}

.demo-work {
    display: flex;
    gap: 12px;
    margin-top: 13px
}

.demo-task {
    background: white;
    border: 1px solid #e5e9ee;
    border-radius: 6px;
    padding: 12px;
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column
}

.tiny-label {
    font-size: 6.5px;
    font-weight: 600;
    letter-spacing: .1em;
    color: #8a9198
}

.demo-task>strong {
    font-size: 12px;
    line-height: 1.3;
    margin: 6px 0 3px;
    letter-spacing: -.01em
}

.demo-task>span:not(.tiny-label) {
    font-size: 8px;
    color: #828991
}

.demo-task>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 9px
}

.task-chip {
    display: flex;
    gap: 4px;
    font-size: 7px;
    align-items: center;
    color: #2d7759
}

.task-chip .icon {
    width: 10px;
    height: 10px
}

.task-time {
    font-size: 7px;
    color: #8a9198
}

.demo-progress {
    border: 1px solid #e5e9ee;
    border-radius: 6px;
    background: #fff;
    padding: 10px;
    width: 131px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
}

.demo-progress>span:last-child {
    font-size: 8px;
    color: #828991
}

.avatar-row {
    display: flex;
    margin-top: 6px
}

.avatar-row i {
    font-style: normal;
    display: grid;
    place-items: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #e6e0f4;
    font-size: 7px;
    border: 2px solid white;
    margin-right: -4px;
    color: #7957a9
}

.avatar-row i:nth-child(2) {
    background: #fce6d0;
    color: #bd7444
}

.avatar-row i:nth-child(3) {
    background: #d6eadc;
    color: #307650
}

.avatar-row i:last-child {
    background: #e0eafa;
    color: #2263b8
}

.floating-tag {
    background: #fff;
    box-shadow: 0 6px 24px #20395712;
    border: 1px solid #eef0f2;
    border-radius: 12px;
    position: absolute;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 11px;
    color: #69717c;
    padding: 14px 17px;
    line-height: 1.5
}

.floating-tag strong {
    display: block;
    color: #313942;
    font-weight: 600;
    font-size: 12px
}

.tag-top {
    top: 57px;
    left: 35px
}

.tag-bottom {
    bottom: 38px;
    right: 22px
}

.tag-icon {
    width: 39px;
    height: 39px;
    border-radius: 50%;
    display: grid;
    place-items: center
}

.tag-icon.green {
    background: #e2f2e9;
    color: #16814a
}

.tag-icon.blue {
    background: #eaf2ff;
    color: #1967d2
}

.tag-icon .icon {
    width: 21px;
    height: 21px
}

.demo-caption {
    font-size: 11px;
    color: #8a9098;
    text-align: center;
    margin: 3px 0 0
}

.platform-strip {
    max-width: 1150px;
    margin: 38px auto 0;
    padding: 36px 20px 44px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-bottom: 1px solid var(--line)
}

.platform-strip>span {
    font-size: 13px;
    line-height: 1.6;
    color: #6d737c
}

.platform-strip>span strong {
    font-weight: 600;
    color: #454b53
}

.platform-name {
    display: flex;
    gap: 12px;
    align-items: center
}

.platform-name small {
    display: block;
    color: #666d76;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0
}

.google-word {
    flex-direction: column;
    gap: 0
}

.google-word>span {
    font-size: 30px;
    letter-spacing: -1.5px;
    font-weight: 600;
    line-height: 1.2
}

.google-word i {
    font-style: normal;
    color: #4285f4
}

.google-word i:nth-child(2),
.google-word i:nth-child(6) {
    color: #ea4335
}

.google-word i:nth-child(3) {
    color: #e8ab00
}

.google-word i:nth-child(5) {
    color: #34a853
}

.microsoft-word {
    font-size: 23px;
    line-height: 1.2;
    color: #5e646b
}

.ms-square {
    display: grid;
    grid-template-columns: repeat(2, 14px);
    gap: 3px
}

.ms-square i {
    width: 14px;
    height: 14px;
    background: #f25022
}

.ms-square i:nth-child(2) {
    background: #7fba00
}

.ms-square i:nth-child(3) {
    background: #00a4ef
}

.ms-square i:nth-child(4) {
    background: #ffb900
}

.moodle-word {
    display: flex;
    flex-direction: column;
    gap: 0
}

.moodle-word b {
    color: #e88819;
    font-size: 34px;
    line-height: 1;
    letter-spacing: -1px
}

.moodle-word small {
    margin-top: 5px
}

.products-section {
    padding-top: 90px
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px
}

.product-card {
    border-radius: var(--radius);
    overflow: hidden;
    padding: 29px 29px 19px;
    display: flex;
    flex-direction: column;
    transition: transform .2s
}

.product-card:hover {
    transform: translateY(-4px)
}

.card-blue {
    background: #e9f1fe;
    --art: #3279d6;
    --tint: #d1e2fc
}

.card-yellow {
    background: #fef4d7;
    --art: #c89020;
    --tint: #f9e5ae
}

.card-green {
    background: #e7f3eb;
    --art: #2d8a5c;
    --tint: #c9e3d3
}

.card-peach {
    background: #fcebe6;
    --art: #c46a51;
    --tint: #f2cbbb
}

.card-purple {
    background: #f1eafa;
    --art: #9563b9;
    --tint: #ddc9ee
}

.card-lavender {
    background: #eaedfc;
    --art: #6979c8;
    --tint: #ccd3f1
}

.product-label {
    display: flex;
    align-items: center;
    gap: 9px;
    font-size: 15px
}

.product-label b {
    font-weight: 600
}

.product-icon {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    color: var(--art)
}

.product-icon .icon {
    width: 25px;
    height: 25px
}

.product-card h3 {
    font-size: 27px;
    line-height: 1.2;
    margin: 17px 0 13px;
    letter-spacing: -.025em
}

.product-card>p {
    font-size: 15px;
    line-height: 1.5;
    min-height: 45px;
    max-width: 300px
}

.product-art {
    height: 176px;
    position: relative;
    margin-top: 14px;
    margin-bottom: 7px;
    overflow: hidden
}

.card-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    font-size: 15px;
    padding: 8px 0;
    width: 100%;
    text-align: left
}

.round-arrow {
    border: 1px solid #2021243b;
    border-radius: 50%;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    font-size: 21px;
    transition: background .2s
}

.card-link:hover .round-arrow {
    background: #ffffffaa
}

.network-center {
    position: absolute;
    left: calc(50% - 33px);
    top: 51px;
    width: 66px;
    height: 66px;
    border-radius: 18px;
    background: var(--art);
    color: white;
    display: grid;
    place-items: center;
    z-index: 2;
    box-shadow: 0 5px 0 #2261b52b
}

.network-center .icon {
    width: 35px;
    height: 35px
}

.network-node {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    background: white;
    border-radius: 12px;
    position: absolute;
    color: var(--art);
    z-index: 2
}

.n1 {
    top: 6px;
    left: 34px
}

.n2 {
    top: 8px;
    right: 32px
}

.n3 {
    bottom: 9px;
    left: 30px
}

.n4 {
    bottom: 8px;
    right: 31px
}

.network-art>i {
    position: absolute;
    left: 18%;
    top: 50%;
    width: 65%;
    height: 2px;
    background: #91b4ec;
    transform: rotate(31deg)
}

.network-art>i:last-child {
    transform: rotate(-31deg)
}

.mini-window {
    width: 235px;
    max-width: 90%;
    margin: 9px auto;
    background: white;
    border-radius: 9px;
    padding: 11px 14px;
    transform: rotate(-5deg);
    border: 1px solid #e9d8a6;
    box-shadow: 0 6px 0 #d7b86225
}

.mini-window>div {
    display: flex;
    gap: 4px;
    padding-bottom: 11px
}

.mini-window>div span {
    width: 4px;
    height: 4px;
    background: #ddd6c7;
    border-radius: 50%
}

.mini-window>b {
    font-size: 12px;
    font-weight: 600;
    display: block
}

.mini-window>section {
    height: 62px;
    display: flex;
    align-items: flex-end;
    gap: 10px;
    padding-top: 9px
}

.mini-window>section i {
    display: block;
    height: var(--h);
    width: 25px;
    background: #edc56b;
    border-radius: 4px 4px 0 0
}

.mini-window>section i:nth-child(even) {
    background: #fee6aa
}

.mini-window footer {
    font-size: 9px;
    color: #8b8477;
    display: flex;
    justify-content: space-between;
    margin-top: 7px;
    border-top: 1px solid #eee8db;
    padding-top: 6px
}

.mini-window footer strong {
    color: #22905a
}

.art-sheet {
    height: 127px;
    width: 98px;
    background: #fff;
    border: 1px solid #c9ded0;
    position: absolute;
    border-radius: 8px;
    top: 22px;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 19px;
    box-shadow: 0 5px 0 #7fbc9720
}

.sheet-back {
    transform: rotate(-16deg);
    left: calc(50% - 73px);
    background: #d0e8d8;
    color: #218554
}

.sheet-front {
    left: calc(50% - 18px);
    transform: rotate(10deg);
    color: #2c8b5b
}

.sheet-front .icon {
    height: 33px;
    width: 33px;
    margin-bottom: 13px
}

.sheet-front i {
    height: 4px;
    width: 53px;
    border-radius: 3px;
    background: #d9e7de;
    margin: 3px 0
}

.sheet-front i:last-child {
    width: 32px;
    margin-right: auto
}

.art-check {
    position: absolute;
    top: 119px;
    left: calc(50% + 42px);
    background: #2b8b5a;
    border: 4px solid #e7f3eb;
    color: white;
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    font-size: 21px
}

.art-star {
    position: absolute;
    left: 42px;
    top: 17px;
    color: #74ac85;
    font-size: 36px
}

.art-monitor {
    width: 180px;
    height: 116px;
    margin: 15px auto 0;
    border: 5px solid #b96754;
    background: #fff7f2;
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #b96754;
    transform: rotate(-4deg)
}

.art-monitor .icon {
    width: 41px;
    height: 41px
}

.art-monitor span {
    font-size: 10px;
    color: #a56858;
    margin-top: 7px
}

.art-monitor-foot {
    height: 19px;
    width: 50px;
    background: #b96754;
    margin: -2px auto 0;
    transform: rotate(-4deg)
}

.art-monitor-foot::after {
    content: '';
    position: absolute;
    width: 90px;
    height: 6px;
    bottom: 0;
    left: -20px;
    border-radius: 4px;
    background: #b96754
}

.art-heart {
    position: absolute;
    font-size: 28px;
    color: #e09481;
    right: 31px;
    top: 12px;
    transform: rotate(15deg)
}

.studio-canvas {
    height: 133px;
    width: 197px;
    border: 1px solid #ddc9ee;
    background: white;
    margin: 14px auto;
    position: relative;
    border-radius: 8px;
    transform: rotate(-5deg);
    padding: 16px
}

.canvas-circle {
    position: absolute;
    width: 50px;
    height: 50px;
    background: #e4c0f2;
    border-radius: 50%;
    left: 18px;
    top: 15px
}

.canvas-square {
    position: absolute;
    width: 40px;
    height: 40px;
    background: #f0c764;
    left: 75px;
    top: 25px;
    transform: rotate(14deg);
    border-radius: 5px
}

.canvas-arch {
    position: absolute;
    width: 39px;
    height: 52px;
    background: #99b7eb;
    right: 18px;
    top: 14px;
    border-radius: 30px 30px 0 0
}

.studio-canvas>div {
    position: absolute;
    bottom: 12px;
    left: 18px;
    font-size: 13px;
    line-height: 1.4;
    color: #8e60a9
}

.studio-pencil {
    height: 112px;
    width: 13px;
    background: #a378c6;
    border-radius: 3px;
    position: absolute;
    right: 34px;
    top: 42px;
    transform: rotate(27deg);
    border-top: 13px solid #d4bde7
}

.studio-pencil::after {
    content: '';
    position: absolute;
    bottom: -13px;
    left: 0;
    border-top: 13px solid #d9bd9e;
    border-left: 6px solid transparent;
    border-right: 7px solid transparent
}

.academy-video {
    height: 133px;
    width: 204px;
    margin: 14px auto;
    background: #fff;
    border: 1px solid #cfd5ef;
    border-radius: 9px;
    transform: rotate(4deg);
    padding: 20px;
    position: relative
}

.academy-video>.icon {
    height: 50px;
    width: 50px;
    color: #7481c2
}

.video-play {
    position: absolute;
    right: 24px;
    top: 37px;
    background: #e8ecfb;
    border-radius: 50%;
    height: 35px;
    width: 35px;
    display: grid;
    place-items: center;
    color: #6979c8;
    font-size: 14px;
    padding-left: 3px
}

.academy-video>div {
    height: 4px;
    background: #eef0f7;
    margin-top: 25px;
    border-radius: 3px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.academy-video>div::before {
    content: '';
    position: absolute;
    width: 70%;
    height: 4px;
    background: #a1addf
}

.academy-video i {
    border: 2px solid white;
    border-radius: 50%;
    height: 12px;
    width: 12px;
    background: #a1addf;
    z-index: 1
}

.academy-spark {
    position: absolute;
    right: 26px;
    top: 0;
    color: #9aa8e1;
    font-size: 43px
}

.platforms-section {
    padding-top: 45px;
    padding-bottom: 70px
}

.tab-list {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 0 auto 35px
}

.tab-list button {
    font-size: 16px;
    font-weight: 600;
    color: #5d636c;
    border: 1px solid #dce0e6;
    background: white;
    padding: 12px 23px;
    border-radius: 30px;
    transition: background .2s
}

.tab-list button:hover {
    background: #f4f7fb
}

.tab-list button[aria-selected=true] {
    color: #165fc1;
    background: #eaf2ff;
    border-color: #a8c7fa
}

.platform-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 465px;
    background: #f6f9fe;
    border: 1px solid #eaf0fa;
    border-radius: var(--radius);
    overflow: hidden
}

.platform-copy {
    padding: 51px 12px 44px 51px
}

.platform-copy .eyebrow {
    color: #3672be
}

.platform-copy h3 {
    font-size: 38px;
    line-height: 1.16;
    margin: 16px 0
}

.platform-copy>p {
    max-width: 435px;
    font-size: 17px
}

.platform-copy .check-list {
    margin-top: 21px;
    margin-bottom: 22px
}

.platform-copy .check-list li {
    font-size: 15px
}

.platform-copy .text-link {
    font-size: 15px
}

.official-link {
    display: block;
    font-size: 12px;
    color: #727b88;
    margin-top: 13px;
    max-width: max-content
}

.official-link:hover {
    text-decoration: underline
}

.workspace-art {
    position: relative;
    min-height: 460px;
    align-self: center
}

.workspace-orbit {
    position: absolute;
    width: 320px;
    height: 320px;
    border: 1px dashed #c1d4ef;
    border-radius: 50%;
    top: calc(50% - 160px);
    left: calc(50% - 160px)
}

.workspace-center {
    position: absolute;
    width: 184px;
    height: 184px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 9px 32px #4074bc0b;
    top: calc(50% - 92px);
    left: calc(50% - 92px);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 11px
}

.workspace-center img {
    width: 37px;
    height: 37px
}

.workspace-center b {
    font-size: 19px;
    line-height: 1.18;
    text-align: center;
    font-weight: 600
}

.workspace-center>span {
    font-size: 10px;
    color: #8c97a6
}

.app-tile {
    position: absolute;
    width: 89px;
    height: 87px;
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 4px 17px #254e8710;
    border: 1px solid #e9eef6;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 8px;
    transform: rotate(-6deg)
}

.app-tile .icon {
    height: 31px;
    width: 31px;
    stroke-width: 2.1
}

.app-tile b {
    font-size: 10px;
    font-weight: 600;
    color: #5c6777
}

.app-a {
    left: calc(50% - 43px);
    top: 28px;
    color: #d34e45
}

.app-b {
    left: calc(50% - 195px);
    top: 110px;
    color: #32a667;
    transform: rotate(-9deg)
}

.app-c {
    right: calc(50% - 195px);
    top: 110px;
    color: #36945a;
    transform: rotate(8deg)
}

.app-d {
    left: calc(50% - 170px);
    bottom: 46px;
    color: #4186e1;
    transform: rotate(5deg)
}

.app-e {
    right: calc(50% - 170px);
    bottom: 46px;
    color: #35a16b;
    transform: rotate(-7deg)
}

.app-f {
    left: calc(50% - 43px);
    bottom: 5px;
    color: #4285f4;
    transform: rotate(4deg)
}

.platform-note {
    max-width: 920px;
    text-align: center;
    margin: 19px auto 0
}

.audience-section {
    padding-top: 46px;
    padding-bottom: 90px
}

.audience-section .section-head {
    margin-bottom: 34px
}

.audience-tabs {
    margin-bottom: 34px
}

.audience-panel {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 68px;
    align-items: center;
    padding-top: 5px
}

.audience-photo {
    height: 430px;
    position: relative
}

.audience-photo>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius);
    background: #edf0f2
}

.photo-label {
    position: absolute;
    bottom: 22px;
    left: 23px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    background: white;
    padding: 12px 17px;
    border-radius: 25px;
    box-shadow: 0 3px 12px #00000010
}

.photo-label>span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #34a853
}

.audience-copy {
    padding-right: 16px
}

.audience-copy h3 {
    font-size: 39px;
    margin: 16px 0 22px;
    line-height: 1.18
}

.audience-copy>p {
    font-size: 17px;
    line-height: 1.65
}

.audience-copy .check-list {
    margin-top: 24px;
    margin-bottom: 24px
}

.audience-copy .check-list li {
    font-size: 15px
}

.audience-copy .text-link {
    font-size: 15px
}

.approach-section {
    max-width: var(--max);
    margin: 0 auto;
    background: #f7f8fa;
    padding: 60px;
    border-radius: var(--radius);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 80px
}

.approach-intro h2 {
    font-size: 43px;
    line-height: 1.16;
    margin: 18px 0
}

.approach-intro>p {
    font-size: 16px;
    line-height: 1.65
}

.approach-intro .text-link {
    margin-top: 22px;
    font-size: 15px
}

.approach-steps>div {
    padding-left: 52px;
    position: relative;
    padding-bottom: 32px
}

.approach-steps>div:last-child {
    padding-bottom: 0
}

.approach-steps>div>span {
    position: absolute;
    left: 0;
    top: 0;
    font-size: 13px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border: 1px solid #dbe3ef;
    border-radius: 50%;
    color: #2769c1;
    background: white
}

.approach-steps>div:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 17px;
    width: 1px;
    background: #dce2eb;
    top: 42px;
    bottom: 9px
}

.approach-steps h3 {
    font-size: 21px;
    letter-spacing: -.02em;
    margin: 5px 0 10px
}

.approach-steps p {
    font-size: 15px;
    line-height: 1.6;
    max-width: 320px
}

.pricing-section {
    padding-top: 100px
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px
}

.pricing-card {
    border: 1px solid #dce1e8;
    border-radius: 18px;
    padding: 31px 28px 24px
}

.pricing-featured {
    border: 1.5px solid #6b9ee7;
    background: #f5f9ff
}

.plan-kicker {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .11em;
    color: #687584
}

.pricing-featured .plan-kicker {
    color: #1b67ce
}

.pricing-card h3 {
    font-size: 31px;
    margin: 12px 0
}

.pricing-card>p {
    font-size: 15px;
    line-height: 1.55;
    max-width: 290px;
    min-height: 48px
}

.price {
    display: flex;
    align-items: baseline;
    font-size: 57px;
    line-height: 1.2;
    letter-spacing: -.045em;
    font-weight: 600;
    margin: 24px 0
}

.price>span {
    font-size: 18px;
    letter-spacing: 0;
    margin-right: 6px
}

.price>small {
    font-size: 14px;
    font-weight: 400;
    color: #6e7681;
    letter-spacing: 0;
    margin-left: 7px
}

.pricing-card>.button {
    font-size: 14px;
    padding: 14px 17px;
    width: 100%;
    justify-content: space-between;
    min-height: 48px
}

.pricing-card .check-list {
    padding-top: 21px;
    margin: 25px 0 0;
    border-top: 1px solid #e1e5eb
}

.pricing-card .check-list li {
    font-size: 14px;
    margin: 13px 0
}

.activation-note {
    display: flex;
    gap: 13px;
    margin: 25px 0 0;
    background: #f7f8fa;
    padding: 21px 24px;
    border-radius: 12px
}

.activation-note>.icon {
    color: #697d9c;
    width: 20px;
    height: 20px;
    margin-top: 2px
}

.activation-note p {
    font-size: 13px;
    line-height: 1.65
}

.activation-note strong {
    color: #3d4755
}

.comparison {
    margin: 20px 0
}

.comparison summary,
.faq-list summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px
}

.comparison summary::-webkit-details-marker,
.faq-list summary::-webkit-details-marker {
    display: none
}

.comparison>summary {
    border: 1px solid #e0e4eb;
    padding: 16px 23px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 600
}

.comparison summary>span,
.faq-list summary>span {
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: 23px;
    color: #657287;
    transition: transform .2s
}

.comparison[open] summary>span,
.faq-list details[open] summary>span {
    transform: rotate(45deg)
}

.table-scroll {
    overflow: auto;
    margin-top: 15px;
    border-radius: 9px;
    border: 1px solid #e1e6ed
}

.comparison table {
    border-collapse: collapse;
    width: 100%;
    min-width: 680px;
    text-align: left;
    font-size: 13px
}

.comparison caption {
    text-align: left;
    padding: 15px 20px;
    font-weight: 600;
    background: #f7f9fc
}

.comparison th,
.comparison td {
    padding: 14px 20px;
    border-bottom: 1px solid #e6e9ee;
    vertical-align: top
}

.comparison thead {
    background: #eef4fc
}

.comparison th {
    font-weight: 600
}

.comparison tbody tr:last-child>* {
    border-bottom: 0;
    font-weight: 600
}

.pricing-section>.small-note {
    text-align: center;
    max-width: 1000px;
    margin: 14px auto 0
}

.resources-section {
    padding-top: 12px
}

.resource-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    text-align: left;
    gap: 25px;
    margin-bottom: 37px
}

.resource-heading h2 {
    margin-bottom: 0
}

.resource-heading>p {
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 3px
}

.resource-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.resource-card {
    border: 1px solid #e1e5eb;
    border-radius: 17px;
    overflow: hidden;
    transition: box-shadow .2s, transform .2s;
    display: flex;
    flex-direction: column
}

.resource-card:hover {
    box-shadow: 0 8px 24px #233e6712;
    transform: translateY(-3px)
}

.resource-art {
    height: 187px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden
}

.resource-blue {
    background: #eaf1ff;
    color: #3775cb;
    --rdisc: #cadaf6
}

.resource-green {
    background: #e5f2eb;
    color: #42805a;
    --rdisc: #c5e3d1
}

.resource-yellow {
    background: #fcf1ce;
    color: #bd902c;
    --rdisc: #f0dda2
}

.resource-art>.icon {
    width: 77px;
    height: 77px;
    stroke-width: 1.1;
    z-index: 1;
    transform: rotate(-9deg)
}

.resource-star {
    font-size: 42px;
    position: absolute;
    right: 22%;
    top: 14px;
    color: currentColor;
    opacity: .4;
    transform: rotate(10deg)
}

.resource-disc {
    width: 152px;
    height: 152px;
    position: absolute;
    bottom: -30px;
    left: calc(50% - 74px);
    border-radius: 50%;
    background: var(--rdisc);
    transform: scaleX(1.5)
}

.resource-card>div:last-child {
    padding: 26px 26px 24px;
    display: flex;
    flex-direction: column;
    flex: 1
}

.resource-card .eyebrow {
    font-size: 10px;
    color: #747c89;
    letter-spacing: .09em
}

.resource-card h3 {
    font-size: 25px;
    line-height: 1.25;
    margin: 13px 0
}

.resource-card p {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 17px
}

.resource-card .text-link {
    font-size: 14px;
    justify-content: space-between;
    display: flex;
    margin-top: auto
}

.contact-banner {
    max-width: var(--max);
    margin: 0 auto;
    background: #eaf2ff;
    border-radius: var(--radius);
    padding: 67px 24px;
    text-align: center;
    position: relative;
    overflow: hidden;
    isolation: isolate
}

.contact-banner>.eyebrow {
    color: #4777b1;
    font-size: 11px
}

.contact-banner h2 {
    font-size: 55px;
    line-height: 1.1;
    margin: 20px 0
}

.contact-banner>p {
    font-size: 17px;
    color: #596c84;
    line-height: 1.6
}

.contact-banner>.button {
    margin-top: 29px
}

.contact-phone {
    display: block;
    width: max-content;
    margin: 16px auto 0;
    font-size: 13px;
    color: #58779f
}

.contact-phone:hover {
    text-decoration: underline
}

.contact-decoration {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: -1
}

.contact-decoration>span {
    position: absolute;
    background: #d3e3fd;
    width: 240px;
    height: 240px;
    border-radius: 50%;
    left: -115px;
    top: 90px
}

.contact-decoration>span:nth-child(2) {
    width: 170px;
    height: 170px;
    border: 1px solid #bad4fa;
    background: transparent;
    left: calc(100% - 78px);
    top: -50px
}

.contact-decoration>span:nth-child(3) {
    width: 140px;
    height: 140px;
    background: #dae8ff;
    border-radius: 28px;
    transform: rotate(25deg);
    left: auto;
    right: -26px;
    top: auto;
    bottom: -75px
}

.faq-section {
    display: grid;
    grid-template-columns: .85fr 1.15fr;
    gap: 90px;
    padding-top: 100px;
    padding-bottom: 104px
}

.faq-section h2 {
    font-size: 40px;
    line-height: 1.2;
    margin: 18px 0 24px
}

.faq-section>div>.text-link {
    font-size: 15px
}

.faq-list details {
    border-bottom: 1px solid #dde2e9;
    padding: 21px 0
}

.faq-list details:first-child {
    padding-top: 0
}

.faq-list summary {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.45
}

.faq-list details p {
    font-size: 15px;
    line-height: 1.7;
    margin: 15px 24px 0 0
}

.faq-list details>.text-link {
    font-size: 15px;
    margin-top: 12px
}

.site-footer {
    padding: 50px max(30px, calc((100vw - 1220px)/2)) 28px;
    background: #f7f8fa;
    border-top: 1px solid #edf0f2
}

.footer-top {
    display: flex;
    gap: 70px;
    align-items: center;
    border-bottom: 1px solid #e0e5eb;
    padding-bottom: 34px;
    margin-bottom: 34px
}

.footer-top p {
    font-size: 14px;
    line-height: 1.5;
    color: #757d87
}

.footer-top p strong {
    font-weight: 500;
    color: #4f5967
}

.footer-main-link {
    font-size: 14px;
    color: var(--blue);
    font-weight: 600;
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 25px
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1.2fr;
    gap: 35px
}

.footer-grid h3 {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0;
    margin-bottom: 18px
}

.footer-grid a,
.footer-grid button,
.footer-grid>div>span {
    display: block;
    font-size: 13px;
    color: #69727f;
    line-height: 1.6;
    padding: 0;
    margin: 10px 0;
    text-align: left
}

.footer-grid a:hover,
.footer-grid button:hover {
    color: var(--blue)
}

.footer-grid .footer-whatsapp {
    color: var(--blue);
    margin-top: 16px;
    font-weight: 600
}

.footer-bottom {
    border-top: 1px solid #e1e5eb;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 0 14px;
    margin-top: 35px;
    color: #6a7482;
    font-size: 12px
}

.footer-bottom>span:last-child {
    display: flex;
    align-items: center;
    gap: 7px
}

.footer-bottom .icon {
    width: 15px;
    height: 15px
}

.trademark-note {
    font-size: 10px;
    line-height: 1.6;
    color: #85909d;
    max-width: 950px
}

.modal {
    border: 1px solid #e5e9f0;
    box-shadow: 0 20px 80px #13283d30;
    border-radius: 24px;
    max-width: calc(100vw - 32px);
    width: 660px;
    max-height: calc(100dvh - 40px);
    padding: 45px;
    overflow-y: auto;
    color: var(--ink)
}

.modal::backdrop {
    background: #15243c66;
    backdrop-filter: blur(4px)
}

.modal h2 {
    font-size: 38px;
    margin: 16px 0 20px;
    line-height: 1.15
}

.close-modal {
    position: absolute;
    right: 14px;
    top: 12px;
    color: #627087
}

.modal-lead {
    font-size: 18px;
    line-height: 1.6
}

.product-modal .check-list {
    margin: 29px 0
}

.product-modal-footer {
    padding-top: 22px;
    border-top: 1px solid var(--line)
}

.product-modal-footer .button {
    font-size: 15px
}

.product-modal-footer .small-note {
    margin-top: 14px
}

.contact-modal {
    width: 740px;
    padding: 41px
}

.contact-modal>p {
    font-size: 15px;
    margin-bottom: 22px
}

.contact-modal h2 {
    font-size: 33px;
    margin: 13px 0 15px
}

.contact-modal .eyebrow {
    font-size: 10px
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px
}

.contact-modal label {
    font-size: 13px;
    font-weight: 600;
    display: block;
    margin: 12px 0
}

.contact-modal label>span {
    font-weight: 400;
    color: #788391;
    font-size: 11px
}

.contact-modal input,
.contact-modal select,
.contact-modal textarea {
    display: block;
    margin-top: 7px;
    width: 100%;
    min-height: 45px;
    border: 1px solid #cdd6e2;
    background: #fff;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 400;
    color: #354153
}

.contact-modal textarea {
    resize: vertical;
    min-height: 85px
}

.contact-modal input::placeholder,
.contact-modal textarea::placeholder {
    color: #8b94a2
}

.form-note {
    font-size: 11px;
    line-height: 1.6;
    margin: 15px 0;
    color: #808b99
}

.submit-contact {
    font-size: 14px;
    gap: 10px;
    width: 100%
}

.email-alternative {
    display: block;
    text-align: center;
    font-size: 12px;
    margin-top: 16px;
    color: #667d9c
}

.email-alternative:hover {
    text-decoration: underline
}

.form-status {
    background: #eaf6ee;
    padding: 15px;
    border-radius: 7px;
    font-size: 13px;
    margin-top: 15px
}

.form-status p {
    color: #21653e
}

.form-status a {
    display: inline-block;
    margin-top: 5px;
    color: #0e6d32;
    text-decoration: underline
}

.search-modal {
    width: 710px
}

.search-modal-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px
}

.search-modal-top h2 {
    font-size: 29px;
    margin: 0
}

.search-modal-top .close-modal {
    position: static
}

.search-input-label {
    display: flex;
    gap: 12px;
    align-items: center;
    border: 1px solid #b6cae7;
    padding: 14px 16px;
    border-radius: 9px;
    margin-top: 25px;
    color: var(--blue)
}

.search-input-label:focus-within {
    outline: 2px solid #8fb4e9;
    outline-offset: 2px
}

.search-input-label>input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: none;
    padding: 0;
    font-size: 17px;
    color: var(--ink);
    background: transparent
}

.search-count {
    font-size: 12px;
    color: #7c8796;
    margin: 15px 0 8px
}

.search-results {
    display: flex;
    flex-direction: column
}

.search-result {
    padding: 16px 8px;
    text-align: left;
    border-bottom: 1px solid var(--line);
    display: block;
    border-radius: 4px
}

.search-result:hover {
    background: #f3f7fd
}

.search-result strong {
    font-size: 17px;
    font-weight: 600;
    display: block
}

.search-result span {
    font-size: 13px;
    color: #758092;
    display: block;
    margin-top: 3px
}

.search-empty {
    padding: 25px 5px;
    color: #6b788b;
    font-size: 15px
}

.search-empty button {
    color: var(--blue);
    text-decoration: underline;
    padding: 0
}

@media(min-width:1550px) {
    .hero {
        padding-top: 70px
    }

    .hero-stage {
        margin-top: 58px
    }
}

@media(max-width:1300px) {

    .section,
    .approach-section,
    .contact-banner {
        margin-left: 38px;
        margin-right: 38px
    }

    .site-header {
        padding: 0 25px;
        gap: 15px
    }

    .desktop-nav {
        gap: 21px;
        margin-left: 18px
    }

    .header-actions {
        gap: 16px
    }

    .hero-stage {
        max-width: 1120px;
        padding-left: 135px;
        padding-right: 135px
    }

    .product-card {
        padding: 26px 25px 17px
    }

    .product-card h3 {
        font-size: 25px
    }

    .audience-panel {
        gap: 49px
    }

    .approach-section {
        gap: 55px
    }

    .platform-strip {
        margin-left: 50px;
        margin-right: 50px
    }

    .tag-top {
        left: 17px
    }

    .tag-bottom {
        right: 5px
    }

    .faq-section {
        gap: 65px
    }
}

@media(max-width:1080px) {
    .desktop-nav {
        gap: 17px;
        margin-left: 8px
    }

    .desktop-nav .nav-link {
        font-size: 14px
    }

    .header-actions {
        gap: 10px
    }

    .header-cta {
        font-size: 13px;
        padding: 12px 14px
    }

    .pricing-link {
        display: none
    }

    .site-header .brand-word {
        font-size: 24px
    }

    .site-header .brand img {
        width: 37px;
        height: 37px
    }

    .hero h1 {
        font-size: 72px
    }

    .hero-stage {
        padding: 0 110px;
        height: 444px;
        margin-left: 15px;
        margin-right: 15px
    }

    .laptop-screen {
        height: 367px
    }

    .demo-main {
        padding: 16px
    }

    .demo-sidebar {
        width: 112px;
        padding: 19px 6px
    }

    .demo-sidebar>span {
        font-size: 9px;
        gap: 4px
    }

    .demo-banner {
        height: 163px
    }

    .demo-banner h2 {
        font-size: 25px
    }

    .demo-body {
        height: 320px
    }

    .demo-progress {
        display: none
    }

    .demo-task>strong {
        font-size: 12px
    }

    .tag-top {
        top: 34px;
        left: 0;
        font-size: 10px;
        padding: 11px
    }

    .tag-bottom {
        bottom: 30px;
        padding: 11px;
        font-size: 10px
    }

    .floating-tag strong {
        font-size: 11px
    }

    .tag-icon {
        width: 32px;
        height: 32px
    }

    .product-grid {
        gap: 17px
    }

    .product-card {
        padding: 23px 21px 15px
    }

    .product-card h3 {
        font-size: 23px
    }

    .product-card>p {
        font-size: 14px
    }

    .product-art {
        transform: scale(.9);
        transform-origin: center;
        margin-left: -15px;
        margin-right: -15px
    }

    .product-label {
        font-size: 14px;
        gap: 6px
    }

    .platform-copy {
        padding: 37px 0 37px 35px
    }

    .platform-copy h3 {
        font-size: 33px
    }

    .platform-copy>p {
        font-size: 16px
    }

    .workspace-art {
        transform: scale(.9);
        transform-origin: center
    }

    .audience-panel {
        gap: 37px
    }

    .audience-copy h3 {
        font-size: 34px
    }

    .audience-photo {
        height: 418px
    }

    .approach-section {
        padding: 44px;
        gap: 38px
    }

    .approach-intro h2 {
        font-size: 36px
    }

    .pricing-card {
        padding: 26px 23px 22px
    }

    .pricing-card h3 {
        font-size: 28px
    }

    .pricing-card>.button {
        font-size: 13px;
        padding: 13px
    }

    .pricing-card .check-list li {
        font-size: 13px
    }

    .pricing-card>p {
        font-size: 14px;
        min-height: 65px
    }

    .resource-card>div:last-child {
        padding: 23px 20px
    }

    .resource-card h3 {
        font-size: 23px
    }

    .footer-grid {
        gap: 25px
    }

    .footer-grid a {
        overflow-wrap: anywhere
    }

    .faq-section {
        gap: 45px
    }

    .faq-section h2 {
        font-size: 35px
    }
}

@media(max-width:900px) {
    .desktop-nav {
        display: none
    }

    .site-header {
        height: 76px;
        padding: 0 24px
    }

    .header-actions {
        margin-left: auto;
        gap: 14px
    }

    .mobile-toggle {
        display: flex
    }

    .header-cta {
        font-size: 14px
    }

    .mobile-menu {
        display: flex;
        flex-direction: column;
        gap: 0;
        position: absolute;
        left: 0;
        right: 0;
        top: 75px;
        background: #fff;
        padding: 15px 27px 23px;
        border-bottom: 1px solid #e0e5ed;
        box-shadow: 0 15px 20px #23416b12
    }

    .mobile-menu a,
    .mobile-menu>button {
        text-align: left;
        padding: 13px 0;
        font-size: 17px;
        font-weight: 600
    }

    .mobile-menu>button {
        color: var(--blue)
    }

    .mega-menu {
        display: none
    }

    .hero h1 {
        font-size: 68px
    }

    .hero-copy>p {
        font-size: 18px;
        max-width: 680px
    }

    .hero-stage {
        padding: 0 95px;
        height: 414px
    }

    .laptop-screen {
        height: 336px
    }

    .demo-body {
        height: 289px
    }

    .demo-banner {
        height: 151px
    }

    .demo-task>div {
        margin-top: 6px
    }

    .demo-banner h2 {
        font-size: 22px
    }

    .demo-banner>div {
        inset: 17px 19px
    }

    .demo-task {
        padding: 9px
    }

    .demo-work {
        margin-top: 10px
    }

    .demo-sidebar {
        width: 105px
    }

    .floating-tag {
        gap: 7px;
        max-width: 175px
    }

    .floating-tag strong {
        font-size: 10px
    }

    .tag-icon {
        width: 29px;
        height: 29px
    }

    .tag-top {
        left: 0
    }

    .tag-bottom {
        right: 0;
        bottom: 29px
    }

    .platform-strip {
        margin-left: 35px;
        margin-right: 35px;
        gap: 20px;
        padding-left: 0;
        padding-right: 0
    }

    .platform-strip>span {
        display: none
    }

    .platform-strip {
        justify-content: space-around
    }

    .product-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px
    }

    .product-card {
        padding: 27px
    }

    .product-card h3 {
        font-size: 27px
    }

    .product-card>p {
        font-size: 15px
    }

    .product-art {
        transform: none;
        height: 172px;
        margin: 10px 0
    }

    .platform-panel {
        grid-template-columns: 1fr 1fr
    }

    .platform-copy {
        padding: 34px 0 32px 30px
    }

    .workspace-art {
        transform: scale(.77);
        margin-left: -30px;
        margin-right: -30px
    }

    .platform-copy h3 {
        font-size: 30px
    }

    .platform-copy .check-list li {
        font-size: 14px
    }

    .platform-copy>p {
        font-size: 15px
    }

    .platform-copy .text-link {
        font-size: 14px
    }

    .platform-copy .eyebrow {
        font-size: 10px
    }

    .audience-panel {
        gap: 30px
    }

    .audience-photo {
        height: 410px
    }

    .audience-copy h3 {
        font-size: 30px
    }

    .audience-copy>p {
        font-size: 15px
    }

    .audience-copy .check-list li {
        font-size: 14px
    }

    .photo-label {
        font-size: 10px;
        left: 14px;
        padding: 10px 13px
    }

    .approach-section {
        gap: 30px;
        padding: 38px
    }

    .approach-intro h2 {
        font-size: 33px
    }

    .approach-steps h3 {
        font-size: 19px
    }

    .approach-steps p {
        font-size: 14px
    }

    .pricing-grid {
        grid-template-columns: 1fr;
        gap: 20px
    }

    .pricing-card {
        padding: 29px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        column-gap: 45px
    }

    .pricing-card>.plan-kicker,
    .pricing-card>h3,
    .pricing-card>p,
    .pricing-card>.price,
    .pricing-card>.button {
        grid-column: 1
    }

    .pricing-card>.check-list {
        grid-column: 2;
        grid-row: 1 / 6;
        border-top: 0;
        border-left: 1px solid #dee6f0;
        padding-top: 0;
        padding-left: 24px;
        margin: 6px 0
    }

    .pricing-card>.check-list li {
        font-size: 14px
    }

    .pricing-card>p {
        min-height: auto
    }

    .pricing-card .price {
        margin: 16px 0;
        font-size: 49px
    }

    .resource-grid {
        gap: 18px
    }

    .resource-card h3 {
        font-size: 20px
    }

    .resource-card>div:last-child {
        padding: 20px 17px
    }

    .resource-card p {
        font-size: 14px
    }

    .resource-art {
        height: 160px
    }

    .resource-art>.icon {
        height: 62px;
        width: 62px
    }

    .resource-card .eyebrow {
        font-size: 9px
    }

    .resource-heading>p {
        font-size: 15px
    }

    .contact-banner h2 {
        font-size: 49px
    }

    .faq-section {
        grid-template-columns: 1fr;
        gap: 35px
    }

    .faq-section h2 br {
        display: none
    }

    .faq-section h2 {
        font-size: 38px
    }

    .faq-list details:first-child {
        padding-top: 20px;
        border-top: 1px solid #dde2e9
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px
    }

    .footer-top {
        gap: 35px
    }

    .footer-top p {
        font-size: 12px
    }

    .footer-main-link {
        font-size: 12px;
        gap: 10px
    }
}

@media(max-width:640px) {
    html {
        scroll-padding-top: 88px
    }

    .section {
        padding-top: 64px;
        padding-bottom: 64px;
        margin-left: 22px;
        margin-right: 22px
    }

    .site-header {
        height: 70px;
        padding: 0 18px;
        gap: 10px
    }

    .site-header .brand img {
        width: 33px;
        height: 33px
    }

    .site-header .brand-word {
        font-size: 22px
    }

    .brand-word small {
        font-size: 8px;
        margin-top: 4px
    }

    .header-actions {
        gap: 3px
    }

    .header-cta {
        display: none
    }

    .header-actions .icon-button {
        width: 38px;
        height: 38px
    }

    .mobile-menu {
        top: 69px;
        padding-left: 23px
    }

    .announcement {
        padding: 12px 40px 12px 21px;
        font-size: 12px;
        text-align: left;
        justify-content: flex-start
    }

    .announcement a {
        margin: 3px 0 0;
        display: block
    }

    .announcement>.icon-button {
        right: 7px
    }

    .hero {
        padding-top: 40px
    }

    .hero-eyebrow {
        font-size: 12px;
        gap: 7px
    }

    .color-dots {
        gap: 3px
    }

    .color-dots i {
        width: 6px;
        height: 6px
    }

    .hero h1 {
        font-size: 52px;
        line-height: 1.05;
        letter-spacing: -.05em;
        margin: 22px 0 23px
    }

    .hero-copy {
        padding: 0 22px
    }

    .hero-copy>p {
        font-size: 16px;
        line-height: 1.65;
        max-width: 410px
    }

    .desktop-break {
        display: none
    }

    .hero-actions {
        gap: 13px;
        flex-direction: column;
        margin-top: 26px
    }

    .hero-actions>.button {
        font-size: 14px;
        padding: 14px 20px;
        min-height: 49px
    }

    .hero-actions>.text-link {
        font-size: 14px;
        gap: 8px
    }

    .hero-region {
        font-size: 10px;
        margin: 22px 0 0;
        gap: 6px
    }

    .hero-region .icon {
        height: 13px;
        width: 13px
    }

    .hero-stage {
        height: 278px;
        padding: 0 23px;
        margin: 34px 8px 0
    }

    .stage-blue {
        left: 3px;
        right: 3px;
        top: 46px;
        bottom: 4px;
        border-radius: 25px
    }

    .stage-yellow {
        width: 89px;
        height: 89px;
        right: -9px;
        top: 18px
    }

    .stage-green {
        width: 88px;
        height: 88px;
        left: -10px;
        border-radius: 20px;
        bottom: 5px
    }

    .laptop {
        padding: 12px 6px 6px;
        border-radius: 12px 12px 3px 3px;
        border-width: 1px
    }

    .laptop-camera {
        height: 3px;
        width: 3px;
        top: 4px
    }

    .laptop-screen {
        height: 232px;
        border-radius: 3px
    }

    .demo-top {
        height: 32px;
        padding: 0 10px;
        gap: 10px
    }

    .demo-brand {
        font-size: 9px;
        gap: 4px
    }

    .demo-brand>img {
        width: 15px;
        height: 15px
    }

    .demo-brand b {
        margin-left: 1px
    }

    .demo-top-label {
        font-size: 7px
    }

    .demo-avatar {
        width: 17px;
        height: 17px;
        font-size: 7px
    }

    .demo-body {
        height: 200px
    }

    .demo-sidebar {
        width: 67px;
        padding: 15px 4px 5px
    }

    .demo-sidebar>span {
        padding: 7px 3px;
        font-size: 6px;
        gap: 4px
    }

    .demo-sidebar .icon {
        width: 8px;
        height: 8px
    }

    .side-bottom {
        font-size: 6px;
        left: 8px;
        bottom: 21px
    }

    .demo-main {
        padding: 11px 9px
    }

    .demo-banner {
        height: 106px;
        border-radius: 4px
    }

    .demo-banner>div {
        inset: 11px 13px
    }

    .demo-banner span {
        font-size: 5px;
        letter-spacing: .07em
    }

    .demo-banner h2 {
        font-size: 17px;
        margin: 7px 0 8px;
        line-height: 1.1
    }

    .demo-banner .demo-class-label {
        font-size: 6px;
        padding: 2px 5px
    }

    .demo-work {
        margin-top: 8px
    }

    .demo-task {
        padding: 8px;
        border-radius: 4px
    }

    .tiny-label {
        font-size: 4.5px
    }

    .demo-task>strong {
        font-size: 8px;
        margin: 3px 0 2px
    }

    .demo-task>span:not(.tiny-label) {
        font-size: 5.5px
    }

    .task-chip,
    .task-time {
        font-size: 5px
    }

    .task-chip .icon {
        height: 7px;
        width: 7px
    }

    .demo-task>div {
        margin-top: 4px
    }

    .laptop-base {
        height: 8px;
        width: calc(100% + 26px);
        margin-left: -13px
    }

    .laptop-base:before {
        height: 3px
    }

    .floating-tag {
        display: none
    }

    .demo-caption {
        font-size: 8px;
        margin-top: 2px
    }

    .platform-strip {
        margin: 24px 23px 0;
        padding: 23px 0 30px;
        gap: 18px;
        justify-content: space-between;
        flex-wrap: wrap
    }

    .platform-name {
        gap: 7px
    }

    .google-word>span {
        font-size: 23px
    }

    .platform-name small {
        font-size: 8px
    }

    .microsoft-word {
        font-size: 17px
    }

    .ms-square {
        grid-template-columns: repeat(2, 10px);
        gap: 2px
    }

    .ms-square i {
        height: 10px;
        width: 10px
    }

    .moodle-word b {
        font-size: 26px
    }

    .moodle-word small {
        display: none
    }

    .section-head {
        margin-bottom: 30px
    }

    .section-head .eyebrow {
        font-size: 10px;
        letter-spacing: .09em
    }

    .section-head h2 {
        font-size: 35px;
        line-height: 1.13;
        margin: 14px 0 17px;
        letter-spacing: -.04em
    }

    .section-head p {
        font-size: 16px;
        line-height: 1.6
    }

    .product-grid {
        grid-template-columns: 1fr;
        gap: 18px
    }

    .product-card {
        padding: 28px 28px 18px
    }

    .product-label {
        font-size: 15px
    }

    .product-card h3 {
        font-size: 29px;
        line-height: 1.19;
        margin-top: 19px
    }

    .product-card>p {
        font-size: 15px;
        min-height: 0;
        max-width: 300px
    }

    .product-art {
        height: 166px;
        margin: 9px 0 0;
        max-width: 330px;
        width: 100%;
        align-self: center
    }

    .card-link {
        font-size: 15px
    }

    .platforms-section {
        padding-top: 3px;
        padding-bottom: 55px
    }

    .tab-list {
        gap: 6px;
        margin-bottom: 24px;
        flex-wrap: wrap
    }

    .tab-list button {
        font-size: 12px;
        padding: 10px 13px;
        white-space: nowrap
    }

    .platform-panel {
        grid-template-columns: 1fr;
        border-radius: 20px
    }

    .platform-copy {
        padding: 29px 27px 0
    }

    .platform-copy .eyebrow {
        font-size: 10px
    }

    .platform-copy h3 {
        font-size: 34px;
        margin: 14px 0 17px
    }

    .platform-copy>p {
        font-size: 16px
    }

    .platform-copy .check-list li {
        font-size: 14px
    }

    .platform-copy .text-link {
        font-size: 14px
    }

    .official-link {
        font-size: 11px;
        margin-top: 12px
    }

    .workspace-art {
        height: 352px;
        min-height: 352px;
        transform: scale(.79);
        margin-top: -5px;
        margin-bottom: 3px;
        margin-left: 0;
        margin-right: 0
    }

    .workspace-orbit {
        height: 290px;
        width: 290px;
        top: calc(50% - 145px);
        left: calc(50% - 145px)
    }

    .workspace-center {
        width: 158px;
        height: 158px;
        top: calc(50% - 79px);
        left: calc(50% - 79px)
    }

    .workspace-center b {
        font-size: 18px
    }

    .workspace-center img {
        width: 30px;
        height: 30px
    }

    .app-tile {
        width: 77px;
        height: 76px;
        border-radius: 16px
    }

    .app-tile .icon {
        width: 29px;
        height: 29px
    }

    .app-a {
        top: -1px;
        left: calc(50% - 39px)
    }

    .app-b {
        left: calc(50% - 177px);
        top: 68px
    }

    .app-c {
        right: calc(50% - 177px);
        top: 68px
    }

    .app-d {
        left: calc(50% - 154px);
        bottom: 30px
    }

    .app-e {
        right: calc(50% - 154px);
        bottom: 30px
    }

    .app-f {
        left: calc(50% - 39px);
        bottom: -12px
    }

    .platform-note {
        font-size: 11px;
        text-align: left;
        margin: 15px 5px 0;
        line-height: 1.7
    }

    .audience-section {
        padding-top: 5px
    }

    .audience-panel {
        grid-template-columns: 1fr;
        gap: 30px
    }

    .audience-photo {
        height: 320px
    }

    .audience-copy {
        padding: 0 6px
    }

    .audience-copy .eyebrow {
        font-size: 10px
    }

    .audience-copy h3 {
        font-size: 34px;
        margin: 14px 0 20px
    }

    .audience-copy>p {
        font-size: 16px
    }

    .audience-copy .check-list li {
        font-size: 14px
    }

    .audience-copy .text-link {
        font-size: 14px
    }

    .photo-label {
        font-size: 11px;
        bottom: 18px;
        left: 18px
    }

    .audience-tabs button {
        padding-left: 20px;
        padding-right: 20px
    }

    .approach-section {
        grid-template-columns: 1fr;
        margin: 0 22px;
        padding: 34px 27px;
        gap: 35px;
        border-radius: 20px
    }

    .approach-intro .eyebrow {
        font-size: 9px;
        letter-spacing: .08em
    }

    .approach-intro h2 {
        font-size: 35px;
        line-height: 1.17;
        margin: 15px 0 20px
    }

    .approach-intro>p {
        font-size: 15px
    }

    .approach-intro .text-link {
        font-size: 13px;
        margin-top: 17px;
        gap: 8px
    }

    .approach-steps>div {
        padding-left: 45px;
        padding-bottom: 27px
    }

    .approach-steps h3 {
        font-size: 19px;
        margin-top: 4px
    }

    .approach-steps p {
        font-size: 14px
    }

    .approach-steps>div>span {
        width: 30px;
        height: 30px;
        font-size: 12px
    }

    .approach-steps>div:not(:last-child)::before {
        left: 15px;
        top: 37px
    }

    .pricing-section {
        padding-top: 68px
    }

    .pricing-card {
        display: block;
        padding: 28px;
        border-radius: 17px
    }

    .pricing-card .plan-kicker {
        font-size: 10px
    }

    .pricing-card h3 {
        font-size: 30px;
        margin: 13px 0
    }

    .pricing-card>p {
        font-size: 15px
    }

    .pricing-card .price {
        margin: 22px 0;
        font-size: 58px
    }

    .pricing-card>.button {
        font-size: 14px;
        min-height: 48px;
        padding: 13px 18px
    }

    .pricing-card>.check-list {
        padding: 20px 0 0;
        margin: 24px 0 0;
        border: 0;
        border-top: 1px solid #dfe5ee
    }

    .pricing-card>.check-list li {
        font-size: 14px;
        margin: 13px 0
    }

    .activation-note {
        padding: 19px 16px;
        gap: 10px;
        margin-top: 20px
    }

    .activation-note p {
        font-size: 12px
    }

    .activation-note .icon {
        width: 18px;
        height: 18px
    }

    .comparison>summary {
        font-size: 14px;
        padding: 15px 17px
    }

    .pricing-section>.small-note {
        font-size: 11px;
        text-align: left;
        margin: 14px 3px 0
    }

    .resources-section {
        padding-top: 0
    }

    .resource-heading {
        display: block
    }

    .resource-heading>p {
        font-size: 15px;
        margin: 20px 0 0
    }

    .resource-heading h2 {
        font-size: 35px
    }

    .resource-grid {
        grid-template-columns: 1fr;
        gap: 21px
    }

    .resource-art {
        height: 179px
    }

    .resource-art>.icon {
        width: 72px;
        height: 72px
    }

    .resource-card>div:last-child {
        padding: 25px
    }

    .resource-card h3 {
        font-size: 26px;
        margin-top: 12px;
        margin-bottom: 14px
    }

    .resource-card .eyebrow {
        font-size: 10px
    }

    .resource-card p {
        font-size: 15px
    }

    .resource-card .text-link {
        font-size: 14px
    }

    .contact-banner {
        margin: 0 22px;
        padding: 44px 25px;
        border-radius: 20px
    }

    .contact-banner .eyebrow {
        font-size: 9px;
        letter-spacing: .06em;
        max-width: 250px;
        margin: auto
    }

    .contact-banner h2 {
        font-size: 38px;
        line-height: 1.14;
        margin: 19px 0
    }

    .contact-banner>p {
        font-size: 15px;
        line-height: 1.65
    }

    .contact-banner>.button {
        font-size: 13px;
        gap: 9px;
        padding: 14px 16px;
        margin-top: 25px
    }

    .contact-banner .contact-phone {
        font-size: 12px
    }

    .contact-decoration>span {
        width: 160px;
        height: 160px;
        left: -128px;
        top: 112px
    }

    .faq-section {
        padding-top: 67px;
        padding-bottom: 65px;
        gap: 30px
    }

    .faq-section h2 {
        font-size: 34px;
        line-height: 1.18
    }

    .faq-section h2 br {
        display: block
    }

    .faq-section .eyebrow {
        font-size: 10px
    }

    .faq-list summary {
        font-size: 16px;
        gap: 18px
    }

    .faq-list details {
        padding: 20px 0
    }

    .faq-list details p {
        font-size: 14px;
        margin-right: 12px
    }

    .site-footer {
        padding: 35px 24px 26px
    }

    .footer-top {
        flex-wrap: wrap;
        gap: 24px;
        align-items: flex-start;
        padding-bottom: 25px;
        margin-bottom: 27px
    }

    .footer-top .brand img {
        width: 35px;
        height: 35px
    }

    .footer-top .brand-word {
        font-size: 23px
    }

    .footer-top p {
        font-size: 12px;
        margin-left: auto
    }

    .footer-main-link {
        flex-basis: 100%;
        margin-left: 0;
        font-size: 13px;
        gap: 15px
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px 18px
    }

    .footer-grid h3 {
        font-size: 14px;
        margin-bottom: 14px
    }

    .footer-grid a,
    .footer-grid button,
    .footer-grid>div>span {
        font-size: 12px;
        margin: 10px 0
    }

    .footer-bottom {
        display: block;
        font-size: 11px;
        padding-top: 21px;
        margin-top: 28px
    }

    .footer-bottom>span:last-child {
        margin-top: 15px
    }

    .trademark-note {
        font-size: 9px;
        line-height: 1.7
    }

    .modal {
        padding: 35px 25px;
        border-radius: 19px;
        max-height: calc(100dvh - 24px);
        max-width: calc(100vw - 24px)
    }

    .modal h2 {
        font-size: 31px;
        margin-top: 19px
    }

    .modal .eyebrow {
        font-size: 10px;
        max-width: calc(100% - 20px)
    }

    .modal-lead {
        font-size: 16px
    }

    .product-modal .check-list li {
        font-size: 14px
    }

    .product-modal-footer .button {
        font-size: 13px;
        padding: 13px 15px
    }

    .contact-modal h2 {
        font-size: 28px
    }

    .contact-modal>p {
        font-size: 14px
    }

    .contact-modal .form-grid {
        grid-template-columns: 1fr;
        gap: 0
    }

    .contact-modal label {
        font-size: 12px;
        margin: 11px 0
    }

    .contact-modal input,
    .contact-modal textarea,
    .contact-modal select {
        font-size: 16px;
        padding: 10px
    }

    .submit-contact {
        font-size: 12px;
        gap: 7px;
        padding: 14px 11px
    }

    .email-alternative {
        font-size: 11px;
        overflow-wrap: anywhere
    }

    .search-modal-top h2 {
        font-size: 25px;
        margin: 0
    }

    .search-input-label {
        padding: 12px;
        gap: 10px;
        margin-top: 20px
    }

    .search-input-label>input {
        font-size: 15px
    }

    .search-result strong {
        font-size: 16px
    }

    .search-result span {
        font-size: 12px
    }
}

@media(max-width:365px) {
    .hero h1 {
        font-size: 46px
    }

    .hero-region {
        font-size: 9px
    }

    .platform-name.google-word {
        order: 1
    }

    .platform-name.microsoft-word {
        order: 3
    }

    .platform-name.moodle-word {
        order: 2
    }

    .microsoft-word {
        font-size: 15px
    }

    .hero-stage {
        padding: 0 17px
    }

    .demo-sidebar {
        width: 56px
    }

    .demo-banner h2 {
        font-size: 15px
    }

    .product-card {
        padding-left: 23px;
        padding-right: 23px
    }

    .tab-list button {
        padding: 10px
    }

    .workspace-art {
        transform: scale(.7)
    }

    .footer-top p {
        font-size: 11px
    }

    .footer-grid {
        gap: 23px 15px
    }

    .contact-banner h2 {
        font-size: 34px
    }
}

@media(prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,
    *::before,
    *::after {
        transition: none !important;
        animation: none !important
    }
}