/* Inner-route composition system. Named shell rail is inherited from theme.css. */
.am-r5-page {
    --r5-accent: #b18aec;
    background: #0d101b;
    color: #f8f6ff;
}
.am-r5-page > *,
.am-r5-page [class*="am-r5-"] > :first-child {
    margin-block-start: 0;
}
.am-r5-page > * {
    margin-block: 0;
}
.am-r5-page p {
    color: #b9bacb;
}
.am-r5-page h1 {
    font-size: clamp(40px, 4.2vw, 62px);
    line-height: 1.07;
}
.am-r5-page h2 {
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.13;
}
.am-r5-page h3 {
    font-size: 25px;
    line-height: 1.2;
}
.am-r5-page a:not(.wp-block-button__link) {
    color: #c5a6f1;
}
.am-r5-page .am-eyebrow {
    color: var(--r5-accent);
    font-size: 11px;
    letter-spacing: 0.15em;
}
.am-r5-page :is(.ad-breadcrumbs, .am-r5-number) {
    font-size: 12px;
    color: #a9a4bb;
}
.am-r5-section {
    padding-block: 80px;
    border-bottom: 1px solid #ffffff0c;
}
.am-r5-section-head {
    max-width: 760px !important;
    margin-bottom: 36px;
}
.am-r5-section-head p {
    font-size: 15px;
}
.am-r5-hero {
    padding-block: 54px 65px;
    background: radial-gradient(ellipse at 90% 45%, #57209c20, transparent 65%);
}
.am-r5-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 65px;
    align-items: center;
}
.am-r5-hero-grid > *,
.am-r5-contact-grid > *,
.am-r5-showcase-grid > *,
.am-r5-case-detail > .ad-shell > * {
    margin-block: 0;
    min-width: 0;
}
.am-r5-intro > p:not(.am-eyebrow) {
    max-width: 650px;
    font-size: 15px;
    line-height: 1.85;
}
.am-r5-intro .wp-block-buttons {
    margin-top: 30px;
}
.am-r5-art-frame {
    position: relative;
    border: 1px solid #ab77f235;
    border-radius: 220px 220px 28px 28px;
    overflow: hidden;
    background: #0c0e1f;
}
.am-r5-art img {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}
.am-r5-art-frame img {
    aspect-ratio: 1;
    transition: transform 1s cubic-bezier(0.2, 0.65, 0.3, 1);
}
.am-r5-art-frame:hover img {
    transform: scale(1.025);
}
.am-r5-jump {
    padding-block: 20px;
    border-block: 1px solid #ffffff12;
    background: #151725;
}
.am-r5-jump > .ad-shell {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px 40px;
}
.am-r5-jump p {
    margin: 0;
    font-size: 12px;
}
.am-r5-jump a {
    text-decoration: none;
}
.am-r5-jump p:first-child {
    margin-right: auto;
}
.am-r5-overview > .ad-shell {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 95px;
    align-items: start;
}
.am-r5-overview .am-r5-section-head {
    margin: 0;
}
.am-r5-prose {
    border-left: 1px solid #af7eee55;
    padding-left: 38px;
    font-size: 16px;
}
.am-r5-prose p {
    line-height: 1.9;
}
.am-r5-prose p:first-child {
    font-size: 19px;
    color: #ded9e9;
}
.am-r5-capabilities {
    background: linear-gradient(140deg, #17182b, #111522);
}
.am-r5-card-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}
.am-r5-card {
    margin: 0;
    min-width: 0;
    padding: 32px;
    border: 1px solid #a682de30;
    border-radius: 18px;
    background: linear-gradient(140deg, #26203970, #121622);
    position: relative;
    transition:
        transform 0.3s,
        border-color 0.3s;
}
.am-r5-card:hover {
    transform: translateY(-4px);
    border-color: #a778e47a;
}
.am-r5-card .am-r5-number {
    margin-bottom: 30px;
    color: #bd8eff;
    font-family: var(--wp--preset--font-family--outfit);
    font-size: 16px;
}
.am-r5-card h3 {
    margin-bottom: 15px;
}
.am-r5-card p {
    font-size: 14px;
    line-height: 1.8;
}
.am-r5-card :last-child {
    margin-bottom: 0;
}
.am-r5-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.am-r5-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.am-r5-four .am-r5-card {
    padding: 26px;
}
.am-r5-four p a {
    display: block;
    font: 500 27px/1.2 var(--wp--preset--font-family--outfit);
    margin-bottom: 16px;
    text-decoration: none;
}
.am-r5-process {
    background: #10121f;
}
.am-r5-steps {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    padding: 0;
    margin: 40px 0;
    list-style: none;
    counter-reset: steps;
}
.am-r5-steps > li {
    counter-increment: steps;
    padding: 24px 28px 8px 0;
    border-top: 1px solid #a782d455;
    font-size: 14px;
    color: #bfb9cf;
    line-height: 1.8;
}
.am-r5-steps > li::before {
    content: counter(steps, decimal-leading-zero);
    display: block;
    color: #c9a6ff;
    font: 400 46px/1 var(--wp--preset--font-family--outfit);
    margin: 0 0 26px;
}
.am-r5-steps strong {
    color: #f5f0ff;
    display: block;
    font-size: 18px;
    margin-bottom: 12px;
}
.am-r5-workflow-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.am-r5-workflow-card {
    margin: 0;
    padding: 32px;
    border: 1px solid #ad80e530;
    border-radius: 20px;
    background: linear-gradient(145deg, #201a30, #111420);
}
.am-r5-workflow-card h2 {
    font-size: 29px;
}
.am-r5-workflow-card p {
    font-size: 14px;
}
.am-r5-workflow-card .am-r5-number {
    font-size: 40px;
    color: var(--r5-accent);
    font-family: var(--wp--preset--font-family--outfit);
    margin-bottom: 34px;
}
.am-r5-connected .am-r5-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.am-r5-connected .am-r5-number {
    display: none;
}
.am-r5-connected .am-r5-card {
    border-top: 2px solid #8752c5;
    background: #171927;
}
.am-r5-faq > .ad-shell {
    display: grid;
    grid-template-columns: 0.8fr 1.2fr;
    gap: 90px;
}
.am-r5-faq .ad-faq {
    margin: 0;
}
.am-r5-faq .ad-faq details {
    padding: 20px 0;
    border-bottom: 1px solid #ffffff20;
}
.am-r5-faq .ad-faq summary {
    font-size: 22px;
    line-height: 1.35;
}
.am-r5-faq .ad-faq p {
    font-size: 14px;
    line-height: 1.85;
}
.am-r5-closing {
    text-align: center;
    background: radial-gradient(ellipse at 50% 110%, #6431a67a, transparent 72%), #141423;
    padding-block: 85px;
}
.am-r5-closing-copy {
    max-width: 820px !important;
    margin-inline: auto !important;
}
.am-r5-closing h2 {
    font-size: clamp(35px, 4vw, 56px);
}
.am-r5-closing p {
    max-width: 650px;
    margin-inline: auto;
}
.am-r5-closing .wp-block-buttons {
    justify-content: center;
    margin-top: 30px;
}
.am-r5-hub-hero {
    text-align: center;
    padding-block: 65px;
    background: radial-gradient(ellipse at 70% 0, #50328a45, transparent 70%), #111322;
}
.am-r5-hub-hero .am-r5-intro {
    max-width: 950px !important;
    margin: auto !important;
}
.am-r5-hub-hero h1 {
    font-size: clamp(40px, 4.7vw, 66px);
}
.am-r5-hub-hero .ad-breadcrumbs {
    justify-content: center;
}
.am-r5-hub-hero p {
    margin-inline: auto;
}
.am-r5-hub-hero .ad-search {
    max-width: 650px;
    margin: 30px auto 0;
}
.am-r5-service-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.am-r5-service-tile {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    border: 1px solid #a47dd332;
    background: #141723;
    border-radius: 20px;
    overflow: hidden;
    margin: 0;
    align-items: center;
    transition: border-color 0.3s;
}
.am-r5-service-tile:hover {
    border-color: #a778e4;
}
.am-r5-service-tile-copy {
    padding: 32px 24px 32px 30px;
    position: relative;
    z-index: 1;
}
.am-r5-service-tile-copy h3 {
    font-size: 27px;
}
.am-r5-service-tile-copy p {
    font-size: 13px;
    line-height: 1.8;
}
.am-r5-service-tile-copy p a {
    color: #dac0ff;
}
.am-r5-service-tile .am-r5-art {
    margin: 0;
    align-self: stretch;
}
.am-r5-service-tile img {
    height: 100%;
    object-fit: cover;
    min-height: 230px;
}
.am-r5-orange {
    border-color: #fa96543d;
}
.am-r5-link-building {
    --r5-accent: #ff9757;
}
.am-r5-link-building .am-r5-art-frame,
.am-r5-link-building .am-r5-workflow-card {
    border-color: #ff975740;
}
.am-r5-link-building .am-r5-prose {
    border-left-color: #ff975780;
}
.am-r5-product-hero {
    text-align: center;
    padding-block: 62px 0;
    background: radial-gradient(ellipse at 50% 95%, #653bb855, transparent 70%);
}
.am-r5-product-hero .am-r5-intro {
    max-width: 950px !important;
    margin: auto !important;
}
.am-r5-product-hero .ad-breadcrumbs,
.am-r5-product-hero .wp-block-buttons {
    justify-content: center;
}
.am-r5-product-hero p {
    margin-inline: auto;
}
.am-r5-software-frame {
    padding: 26px 26px 0;
    max-width: 1000px !important;
    margin: 40px auto 0 !important;
    border: 1px solid #b18ae14d;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(150deg, #37234f, #161724);
}
.am-r5-software-frame img {
    display: block;
    width: 100%;
    max-height: 480px;
    object-fit: contain;
    object-position: bottom;
}
.am-r5-software-frame figure {
    margin: 0;
}
.am-r5-showcase-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    align-items: center;
    gap: 65px;
}
.am-r5-showcase-0 .am-r5-showcase-copy {
    order: 2;
}
.am-r5-showcase-0 .am-r5-showcase-image {
    order: 1;
}
.am-r5-showcase {
    background: linear-gradient(145deg, #111521, #171525);
}
.am-r5-showcase-0 {
    background: #0d101b;
}
.am-r5-showcase-image {
    border: 1px solid #9b73c73d;
    border-radius: 24px;
    padding: 15px;
    background: #211b32;
    overflow: hidden;
}
.am-r5-showcase-image img {
    display: block;
    width: 100%;
    border-radius: 14px;
}
.am-r5-showcase-copy .am-r5-number {
    font: 400 46px/1 var(--wp--preset--font-family--outfit);
    color: #9573c0;
}
.am-r5-showcase-copy p {
    font-size: 14px;
}
.am-r5-case-hero {
    padding-block: 56px 0;
}
.am-r5-case-hero .am-r5-intro {
    max-width: 950px !important;
    margin-bottom: 40px;
}
.am-r5-case-cover {
    margin: 0;
    border-radius: 24px 24px 0 0;
    overflow: hidden;
    border: 1px solid #b084ec36;
}
.am-r5-case-cover img {
    display: block;
    width: 100%;
    max-height: 620px;
    object-fit: cover;
    object-position: 50% 45%;
}
.am-r5-case-detail > .ad-shell {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 65px;
    align-items: center;
}
.am-r5-detail-image {
    margin: 0;
    border: 1px solid #a47dd337;
    border-radius: 20px;
    overflow: hidden;
}
.am-r5-detail-image img {
    display: block;
    width: 100%;
}
.am-r5-detail-copy p {
    font-size: 14px;
}
.am-r5-software-pair,
.am-r5-project-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: start;
}
.am-r5-software-pair figure {
    margin: 0;
    padding: 20px;
    background: #211a32;
    border: 1px solid #ab81e744;
    border-radius: 20px;
}
.am-r5-software-pair figure:nth-child(2) {
    margin-top: 60px;
}
.am-r5-software-pair img {
    display: block;
    aspect-ratio: 1.7;
    width: 100%;
    object-fit: contain;
}
.am-r5-project-pair > * {
    margin: 0;
}
.am-r5-project-pair .am-work-image img {
    aspect-ratio: 1.7;
}
.am-r5-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 85px;
    align-items: start;
}
.am-r5-contact-art {
    max-width: 330px;
    margin-top: 30px;
    border-radius: 120px 120px 20px 20px;
    overflow: hidden;
}
.am-r5-contact-art img {
    aspect-ratio: 1.35;
}
.am-r5-contact-card {
    padding: 38px;
    background: linear-gradient(140deg, #292038, #171a28);
    border: 1px solid #b180eb55;
}
.am-r5-contact-card h2 {
    font-size: 36px;
}
.am-r5-topic-label {
    margin-top: 36px;
    font-size: 12px;
}
.am-r5-contact-card .am-contact-paths .wp-block-button__link {
    font-size: 12px;
}
.am-r5-contact .am-r5-overview {
    padding-block: 55px;
}
.am-r5-collection .ad-card-content h3 a {
    color: #f6f0ff !important;
}
.am-r5-collection .ad-card-content :is(.wp-block-post-date, .wp-block-post-excerpt) {
    color: #b6adca;
}
.am-r5-collection .ad-article-card {
    background: #171927;
    border: 1px solid #b491df25;
    border-radius: 18px;
    overflow: hidden;
    padding: 0 0 25px;
    height: 100%;
}
.am-r5-collection .ad-card-content {
    padding-inline: 24px;
}
.am-r5-collection .wp-block-post-featured-image {
    border-radius: 0;
}
.am-r5-collection .wp-block-post-featured-image img {
    width: 100%;
    aspect-ratio: 1.7;
}
.am-r5-page .ad-search input {
    color: #eee8f7;
    background: #1c1c2d;
    border-color: #9f7dcc66;
}
.am-r5-page .ad-search input::placeholder {
    color: #b9b1c7;
}
.am-r5-page .ad-search button {
    background: #7c3aed;
    color: white;
}
@media (max-width: 1100px) {
    .am-r5-hero-grid,
    .am-r5-showcase-grid,
    .am-r5-case-detail > .ad-shell,
    .am-r5-contact-grid {
        gap: 40px;
    }
    .am-r5-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .am-r5-service-tile {
        grid-template-columns: 1fr;
    }
    .am-r5-service-tile-copy {
        padding: 28px;
    }
    .am-r5-service-tile img {
        height: 220px;
        object-position: 50% 48%;
        min-height: 0;
    }
}
@media (max-width: 800px) {
    .am-r5-section {
        padding-block: 50px;
    }
    .am-r5-page h1 {
        font-size: clamp(35px, 6vw, 49px);
    }
    .am-r5-page h2 {
        font-size: 32px;
    }
    .am-r5-page h3 {
        font-size: 24px;
    }
    .am-r5-hero-grid,
    .am-r5-overview > .ad-shell,
    .am-r5-faq > .ad-shell,
    .am-r5-showcase-grid,
    .am-r5-case-detail > .ad-shell,
    .am-r5-contact-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    .am-r5-hero {
        padding-top: 32px;
    }
    .am-r5-art-frame {
        max-width: 520px !important;
        width: 100%;
        margin-inline: auto !important;
        border-radius: 180px 180px 22px 22px;
    }
    .am-r5-art-frame img {
        aspect-ratio: 1.45;
        object-position: 50% 46%;
    }
    .am-r5-jump {
        padding-block: 18px;
    }
    .am-r5-jump > .ad-shell {
        gap: 12px 22px;
    }
    .am-r5-jump p:first-child {
        margin-right: 0;
    }
    .am-r5-prose {
        padding-left: 22px;
    }
    .am-r5-prose p:first-child {
        font-size: 17px;
    }
    .am-r5-intro > p:not(.am-eyebrow) {
        font-size: 14px;
    }
    .am-r5-three,
    .am-r5-workflow-grid {
        grid-template-columns: 1fr;
    }
    .am-r5-card,
    .am-r5-workflow-card {
        padding: 26px;
    }
    .am-r5-card .am-r5-number,
    .am-r5-workflow-card .am-r5-number {
        margin-bottom: 20px;
    }
    .am-r5-workflow-card .am-r5-number {
        font-size: 30px;
    }
    .am-r5-steps {
        grid-template-columns: 1fr 1fr;
        gap: 26px 20px;
    }
    .am-r5-steps > li {
        padding-right: 0;
    }
    .am-r5-steps > li::before {
        font-size: 35px;
        margin-bottom: 16px;
    }
    .am-r5-faq .ad-faq summary {
        font-size: 21px;
    }
    .am-r5-product-hero {
        padding-bottom: 0;
    }
    .am-r5-software-frame {
        padding: 12px 12px 0;
        border-radius: 15px 15px 0 0;
        margin-top: 30px !important;
    }
    .am-r5-showcase-0 .am-r5-showcase-copy,
    .am-r5-showcase-0 .am-r5-showcase-image {
        order: initial;
    }
    .am-r5-case-hero {
        padding-bottom: 0;
    }
    .am-r5-case-cover img {
        aspect-ratio: 1.5;
    }
    .am-r5-contact-art {
        display: none;
    }
    .am-r5-contact-card {
        padding: 28px;
    }
    .am-r5-contact-card h2 {
        font-size: 30px;
    }
    .am-r5-software-pair,
    .am-r5-project-pair {
        gap: 18px;
    }
    .am-r5-software-pair figure:nth-child(2) {
        margin-top: 25px;
    }
}
@media (max-width: 540px) {
    .am-r5-card-grid,
    .am-r5-service-grid,
    .am-r5-software-pair,
    .am-r5-project-pair {
        grid-template-columns: 1fr;
    }
    .am-r5-software-pair figure:nth-child(2) {
        margin-top: 0;
    }
    .am-r5-service-tile {
        grid-template-columns: 1.2fr 1fr;
    }
    .am-r5-service-tile-copy {
        padding: 22px 16px 22px 22px;
    }
    .am-r5-service-tile-copy h3 {
        font-size: 22px;
    }
    .am-r5-service-tile-copy p {
        font-size: 12px;
    }
    .am-r5-service-tile img {
        height: 100%;
        min-height: 220px;
        object-position: 50% 50%;
    }
    .am-r5-steps {
        grid-template-columns: 1fr;
        gap: 18px;
    }
    .am-r5-steps > li {
        position: relative;
        padding: 20px 0 0 58px;
    }
    .am-r5-steps > li::before {
        position: absolute;
        left: 0;
        top: 20px;
        font-size: 28px;
    }
    .am-r5-collection .ad-card-content {
        padding-inline: 20px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .am-r5-card:hover,
    .am-r5-art-frame:hover img {
        transform: none;
    }
}

/* Small functional details share the existing locally served Lucide family. */
.am-r5-capabilities .am-r5-card::after {
    content: "";
    position: absolute;
    top: 27px;
    right: 28px;
    width: 28px;
    height: 28px;
    background: #bd93ee;
    mask: url("../icons/scan-search.svg") center/contain no-repeat;
    opacity: 0.85;
}
.am-r5-capabilities .am-r5-card:nth-child(2n)::after {
    mask-image: url("../icons/panels-top-left.svg");
}
.am-r5-capabilities .am-r5-card:nth-child(3n)::after {
    mask-image: url("../icons/workflow.svg");
}
.am-r5-page .am-plan-price {
    color: #f6efff;
}
@media (max-width: 540px) {
    .am-r5-contact-card .am-contact-paths {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    .am-r5-contact-card .am-contact-paths .wp-block-button__link {
        font-size: 11px;
        padding: 12px 10px;
    }
    .am-r5-contact-card .am-contact-paths .wp-block-button__link::after {
        width: 12px;
        height: 12px;
    }
    .am-r5-contact-card {
        padding: 25px;
    }
}
.am-r5-collection .ad-article-card {
    display: flex;
    flex-direction: column;
}
.am-r5-collection .ad-card-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.am-r5-collection .ad-card-content .wp-block-read-more {
    margin-top: auto;
    padding-top: 18px;
}
@media (max-width: 540px) {
    .am-r5-service-tile {
        grid-template-columns: minmax(0, 1fr) 110px;
    }
    .am-r5-service-tile-copy p {
        font-size: 13px;
    }
    .am-r5-service-tile-copy {
        padding: 23px 18px 23px 23px;
    }
}
@media (min-width: 801px) {
    .am-r5-workflow-pair {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 360px) {
    .am-r5-contact-card a[href^="mailto:"] {
        font-size: 12px;
    }
}

/* Insights category imagery: use the existing native card rail. */
.am-r5-insight-paths .am-insight-category-art {
    margin: 0 0 1rem;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 12px;
}
.am-r5-insight-paths .am-insight-category-art img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Revision 6: real interface frames and complete, native project stories. */
.am-browser {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid #a48ccb40;
    border-radius: 16px;
    background: #161820;
    box-shadow: 0 22px 60px #0004;
}
.am-browser .am-browser-bar {
    margin: 0 !important;
    padding: 13px 18px 13px 72px;
    font: 400 11px/1.5 var(--wp--preset--font-family--poppins);
    letter-spacing: 0.03em;
    color: #aaa4ba;
    background: #24212f;
    text-align: left;
    max-width: none;
}
.am-browser-bar::before {
    content: "";
    position: absolute;
    top: 19px;
    left: 18px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #aa819e;
    box-shadow:
        12px 0 #a69976,
        24px 0 #769386;
}
.am-browser figure.am-screen-image {
    margin: 0 !important;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: #171c28;
}
.am-browser .am-screen-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
    transform: none !important;
    border-radius: 0;
}
.am-browser .am-screen-link {
    margin: 0 !important;
    padding: 9px 15px !important;
    font-size: 10px !important;
    line-height: 1.6;
    text-align: right;
    max-width: none;
}
.am-screen-link a {
    color: #c8b8de;
    text-decoration: none;
}
.am-screen-link a:hover {
    color: white;
    text-decoration: underline;
}
.am-r5-page .am-product-browser {
    max-width: 1000px;
    margin: 44px auto 0;
}
.am-product-browser .am-screen-image img {
    max-height: 510px;
}
.am-r5-showcase .am-browser {
    padding: 0;
    border-radius: 16px;
    transform: none;
}
.am-r5-showcase .am-browser img {
    max-height: 430px;
}
.am-r5-software-pair .am-browser {
    align-self: start;
}
.am-r5-software-pair .am-browser img {
    max-height: 350px;
}
.am-product-detail-stage,
.am-restored-stage,
.am-company-journey,
.am-platform-stage {
    padding-block: 76px;
    border-top: 1px solid #caa4ff15;
}
.am-product-detail-stage {
    background: radial-gradient(ellipse at 70% 70%, #512b842b, transparent 65%);
}
.am-product-detail-stage h2 {
    max-width: 800px;
}
.am-product-detail-browser {
    max-width: 960px;
    margin: 32px auto 0;
}
.am-product-detail-browser img {
    max-height: 490px;
}
.am-product-detail-stage .am-product-detail-browser .am-screen-image img {
    max-height: 490px;
}
.am-evidence-stage {
    padding-block: 80px;
    background: linear-gradient(125deg, #19112780, #10121b);
    border-block: 1px solid #caa4ff15;
}
.am-evidence-stage > .ad-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    gap: 48px;
    align-items: center;
}
.am-evidence-head h2 {
    font-size: clamp(28px, 3.3vw, 44px);
    line-height: 1.12;
}
.am-evidence-head a {
    color: #d5b6ff;
    text-underline-offset: 5px;
}
.am-evidence-stage .am-browser {
    width: 100%;
    align-self: center;
}
.am-evidence-stage .am-evidence-secondary {
    grid-column: 2;
}
.am-evidence-secondary img {
    max-height: 440px;
}
.am-case-opening {
    padding: 64px 0 32px;
}
.am-case-intro {
    max-width: 1020px;
    margin: auto;
    text-align: center;
}
.am-case-intro h1 {
    font-size: clamp(38px, 4.5vw, 64px);
    line-height: 1.06;
    letter-spacing: -0.045em;
}
.am-case-intro > p:not(.am-eyebrow) {
    max-width: 760px;
    margin-inline: auto;
    color: #b5b0c1;
}
.am-case-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px;
    border-top: 1px solid #b88ce62b;
    margin-top: 40px;
    padding-top: 25px;
}
.am-case-fact p {
    margin: 0;
}
.am-case-fact .am-eyebrow {
    font-size: 10px;
    margin-bottom: 8px;
}
.am-case-fact p:last-child {
    font: 500 17px/1.4 var(--wp--preset--font-family--outfit);
    color: #e5dced;
}
.am-case-cover {
    padding: 0 0 72px;
}
.am-case-main-screen {
    width: 100%;
}
.am-case-overview,
.am-case-story,
.am-case-faq,
.am-case-related {
    padding-block: 72px;
    border-top: 1px solid #caa4ff1c;
}
.am-case-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.65fr);
    gap: 72px;
    align-items: start;
}
.am-case-page h2 {
    font-size: clamp(28px, 3.3vw, 44px);
    line-height: 1.13;
}
.am-case-narrative > p,
.am-case-story-copy > p {
    color: #b7b0c5;
    line-height: 1.85;
}
.am-case-snapshot {
    padding: 30px;
    border: 1px solid #b88ce635;
    border-radius: 20px;
    background: linear-gradient(135deg, #2a1d3f88, #15131e);
}
.am-case-snapshot h2 {
    font-size: 24px;
    margin-bottom: 25px;
}
.am-case-scope-item + .am-case-scope-item {
    border-top: 1px solid #b88ce626;
    padding-top: 22px;
    margin-top: 22px;
}
.am-case-scope-item h3 {
    font-size: 20px;
    line-height: 1.25;
    margin: 5px 0 10px;
}
.am-case-scope-item p {
    font-size: 13px;
    line-height: 1.75;
    margin-bottom: 0;
    color: #aaa4b8;
}
.am-case-scope-item .am-r5-number {
    font-size: 13px;
    color: #b895e9;
    margin: 0;
}
.am-case-story > .ad-shell {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: 70px;
    align-items: start;
}
.am-case-story-media > .ad-shell {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    align-items: center;
}
.am-case-responsive-story {
    background: radial-gradient(ellipse at 72% 50%, #4e29762f, transparent 50%);
}
.am-case-responsive-story > .ad-shell {
    grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr);
}
.am-phone-screen {
    width: 245px;
    margin-inline: auto;
    border-radius: 27px;
    border: 5px solid #2a2734;
}
.am-phone-screen .am-browser-bar {
    padding: 12px;
    text-align: center;
    font-size: 9px;
}
.am-phone-screen .am-browser-bar::before {
    display: none;
}
.am-case-related-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    margin-top: 32px;
}
.am-case-related-card {
    padding: 14px 14px 22px;
    border: 1px solid #bb98dd26;
    border-radius: 18px;
    background: #17141f;
    min-width: 0;
}
.am-case-related-card figure {
    margin: 0 0 22px;
    overflow: hidden;
    border-radius: 9px;
    aspect-ratio: 16/10;
}
.am-case-related-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: transform 0.45s;
}
.am-case-related-card:hover img {
    transform: scale(1.025);
}
.am-case-related-card h3 {
    font-size: 25px;
    margin: 0 12px 9px;
    line-height: 1.2;
}
.am-case-related-card h3 a {
    text-decoration: none;
    color: #eee5ff;
}
.am-case-related-card p {
    font-size: 13px;
    margin: 0 12px;
    color: #b3a9c2;
}
.am-case-faq .ad-faq,
.am-r5-services .ad-faq {
    margin-top: 30px;
}
.am-company-purpose .am-r5-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.am-journey-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin-top: 40px;
}
.am-journey-grid .am-r5-card {
    background: none;
    border: 0;
    border-top: 1px solid #ba90e149;
    border-radius: 0;
    padding: 30px 28px 30px 0;
}
.am-journey-grid .am-r5-number {
    font-size: 32px;
    margin-bottom: 24px;
}
.am-process-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 30px;
}
.am-process-strip h3 {
    font-size: 22px;
}
.am-platform-stage {
    background: linear-gradient(110deg, #371f1e, #191321 75%);
}
.am-platform-stage h2,
.am-platform-stage .am-eyebrow {
    color: #f99b52;
}
.am-platform-stage p {
    max-width: 750px;
}
.am-restored-stage .am-r5-card-grid {
    margin-top: 32px;
    align-items: stretch;
}
.am-restored-stage .am-r5-card {
    height: auto;
}
@media (max-width: 980px) {
    .am-case-overview-grid {
        gap: 36px;
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    }
    .am-evidence-stage > .ad-shell {
        gap: 30px;
    }
    .am-journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .am-process-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 700px) {
    .am-case-opening {
        padding: 40px 0 28px;
    }
    .am-case-intro {
        text-align: left;
    }
    .am-case-intro h1 {
        font-size: 37px;
    }
    .am-case-facts {
        gap: 15px;
        margin-top: 27px;
        padding-top: 21px;
    }
    .am-case-fact p:last-child {
        font-size: 13px;
    }
    .am-case-fact .am-eyebrow {
        font-size: 8px;
        letter-spacing: 0.08em;
    }
    .am-case-cover {
        padding-bottom: 45px;
    }
    .am-case-overview,
    .am-case-story,
    .am-case-faq,
    .am-case-related,
    .am-evidence-stage,
    .am-restored-stage,
    .am-company-journey,
    .am-platform-stage,
    .am-product-detail-stage {
        padding-block: 48px;
    }
    .am-case-overview-grid,
    .am-case-story > .ad-shell,
    .am-evidence-stage > .ad-shell {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }
    .am-evidence-stage .am-evidence-secondary {
        grid-column: 1;
    }
    .am-case-snapshot {
        padding: 25px;
    }
    .am-case-related-grid {
        gap: 22px;
        grid-template-columns: minmax(0, 1fr);
    }
    .am-case-related-card figure {
        max-height: 210px;
    }
    .am-case-related-card h3 {
        font-size: 23px;
    }
    .am-journey-grid,
    .am-company-purpose .am-r5-card-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .am-journey-grid .am-r5-card {
        padding: 24px 0 24px 53px;
        position: relative;
    }
    .am-journey-grid .am-r5-number {
        position: absolute;
        top: 25px;
        left: 0;
        font-size: 23px;
    }
    .am-browser {
        border-radius: 10px;
    }
    .am-browser .am-browser-bar {
        font-size: 8px;
        padding: 10px 10px 10px 52px;
    }
    .am-browser-bar::before {
        width: 5px;
        height: 5px;
        left: 12px;
        top: 15px;
        box-shadow:
            9px 0 #a69976,
            18px 0 #769386;
    }
    .am-browser .am-screen-link {
        font-size: 9px !important;
        padding: 6px 10px !important;
    }
    .am-phone-screen {
        width: 220px;
        border-radius: 25px;
    }
    .am-phone-screen .am-browser-bar {
        padding: 10px;
    }
    .am-process-strip .am-r5-card {
        padding: 20px 16px;
    }
    .am-process-strip h3 {
        font-size: 20px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .am-case-related-card:hover img {
        transform: none;
    }
}

/* Native grid children use the owning gap, not default flow margins. */
body
    :is(.am-case-facts, .am-case-overview-grid, .am-case-related-grid, .am-journey-grid, .am-process-strip)
    > *,
body :is(.am-case-story, .am-evidence-stage) > .ad-shell > * {
    margin-block: 0;
}
body .am-product-panel .am-browser.am-product-visual {
    display: block;
    padding: 0;
    align-self: center;
    border-radius: 14px;
    margin: 24px;
}
body .am-product-panel .am-browser.am-product-visual img {
    border-radius: 0;
    max-height: 400px;
    box-shadow: none;
    translate: none !important;
}
body .am-product-panel .am-browser .am-browser-bar {
    max-width: none;
}
@media (max-width: 700px) {
    body .am-product-panel .am-browser.am-product-visual {
        margin: 0 20px 22px;
    }
}
