/* [c1] */

/* [c2] */
.st-lt-top, .st-lt-bottom { min-width: 0; }
.st-lt #lt-top { margin-bottom: clamp(18px, 3.2vh, 30px); }
.st-lt #lt-bottom {
    margin-top: clamp(40px, 7vh, 72px);
    animation: st-fade-up var(--st-dur-slow) var(--st-ease) 260ms both;
}

/* [c3] */
.st-lt.st-photo-focus #lt-top, .st-lt.st-photo-focus #lt-bottom,
.st-lt.st-split-on #lt-top, .st-lt.st-split-on #lt-bottom { display: none; }

/* [c4] */
.st-lt-copy { max-width: 700px; margin: 0 auto; text-align: center; min-width: 0; }
.st-lt-eyebrow {
    margin: 0 0 12px;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--st-accent);
    animation: st-fade-up var(--st-dur-slow) var(--st-ease) both;
}
.st-lt-title {
    margin: 0;
    font-family: var(--st-font-heading);
    font-weight: var(--st-weight-heading);
    font-size: clamp(1.85rem, 4.2vw, 3rem);
    line-height: 1.1;
    letter-spacing: -0.022em;
    color: var(--st-text);
    text-wrap: balance;
    overflow-wrap: anywhere;
    animation: st-fade-up var(--st-dur-slow) var(--st-ease) 60ms both;
}
.st-lt-intro {
    margin: 14px auto 0;
    max-width: 36em;
    font-size: clamp(0.98rem, 1.5vw, 1.08rem);
    line-height: 1.6;
    color: var(--st-text-soft);
    text-wrap: balance;
    overflow-wrap: anywhere;
    animation: st-fade-up var(--st-dur-slow) var(--st-ease) 120ms both;
}

/* [c5] */
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader {
    width: min(var(--lt-box-w, 640px), 100%);
    max-width: none;
    height: max(var(--lt-box-min, 132px), min(var(--lt-box-h, clamp(170px, 52vw, 236px)), var(--lt-fit, 100vh)));
    aspect-ratio: auto;
}
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-or-divider { margin: 14px auto 12px; }

/* [c6] */
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader-cards { container-type: normal; }
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader-cards #hero-cards { display: none; }
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader-cards .st-uploader-idle { width: auto; gap: 14px; padding: 24px; }
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader-cards .st-uploader-line { display: contents; color: inherit; }
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader-cards .st-uploader-icon { width: 44px; height: 44px; color: var(--st-text-faint); }
.st-lt:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader-cards .st-uploader-copy { font-size: 1rem; font-weight: 500; line-height: inherit; text-align: center; }

@media (min-width: 861px) {
    .st-lt { --lt-box-h: clamp(220px, calc(100vh - 470px), 400px); --lt-box-min: 180px; }
    /* [c7] */
    .st-lt-welcome #lt-top, .st-lt-steps #lt-top, .st-lt-solo #lt-top { padding-top: clamp(0px, 1.6vh, 16px); }
    /* [c8] */
    .st-lt-steps { --lt-box-h: clamp(200px, calc(100vh - 530px), 360px); }
}

/* [c9] */
.st-lt-notes {
    max-width: 680px;
    margin: 0 auto;
    padding: 22px 26px 22px;
    text-align: left;
    background: var(--st-surface);
    border: 1px solid var(--st-border);
    border-radius: var(--st-radius-lg);
    box-shadow: var(--st-shadow-sm);
}
.st-lt-notes-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    font-family: var(--st-font-heading);
    font-weight: var(--st-weight-heading);
    font-size: 1.02rem;
    line-height: 1.3;
    color: var(--st-text);
}
.st-lt-notes-title .st-lt-ico { flex: 0 0 auto; width: 20px; height: 20px; color: var(--st-accent); }
.st-lt-notes-list, .st-lt-fine-list { list-style: none; margin: 0; padding: 0; }
.st-lt-notes-list { display: grid; gap: 14px; }
.st-lt-note { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; }
.st-lt-tick {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border-radius: 50%;
    background: var(--st-accent-soft);
    color: var(--st-accent);
}
.st-lt-tick .st-lt-ico { width: 13px; height: 13px; }
.st-lt-note p, .st-lt-fine-item p { margin: 0; overflow-wrap: anywhere; }
.st-lt-note p { font-size: 0.94rem; line-height: 1.58; color: var(--st-text-soft); }
.st-lt-note b { font-weight: 650; color: var(--st-text); }

