/* Startsida v2. Scoped to the public site shell (body.v2-site). */

body.v2-site {
    background: #faf9f6;
    color: #111;
}

body.v2-site main :is(h1, h2, h3, p) {
    max-width: none;
}

body.v2-site main :is(h1, h2, h3) {
    font-weight: 600;
    letter-spacing: -0.025em;
    text-wrap: pretty;
}

body.v2-site main a {
    color: #1a5fb4;
}

body.v2-site main a:hover {
    color: #0f1a2e;
}

body.v2-site main a.v2-btn--primary,
body.v2-site main a.v2-btn--primary:hover,
body.v2-site main button.v2-btn--primary {
    color: #fff;
}

body.v2-site main a.v2-btn--ghost,
body.v2-site main a.v2-btn--ghost:hover {
    color: #111;
}

body.v2-site main a.v2-btn--ghost-light,
body.v2-site main a.v2-btn--ghost-light:hover {
    color: #fff;
}

body.v2-site main a.v2-card,
body.v2-site main a.v2-card:hover,
body.v2-site main a.v2-card :is(h2, h3, p),
body.v2-site main a.v2-shortcut,
body.v2-site main a.v2-shortcut:hover,
body.v2-site main .v2-company__row a,
body.v2-site main .v2-company__row a:hover {
    color: #111;
}

body.v2-site main a.v2-card p {
    color: #444;
}

body.v2-site main a.v2-textlink,
body.v2-site main a.v2-textlink:hover,
body.v2-site main .v2-jump a,
body.v2-site main .v2-jump a:hover {
    color: #111;
}

body.v2-site main .v2-section--navy a,
body.v2-site main .v2-section--navy a:hover,
body.v2-site main .v2-section--navy a :is(h2, h3, p) {
    color: #fff;
}

body.v2-site main .v2-section--navy .v2-muted-on-navy,
body.v2-site main .v2-section--navy p.v2-copy {
    color: #c7d0df;
}

.v2-wrap {
    max-width: 1160px;
    margin: 0 auto;
    padding-left: 24px;
    padding-right: 24px;
}

.v2-wrap--page {
    max-width: 1120px;
    padding-left: 32px;
    padding-right: 32px;
}

.v2-wrap--edge {
    padding-left: 0;
    padding-right: 0;
}

.v2-kicker {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1a5fb4;
    margin: 0 0 24px;
}

.v2-kicker--sm {
    font-size: 11px;
}

.v2-h1 {
    margin: 0 0 28px;
    font-size: clamp(38px, 5.4vw, 60px);
    line-height: 1.04;
    letter-spacing: -0.03em;
    font-weight: 600;
}

.v2-h1--page {
    font-size: clamp(40px, 6vw, 64px);
    line-height: 1.02;
}

.v2-h2 {
    margin: 0;
    font-size: clamp(32px, 4.5vw, 48px);
    line-height: 1.05;
    letter-spacing: -0.025em;
    font-weight: 600;
}

.v2-h2--md {
    font-size: clamp(32px, 4.5vw, 44px);
}

.v2-h3 {
    margin: 0;
    font-size: 24px;
    line-height: 1.15;
    letter-spacing: -0.015em;
    font-weight: 600;
}

.v2-lead {
    margin: 0;
    font-size: 20px;
    line-height: 1.5;
    text-wrap: pretty;
}

.v2-lead--sm {
    font-size: 18px;
}

.v2-copy {
    margin: 0;
    font-size: 16px;
    line-height: 1.55;
    color: #444;
    text-wrap: pretty;
}

.v2-copy--lg {
    font-size: 17px;
    line-height: 1.55;
    color: #333;
}

.v2-accent {
    color: #1a5fb4;
}

.v2-section {
    padding-top: 88px;
    padding-bottom: 96px;
}

.v2-section--tight {
    padding: 72px 0 56px;
}

