* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #DB040E;
    overflow: hidden;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Cercles décoratifs flottants */
.ps-bg-circle {
    position: fixed;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
    pointer-events: none;
}

.ps-bg-circle:nth-child(1) {
    width: 350px;
    height: 350px;
    top: -100px;
    left: -100px;
    animation: ps-float1 12s ease-in-out infinite;
}

.ps-bg-circle:nth-child(2) {
    width: 250px;
    height: 250px;
    bottom: -80px;
    left: 5%;
    animation: ps-float2 15s ease-in-out infinite;
}

.ps-bg-circle:nth-child(3) {
    width: 450px;
    height: 450px;
    top: 15%;
    right: -180px;
    animation: ps-float3 18s ease-in-out infinite;
}

.ps-bg-circle:nth-child(4) {
    width: 200px;
    height: 200px;
    bottom: 5%;
    right: 10%;
    animation: ps-float4 14s ease-in-out infinite;
}

@keyframes ps-float1 {
    0%, 100% { transform: translate(0, 0); }
    50%       { transform: translate(30px, 20px); }
}

@keyframes ps-float2 {
    0%, 100% { transform: translate(0, 0); }
    50%       { transform: translate(-20px, -25px); }
}

@keyframes ps-float3 {
    0%, 100% { transform: translate(0, 0); }
    50%       { transform: translate(-25px, 15px); }
}

@keyframes ps-float4 {
    0%, 100% { transform: translate(0, 0); }
    50%       { transform: translate(20px, -20px); }
}

/* Conteneur iframe (simulateur téléphone) */
.ps-frame-container {
    position: relative;
    z-index: 10;
    width: 430px;
    height: 90vh;
    max-height: 950px;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);
}

.ps-frame-container iframe {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
}

/* Responsive petits écrans / petite hauteur */
@media (max-height: 700px) {
    .ps-frame-container {
        height: 82vh;
        width: 310px;
    }
}