.st-lt-closing {
    max-width: 600px;
    margin: 26px auto 0;
    text-align: center;
    font-size: 1rem;
    line-height: 1.6;
    color: var(--st-text);
    overflow-wrap: anywhere;
}

/* [c10] */
.st-lt-fine {
    max-width: 920px;
    margin: 0 auto;
    padding-top: 22px;
    border-top: 1px solid var(--st-border);
    text-align: left;
}
.st-lt-fine-title {
    margin: 0 0 14px;
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--st-text-faint);
}
.st-lt-fine-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px 30px;
}
.st-lt-fine-item { display: grid; grid-template-columns: 16px minmax(0, 1fr); gap: 8px; align-items: start; }
.st-lt-fine-item .st-lt-tick { width: 16px; height: 16px; margin-top: 2px; background: none; color: var(--st-text-faint); }
.st-lt-fine-item .st-lt-tick .st-lt-ico { width: 14px; height: 14px; }
.st-lt-fine-item p { font-size: 0.8rem; line-height: 1.55; color: var(--st-text-faint); }
.st-lt-fine-item b { font-weight: 600; color: var(--st-text-soft); }

/* [c11] */
.st-lt-linkrow { margin: 16px 0 0; text-align: center; }
.st-lt-closing + .st-lt-linkrow { margin-top: 10px; }
.st-lt-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    max-width: 100%;
    padding: 8px 4px;
    color: var(--st-accent);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    overflow-wrap: anywhere;
}
.st-lt-link .st-lt-ico { flex: 0 0 auto; width: 17px; height: 17px; transition: transform var(--st-dur-fast) var(--st-ease); }
.st-lt-link:hover span { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1.5px; }
.st-lt-link:hover .st-lt-ico { transform: translateX(3px); }
.st-lt-link:focus-visible { outline: 2px solid var(--st-accent); outline-offset: 2px; border-radius: 6px; }

/* [c12] */
/* [c13] */

/* [c14] */
.st-lt-compare:not(.st-photo-focus):not(.st-split-on) > #step-upload {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "media" "hero" "bottom";
    row-gap: 18px;
}
.st-lt-compare:not(.st-photo-focus):not(.st-split-on) #lt-top { display: contents; }
.st-lt-compare .st-lt-copy { grid-area: copy; }
.st-lt-compare .st-lt-media { grid-area: media; min-width: 0; animation: st-fade-up var(--st-dur-slow) var(--st-ease) 140ms both; }
.st-lt-compare #step-upload > .st-hero { grid-area: hero; min-width: 0; }
.st-lt-compare #lt-bottom { grid-area: bottom; }
.st-lt-compare { --lt-box-h: clamp(150px, 42vw, 190px); }

/* [c15] */
.st-lt .st-lt-cmp {
    --ar: 1.6;
    width: 100%;
    margin: 0;
    border-radius: var(--st-radius-lg);
    box-shadow: var(--st-shadow-md);
}
.st-lt .st-lt-cmp:focus-within { outline: 2px solid var(--st-accent); outline-offset: 3px; }
/* [c16] */
.st-lt .st-lt-cmp .st-cmp-badge-after { right: 12px; }

/* [c17] */
@media (max-width: 860px) and (max-height: 720px) {
    .st-lt-compare .st-lt-cmp { --ar: 2; }
    .st-lt-compare:not(.st-photo-focus):not(.st-split-on) > #step-upload { row-gap: 12px; }
}

@media (min-width: 861px) {
    .st-lt-compare:not(.st-photo-focus):not(.st-split-on) > #step-upload {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
        grid-template-areas: "media copy" "media hero" "bottom bottom";
        column-gap: clamp(36px, 5vw, 72px);
        row-gap: 0;
        align-items: center;
    }
    .st-lt-compare .st-lt-copy { align-self: end; margin: 0 0 clamp(18px, 3vh, 28px); max-width: none; text-align: left; }
    .st-lt-compare .st-lt-intro { margin-left: 0; }
    .st-lt-compare #step-upload > .st-hero { align-self: start; }
    .st-lt-compare .st-lt-title { font-size: clamp(1.9rem, 3.3vw, 2.7rem); }
    .st-lt-compare { --lt-box-w: 100%; --lt-box-h: clamp(190px, calc(100vh - 560px), 300px); }
    .st-lt .st-lt-cmp { --ar: 1.3333; width: min(100%, calc((100vh - 190px) * 1.3333)); margin: 0 auto; }
}