.v2-section--white {
    background: #fff;
    border-top: 1px solid #e2e0da;
    border-bottom: 1px solid #e2e0da;
}

.v2-section--navy {
    background: #0f1a2e;
    color: #fff;
}

.v2-section--navy a {
    color: #fff;
}

.v2-section--navy a:hover {
    color: #fff;
}

.v2-muted-on-navy {
    color: #c7d0df;
}

.v2-split {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
    gap: 48px 64px;
    align-items: center;
}

.v2-split--320 {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.v2-split--end {
    align-items: end;
}

.v2-split--start {
    align-items: start;
}

.v2-split--aside {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 56px;
}

.v2-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}

.v2-actions--links {
    flex-wrap: nowrap;
    gap: 8px 28px;
}

.v2-actions--links .v2-textlink {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    box-sizing: border-box;
    padding: 0;
    font-size: 16px;
    line-height: 1.2;
}

.v2-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 16px 22px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    border: 1px solid transparent;
    font-family: inherit;
}

.v2-btn--sm {
    min-height: 44px;
    padding: 14px 20px;
    font-size: 14px;
    font-weight: 400;
}

.v2-btn--primary {
    background: #0f1a2e;
    color: #fff;
    border-color: #0f1a2e;
}

.v2-btn--primary:hover {
    background: #1a2740;
    color: #fff;
}

.v2-btn--ghost {
    background: transparent;
    color: #111;
    border-color: #111;
}

.v2-btn--ghost:hover {
    color: #111;
    background: #fff;
}

.v2-btn--ghost-light {
    background: transparent;
    color: #fff;
    border-color: #fff;
}

.v2-btn--ghost-light:hover {
    color: #fff;
}

.v2-textlink {
    color: #111;
    border-bottom: 1px solid #111;
    padding-bottom: 2px;
    align-self: flex-start;
    text-decoration: none;
}

.v2-textlink:hover {
    color: #111;
}

.v2-jump {
    display: flex;
    gap: 8px 20px;
    flex-wrap: wrap;
    margin-top: 36px;
    font-size: 14px;
}

.v2-jump a {
    color: #111;
    border-bottom: 1px solid #111;
    padding-bottom: 2px;
    text-decoration: none;
}

.v2-jump a:hover {
    color: #111;
}

.v2-head {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 24px 64px;
    align-items: end;
    margin-bottom: 48px;
}

.v2-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: 24px;
}

.v2-cards--20 {
    gap: 20px;
}

.v2-card {
    border: 1px solid #d8d6d0;
    background: #faf9f6;
    padding: 32px 28px;
    display: grid;
    align-content: start;
    min-width: 0;
    color: #111;
    text-decoration: none;
}

.v2-card:hover {
    color: #111;
}

.v2-card--white {
    background: #fff;
}

