:root {
    --public-navy: #071c33;
    --public-blue: #0284c7;
    --public-teal: #0f766e;
    --public-cyan: #22d3ee;
    --public-amber: #fbbf24;
    --public-ink: #0f172a;
    --public-copy: #475569;
    --public-line: #cfe4f1;
    --public-mist: #eef8fd;
    --public-paper: #ffffff;
}

html.theme-dark .experience-page {
    --public-blue: #38bdf8;
    --public-teal: #5eead4;
    --public-cyan: #67e8f9;
    --public-ink: #f8fafc;
    --public-copy: #cbd5e1;
    --public-line: #334155;
    --public-mist: #0f172a;
    --public-paper: #111827;
}

.experience-page {
    color: var(--public-ink);
}

html.theme-dark .experience-page :is(h1, h2, h3, h4, h5, h6, label, legend, summary) {
    color: var(--public-ink) !important;
}

html.theme-dark .experience-page :is(.text-muted, .form-text, .help-text) {
    color: var(--public-copy) !important;
}

.experience-page * {
    min-width: 0;
}

.experience-wrap {
    width: min(100%, 1240px);
    margin-inline: auto;
}

.experience-kicker {
    margin: 0 0 .8rem;
    color: var(--public-teal);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.experience-title {
    margin: 0;
    color: var(--public-ink);
    font-size: clamp(2.45rem, 5.8vw, 5.6rem);
    font-weight: 800;
    letter-spacing: -.055em;
    line-height: .98;
}

.experience-lead {
    max-width: 680px;
    margin: 1.25rem 0 0;
    color: var(--public-copy);
    font-size: clamp(1.02rem, 1.6vw, 1.22rem);
    line-height: 1.68;
}

.experience-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.55rem;
}

.experience-actions .btn {
    min-height: 48px;
}

.experience-section {
    padding-block: clamp(3.5rem, 8vw, 7rem);
}

.experience-section + .experience-section {
    border-top: 1px solid rgba(186, 216, 232, .72);
}