/* [c18] */
.st-lt-banner { --lt-overlap: 46px; --lt-box-w: 600px; --lt-box-h: clamp(160px, 44vw, 200px); }
.st-lt-photo {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    min-height: clamp(300px, 44vh, 440px);
    padding: 40px clamp(20px, 5vw, 64px) calc(var(--lt-overlap) + 26px);
    overflow: hidden;
    isolation: isolate;
    border-radius: var(--st-radius-xl);
    background: var(--st-surface-2);
    box-shadow: var(--st-shadow-md);
    animation: st-lt-fade var(--st-dur-slow) var(--st-ease) both;
}
.st-lt-photo-img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* [c19] */
.st-lt-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(ellipse 70% 60% at 50% 62%, rgba(8, 10, 14, 0.34), rgba(8, 10, 14, 0) 72%),
        linear-gradient(180deg, rgba(8, 10, 14, 0.12) 0%, rgba(8, 10, 14, 0.34) 40%, rgba(8, 10, 14, 0.62) 76%, rgba(8, 10, 14, 0.74) 100%);
}
.st-lt-copy-over .st-lt-eyebrow { color: rgba(255, 255, 255, 0.9); }
.st-lt-copy-over .st-lt-title { color: #fff; text-shadow: 0 2px 22px rgba(0, 0, 0, 0.28); }
.st-lt-copy-over .st-lt-intro { color: rgba(255, 255, 255, 0.9); text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3); }
.st-lt-banner #lt-top { margin-bottom: 0; }
.st-lt-banner:not(.st-photo-focus):not(.st-split-on) #step-upload > .st-hero {
    position: relative;
    z-index: 2;
    margin-top: calc(var(--lt-overlap) * -1);
}
.st-lt-banner:not(.st-photo-focus):not(.st-split-on) #step-upload .st-uploader {
    width: min(var(--lt-box-w), calc(100% - 28px));
    box-shadow: var(--st-shadow-lg), 0 0 44px var(--st-glow);
}
@media (min-width: 861px) {
    .st-lt-banner { --lt-overlap: 74px; --lt-box-w: 620px; --lt-box-h: clamp(190px, calc(100vh - 610px), 280px); }
    .st-lt-photo { padding-bottom: calc(var(--lt-overlap) + 34px); }
}
@keyframes st-lt-fade { from { opacity: 0; } to { opacity: 1; } }

/* [c20] */
.st-lt-steplist {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 960px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    counter-reset: none;
}
.st-lt-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "ico title" "ico text";
    column-gap: 14px;
    align-items: center;
    padding: 14px 16px;
    text-align: left;
    background: var(--st-surface);
    border: 1px solid var(--st-border);
    border-radius: var(--st-radius-md);
    box-shadow: var(--st-shadow-sm);
}
.st-lt-step-ico {
    grid-area: ico;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    background: var(--st-accent-soft);
    color: var(--st-accent);
}
.st-lt-step-ico .st-lt-ico { width: 22px; height: 22px; }
.st-lt-step-num {
    position: absolute;
    top: -6px;
    right: -6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: var(--st-accent);
    color: var(--st-accent-contrast);
    font-size: 0.68rem;
    font-weight: 700;
    box-shadow: 0 0 0 3px var(--st-surface);
}
.st-lt-step-title {
    grid-area: title;
    align-self: end;
    margin: 0;
    font-family: var(--st-font-heading);
    font-weight: var(--st-weight-heading);
    font-size: 1rem;
    line-height: 1.3;
    color: var(--st-text);
    overflow-wrap: anywhere;
}
.st-lt-step-text {
    grid-area: text;
    align-self: start;
    margin: 2px 0 0;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--st-text-soft);
    overflow-wrap: anywhere;
}
.st-lt-steps .st-lt-steplist + .st-lt-fine { margin-top: clamp(32px, 5vh, 48px); }
@media (min-width: 700px) {
    .st-lt-steplist { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2.2vw, 26px); }
    .st-lt-step {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "ico" "title" "text";
        justify-items: center;
        align-content: start;
        align-items: start;
        padding: 26px 22px 24px;
        text-align: center;
        border-radius: var(--st-radius-lg);
    }
    .st-lt-step-ico { width: 54px; height: 54px; border-radius: 16px; margin-bottom: 14px; }
    .st-lt-step-ico .st-lt-ico { width: 25px; height: 25px; }
    .st-lt-step-text { margin-top: 6px; }
}