.v2-card__stack {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.v2-meta {
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.v2-label {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 12px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: #1a5fb4;
}

.v2-badge {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 12px;
    background: #0f1a2e;
    color: #fff;
    padding: 4px 8px;
}

.v2-badge--line {
    background: transparent;
    color: #1a5fb4;
    border: 1px solid #1a5fb4;
    font-size: 11px;
    letter-spacing: 0.1em;
    padding: 3px 8px;
}

.v2-badge--quiet {
    background: transparent;
    color: #555;
    border: 1px solid #888;
    font-size: 11px;
    letter-spacing: 0.1em;
    padding: 3px 8px;
}

.v2-status {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 11px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #8fb4e8;
}

.v2-rule-list {
    border-top: 1px solid #111;
}

.v2-rule-list__row {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 0;
    border-bottom: 1px solid #d8d6d0;
    font-size: 16px;
    line-height: 1.5;
}

.v2-rule-list__row--strong {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
    gap: 20px;
    padding: 22px 0;
}

.v2-rule-list__row:first-child,
.v2-rule-list--closed .v2-rule-list__row:first-child {
    border-top: 1px solid #111;
}

.v2-dot {
    width: 6px;
    height: 6px;
    background: #1a5fb4;
    flex: none;
    margin-top: 10px;
}

.v2-dot--lg {
    width: 8px;
    height: 8px;
}

.v2-problems {
    border-top: 1px solid #111;
}

.v2-problem {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: 12px 48px;
    padding: 28px 0;
    border-bottom: 1px solid #d8d6d0;
    align-items: start;
}

.v2-problem h3 {
    margin: 0;
    font-size: clamp(20px, 2.4vw, 24px);
    line-height: 1.25;
    letter-spacing: -0.015em;
    font-weight: 500;
}

.v2-panel {
    border: 1px solid #111;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.v2-panel__main,
.v2-panel__side {
    padding: 48px 40px;
}

.v2-panel__side {
    background: #faf9f6;
    border-left: 1px solid #d8d6d0;
}

.v2-panel__stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    height: 100%;
}

.v2-projects {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
    gap: 32px 24px;
}

.v2-project {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.v2-project .v2-title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
}

.v2-project .v2-browser__shot {
    aspect-ratio: 16 / 10;
}

.v2-browser {
    background: #fff;
    border: 1px solid #2a3a56;
    color: #111;
}

.v2-browser--light {
    border-color: #d8d6d0;
    box-shadow: 0 18px 40px -28px rgba(15, 26, 46, 0.35);
}

.v2-browser__bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 12px;
    border-bottom: 1px solid #eceae4;
}

.v2-browser__dots {
    display: flex;
    gap: 5px;
}

.v2-browser__dots span {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #d8d6d0;
}

.v2-browser__url {
    flex: 1;
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 10px;
    color: #555;
    background: #faf9f6;
    border: 1px solid #eceae4;
    padding: 4px 8px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.v2-browser__shot {
    aspect-ratio: 4 / 3;
    background: #f3f1ec;
    position: relative;
    overflow: hidden;
}

.v2-browser__shot--wide {
    aspect-ratio: 16 / 9;
}

#exempel .v2-browser__shot,
#exempel .v2-browser__shot--wide {
    aspect-ratio: 16 / 10;
}

.v2-browser__shot img,
.v2-browser__shot iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    object-fit: cover;
    object-position: top center;
}

.v2-tools {
    margin-top: 48px;
    border-top: 1px solid #3a4a66;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: 0 48px;
}

.v2-tool {
    display: grid;
    gap: 8px;
    padding: 24px 0;
    border-bottom: 1px solid #3a4a66;
    color: #fff;
    text-decoration: none;
}

.v2-tool:hover {
    color: #fff;
}

.v2-title-row {
    display: flex;
    gap: 12px;
    align-items: baseline;
    flex-wrap: wrap;
}

.v2-raster {
    position: relative;
    overflow: hidden;
    background-color: #f3f1ec;
    background-image: radial-gradient(#d3d0c8 1px, transparent 1px);
    background-size: 20px 20px;
    border: 1px solid #d8d6d0;
}

.v2-raster > img,
.v2-figure {
    display: block;
}

.v2-raster > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.v2-figure {
    width: 100%;
    height: auto;
    border: 1px solid #d8d6d0;
}

.v2-hero-art {
    aspect-ratio: 5 / 4;
    max-width: 560px;
    width: 100%;
    justify-self: center;
}

.v2-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr));
    gap: 0 28px;
    border-top: 1px solid #111;
}

.v2-step {
    padding: 18px 0;
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 4px 12px;
    border-bottom: 1px solid #d8d6d0;
    align-items: baseline;
}

.v2-step__n {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 13px;
    color: #1a5fb4;
}

.v2-step__t {
    font-size: 17px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: -0.01em;
}

.v2-process {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
}

.v2-process__item {
    border-top: 1px solid #111;
    padding: 24px 28px 24px 0;
}