.experience-heading {
    max-width: 790px;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.experience-heading h2 {
    margin: 0;
    font-size: clamp(2rem, 4.2vw, 3.65rem);
    font-weight: 800;
    letter-spacing: -.045em;
    line-height: 1.05;
}

.experience-heading p:not(.experience-kicker) {
    max-width: 700px;
    margin: 1rem 0 0;
    color: var(--public-copy);
    font-size: 1.04rem;
    line-height: 1.7;
}

/* Home: the operating record is the visual proof. */
.home-intro {
    position: relative;
    margin-inline: calc(clamp(.75rem, 2vw, 1.5rem) * -1);
    padding: clamp(3rem, 5vw, 4.75rem) clamp(1.25rem, 5vw, 4.5rem);
    color: #fff;
    background:
        radial-gradient(circle at 78% 18%, rgba(34, 211, 238, .22), transparent 25%),
        linear-gradient(122deg, var(--public-navy), #075985 58%, #0f766e);
    overflow: hidden;
}

.home-intro__grid {
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
}

.home-intro .experience-kicker {
    color: #a5f3fc;
}

.home-intro .experience-title {
    color: #fff;
    font-size: clamp(2.65rem, 4.45vw, 5rem);
}

.home-intro .experience-lead {
    color: rgba(255, 255, 255, .8);
}

.home-record {
    position: relative;
    background: #f8fbfd;
    border: 1px solid rgba(255, 255, 255, .36);
    box-shadow: 0 30px 70px rgba(3, 18, 34, .3);
    color: var(--public-ink);
}

/* These previews intentionally represent a light customer document, even
   while the surrounding marketing page is using the dark theme. */
html.theme-dark .experience-page .home-record,
html.theme-dark .experience-page .demo-screen {
    color-scheme: light;
    --public-blue: #0284c7;
    --public-teal: #0f766e;
    --public-ink: #0f172a;
    --public-copy: #475569;
    --public-line: #cfe4f1;
    color: var(--public-ink);
}

.home-record::after {
    position: absolute;
    right: -1.2rem;
    bottom: -1.2rem;
    z-index: -1;
    width: 70%;
    height: 75%;
    background: rgba(34, 211, 238, .2);
    content: "";
}

.home-record__bar {
    display: flex;
    gap: .55rem;
    align-items: center;
    padding: .9rem 1rem;
    background: #fff;
    border-bottom: 1px solid var(--public-line);
}

.home-record__bar span {
    width: .65rem;
    height: .65rem;
    background: #d7e7ef;
    border-radius: 50%;
}

.home-record__bar strong {
    margin-left: .35rem;
    font-size: .82rem;
}

.home-record__caption {
    margin-left: auto;
    color: #64748b;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.home-record__body {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    min-height: 390px;
}

.home-record__request {
    padding: 1.35rem;
    background: #fff;
    border-right: 1px solid var(--public-line);
}

.home-record__request > span,
.home-record__ops > span {
    color: var(--public-blue);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.home-record__request h2,
.home-record__ops h2 {
    margin: .45rem 0 1rem;
    font-size: 1.25rem;
    font-weight: 800;
}

.record-field {
    margin-top: .9rem;
}

.record-field small,
.record-field strong {
    display: block;
}

.record-field small {
    color: #64748b;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.record-field strong {
    margin-top: .28rem;
    padding-bottom: .5rem;
    border-bottom: 1px solid #dbeafe;
    font-size: .88rem;
}

.home-record__ops {
    padding: 1.35rem;
}

.record-status {
    display: grid;
    grid-template-columns: 2.25rem 1fr auto;
    gap: .75rem;
    align-items: center;
    padding: .85rem 0;
    border-top: 1px solid #dbeafe;
}

.record-status i {
    display: grid;
    width: 2.25rem;
    height: 2.25rem;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--public-blue), var(--public-teal));
    border-radius: 50%;
}

.record-status strong,
.record-status small {
    display: block;
}

.record-status small {
    margin-top: .15rem;
    color: #64748b;
}

.record-status em {
    color: var(--public-teal);
    font-size: .7rem;
    font-style: normal;
    font-weight: 800;
    text-transform: uppercase;
}

.journey-flow {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1.5rem, 4vw, 4rem);
    margin-top: clamp(2.5rem, 5vw, 4rem);
}

.journey-flow article {
    padding-top: 1.15rem;
    border-top: 3px solid var(--public-blue);
}

.journey-flow article:nth-child(2) {
    margin-top: 1.5rem;
    border-color: #0891b2;
}

.journey-flow article:nth-child(3) {
    margin-top: 3rem;
    border-color: var(--public-teal);
}

.journey-flow article:nth-child(4) {
    margin-top: 4.5rem;
    border-color: #d97706;
}

