/* Enhancement layer for the original landing page only. */
.homepage-memphis {
    --memphis-ease: cubic-bezier(.22, 1, .36, 1);
    background: var(--apderis-soft);
}
.homepage-memphis .content-header {
    background-image: none !important;
    background-color: #fbfcfe;
}
.homepage-memphis .content-header > .container {
    max-width: 1320px !important;
}
.memphis-shell {
    position: relative;
    isolation: isolate;
    padding: 0 10px 20px;
}
.memphis-background {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: url('../img/memphis-apderis.svg') center top / 960px 760px repeat;
}
.memphis-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 20px 0;
    font-size: .82rem;
    color: var(--apderis-muted);
}
.memphis-status-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 8px;
    border-radius: 50%;
    background: var(--apderis-brand);
    box-shadow: 0 0 0 4px #ee9d0115;
}
.memphis-motion-toggle {
    flex-shrink: 0;
    border: 1px solid var(--apderis-line);
    border-radius: 30px;
    padding: 6px 12px;
    background: #fff;
    color: var(--apderis-ink);
    font: inherit;
    cursor: pointer;
}
.memphis-motion-toggle i { margin-right: 5px; color: var(--apderis-brand-dark); }
.memphis-reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    z-index: 1040;
    pointer-events: none;
}
.memphis-reading-progress span {
    display: block;
    height: 100%;
    background: var(--apderis-brand);
    transform: scaleX(0);
    transform-origin: left;
}
.homepage-memphis .hero-section {
    margin: 22px 0 25px;
    padding: clamp(3rem, 6vw, 6rem) clamp(1.25rem, 3vw, 3rem);
    border: 1px solid #ee9d0145;
    border-radius: 30px;
    background: #fffdf8 url('../img/memphis-apderis.svg') center / 960px 760px;
    box-shadow: 0 16px 50px -24px #ee9d0135;
}
.homepage-memphis .hero-section::before {
    top: -70px;
    right: -65px;
    width: 230px;
    height: 230px;
    background: none;
    border: 35px solid #ee9d011a;
    animation: memphis-drift 12s ease-in-out infinite;
}
.homepage-memphis .hero-section::after {
    bottom: -32px;
    left: 48%;
    width: 100px;
    height: 100px;
    border: 2px solid #0f172a12;
    border-radius: 14px;
    background: none;
    transform: rotate(25deg);
    animation: memphis-turn 16s ease-in-out infinite;
}
.homepage-memphis .hero-content h1 {
    font-size: clamp(2.7rem, 4.7vw, 4.1rem);
    line-height: 1.09;
}
.homepage-memphis .hero-content h1 .highlight {
    background: linear-gradient(#ee9d0120, #ee9d0120) left 95% / 100% 9px no-repeat;
}
.homepage-memphis .hero-content .section-eyebrow {
    background: #fff9eb;
    padding-block: 6px;
    line-height: 1.5;
}
.homepage-memphis .hero-visual {
    transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg));
    transition: transform .5s var(--memphis-ease);
}
.homepage-memphis .hero-visual::before {
    inset: 3% -2% -4% 4%;
    background: #ee9d0128;
    border: 1px solid #ee9d0140;
    border-radius: 22px;
    transform: rotate(4deg);
}
.homepage-memphis .hero-visual:hover img { transform: none; }
.homepage-memphis .hero-badge-floating { animation: memphis-float 7s ease-in-out infinite; }
.homepage-memphis .hero-badge-floating.bottom-left { animation-delay: -3.5s; }
.homepage-memphis .hero-content > .row > div:first-child { animation: memphis-enter .8s var(--memphis-ease) both; }
.homepage-memphis .hero-visual > img { animation: memphis-enter 1s var(--memphis-ease) both; }
.homepage-memphis .homepage-section { padding-block: 1.8rem; scroll-margin-top: 95px; }
.homepage-memphis .homepage-section-card {
    border: 1px solid var(--apderis-line);
    box-shadow: 0 12px 35px -20px #0f172a16;
    overflow: visible;
}
.homepage-memphis .homepage-section-card:hover {
    border: 1px solid #ee9d0170;
    box-shadow: 0 18px 45px -24px #0f172a20;
}
.homepage-memphis .homepage-section:nth-of-type(3n) .homepage-section-card::before {
    content: '';
    position: absolute;
    top: -17px;
    right: 38px;
    width: 65px;
    height: 32px;
    border-radius: 65px 65px 0 0;
    background: repeating-linear-gradient(-45deg, #ee9d01 0 2px, #fff 2px 7px);
    transform: rotate(18deg);
    pointer-events: none;
}
.homepage-memphis .feature-group-card,
.homepage-memphis .pricing-card,
.homepage-memphis .workflow-card,
.homepage-memphis .problem-card,
.homepage-memphis .proof-card {
    transition: transform .35s var(--memphis-ease), box-shadow .35s, border-color .35s;
}
.homepage-memphis .feature-group-card:hover,
.homepage-memphis .pricing-card:hover,
.homepage-memphis .proof-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 35px -20px #0f172a30;
}
.homepage-memphis .feature-group-card:hover .feature-icon {
    transform: rotate(-7deg) scale(1.06);
}
.homepage-memphis .feature-icon { transition: transform .35s var(--memphis-ease); }
.homepage-memphis .btn { transition: transform .25s var(--memphis-ease), box-shadow .25s, background-color .25s; }
.homepage-memphis .btn:hover { transform: translateY(-3px); }
.homepage-memphis .btn-primary { color: var(--apderis-ink); box-shadow: 0 5px 18px #ee9d0120; }
.homepage-memphis .btn-primary:hover { color: var(--apderis-ink); box-shadow: 0 10px 25px #ee9d0138; }
.homepage-memphis .workflow-card { display: flex; flex-direction: column; }
.homepage-memphis .workflow-card p { flex: 1; }
.homepage-memphis .workflow-card.is-selected { border-color: var(--apderis-brand); background: #fffaf0; box-shadow: 0 10px 25px -18px #ee9d0180; }
.memphis-step-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    margin-top: 18px;
    padding: 10px 0 0;
    border: 0;
    border-top: 1px solid var(--apderis-line);
    background: transparent;
    color: var(--apderis-ink);
    font-size: .88rem;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}
.memphis-step-button[aria-pressed="true"] { color: #8b5600; }
.memphis-step-button i { transition: transform .25s; }
.memphis-step-button:hover i { transform: translateX(4px); }
.memphis-step-button[hidden], .memphis-workflow-preview[hidden], .memphis-motion-toggle[hidden] { display: none; }
.memphis-workflow-preview {
    margin-top: 32px;
    padding: 26px 30px 18px;
    border: 1px solid var(--apderis-line);
    border-radius: 18px;
    background: var(--apderis-soft);
}
.memphis-ticket { display: flex; align-items: center; gap: 18px; }
.memphis-ticket-icon { width: 50px; height: 50px; flex-shrink: 0; display: grid; place-items: center; background: #fff0d0; color: #8b5600; border-radius: 14px; font-size: 20px; }
.memphis-ticket-caption { color: var(--apderis-muted); font-size: .65rem; letter-spacing: .1em; }
.memphis-ticket h3 { margin: 4px 0; font-size: 1.1rem; font-weight: 700; }
.memphis-ticket p { margin: 0; font-size: .85rem; color: var(--apderis-muted); }
.memphis-ticket-status { margin-left: auto; border: 1px solid #ee9d0145; border-radius: 30px; background: #fff6e3; color: #8b5600; padding: 6px 13px; font-size: .8rem; font-weight: 700; }
.memphis-ticket-track { display: flex; gap: 6px; margin-top: 24px; }
.memphis-ticket-track span { height: 5px; flex: 1; border-radius: 4px; background: var(--apderis-line); transition: background .35s; }
.memphis-ticket-track span.is-complete { background: var(--apderis-brand); }
.memphis-ticket-update { margin: 13px 0 0; min-height: 25px; font-size: .85rem; color: #475569; }
.homepage-memphis .faq-card details[open] p { animation: memphis-answer .3s ease both; }
.homepage-memphis .faq-card summary { transition: color .2s; }
.homepage-memphis .faq-card summary:hover { color: var(--apderis-brand-dark); }
.homepage-memphis .final-cta-card { background-image: linear-gradient(110deg, #0f172af5, #0f172ad9), url('../img/memphis-apderis.svg'); background-size: auto, 700px; }
.homepage-memphis :is(button, a, summary):focus-visible { outline: 3px solid #b86e00; outline-offset: 4px; }
.homepage-memphis .memphis-reveal { transition: opacity .7s var(--memphis-ease), translate .7s var(--memphis-ease); }
.homepage-memphis .memphis-reveal.is-pending { opacity: 0; translate: 0 24px; }
.homepage-memphis .memphis-reveal:focus-within { opacity: 1; translate: none; }
@keyframes memphis-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes memphis-drift { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-14px, 12px); } }
@keyframes memphis-turn { 0%, 100% { transform: rotate(25deg); } 50% { transform: rotate(45deg) translateY(-8px); } }
@keyframes memphis-enter { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes memphis-answer { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
html.memphis-motion-paused { scroll-behavior: auto; }
.homepage-memphis.memphis-motion-paused *,
.homepage-memphis.memphis-motion-paused *::before,
.homepage-memphis.memphis-motion-paused *::after { animation: none !important; transition: none !important; }
.homepage-memphis.memphis-motion-paused .memphis-reveal.is-pending { opacity: 1; translate: none; }
@media (max-width: 991px) {
    .homepage-memphis .hero-visual { max-width: 640px; margin: 45px auto 10px; }
    .homepage-memphis .hero-content h1 { max-width: 750px; }
    .homepage-memphis .hero-section { padding-block: 3.5rem; }
}
@media (max-width: 575px) {
    .memphis-shell { padding-inline: 0; }
    .memphis-toolbar { padding: 16px 8px 0; gap: 10px; font-size: .7rem; }
    .memphis-toolbar > span { max-width: 175px; }
    .memphis-motion-toggle { padding: 6px 9px; }
    .homepage-memphis .hero-section { margin-top: 18px; padding: 2.5rem 10px; border-radius: 22px; background-size: 760px 620px; }
    .homepage-memphis .hero-content h1 { font-size: 2.65rem; }
    .homepage-memphis .hero-content .section-eyebrow { font-size: .63rem; }
    .homepage-memphis .hero-badge-floating { padding: 8px 10px; font-size: .7rem; }
    .homepage-memphis .hero-badge-floating.top-right { right: 0; }
    .homepage-memphis .hero-badge-floating.bottom-left { left: 0; }
    .homepage-memphis .homepage-section { padding-block: 1.25rem; }
    .homepage-memphis .homepage-section-card { padding: 2.5rem 1.2rem; border-radius: 22px; }
    .memphis-workflow-preview { padding: 20px 16px; margin-top: 8px; }
    .memphis-ticket { flex-wrap: wrap; gap: 12px; }
    .memphis-ticket-status { margin-left: 0; }
    .memphis-ticket-icon { width: 40px; height: 40px; }
    .memphis-ticket-update { font-size: .8rem; }
    .memphis-background { background-size: 760px 620px; }
}
@media (hover: none) {
    .homepage-memphis .feature-group-card:hover,
    .homepage-memphis .pricing-card:hover,
    .homepage-memphis .proof-card:hover,
    .homepage-memphis .btn:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .homepage-memphis *, .homepage-memphis *::before, .homepage-memphis *::after { animation: none !important; transition: none !important; }
    .homepage-memphis .memphis-reveal.is-pending { opacity: 1; translate: none; }
    .homepage-memphis .hero-visual { transform: none; }
}