.v2-process__n {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 11px;
    color: #1a5fb4;
    letter-spacing: 0.1em;
    margin-bottom: 14px;
}

.v2-process__item h3 {
    font-size: 20px;
    line-height: 1.25;
    font-weight: 600;
    margin: 0 0 10px;
    letter-spacing: -0.01em;
}

.v2-tiers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
    gap: 20px;
}

.v2-tier {
    border: 1px solid #3a4a66;
    padding: 28px 28px 30px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.v2-tier--hot {
    background: #15233d;
}

.v2-tier h3 {
    font-size: 24px;
    line-height: 1.15;
    margin: 0;
}

.v2-tier__price {
    font-size: 20px;
    font-weight: 500;
}

.v2-fine {
    font-size: 14px;
    line-height: 1.5;
    color: #8fa0b8;
    margin: 24px 0 0;
}

.v2-form {
    display: grid;
    gap: 18px;
}

.v2-field {
    display: grid;
    gap: 8px;
    font-size: 15px;
    font-weight: 500;
    min-width: 0;
}

.v2-field span.opt {
    font-weight: 400;
    color: #666;
}

.v2-field input,
.v2-field textarea,
.v2-field select {
    border: 1px solid #c9c7c0;
    padding: 14px;
    font-size: 16px;
    background: #fff;
    min-height: 48px;
    width: 100%;
    color: #111;
    border-radius: 0;
}

.v2-field textarea {
    min-height: 0;
    resize: vertical;
    line-height: 1.5;
}

.v2-field--ink input,
.v2-field--ink textarea,
.v2-field--ink select {
    border-color: #111;
}

.v2-field__label {
    font-size: 13px;
    font-weight: 400;
    color: #444;
}

.v2-form__row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    gap: 16px;
}

.v2-contact-form {
    background: #fff;
    border: 1px solid #111;
    padding: 36px;
}

.v2-contact-form .v2-field input,
.v2-contact-form .v2-field textarea,
.v2-contact-form .v2-field select {
    background: #faf9f6;
}

.v2-form__submit {
    display: flex;
    gap: 20px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 4px;
}

.v2-next {
    display: grid;
    border-top: 1px solid #111;
    max-width: 520px;
}

.v2-next__row {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #d8d6d0;
    align-items: baseline;
    font-size: 16px;
    line-height: 1.5;
}

.v2-next__n {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 12px;
    color: #1a5fb4;
}

.v2-shortcuts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
    gap: 20px;
}

.v2-shortcut {
    border: 1px solid #d8d6d0;
    background: #fff;
    padding: 24px 26px;
    display: grid;
    gap: 8px;
    align-content: start;
    text-decoration: none;
}

.v2-shortcut strong {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
}

.v2-shortcut p {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #444;
}

.v2-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.field-error {
    color: #9b2c2c;
    font-size: 13px;
    font-weight: 500;
}

.v2-success {
    background: #0f1a2e;
    color: #fff;
    padding: 36px;
    display: grid;
    gap: 12px;
}

.v2-success h3 {
    font-size: 26px;
    letter-spacing: -0.02em;
    font-weight: 600;
    margin: 0;
    color: #fff;
}

.v2-success p {
    font-size: 16px;
    line-height: 1.5;
    color: #c9d3e6;
    margin: 0;
}

.v2-price-box {
    border: 1px solid #111;
    background: #fff;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
}

.v2-price-box__col {
    padding: 40px 36px;
}

.v2-price-box__col + .v2-price-box__col {
    border-left: 1px solid #d8d6d0;
}

.v2-price {
    font-size: clamp(48px, 6vw, 64px);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
}

.v2-price span {
    font-size: 18px;
    font-weight: 400;
    color: #444;
    letter-spacing: 0;
}

.v2-price-years {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr));
    gap: 12px;
}

.v2-year {
    border: 1px solid #111;
    padding: 14px 16px;
    display: grid;
    gap: 4px;
}