.journey-flow__verb {
    color: var(--public-teal);
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.journey-flow h3 {
    margin: .45rem 0 .5rem;
    font-size: clamp(1.3rem, 2vw, 1.75rem);
    font-weight: 800;
}

.journey-flow p {
    margin: 0;
    color: var(--public-copy);
    line-height: 1.58;
}

.scenario-lines {
    border-top: 1px solid var(--public-line);
}

.scenario-line {
    display: grid;
    grid-template-columns: minmax(210px, .55fr) minmax(0, 1.45fr) auto;
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: center;
    padding: clamp(1.7rem, 4vw, 3rem) 0;
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid var(--public-line);
}

.scenario-line:hover {
    color: inherit;
}

.scenario-line__label {
    color: var(--public-blue);
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.scenario-line h3 {
    margin: 0 0 .45rem;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
    font-weight: 800;
}

.scenario-line p {
    max-width: 660px;
    margin: 0;
    color: var(--public-copy);
    line-height: 1.6;
}

.scenario-line > i {
    font-size: 1.4rem;
    transition: transform .18s ease;
}

.scenario-line:hover > i {
    transform: translateX(.35rem);
}

.fit-split {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    border-top: 1px solid var(--public-line);
    border-bottom: 1px solid var(--public-line);
}

.fit-split > div {
    padding: clamp(1.5rem, 4vw, 3rem);
}

.fit-split > div + div {
    border-left: 1px solid var(--public-line);
}

.fit-split h3 {
    margin: 0 0 1rem;
    font-size: 1.2rem;
    font-weight: 800;
}

.fit-split ul {
    display: grid;
    gap: .9rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fit-split li {
    display: grid;
    grid-template-columns: 1.25rem 1fr;
    gap: .65rem;
    color: var(--public-copy);
    line-height: 1.55;
}

.fit-split i {
    color: var(--public-teal);
}

.fit-split__specialist i {
    color: #d97706;
}

.price-ribbon {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--public-line);
    border-bottom: 1px solid var(--public-line);
}

.price-ribbon > * {
    padding: 1.4rem;
}

.price-ribbon > * + * {
    border-left: 1px solid var(--public-line);
}

.price-ribbon span,
.price-ribbon strong,
.price-ribbon small {
    display: block;
}

.price-ribbon span {
    color: var(--public-teal);
    font-size: .7rem;
    font-weight: 800;
    text-transform: uppercase;
}

.price-ribbon strong {
    margin-top: .35rem;
    font-size: 1.7rem;
}

.price-ribbon small {
    margin-top: .3rem;
    color: var(--public-copy);
    line-height: 1.45;
}

.inline-cta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
    margin-block: clamp(3rem, 7vw, 6rem);
    padding: clamp(1.8rem, 4vw, 3.25rem) 0;
    border-top: 3px solid var(--public-navy);
    border-bottom: 1px solid var(--public-line);
}

.inline-cta h2 {
    margin: 0;
    font-size: clamp(1.8rem, 3.5vw, 3rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.inline-cta p {
    max-width: 720px;
    margin: .75rem 0 0;
    color: var(--public-copy);
}

/* Solutions: a decision page with scenario bands. */
.solutions-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, .65fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: end;
    padding-block: clamp(3rem, 7vw, 6.5rem);
    border-bottom: 1px solid var(--public-line);
}

.solutions-intro__index {
    padding-left: clamp(1.25rem, 3vw, 2.5rem);
    border-left: 3px solid var(--public-teal);
}

.solutions-intro__index span {
    display: block;
    color: var(--public-teal);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.solutions-intro__index a {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: .6rem;
    padding: .8rem 0;
    color: var(--public-ink);
    text-decoration: none;
    border-bottom: 1px solid var(--public-line);
    font-weight: 700;
}

.solutions-intro__index a i {
    color: var(--public-blue);
    transition: transform .18s ease;
}

.solutions-intro__index a:hover i,
.solutions-intro__index a:focus i {
    transform: translate(.2rem, .2rem);
}

.solution-band {
    display: grid;
    grid-template-columns: minmax(230px, .58fr) minmax(0, 1.42fr);
    gap: clamp(2rem, 6vw, 6rem);
    align-items: center;
    padding-block: clamp(3rem, 7vw, 6rem);
    border-bottom: 1px solid var(--public-line);
}

.solution-band:nth-of-type(even) .solution-band__visual {
    order: 2;
}

.solution-band h2 {
    margin: 0;
    font-size: clamp(2rem, 4vw, 3.55rem);
    font-weight: 800;
    letter-spacing: -.04em;
}

.solution-band p {
    color: var(--public-copy);
    line-height: 1.65;
}

.solution-band__visual {
    padding: clamp(1.5rem, 3vw, 2.5rem);
    background: linear-gradient(145deg, #e0f2fe, #f0fdfa);
    border-left: 5px solid var(--public-blue);
}

.solution-band--service .solution-band__visual {
    background: linear-gradient(145deg, #f0fdfa, #fff7ed);
    border-color: var(--public-teal);
}

.solution-band--events .solution-band__visual {
    background: linear-gradient(145deg, #fff7ed, #eff6ff);
    border-color: #d97706;
}

.mini-flow {
    position: relative;
    display: grid;
    gap: 0;
    margin-top: 1.25rem;
}

.mini-flow::before {
    position: absolute;
    top: .45rem;
    bottom: .45rem;
    left: .32rem;
    width: 1px;
    background: rgba(2, 132, 199, .3);
    content: "";
}

.mini-flow > div {
    position: relative;
    display: grid;
    grid-template-columns: .7rem minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
    padding-bottom: 1.2rem;
}

.mini-flow > div:last-child {
    padding-bottom: 0;
}

.mini-flow > div > span {
    position: relative;
    z-index: 1;
    display: block;
    width: .7rem;
    height: .7rem;
    margin-top: .3rem;
    background: var(--public-blue);
    border: 2px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
}

.mini-flow > div > div > strong,
.mini-flow > div > div > small {
    display: block;
}

.mini-flow > div > div > small {
    margin-top: .15rem;
    color: var(--public-copy);
    line-height: 1.45;
}

.solution-signals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 2rem;
    margin: 1.5rem 0;
    padding: 0;
    list-style: none;
}

.solution-signals li {
    display: grid;
    grid-template-columns: 1.1rem 1fr;
    gap: .55rem;
    color: var(--public-copy);
}

.solution-signals i {
    color: var(--public-teal);
}

/* Demo: the preview is the page, not a card after the pitch. */
.demo-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .55fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: end;
    padding-block: clamp(2.75rem, 6vw, 5.5rem);
}

.demo-intro__safety {
    padding-left: 1.5rem;
    border-left: 3px solid var(--public-amber);
}

.demo-intro__safety strong {
    display: block;
    font-size: 1rem;
}

.demo-intro__safety p {
    margin: .45rem 0 0;
    color: var(--public-copy);
    line-height: 1.55;
}

.demo-stage {
    display: grid;
    grid-template-columns: minmax(250px, .55fr) minmax(0, 1.45fr);
    gap: clamp(2rem, 5vw, 4rem);
    align-items: start;
    padding-block: 1rem clamp(4rem, 8vw, 7rem);
}

.demo-guide {
    position: sticky;
    top: 6.5rem;
}

.demo-guide h2 {
    margin: 0;
    font-size: clamp(1.75rem, 3vw, 2.65rem);
    font-weight: 800;
    letter-spacing: -.035em;
}

.demo-lenses {
    display: grid;
    gap: 0;
    margin: 1.5rem 0;
}

.demo-lenses > div {
    display: grid;
    grid-template-columns: 1.35rem 1fr;
    gap: .75rem;
    padding: .9rem 0;
    border-top: 1px solid var(--public-line);
}

.demo-lenses i {
    color: var(--public-blue);
    font-size: .95rem;
}

.demo-lenses strong,
.demo-lenses small {
    display: block;
}

.demo-lenses small {
    margin-top: .2rem;
    color: var(--public-copy);
    line-height: 1.45;
}

.demo-screen {
    overflow: hidden;
    background: #fff;
    border: 1px solid #bcd7e5;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .13);
}

.demo-screen__bar {
    display: flex;
    gap: .5rem;
    align-items: center;
    padding: .9rem 1rem;
    background: #f8fafc;
    border-bottom: 1px solid var(--public-line);
}

.demo-screen__bar i {
    width: .65rem;
    height: .65rem;
    background: #cbd5e1;
    border-radius: 50%;
}

.demo-screen__bar strong {
    margin-left: .35rem;
    font-size: .8rem;
}

.demo-screen iframe {
    width: 100%;
    min-height: 680px;
    border: 0;
}

.demo-screen__placeholder {
    display: grid;
    min-height: 650px;
    align-content: center;
    gap: 2rem;
    padding: clamp(1.5rem, 4vw, 3rem);
    background: linear-gradient(145deg, #f8fbfd, #eef8fd);
}

.preview-request {
    width: min(100%, 560px);
    margin-inline: auto;
    padding: clamp(1.4rem, 3vw, 2.25rem);
    background: #fff;
    border: 1px solid var(--public-line);
}

.preview-request__top {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--public-line);
}

.preview-request__top span {
    color: var(--public-teal);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.preview-request h3 {
    margin: 1.1rem 0 .35rem;
    font-size: 1.25rem;
    font-weight: 800;
}

.preview-request p {
    color: var(--public-copy);
}

.preview-request__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
    margin-top: 1rem;
}

.preview-request__fields div {
    padding: .75rem;
    background: #f8fafc;
    border-bottom: 2px solid #dbeafe;
}

.preview-request__fields small,
.preview-request__fields strong {
    display: block;
}

.preview-request__fields small {
    color: #64748b;
    font-size: .68rem;
    text-transform: uppercase;
}

.preview-request__fields strong {
    margin-top: .25rem;
    font-size: .85rem;
}

.preview-handoff {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.preview-handoff div {
    padding-top: 1rem;
    border-top: 3px solid var(--public-blue);
}

.preview-handoff div:nth-child(2) { border-color: var(--public-teal); }
.preview-handoff div:nth-child(3) { border-color: #d97706; }

.preview-handoff strong,
.preview-handoff small {
    display: block;
}

.preview-handoff small {
    margin-top: .3rem;
    color: var(--public-copy);
}

.continuity-story {
    padding: clamp(1.5rem, 4vw, 2.75rem) 0;
    border-top: 3px solid var(--public-navy);
    border-bottom: 1px solid var(--public-line);
}

.continuity-story__path {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem 1rem;
    align-items: center;
    margin: 0;
}

.continuity-story__path strong {
    font-size: clamp(1.15rem, 2.1vw, 1.65rem);
    font-weight: 800;
}

.continuity-story__path i {
    color: var(--public-teal);
}

.continuity-story__notes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(1.25rem, 4vw, 3.5rem);
    margin-top: 1.75rem;
}

.continuity-story__notes p {
    margin: 0;
    color: var(--public-copy);
    line-height: 1.6;
}

.continuity-story__notes strong {
    color: var(--public-ink);
}

/* Pricing: cards remain because plans are choices, but the page has its own grammar. */
.pricing-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: end;
    padding-block: clamp(3rem, 7vw, 6.5rem);
    border-bottom: 1px solid var(--public-line);
}

.pricing-intro .experience-title {
    font-size: clamp(2.55rem, 5vw, 4.9rem);
}

.pricing-principles {
    display: grid;
    gap: .75rem;
}

.pricing-principles div {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: .75rem;
    padding-bottom: .75rem;
    border-bottom: 1px solid var(--public-line);
}

.pricing-principles i {
    color: var(--public-teal);
}

.pricing-principles strong,
.pricing-principles small {
    display: block;
}

.pricing-principles small {
    margin-top: .2rem;
    color: var(--public-copy);
}

.pricing-page-v2 .pricing-grid {
    gap: 0;
    border-top: 1px solid var(--public-line);
    border-bottom: 1px solid var(--public-line);
}

.pricing-page-v2 .pricing-card {
    padding-inline: clamp(1rem, 2vw, 1.5rem);
    background: transparent;
    border: 0;
    border-left: 1px solid var(--public-line);
    border-radius: 0;
    box-shadow: none;
}

.pricing-page-v2 .pricing-card:first-child {
    border-left: 0;
}

.pricing-page-v2 .pricing-card--recommended {
    position: relative;
    z-index: 1;
    transform: none;
    background: linear-gradient(180deg, rgba(240, 253, 250, .92), rgba(240, 253, 250, .35));
    box-shadow: inset 0 4px 0 var(--public-teal);
}

html.theme-dark .pricing-page-v2 .pricing-card--recommended {
    background: linear-gradient(180deg, rgba(15, 118, 110, .28), rgba(15, 23, 42, .45));
}

.pricing-page-v2 .pricing-faq {
    gap: 0;
}

.pricing-page-v2 .pricing-faq details {
    padding: 1.15rem 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--public-line);
    border-radius: 0;
}

.pricing-page-v2 .pricing-faq details:first-child {
    border-top: 1px solid var(--public-line);
}

.cost-map {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255, 255, 255, .22);
    border-bottom: 1px solid rgba(255, 255, 255, .22);
}

.cost-map article {
    padding: 1.4rem;
}

.cost-map article + article {
    border-left: 1px solid rgba(255, 255, 255, .22);
}

.cost-map i {
    color: var(--public-amber);
    font-size: 1.25rem;
}

.cost-map h3 {
    margin: .7rem 0 .45rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 800;
}

.cost-map p {
    margin: 0;
    color: rgba(255, 255, 255, .72);
    font-size: .9rem;
    line-height: 1.5;
}

.pricing-cost-section {
    margin-inline: calc(clamp(.75rem, 2vw, 1.5rem) * -1);
    padding: clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 4.5rem);
    color: #fff;
    background: linear-gradient(125deg, var(--public-navy), #075985, var(--public-teal));
}

.pricing-cost-section .experience-kicker { color: #a5f3fc; }
.pricing-cost-section h2 { color: #fff; }
.pricing-cost-section .experience-heading p:not(.experience-kicker) { color: rgba(255,255,255,.74); }

/* Shared footer: plain link columns instead of pills. */
.site-footer-grid--editorial {
    grid-template-columns: minmax(220px, .9fr) minmax(0, 1.35fr) minmax(220px, .75fr);
    gap: 2.5rem;
    align-items: start;
}

.site-footer-columns {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.site-footer-columns div {
    display: grid;
    align-content: start;
    gap: .5rem;
}

.site-footer-columns strong {
    margin-bottom: .25rem;
    color: #fff;
    font-size: .72rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.site-footer-grid--editorial .site-footer-columns a {
    display: inline;
    width: fit-content;
    padding: 0;
    color: rgba(255, 255, 255, .7);
    background: transparent;
    border: 0;
    border-radius: 0;
    font-size: .88rem;
}

.site-footer-grid--editorial .site-footer-columns a:hover,
.site-footer-grid--editorial .site-footer-columns a:focus {
    color: #fff;
    background: transparent;
    text-decoration: underline;
}

.site-footer-meta {
    color: rgba(255, 255, 255, .62);
    line-height: 1.55;
}

@media (max-width: 991.98px) {
    .home-intro__grid,
    .solutions-intro,
    .demo-intro,
    .demo-stage,
    .pricing-intro,
    .solution-band {
        grid-template-columns: 1fr;
    }

    .home-intro__grid {
        align-items: start;
    }

    .solution-band:nth-of-type(even) .solution-band__visual {
        order: 0;
    }

    .demo-guide {
        position: static;
    }

    .site-footer-grid--editorial {
        grid-template-columns: 1fr 1.5fr;
    }

    .site-footer-meta {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767.98px) {
    .home-intro,
    .pricing-cost-section {
        margin-inline: -.5rem;
    }

    .home-record__body,
    .fit-split,
    .inline-cta,
    .preview-request__fields {
        grid-template-columns: 1fr;
    }

    .home-record__request {
        border-right: 0;
        border-bottom: 1px solid var(--public-line);
    }

    .journey-flow {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .journey-flow article:nth-child(n) {
        margin-top: 0;
    }

    .scenario-line {
        grid-template-columns: 1fr auto;
        gap: .65rem 1rem;
    }

    .scenario-line__label {
        grid-column: 1 / -1;
    }

    .fit-split > div + div {
        border-top: 1px solid var(--public-line);
        border-left: 0;
    }

    .price-ribbon,
    .cost-map {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .price-ribbon > :nth-child(3),
    .cost-map > :nth-child(3) {
        border-top: 1px solid var(--public-line);
        border-left: 0;
    }

    .cost-map > :nth-child(3) {
        border-top-color: rgba(255, 255, 255, .22);
    }

    .solution-signals,
    .preview-handoff,
    .continuity-story__notes,
    .site-footer-columns {
        grid-template-columns: 1fr;
    }

    .demo-screen iframe,
    .demo-screen__placeholder {
        min-height: 540px;
    }

    .journey-flow {
        grid-template-columns: 1fr;
    }

    .pricing-page-v2 .pricing-card,
    .pricing-page-v2 .pricing-card:first-child {
        border-top: 1px solid var(--public-line);
        border-left: 0;
    }

    .pricing-page-v2 .pricing-card:first-child {
        border-top: 0;
    }

    .site-footer-grid--editorial {
        grid-template-columns: 1fr;
    }

    .site-footer-meta {
        grid-column: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scenario-line > i,
    .solutions-intro__index a i {
        transition: none;
    }
}
