:root {
    --momentra-figma-red: #812918;
    --momentra-figma-red-dark: #671f13;
    --momentra-figma-paper: #f8f5f0;
    --momentra-figma-paper-deep: #f1ebe3;
    --momentra-figma-ink: #2b2420;
    --momentra-figma-line: #d9cfc1;
    --momentra-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Figma auth frames: 1896 × 2218 with a 1838 × 1141 inner composition. */
.redesigned-auth-page .page-shell {
    width: 100%;
    max-width: none;
    padding: clamp(8rem, 9.75vw, 11.5rem) clamp(1rem, 2.64vw, 3.125rem) clamp(4rem, 7.54vw, 8.9375rem);
}

/* Auth pages use a quiet chrome: keep only a clear way back to the public home. */
.auth-minimal-chrome .page-shell {
    position: relative;
}

.auth-back-link {
    position: absolute;
    inset-block-start: clamp(.8rem, 2.4vw, 1.4rem);
    inset-inline-start: clamp(1rem, 3vw, 3rem);
    z-index: 3;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem .8rem;
    border: 1px solid rgb(191 174 152 / 70%);
    border-radius: 999px;
    background: rgb(255 253 249 / 94%);
    color: var(--momentra-figma-ink);
    font-size: .78rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 8px 20px rgb(56 39 29 / 10%);
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.auth-back-link:hover,
.auth-back-link:focus-visible {
    border-color: var(--momentra-figma-red);
    background: var(--momentra-figma-red);
    color: #fffdf9;
    transform: translateY(-2px);
}

.auth-back-icon {
    font-size: 1rem;
    line-height: .8;
}

html[dir="rtl"] .auth-back-icon {
    transform: scaleX(-1);
}

.figma-auth-shell.auth-shell {
    position: relative;
    width: min(1838px, 100%);
    min-height: min(1141px, calc(100dvh - 10rem));
    display: block;
    margin-inline: auto;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: var(--momentra-figma-paper-deep);
    box-shadow: none;
    isolation: isolate;
}

.figma-auth-shell::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: url("../images/figma-home/auth-postcard.png") center / 100% 100% no-repeat;
    opacity: 1;
    pointer-events: none;
}

.figma-auth-composition {
    width: 100%;
    min-height: inherit;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    direction: ltr;
}

html[dir="rtl"] .figma-auth-story,
html[dir="rtl"] .figma-auth-panel {
    direction: rtl;
}

html[dir="ltr"] .figma-auth-story,
html[dir="ltr"] .figma-auth-panel {
    direction: ltr;
}

.figma-auth-story {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(4rem, 8.12vw, 9.625rem) clamp(2rem, 6vw, 7rem) 4rem;
}

.figma-auth-wordmark {
    width: min(578px, 82%);
    height: auto;
    aspect-ratio: 1907 / 842;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.figma-auth-quote {
    max-width: 639px;
    margin: clamp(5rem, 10.5vw, 12rem) auto 0;
    color: var(--momentra-figma-red);
    font-size: clamp(1.6rem, 2.65vw, 3.15rem);
    font-weight: 700;
    line-height: 1.65;
    text-align: center;
    text-wrap: balance;
}

.figma-auth-panel.auth-card {
    grid-column: 2;
    grid-row: 1;
    width: min(625px, calc(100% - 2rem));
    align-self: start;
    justify-self: center;
    display: grid;
    gap: 1.15rem;
    padding: clamp(5.5rem, 11.95vw, 13.625rem) 0 4rem;
}

.figma-auth-heading {
    margin-block-end: clamp(1rem, 2vw, 2.2rem);
    text-align: center;
}

.figma-auth-heading.auth-heading h1 {
    margin: 0;
    color: var(--momentra-figma-red);
    font-size: clamp(2.25rem, 3.35vw, 4rem);
    font-weight: 800;
    line-height: 1.55;
}

.figma-auth-heading.auth-heading > p:last-child {
    max-width: 54ch;
    margin: .55rem auto 0;
    color: rgb(43 36 32 / 72%);
}

.figma-auth-field.field {
    gap: .55rem;
}

.figma-auth-field.field label {
    color: var(--momentra-figma-ink);
    font-size: clamp(.95rem, 1.25vw, 1.2rem);
}

.figma-auth-field.field input {
    min-height: clamp(3.75rem, 5.01vw, 5.9375rem);
    padding-inline: clamp(1rem, 1.5vw, 1.7rem);
    border: 1px solid #bfae98;
    border-radius: 0;
    background: rgb(255 253 249 / 76%);
    font-size: clamp(1rem, 1.2vw, 1.2rem);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.figma-auth-field.field input:hover {
    border-color: var(--momentra-figma-red);
    background: #fffdf9;
}

.figma-auth-field.field input:focus {
    border-color: var(--momentra-figma-red);
    background: #fffdf9;
    box-shadow: 0 0 0 4px rgb(129 41 24 / 12%);
}

.figma-auth-actions {
    display: grid;
    justify-items: center;
    gap: .8rem;
    margin-block-start: 1rem;
}

.figma-auth-panel .full-button {
    min-height: clamp(3.75rem, 5.01vw, 5.9375rem);
    border-radius: 0;
    font-size: clamp(1.05rem, 1.35vw, 1.35rem);
}

.figma-auth-panel .forgot-password-link,
.figma-auth-panel .help-text a,
.figma-auth-switch a {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: .28em;
}

.auth-error-summary.validation-summary-errors {
    padding: .8rem 1rem;
    border-inline-start: 4px solid var(--danger);
    background: rgb(161 47 39 / 8%);
}

.auth-error-summary.validation-summary-errors ul {
    margin: 0;
    padding-inline-start: 1.2rem;
}

.figma-signup-story {
    padding-block-start: clamp(3.5rem, 8vw, 9.2rem);
}

.figma-agreement-box.agreement-box {
    width: min(713px, 96%);
    margin-block-start: clamp(2.5rem, 6vw, 7rem);
    padding: 0;
    overflow: hidden;
    border: 1px solid #bfae98;
    border-radius: 0;
    background: rgb(255 253 249 / 72%);
}

.figma-agreement-box > summary {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .85rem 1.25rem;
    color: var(--momentra-figma-red);
    border-block-end: 1px solid var(--momentra-figma-line);
    font-size: 1.08rem;
}

.figma-agreement-box > summary::after {
    content: "+";
    font-size: 1.4rem;
    line-height: 1;
    transition: transform 160ms ease;
}

.figma-agreement-box[open] > summary::after {
    transform: rotate(45deg);
}

.figma-agreement-box .agreement-copy {
    max-height: 405px;
    padding: 1rem 1.35rem 1.25rem;
    scrollbar-color: var(--momentra-figma-red) transparent;
    scrollbar-width: thin;
}

.figma-signup-composition .figma-auth-panel {
    padding-block-start: clamp(3.2rem, 5.8vw, 6.8rem);
    gap: .85rem;
}

.figma-auth-panel.auth-card {
    min-height: 0;
    max-height: 100%;
    overflow-y: auto;
    scrollbar-color: var(--momentra-figma-red) transparent;
    scrollbar-width: thin;
}

.figma-signup-actions {
    display: grid;
    gap: .35rem;
    padding-block: .55rem .2rem;
}

.figma-password-rules.password-rules {
    padding: .75rem 1rem;
    border-radius: 0;
    background: rgb(241 235 227 / 72%);
}

.figma-agreement-check {
    align-items: flex-start;
    min-height: 44px;
    padding-block: .45rem;
    color: var(--momentra-figma-ink);
    font-size: .92rem;
    line-height: 1.65;
}

.figma-agreement-check input {
    flex: 0 0 auto;
    margin-block-start: .25rem;
}

.figma-auth-panel button[disabled],
.figma-auth-panel button[aria-busy="true"] {
    cursor: wait;
    opacity: .62;
}

.figma-auth-panel .field-validation-error {
    min-height: 1.4em;
}

/* Figma How-it-works frames: centered line, alternating 620 × 430 visuals. */
.public-guide-page .page-shell {
    width: 100%;
    max-width: none;
    padding-block-start: 0;
}

.figma-guide {
    width: min(1896px, 100%);
    margin-inline: auto;
    padding: clamp(7rem, 7.23vw, 8.5625rem) 0 clamp(5rem, 8vw, 9rem);
}

.figma-guide-heading {
    position: relative;
    width: min(1243px, calc(100% - 2.5rem));
    min-height: 100px;
    display: grid;
    place-items: center;
    margin-inline: auto;
    text-align: center;
    isolation: isolate;
}

.figma-guide-heading > img {
    position: absolute;
    z-index: -1;
    width: min(464px, 42vw);
    height: 100px;
    object-fit: contain;
    opacity: .12;
    mix-blend-mode: multiply;
}

.figma-guide-heading h1 {
    margin: 0;
    color: #8b7a62;
    font-size: clamp(2.15rem, 3.35vw, 3.75rem);
    font-weight: 750;
    line-height: 1.35;
}

.figma-guide-heading p {
    max-width: 62ch;
    margin: .75rem auto 0;
    color: rgb(43 36 32 / 70%);
    font-size: 1.05rem;
}

.figma-guide-tabs {
    width: min(570px, calc(100% - 2.5rem));
    min-height: 64px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: clamp(3rem, 3.8vw, 4.5rem) auto 0;
    overflow: hidden;
    border: 1px solid rgb(129 41 24 / 35%);
    border-radius: 12px;
    background: #fffdf9;
    box-shadow: 0 8px 24px rgb(75 43 29 / 10%);
}

.figma-guide-tabs button {
    min-height: 62px;
    padding: .8rem 1.5rem;
    color: var(--momentra-figma-red);
    border: 0;
    background: transparent;
    font-size: clamp(1rem, 1.4vw, 1.35rem);
    font-weight: 800;
    cursor: pointer;
}

.figma-guide-tabs button + button {
    border-inline-start: 1px solid var(--momentra-figma-red);
}

.figma-guide-tabs button[aria-selected="true"] {
    color: #fffdf9;
    background: var(--momentra-figma-red);
}

.figma-guide-panel {
    margin-block-start: clamp(5rem, 5.65vw, 6.6875rem);
}

.figma-guide-panel[hidden] {
    display: none;
}

.figma-guide-panel.motion-panel-enter {
    animation: motion-panel-enter .42s cubic-bezier(.22, 1, .36, 1) both;
}

.public-motion-ready .motion-reveal {
    opacity: 0;
    transform: translateY(28px);
}

.public-motion-ready .motion-reveal.is-revealed {
    animation: motion-reveal-in .62s cubic-bezier(.22, 1, .36, 1) both;
}

.motion-lift { transition: transform .34s cubic-bezier(.22, 1, .36, 1); }
.motion-lift.is-motion-hovered { transform: translateY(-6px) scale(1.008); }
.motion-press { transition: transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s ease, background-color .25s ease; }
.motion-press:hover, .motion-press:focus-visible { transform: translateY(-3px); box-shadow: 0 10px 22px rgb(129 41 24 / 22%); }
.motion-press.is-motion-pressed { transform: scale(.975); transition-duration: .1s; }

@keyframes motion-panel-enter {
    from { opacity: 0; transform: translateY(18px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes motion-reveal-in {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

.figma-guide-timeline {
    position: relative;
    width: min(1500px, calc(100% - 3rem));
    display: grid;
    gap: clamp(4.5rem, 8vw, 9rem);
    margin: 0 auto;
    padding: 0;
    list-style: none;
}

.figma-guide-timeline::before {
    content: "";
    position: absolute;
    inset-block: 2.75rem 2rem;
    inset-inline-start: 50%;
    width: 1px;
    background: rgb(129 41 24 / 62%);
    transform: translateX(-50%);
}

.figma-timeline-step {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: start;
}

.figma-timeline-marker {
    z-index: 2;
    grid-column: 2;
    grid-row: 1 / 3;
    justify-self: center;
    margin-block-start: 2.65rem;
    width: 20px;
    height: 20px;
    display: grid;
    place-items: center;
    background: var(--momentra-figma-paper);
}

.figma-timeline-marker img {
    width: 18px;
    height: 18px;
    display: block;
}

.figma-timeline-step figure,
.figma-timeline-copy {
    width: min(620px, 100%);
}

.figma-timeline-step:nth-child(odd) figure,
.figma-timeline-step:nth-child(even) .figma-timeline-copy {
    grid-column: 3;
    justify-self: end;
}

.figma-timeline-step:nth-child(even) figure,
.figma-timeline-step:nth-child(odd) .figma-timeline-copy {
    grid-column: 1;
    justify-self: start;
}

.figma-timeline-step figure {
    grid-row: 1;
    margin: 0;
    overflow: hidden;
    aspect-ratio: 620 / 430;
    border: 1px solid var(--momentra-figma-line);
    border-radius: 28px;
    background: #fffdf9;
    box-shadow: 0 22px 54px rgb(54 42 33 / 9%);
    transform-origin: center;
}

.figma-timeline-step figure img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain;
    object-position: center top;
}

.figma-timeline-copy {
    grid-row: 1;
    align-self: center;
    padding-inline: clamp(1rem, 2.4vw, 2.8rem);
}

.figma-timeline-copy h2 {
    margin: 0;
    color: var(--momentra-figma-red);
    font-size: clamp(1.75rem, 2.6vw, 3rem);
    font-weight: 800;
    line-height: 1.55;
}

.figma-timeline-copy h2 span {
    display: inline-block;
    margin-inline-end: .18em;
}

.figma-timeline-copy p {
    margin: .45rem 0 0;
    color: var(--momentra-figma-red);
    font-size: clamp(1rem, 1.45vw, 1.35rem);
    line-height: 2;
}

.public-guide-page .use-case-chapter,
.public-guide-page .journal-chapter,
.public-guide-page .faq-chapter,
.public-guide-page .guide-cta {
    position: relative;
}

@media (max-width: 1100px) {
    .redesigned-auth-page .page-shell {
        padding-block-start: 8rem;
    }

    .figma-auth-shell.auth-shell,
    .figma-auth-composition {
        min-height: auto;
    }

    .figma-auth-composition {
        grid-template-columns: 1fr;
    }

    .figma-auth-panel.auth-card {
        grid-column: 1;
        grid-row: 1;
        padding: 3rem 0 4rem;
    }

    .figma-auth-story {
        grid-column: 1;
        grid-row: 2;
        min-height: 360px;
        padding: 3rem 2rem;
        border-block-start: 1px solid var(--momentra-figma-line);
    }

    .figma-auth-quote {
        margin-block-start: 3rem;
    }

    .figma-signup-story {
        min-height: auto;
    }

    .figma-agreement-box.agreement-box {
        margin-block-start: 2.5rem;
    }

    .figma-guide-panel {
        margin-block-start: 5rem;
    }

    .figma-guide-timeline {
        width: min(760px, calc(100% - 2rem));
        gap: 5rem;
        padding-inline-start: 4.5rem;
    }

    .figma-guide-timeline::before {
        inset-inline-start: 1.4rem;
        transform: none;
    }

    .figma-timeline-step {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }

    .figma-timeline-marker {
        position: absolute;
        inset-inline-start: -4.02rem;
        grid-column: auto;
        grid-row: auto;
    }

    .figma-timeline-step:nth-child(n) figure,
    .figma-timeline-step:nth-child(n) .figma-timeline-copy {
        grid-column: 1;
        justify-self: stretch;
        width: 100%;
    }

    .figma-timeline-step:nth-child(n) .figma-timeline-copy {
        grid-row: 2;
        padding: 1.35rem 0 0;
    }
}

@media (min-width: 981px) {
    .figma-guide-heading p {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
}

@media (max-width: 980px) {
    .redesigned-auth-page .page-shell {
        padding-block-start: 2.5rem;
    }

    .figma-guide {
        padding-block-start: 2.5rem;
    }
}

@media (max-width: 620px) {
    .redesigned-auth-page .page-shell {
        padding: 1.5rem .75rem 4rem;
    }

    .figma-auth-shell.auth-shell {
        width: 100%;
    }

    .figma-auth-panel.auth-card {
        width: 100%;
        padding: 1.5rem .5rem 3rem;
    }

    .figma-auth-heading.auth-heading h1 {
        font-size: clamp(2rem, 10vw, 2.75rem);
    }

    .figma-auth-field.field input,
    .figma-auth-panel .full-button {
        min-height: 60px;
    }

    .figma-password-rules ul {
        grid-template-columns: 1fr;
    }

    .figma-auth-story {
        min-height: 0;
        padding: 2.5rem .5rem;
    }

    .figma-auth-wordmark {
        width: min(360px, 88%);
    }

    .figma-auth-quote {
        margin-block-start: 2rem;
        font-size: 1.55rem;
    }

    .figma-agreement-box.agreement-box {
        width: 100%;
    }

    .figma-agreement-box .agreement-copy {
        max-height: 55dvh;
        padding-inline: 1rem;
    }

    .figma-guide {
        padding-block-start: .5rem;
    }

    .figma-guide-heading {
        width: calc(100% - 1.25rem);
    }

    .figma-guide-heading > img {
        width: min(300px, 74vw);
    }

    .figma-guide-heading h1 {
        font-size: clamp(2.15rem, 10.5vw, 3.15rem);
        line-height: 1.45;
    }

    .figma-guide-heading p {
        font-size: .98rem;
    }

    .figma-guide-tabs {
        width: calc(100% - 1.25rem);
        min-height: 64px;
        margin-block-start: 2.25rem;
    }

    .figma-guide-tabs button {
        min-height: 62px;
        padding: .65rem .8rem;
        font-size: 1.15rem;
    }

    .figma-guide-panel {
        margin-block-start: 3.5rem;
    }

    .figma-guide-timeline {
        width: calc(100% - 1.25rem);
        gap: 4rem;
        padding-inline-start: 3.1rem;
    }

    .figma-guide-timeline::before {
        inset-inline-start: .9rem;
    }

    .figma-timeline-marker {
        inset-inline-start: -2.98rem;
        margin-block-start: 1.6rem;
    }

    .figma-timeline-step figure {
        aspect-ratio: 1.34;
        border-radius: 18px;
        box-shadow: 0 14px 34px rgb(54 42 33 / 8%);
    }

    .figma-timeline-copy {
        padding-block-start: 1rem;
    }

    .figma-timeline-copy h2 {
        font-size: 1.65rem;
    }

    .figma-timeline-copy p {
        font-size: .98rem;
        line-height: 1.9;
    }
}

@media (hover: hover) and (pointer: fine) {
    .figma-guide-tabs button:hover {
        background: rgb(129 41 24 / 8%);
    }

    .figma-guide-tabs button[aria-selected="true"]:hover {
        background: var(--momentra-figma-red-dark);
    }
}

@media (prefers-reduced-motion: reduce) {
    .figma-auth-field.field input,
    .figma-agreement-box > summary::after,
    .figma-guide-tabs button {
        transition: none;
    }

    .motion-reveal,
    .motion-lift,
    .motion-press,
    .figma-guide-panel {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Compact Figma postcard: fits desktop and laptop viewports without page scrolling. */
@media (min-width: 981px) {
    body.redesigned-auth-page {
        height: 100dvh;
        min-height: 44rem;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        overflow: hidden;
    }

    body.auth-minimal-chrome {
        grid-template-rows: minmax(0, 1fr) auto;
    }

    .auth-minimal-chrome .page-shell {
        padding-block-start: 3.5rem;
    }

    .redesigned-auth-page .site-header { position: relative; inset: auto; }

    .redesigned-auth-page .page-shell {
        min-height: 0;
        display: grid;
        align-items: center;
        padding: .75rem clamp(1rem, 3vw, 3rem);
        overflow: hidden;
    }

    .figma-auth-shell.auth-shell {
        width: min(1180px, 100%);
        aspect-ratio: 1.7;
        min-height: 0;
        max-height: 100%;
        border: 1px solid rgb(191 174 152 / 70%);
        box-shadow: 0 10px 28px rgb(56 39 29 / 12%);
    }

    .figma-auth-composition { min-height: 0; height: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .figma-auth-story {
        grid-column: 1;
        grid-row: 1;
        justify-content: center;
        padding: 1.25rem clamp(1.25rem, 3.2vw, 3rem);
        border-inline-end: 1px solid #dbc9b2;
    }

    .figma-auth-wordmark { width: min(360px, 78%); }

    .figma-auth-quote {
        max-width: 26rem;
        margin: 2.25rem auto 0;
        font-size: clamp(1.15rem, 1.6vw, 1.55rem);
        line-height: 1.95;
    }

    .figma-auth-panel.auth-card,
    .figma-signup-composition .figma-auth-panel {
        grid-column: 2;
        grid-row: 1;
        width: min(430px, calc(100% - 2.5rem));
        align-self: stretch;
        gap: .3rem;
        padding: 2.75rem 0 1.25rem;
    }

    .figma-signup-composition .figma-auth-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .figma-signup-composition .figma-auth-heading,
    .figma-signup-composition .auth-error-summary,
    .figma-signup-composition .figma-password-rules,
    .figma-signup-composition .figma-signup-actions {
        grid-column: 1 / -1;
    }

    .figma-auth-heading { margin-block-end: .15rem; }
    .figma-auth-heading.auth-heading h1 { font-size: clamp(1.55rem, 2vw, 2rem); line-height: 1.25; }
    .figma-auth-heading.auth-heading > p:last-child { margin-top: .12rem; font-size: .72rem; }
    .figma-auth-field.field { gap: .12rem; }
    .figma-auth-field.field label { font-size: .74rem; }
    .figma-auth-field.field input { min-height: 2.25rem; padding-inline: .7rem; font-size: .8rem; }
    .figma-auth-panel .full-button { min-height: 2.4rem; font-size: .82rem; }
    .figma-auth-actions { gap: .25rem; margin-block-start: .2rem; }
    .figma-auth-panel .help-text, .figma-auth-panel .forgot-password-link { margin-block: .02rem; font-size: .68rem; }

    .figma-signup-story { justify-content: center; padding-block: 1rem; }
    .figma-signup-story .figma-auth-wordmark { width: min(250px, 72%); }
    .figma-agreement-box.agreement-box { width: min(430px, 96%); margin-block-start: .7rem; }
    .figma-agreement-box > summary { min-height: 2.2rem; padding: .35rem .65rem; font-size: .76rem; }
    .figma-agreement-box .agreement-copy { max-height: 10.5rem; padding: .5rem .7rem; font-size: .64rem; line-height: 1.5; }
    .figma-agreement-box .agreement-copy h2 { margin: .4rem 0 .08rem; font-size: .7rem; }
    .figma-password-rules.password-rules { padding: .28rem .45rem; font-size: .6rem; }
    .figma-password-rules .password-rules-title { margin-bottom: .15rem; }
    .figma-password-rules ul { gap: 0 .35rem; }
    .figma-password-rules li { padding-block: 0; }
    .figma-agreement-check { min-height: 0; padding-block: .05rem; font-size: .66rem; line-height: 1.35; }

    .redesigned-auth-page .site-footer {
        min-height: 0;
        grid-template-columns: .8fr 1.05fr 1fr 1fr;
        gap: .75rem 1.25rem;
        padding: .65rem clamp(1rem, 4vw, 4.5rem);
    }

    .redesigned-auth-page .footer-brand img { width: 8.5rem; }
    .redesigned-auth-page .figma-footer-social strong,
    .redesigned-auth-page .figma-footer-links a,
    .redesigned-auth-page .figma-footer-links span { font-size: .7rem; }
    .redesigned-auth-page .figma-footer-social .social-links img { width: 1.35rem; height: 1.35rem; }
}

@media (max-height: 950px) and (min-width: 981px) {
    .redesigned-auth-page .site-footer { display: none; }
    .figma-auth-shell.auth-shell { max-height: calc(100dvh - 7.5rem); }
    .figma-agreement-box.agreement-box { margin-block-start: 0; }
}

@media (max-width: 980px) {
    body.redesigned-auth-page {
        height: 100dvh;
        min-height: 38rem;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        overflow: hidden;
    }

    .auth-minimal-chrome .page-shell {
        padding-block-start: 3.1rem;
    }
    .redesigned-auth-page .site-footer,
    .redesigned-auth-page .figma-auth-story { display: none; }
    .redesigned-auth-page .page-shell { min-height: 0; display: grid; align-items: center; padding: .6rem .75rem; overflow: hidden; }
    .figma-auth-shell.auth-shell { min-height: 0; max-height: 100%; overflow: auto; border: 1px solid rgb(191 174 152 / 65%); box-shadow: 0 8px 22px rgb(56 39 29 / 10%); }
    .figma-auth-composition { min-height: 0; height: 100%; grid-template-columns: minmax(0, 1fr); }
    .figma-auth-panel.auth-card,
    .figma-signup-composition .figma-auth-panel { grid-column: 1; grid-row: 1; justify-self: center; align-self: center; grid-template-columns: minmax(0, 1fr); width: min(430px, calc(100% - 1.25rem)); padding: 2rem .5rem 1.25rem; gap: .45rem; }
    .figma-auth-heading { margin-block-end: .25rem; }
    .figma-auth-heading.auth-heading h1 { font-size: clamp(1.65rem, 7vw, 2.2rem); }
    .figma-auth-heading.auth-heading > p:last-child { margin-top: .2rem; font-size: .8rem; }
    .figma-auth-field.field { gap: .2rem; }
    .figma-auth-field.field label { font-size: .82rem; }
    .figma-auth-field.field input,
    .figma-auth-panel .full-button { min-height: 2.85rem; }
    .figma-password-rules.password-rules { padding: .35rem .55rem; font-size: .68rem; }
    .figma-password-rules ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .35rem; }
    .figma-password-rules li { padding-block: .03rem; }
    .figma-agreement-check { min-height: 0; padding-block: .1rem; font-size: .72rem; }
    .figma-auth-panel .help-text, .figma-auth-panel .forgot-password-link { margin-block: .05rem; font-size: .74rem; }
}

/* Login refresh: a clean two-panel surface with the Momentra mark in the brand zone. */
.login-shell.auth-shell {
    width: min(980px, calc(100% - 2rem));
    min-height: 0;
    aspect-ratio: 1.72;
    border: 1px solid var(--momentra-figma-line);
    border-radius: 18px;
    background: #fffdf9;
    box-shadow: 0 18px 44px rgb(56 39 29 / 14%);
}

.login-shell::before { display: none; }

.login-shell .figma-auth-composition {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.1fr);
}

.login-shell .login-brand-panel {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    align-content: center;
    gap: clamp(1rem, 2.5vw, 2rem);
    padding: clamp(1.5rem, 4vw, 3rem);
    border: 0;
    border-radius: 0;
    background: var(--momentra-figma-red);
    color: #fffdf9;
    overflow: hidden;
}

.login-brand-zone {
    width: min(210px, 72%);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    margin-inline: auto;
    padding: clamp(.8rem, 2vw, 1.25rem);
    border: 1px solid rgb(255 253 249 / 58%);
    border-radius: 12px;
    background: #dce8f2;
    box-shadow: 0 14px 28px rgb(43 36 32 / 22%);
}

.login-brand-icon {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.login-brand-copy {
    display: grid;
    justify-items: center;
    align-content: center;
    gap: .75rem;
    text-align: center;
}

.login-brand-wordmark {
    width: min(280px, 94%);
    height: auto;
    filter: brightness(0) invert(1);
}

.login-brand-copy .figma-auth-quote {
    max-width: 25ch;
    margin: 0;
    color: #fffdf9;
    font-size: clamp(1rem, 1.65vw, 1.35rem);
    line-height: 1.8;
}

.login-shell .figma-auth-panel {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    width: auto;
    min-width: 0;
    box-sizing: border-box;
    padding: clamp(2rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3.5rem);
    background: #fffdf9;
}

.login-shell .figma-auth-heading.auth-heading h1 {
    color: var(--momentra-figma-ink);
    font-size: clamp(1.75rem, 3vw, 2.55rem);
}

.login-shell .figma-auth-heading.auth-heading > p:last-child {
    color: rgb(43 36 32 / 70%);
}

.login-shell .figma-auth-field.field input {
    border-color: #c4b5a4;
    background: #f5f8fb;
}

.login-shell .figma-auth-field.field input:focus {
    border-color: var(--momentra-figma-red);
    box-shadow: 0 0 0 4px rgb(129 41 24 / 12%);
}

@media (max-width: 980px) {
    .login-shell.auth-shell {
        width: min(560px, 100%);
        aspect-ratio: auto;
    }

    .login-shell .figma-auth-composition {
        height: auto;
        grid-template-columns: minmax(0, 1fr);
    }

    .login-shell .login-brand-panel {
        grid-column: 1;
        grid-row: 1;
        min-height: 175px;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: 1fr;
        gap: 1rem;
        padding: 1.15rem;
    }

    .login-brand-zone { width: min(132px, 30vw); }
    .login-brand-copy { gap: .4rem; }
    .login-brand-wordmark { width: min(230px, 94%); }
    .login-brand-copy .figma-auth-quote { font-size: .9rem; }

    .login-shell .figma-auth-panel {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        padding: 1.75rem 1.25rem 2rem;
    }
}

@media (max-width: 500px) {
    .auth-minimal-chrome .page-shell {
        padding-block-start: 2.8rem;
    }

    .auth-back-link {
        inset-block-start: .65rem;
        inset-inline-start: .75rem;
        padding: .5rem .7rem;
        font-size: .74rem;
    }

    .redesigned-auth-page .nav-shell { overflow: hidden; }
    .redesigned-auth-page .brand { width: 104px; flex: 0 0 104px; visibility: hidden; }

    .login-shell .login-brand-panel {
        min-height: 0;
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto;
        justify-items: center;
        padding: 1.25rem 1rem;
    }

    .login-brand-zone { width: 118px; }
    .login-brand-copy { width: 100%; }
    .login-shell .figma-auth-panel { padding-inline: 1rem; }
}

/* Signup uses the same login surface while keeping the agreement in the brand panel. */
.signup-shell.auth-shell {
    width: min(980px, calc(100% - 2rem));
    min-height: 0;
    aspect-ratio: 1.72;
    border: 1px solid var(--momentra-figma-line);
    border-radius: 18px;
    background: #fffdf9;
    box-shadow: 0 18px 44px rgb(56 39 29 / 14%);
}

.signup-shell::before { display: none; }

.signup-shell .figma-auth-composition {
    height: 100%;
    min-height: 0;
    grid-template-columns: minmax(260px, .9fr) minmax(360px, 1.1fr);
}

.signup-shell .signup-brand-panel {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    grid-template-rows: auto auto minmax(0, 1fr);
    display: grid;
    align-content: center;
    gap: .7rem;
    padding: clamp(1.25rem, 3vw, 2.25rem);
    border: 0;
    border-radius: 0;
    background: var(--momentra-figma-red);
    color: #fffdf9;
    overflow: hidden;
}

.signup-shell .signup-brand-panel .login-brand-zone { width: min(150px, 58%); }
.signup-shell .signup-brand-panel .login-brand-wordmark { width: min(250px, 92%); }

.signup-shell .figma-agreement-box {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
    margin: 0;
    border-color: rgb(255 253 249 / 58%);
    background: #fffdf9;
}

.signup-shell .figma-agreement-box > summary {
    min-height: 2.25rem;
    padding: .35rem .65rem;
    font-size: .75rem;
}

.signup-shell .figma-agreement-box .agreement-copy {
    max-height: 10.5rem;
    padding: .55rem .7rem;
    color: var(--momentra-figma-ink);
    font-size: .62rem;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.signup-shell .figma-auth-panel {
    grid-column: 2;
    grid-row: 1;
    align-self: stretch;
    width: auto;
    min-width: 0;
    box-sizing: border-box;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: clamp(1.75rem, 4vw, 3.25rem) clamp(1.5rem, 4vw, 3.5rem);
    background: #fffdf9;
}

.signup-fields-form {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .45rem .75rem;
}
.signup-fields-form > .auth-error-summary,
.signup-fields-form > .figma-password-rules,
.signup-fields-form > .figma-signup-actions { grid-column: 1 / -1; }
.signup-verification-panel { align-content: center; grid-template-columns: minmax(0, 1fr) !important; }
.signup-verification-panel > * { grid-column: 1; }
.signup-code-form { width: min(24rem, 100%); margin-inline: auto; }
.verification-code-field input {
    text-align: center;
    font-size: 1.35rem !important;
    font-weight: 800;
    letter-spacing: .42em;
    font-variant-numeric: tabular-nums;
}
.signup-resend-form {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .7rem 1rem;
    margin: .35rem 0 0;
    font-size: .78rem;
}
.signup-resend-form .link-button,
.signup-resend-form a { color: var(--momentra-figma-red); font-weight: 800; }
.auth-step-label {
    margin: 0 0 .25rem;
    color: var(--momentra-figma-red) !important;
    font-size: .72rem !important;
    font-weight: 900;
}

.signup-shell .figma-auth-heading,
.signup-shell .auth-error-summary,
.signup-shell .figma-password-rules,
.signup-shell .figma-signup-actions {
    grid-column: 1 / -1;
}

.signup-shell .figma-auth-heading.auth-heading h1 {
    color: var(--momentra-figma-ink);
    font-size: clamp(1.6rem, 2.6vw, 2.3rem);
}

.signup-shell .figma-auth-field.field input {
    border-color: #c4b5a4;
    background: #f5f8fb;
}

@media (max-width: 980px) {
    .signup-shell.auth-shell { width: min(560px, 100%); max-width: 100%; aspect-ratio: auto; overflow-x: hidden; }
    .signup-shell .figma-auth-composition { height: auto; max-width: 100%; grid-template-columns: minmax(0, 1fr); overflow-x: hidden; }
    .signup-shell .signup-brand-panel {
        grid-column: 1;
        grid-row: 1;
        min-height: 0;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: auto auto;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        padding: 1.15rem;
    }
    .signup-shell .signup-brand-panel .login-brand-zone { width: min(132px, 30vw); grid-row: 1 / -1; }
    .signup-shell .signup-brand-panel .login-brand-copy { grid-column: 2; }
    .signup-shell .figma-agreement-box { grid-column: 1 / -1; max-width: 100%; overflow: hidden; }
    .signup-shell .figma-agreement-box > summary { white-space: normal; overflow-wrap: anywhere; }
    .signup-shell .figma-agreement-box .agreement-copy { max-height: 9rem; }
    .signup-shell .figma-auth-panel { grid-column: 1; grid-row: 2; width: 100%; grid-template-columns: minmax(0, 1fr); padding: 1.75rem 1.25rem 2rem; }
    .signup-fields-form { grid-template-columns: minmax(0, 1fr); }
    .signup-fields-form > * { grid-column: 1; }
}

@media (max-width: 500px) {
    .signup-shell .signup-brand-panel {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: auto auto auto;
        justify-items: center;
        padding: 1.25rem 1rem;
    }
    .signup-shell .signup-brand-panel .login-brand-zone { width: 118px; grid-column: 1; grid-row: 1; }
    .signup-shell .signup-brand-panel .login-brand-copy { grid-column: 1; grid-row: 2; width: 100%; }
    .signup-shell .figma-agreement-box { grid-column: 1; grid-row: 3; }
    .signup-shell .figma-auth-panel { padding-inline: 1rem; }
}