.v2-year--now {
    background: #0f1a2e;
    color: #fff;
}

.v2-year strong {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.02em;
}

.v2-terms {
    display: grid;
    gap: 0;
    border-top: 1px solid #111;
    font-size: 15px;
    line-height: 1.5;
}

.v2-terms div {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #e2e0da;
}

.v2-terms dt {
    color: #444;
    font-weight: 400;
}

.v2-included {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 10px 28px;
    font-size: 15px;
    line-height: 1.5;
}

.v2-included div {
    display: flex;
    gap: 10px;
}

.v2-faq {
    display: grid;
    gap: 0;
}

.v2-faq__item {
    border-top: 1px solid #c9c7c0;
    padding: 18px 0;
}

.v2-faq__item h3 {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 0 0 6px;
}

.v2-sticky {
    position: sticky;
    top: 92px;
}

.v2-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.v2-filters button {
    border: 1px solid #c9c7c0;
    background: transparent;
    color: #444;
    padding: 8px 14px;
    border-radius: 999px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
}

.v2-filters button.is-active {
    border-color: #111;
    color: #111;
}

.v2-sites {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 32px;
}

.v2-site-card {
    border: 1px solid #c9c7c0;
    display: flex;
    flex-direction: column;
    background: #fff;
    min-width: 0;
}

.v2-site-card[hidden] {
    display: none;
}

.v2-site-card__shot {
    aspect-ratio: 4 / 3;
    background: #f3f1ec;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #c9c7c0;
}

.v2-site-card__shot iframe,
.v2-site-card__shot img {
    position: absolute;
    border: 0;
    background: #fff;
}

.v2-site-card__shot img {
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.v2-site-card__shot iframe {
    top: 0;
    left: 0;
    width: 1280px;
    height: 800px;
    transform-origin: top left;
}

.v2-site-card__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}

.v2-site-card__top {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: baseline;
}

.v2-site-card__top strong {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.015em;
}

.v2-kind {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 11px;
    color: #1a5fb4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.v2-anchor {
    scroll-margin-top: 84px;
}

.v2-rule {
    border-top: 1px solid #111;
}

.v2-prose {
    display: grid;
    gap: 16px;
    max-width: 560px;
}

.v2-prose p {
    margin: 0;
    text-wrap: pretty;
}

.v2-company {
    display: grid;
    gap: 0;
    font-size: 15px;
    scroll-margin-top: 84px;
}