/* [c21] */
.st-lt-showcase:not(.st-lt-solo):not(.st-photo-focus):not(.st-split-on) > #step-upload {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "copy" "hero" "gallery" "bottom";
}
.st-lt-showcase:not(.st-lt-solo):not(.st-photo-focus):not(.st-split-on) #lt-top { display: contents; }
.st-lt-showcase .st-lt-copy { grid-area: copy; }
.st-lt-showcase #step-upload > .st-hero { grid-area: hero; min-width: 0; }
.st-lt-showcase .st-lt-gallery { grid-area: gallery; }
.st-lt-showcase #lt-bottom { grid-area: bottom; }
.st-lt-showcase:not(.st-lt-solo) .st-lt-copy { margin-bottom: clamp(18px, 3vh, 28px); }
.st-lt-showcase:not(.st-lt-solo) .st-lt-gallery { margin-top: 36px; }
.st-lt-solo .st-lt-gallery { display: none; }

.st-lt-gallery { margin: 0; min-width: 0; animation: st-fade-up var(--st-dur-slow) var(--st-ease) 180ms both; }
.st-lt-gallery-title {
    margin: 0 0 12px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--st-text-faint);
    text-align: center;
}
/* [c22] */
.st-lt-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    grid-template-rows: repeat(3, minmax(0, 1fr));
    gap: 8px;
    aspect-ratio: 4 / 3;
}
.st-lt-tile {
    position: relative;
    grid-column: span 2;
    overflow: hidden;
    border-radius: var(--st-radius-sm);
    background: var(--st-surface-2);
    box-shadow: var(--st-shadow-sm);
}
.st-lt-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.st-lt-grid[data-count="6"] .st-lt-tile:first-child,
.st-lt-grid[data-count="5"] .st-lt-tile:first-child,
.st-lt-grid[data-count="3"] .st-lt-tile:first-child { grid-column: span 4; grid-row: span 2; border-radius: var(--st-radius-md); }
.st-lt-grid[data-count="5"] .st-lt-tile:nth-child(n+4) { grid-column: span 3; }
.st-lt-grid[data-count="4"] { grid-template-rows: repeat(2, minmax(0, 1fr)); }
.st-lt-grid[data-count="4"] .st-lt-tile { grid-column: span 3; }
.st-lt-grid[data-count="3"] { grid-template-rows: repeat(2, minmax(0, 1fr)); aspect-ratio: 2 / 1; }
.st-lt-grid[data-count="2"] { grid-template-rows: minmax(0, 1fr); aspect-ratio: 8 / 3; }
.st-lt-grid[data-count="2"] .st-lt-tile { grid-column: span 3; }
.st-lt-grid[data-count="1"] { grid-template-rows: minmax(0, 1fr); }
.st-lt-grid[data-count="1"] .st-lt-tile { grid-column: span 6; border-radius: var(--st-radius-md); }

@media (min-width: 861px) {
    .st-lt-showcase:not(.st-lt-solo):not(.st-photo-focus):not(.st-split-on) > #step-upload {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        grid-template-areas: "copy gallery" "hero gallery" "bottom bottom";
        column-gap: clamp(36px, 5vw, 72px);
        align-items: center;
    }
    .st-lt-showcase:not(.st-lt-solo) .st-lt-copy { align-self: end; max-width: none; text-align: left; }
    .st-lt-showcase:not(.st-lt-solo) .st-lt-intro { margin-left: 0; }
    .st-lt-showcase:not(.st-lt-solo) #step-upload > .st-hero { align-self: start; }
    .st-lt-showcase:not(.st-lt-solo) .st-lt-title { font-size: clamp(1.9rem, 3.3vw, 2.7rem); }
    .st-lt-showcase:not(.st-lt-solo) .st-lt-gallery { margin-top: 0; }
    .st-lt-showcase:not(.st-lt-solo) .st-lt-gallery-title { text-align: left; }
    .st-lt-showcase:not(.st-lt-solo) { --lt-box-w: 100%; --lt-box-h: clamp(190px, calc(100vh - 560px), 300px); }
    .st-lt-showcase:not(.st-lt-solo) #lt-bottom { margin-top: clamp(48px, 8vh, 80px); }
}

/* [c23] */
@media (max-width: 860px) {
    .st-lt:not(.st-lt-banner) #lt-top { padding-top: 8px; }
    .st-lt-eyebrow { margin-bottom: 8px; font-size: 0.7rem; }
    .st-lt-title { font-size: clamp(1.7rem, 7.4vw, 2.2rem); }
    .st-lt-intro { margin-top: 10px; font-size: 0.97rem; line-height: 1.55; }
    .st-lt-notes { padding: 18px 18px 18px; }
    .st-lt-note p { font-size: 0.92rem; }
    .st-lt-copy-over .st-lt-intro { font-size: 0.94rem; }
}

@media (prefers-reduced-motion: reduce) {
    .st-lt-link .st-lt-ico { transition: none; }
}