.v2-company__row {
    border-top: 1px solid #c9c7c0;
    padding: 14px 0;
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.v2-company__row:first-of-type {
    border-top: 1px solid #111;
}

.v2-company__row:last-child {
    border-bottom: 1px solid #111;
}

.v2-company__row span:first-child {
    color: #444;
}

.v2-company__row a {
    color: #111;
}

/* Header + footer */

body.v2-site .header {
    padding: 0;
    background: #faf9f6;
    border-bottom: 1px solid #e2e0da;
    backdrop-filter: none;
}

.v2-nav {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px;
    height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.v2-logo {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 17px;
    color: #0f1a2e;
    letter-spacing: 0.01em;
    white-space: nowrap;
    text-decoration: none;
}

.v2-logo:hover {
    color: #0f1a2e;
}

.v2-logo span {
    color: #1a5fb4;
}

body.v2-site .nav {
    position: static;
    display: flex;
    gap: 28px;
    align-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    max-height: none;
    overflow: visible;
    font-family: Archivo, "Helvetica Neue", Helvetica, sans-serif;
    font-size: 15px;
    letter-spacing: 0;
    text-transform: none;
}

body.v2-site .nav__link {
    color: #111;
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 2px solid transparent;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    min-height: 0;
}

body.v2-site .nav__link:hover,
body.v2-site .nav__link.is-active,
body.v2-site .nav__link[aria-current="page"] {
    color: #111;
    border-bottom-color: #1a5fb4;
}

body.v2-site .nav__cta {
    background: #0f1a2e;
    color: #fff;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
    min-height: 0;
    font-family: inherit;
}

body.v2-site .nav__cta:hover,
body.v2-site .nav__cta.is-active,
body.v2-site .nav__cta[aria-current="page"] {
    background: #1a5fb4;
    color: #fff;
}

body.v2-site .mobile-toggle {
    display: none;
    background: none;
    border: 1px solid #111;
    color: #111;
    padding: 10px 14px;
    font-size: 14px;
    font-family: inherit;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 400;
    min-height: 44px;
}

body.v2-site .footer.v2-footer {
    background: #faf9f6;
    border-top: 1px solid #e2e0da;
    padding: 0;
    margin-top: auto;
}

.v2-footer__grid {
    max-width: 1160px;
    margin: 0 auto;
    padding: 40px 24px 32px;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
    gap: 28px 40px;
    font-size: 14px;
    color: #444;
}

.v2-footer__brand {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
    font-size: 14px;
    color: #0f1a2e;
}

.v2-footer__col {
    display: grid;
    gap: 8px;
    align-content: start;
    line-height: 1.5;
}

.v2-footer__col a {
    color: #444;
    text-decoration: none;
}

.v2-footer__col a:hover {
    color: #111;
}

.v2-footer__legal {
    max-width: 1160px;
    margin: 0 auto;
    padding: 0 24px 24px;
    font-size: 13px;
    color: #666;
}

@media (max-width: 1180px) {
    .v2-wrap,
    .v2-wrap--page,
    .v2-wrap--edge,
    .v2-wrap.v2-section,
    .v2-wrap.v2-section--tight,
    .v2-nav,
    .v2-footer__grid,
    .v2-footer__legal {
        padding-left: 24px;
        padding-right: 24px;
    }
}

@media (max-width: 800px) {
    .v2-split--aside,
    .v2-terms div {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .v2-panel__side,
    .v2-price-box__col + .v2-price-box__col {
        border-left: 0;
        border-top: 1px solid #d8d6d0;
    }

    .v2-sticky {
        position: static;
    }
}

@media (max-width: 760px) {
    body.v2-site .v2-nav {
        flex-wrap: wrap;
        height: auto;
        min-height: 68px;
        padding-top: 12px;
        padding-bottom: 12px;
    }

    body.v2-site .nav {
        display: none;
        flex: 1 0 100%;
        order: 3;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding: 8px 0 8px;
        border-top: 1px solid #e2e0da;
        margin-top: 8px;
    }

    body.v2-site .nav.is-open {
        display: flex;
    }

    body.v2-site .nav__link {
        font-size: 18px;
        padding: 12px 0;
        border-bottom: 1px solid #eceae4;
    }

    body.v2-site .nav__link.is-active,
    body.v2-site .nav__link[aria-current="page"] {
        color: #1a5fb4;
        border-bottom: 1px solid #eceae4;
    }

    body.v2-site .nav__cta {
        margin-top: 12px;
        text-align: center;
        justify-content: center;
        padding: 14px 18px;
        font-size: 16px;
    }

    body.v2-site .mobile-toggle {
        display: inline-flex;
    }

    .v2-wrap,
    .v2-wrap--page,
    .v2-wrap--edge,
    .v2-wrap.v2-section,
    .v2-wrap.v2-section--tight {
        padding-left: 24px;
        padding-right: 24px;
    }

    .v2-panel__main,
    .v2-panel__side,
    .v2-price-box__col,
    .v2-contact-form {
        padding: 32px 22px;
    }

    .v2-section {
        padding-top: 64px;
        padding-bottom: 72px;
    }
}

@media (max-width: 640px) {
    body.v2-site .v2-btn {
        width: auto;
    }

    .v2-actions--links {
        flex-wrap: wrap;
    }
}
