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

body{
    background:#17111f;
    color:white;
    font-family:'Inter',sans-serif;
    overflow-x:hidden;
}

.container{
    width:90%;
    max-width:1300px;
    margin:auto;
}

header{
    padding:25px 0;
}

.nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
    color:white;
    text-decoration:none;
}

.logo img{
    width:52px;
    height:52px;
    border-radius:14px;
}

.logo span{
    font-family:'Permanent Marker',cursive;
    font-size:32px;
    font-weight:400;
    line-height:1;
    letter-spacing:0;
    color:#ff7771;
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:24px;
}

nav{
    display:flex;
    gap:28px;
}

nav a{
    text-decoration:none;
    color:white;
    opacity:.8;
    transition:.3s;
}

nav a:hover{
    color:#ff6b6b;
}

nav a[aria-current="page"]{
    color:#ff6b6b;
    opacity:1;
}

.language-switcher{
    position:relative;
}

.language-current{
    display:flex;
    align-items:center;
    gap:8px;
    height:42px;
    padding:0 12px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:999px;
    background:#211a2b;
    color:white;
    cursor:pointer;
    list-style:none;
    user-select:none;
    box-shadow:0 10px 28px rgba(0,0,0,.18);
    transition:.25s;
}

.language-current::-webkit-details-marker{
    display:none;
}

.language-current::marker{
    content:"";
}

.language-current:hover,
.language-switcher[open] .language-current{
    border-color:rgba(255,119,113,.65);
    box-shadow:0 12px 34px rgba(255,107,107,.12);
}

.language-current:focus-visible,
.lang-btn:focus-visible{
    outline:2px solid #ff7771;
    outline-offset:3px;
}

.language-selected-flag{
    width:24px;
    height:16px;
    border-radius:2px;
    object-fit:cover;
    box-shadow:0 0 0 1px rgba(255,255,255,.18);
}

.language-current [data-active-language]{
    min-width:24px;
    font-size:14px;
    font-weight:900;
    letter-spacing:.04em;
}

.language-current .fa-chevron-down{
    font-size:12px;
    opacity:.7;
    transition:transform .25s;
}

.language-switcher[open] .fa-chevron-down{
    transform:rotate(180deg);
}

.language-menu{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    z-index:50;
    width:190px;
    display:grid;
    gap:4px;
    padding:8px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:#211a2b;
    box-shadow:0 24px 70px rgba(0,0,0,.42);
}

.lang-btn{
    width:100%;
    min-height:44px;
    display:grid;
    grid-template-columns:34px 1fr;
    align-items:center;
    gap:10px;
    border:0;
    border-radius:12px;
    background:transparent;
    color:white;
    font-family:'Inter',sans-serif;
    text-align:left;
    cursor:pointer;
    transition:.25s;
}

.language-option-flag{
    width:24px;
    height:18px;
    border-radius:2px;
    object-fit:cover;
    box-shadow:0 0 0 1px rgba(255,255,255,.18);
    justify-self:center;
}

.lang-btn small{
    color:#c4ccd8;
    font-size:14px;
    font-weight:700;
}

.lang-btn:hover,
.lang-btn.is-active{
    background:rgba(255,119,113,.12);
}

.lang-btn.is-active .language-option-flag{
    box-shadow:0 0 0 2px #ff6b6b;
}

.lang-btn.is-active small{
    color:white;
}

.menu-btn{
    width:55px;
    height:55px;
    border:none;
    border-radius:14px;
    background:#272032;
    color:white;
    cursor:pointer;
}

.hero{
    padding:70px 0 100px;
}

.hero-content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:50px;
}

.hero-left{
    flex:1;
}

.badge{
    display:inline-block;
    border:1px solid rgba(255,107,107,.4);
    color:#ff6b6b;
    padding:10px 18px;
    border-radius:40px;
    margin-bottom:25px;
}

.hero h1{
    font-size:76px;
    line-height:1.05;
    font-weight:900;
    max-width:700px;
}

.hero h1 .highlight{
    color:#ff6b6b;
}

.hero p{
    margin-top:25px;
    color:#a8b0bf;
    font-size:20px;
    max-width:650px;
    line-height:1.8;
}

.stores{
    display:flex;
    gap:15px;
    margin-top:35px;
    flex-wrap:wrap;
}

.stores img{
    height:60px;
    transition:.3s;
}

.stores img:hover{
    transform:translateY(-4px);
}

.hero-right{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

.green-circle{
    width:600px;
    height:600px;
    border-radius:50%;
    background:#ff6b6b;
    filter:blur(30px);
    opacity:.85;
    position:absolute;
}

/* ==========================
   HERO TELEPHONE
========================== */

.hero-right{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    min-height:800px;
}

.green-circle{
    width:650px;
    height:650px;

    border-radius:50%;

    background:radial-gradient(
        circle,
        rgba(255,107,107,.95) 0%,
        rgba(255,107,107,.65) 40%,
        rgba(255,107,107,.15) 70%,
        transparent 100%
    );

    filter:blur(50px);

    position:absolute;
    top:50%;
    left:50%;

    transform:translate(-50%,-50%);
}

/* ==========================
   MOCKUP TELEPHONE
========================== */

.iphone-mockup{

    width:350px;
    max-width:100%;

    background:#252b37;

    border-radius:48px;

    padding:10px;

    border:8px solid #313847;

    overflow:hidden;

    position:relative;
    z-index:5;

    transform:
        perspective(1200px)
        rotateY(-10deg)
        rotateZ(5deg);

    box-shadow:
        0 50px 120px rgba(0,0,0,.55),
        0 15px 35px rgba(0,0,0,.4);
}

/* écran */

.screen{
    width:100%;
    overflow:hidden;
    border-radius:38px;
    background:black;
}

.screen img{
    display:block;
    width:100%;
    height:auto;
}

/* ==========================
   PETITS DETAILS TELEPHONE
========================== */

.iphone-mockup::before{
    content:"";

    position:absolute;

    top:120px;
    left:-3px;

    width:4px;
    height:90px;

    background:#404859;

    border-radius:5px;
}

.iphone-mockup::after{
    content:"";

    position:absolute;

    top:170px;
    right:-3px;

    width:4px;
    height:120px;

    background:#404859;

    border-radius:5px;
}

/* ==========================
   ANIMATION
========================== */

.iphone-mockup{
    animation:floatPhone 5s ease-in-out infinite;
}

@keyframes floatPhone{

    0%{
        transform:
        perspective(1200px)
        rotateY(-10deg)
        rotateZ(5deg)
        translateY(0);
    }

    50%{
        transform:
        perspective(1200px)
        rotateY(-10deg)
        rotateZ(5deg)
        translateY(-12px);
    }

    100%{
        transform:
        perspective(1200px)
        rotateY(-10deg)
        rotateZ(5deg)
        translateY(0);
    }
}

.features{
    padding:120px 0;
}

.app-summary{
    padding:20px 0 70px;
}

.app-summary-box{
    display:grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(360px, .8fr);
    gap:36px;
    align-items:center;
    border:1px solid rgba(255,255,255,.08);
    border-radius:28px;
    background:linear-gradient(135deg,#211a2b,#31243b);
    padding:36px;
}

.summary-kicker{
    display:inline-flex;
    color:#ff6b6b;
    font-size:14px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:14px;
}

.app-summary h2{
    font-size:34px;
    line-height:1.2;
    margin-bottom:16px;
}

.app-summary p{
    color:#aeb6c4;
    font-size:17px;
    line-height:1.75;
}

.summary-facts{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.summary-facts div{
    border:1px solid rgba(255,255,255,.08);
    border-radius:18px;
    background:rgba(6,11,22,.52);
    padding:18px;
}

.summary-facts dt{
    color:#8792a4;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    margin-bottom:8px;
}

.summary-facts dd{
    color:white;
    font-size:16px;
    font-weight:800;
}

.features h2,
.screenshots h2,
.reviews h2,
.faq h2{
    text-align:center;
    font-size:55px;
    margin-bottom:60px;
}

.features h2 .highlight,
.screenshots h2 .highlight,
.reviews h2 .highlight,
.faq h2 .highlight{
    color:#ff6b6b;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.card {
    background: #211a2b;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 24px;
    padding: 32px;
    transition: all .35s ease;
    height: 100%;
}

.card:hover {
    transform: translateY(-8px);
    border-color: #ff6b6b;
    box-shadow: 0 20px 45px rgba(255, 107, 107, 0.12);
}

.card-content {
    display: flex;
    gap: 20px;
    height: 100%;
}

.icon {
    width: 68px;
    height: 68px;
    min-width: 68px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    border-radius: 18px;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 3px; /* petit ajustement vertical */
}

.green { background: rgba(255, 107, 107, 0.16); color: #ff6b6b; }
.purple { background: rgba(156, 77, 255, 0.16); color: #9c4dff; }
.blue { background: rgba(52, 148, 255, 0.16); color: #3494ff; }
.orange { background: rgba(255, 138, 0, 0.16); color: #ff8a00; }
.yellow { background: rgba(255, 212, 0, 0.16); color: #ffd400; }
.pink { background: rgba(255, 79, 164, 0.16); color: #ff4fa4; }

.card-text h3 {
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 12px 0;
    line-height: 1.3;
}

.card-text p {
    color: #aeb6c4;
    line-height: 1.75;
    font-size: 15.5px;
    margin: 0;
}

/* Effet hover sur l'icône */
.card:hover .icon {
    transform: scale(1.1);
}

.screenshots{
    padding:80px 0;
}

.screenshots-carousel{
    display:grid;
    grid-template-columns:52px minmax(0, 1fr) 52px;
    gap:18px;
    align-items:center;
}

.screenshots-viewport{
    overflow:hidden;
    min-width:0;
    width:100%;
    max-width:740px;
    margin:auto;
}

.shots{
    display:flex;
    gap:25px;
    transition:transform .45s ease;
    will-change:transform;
}

.shot{
    flex:0 0 calc((100% - 50px) / 3);
    height:520px;
    border-radius:30px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
}

.shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.reviews{
    padding:90px 0 120px;
}

.section-heading{
    max-width:760px;
    margin:0 auto 48px;
    text-align:center;
}

.section-heading h2{
    margin-bottom:18px;
}

.section-heading p{
    color:#aeb6c4;
    font-size:18px;
    line-height:1.75;
}

.reviews-carousel{
    display:grid;
    grid-template-columns:52px minmax(0, 1fr) 52px;
    gap:18px;
    align-items:center;
}

.reviews-viewport{
    overflow:hidden;
    min-width:0;
}

.reviews-track{
    display:flex;
    gap:28px;
    transition:transform .45s ease;
    will-change:transform;
}

.review-card{
    flex:0 0 calc((100% - 56px) / 3);
    min-height:310px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    background:#211a2b;
    border:1px solid rgba(255,255,255,.08);
    border-radius:24px;
    padding:30px;
}

.review-stars{
    display:flex;
    align-items:center;
    gap:4px;
    color:#ffd400;
    font-size:15px;
    line-height:1;
    margin-bottom:20px;
}

.review-card p{
    color:#d6deea;
    font-size:17px;
    line-height:1.7;
}

.review-author{
    display:flex;
    align-items:center;
    gap:14px;
    margin-top:26px;
}

.review-avatar{
    width:48px;
    height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    background:rgba(255,107,107,.14);
    color:#ff6b6b;
    font-size:14px;
    font-weight:900;
}

.review-author div{
    display:grid;
    gap:4px;
}

.review-author strong{
    font-size:16px;
}

.review-author span:last-child{
    color:#8792a4;
    font-size:14px;
}

.carousel-btn{
    width:52px;
    height:52px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:50%;
    background:#211a2b;
    color:white;
    cursor:pointer;
    transition:.25s;
}

.carousel-btn:hover{
    border-color:#ff6b6b;
    color:#ff6b6b;
    transform:translateY(-2px);
}

.carousel-dots{
    display:flex;
    justify-content:center;
    gap:9px;
    margin-top:30px;
    flex-wrap:wrap;
}

.screenshot-dots{
    display:none;
}

.review-dot,
.screenshot-dot{
    width:10px;
    height:10px;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.24);
    cursor:pointer;
    transition:.25s;
}

.review-dot.is-active,
.screenshot-dot.is-active{
    width:28px;
    border-radius:999px;
    background:#ff6b6b;
}

.faq{
    padding:80px 0 70px;
}

.faq-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:22px;
}

.faq-item{
    background:#211a2b;
    border:1px solid rgba(255,255,255,.08);
    border-radius:22px;
    padding:28px;
}

.faq-item h3{
    font-size:21px;
    line-height:1.35;
    margin-bottom:12px;
}

.faq-item p{
    color:#aeb6c4;
    line-height:1.75;
}

.cta{
    padding:100px 0;
}

.cta-box{
    background:linear-gradient(135deg,#101827,#3a2735);
    border-radius:35px;
    padding:50px;
    border:1px solid rgba(255,255,255,.08);

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:30px;
}

.cta-left{
    display:flex;
    align-items:center;
    gap:25px;
}

.footer-logo{
    width:95px;
    height:95px;
    border-radius:24px;
    box-shadow:0 0 35px rgba(255,107,107,.25);
}

.cta h2{
    font-size:42px;
    margin-bottom:10px;
}

.cta p{
    color:#b0b7c6;
}

.privacy-page{
    background:
        linear-gradient(180deg, #17111f 0%, #1d1529 52%, #17111f 100%);
}

.privacy-hero{
    padding:70px 0 55px;
}

.privacy-hero-content{
    max-width:900px;
    margin:auto;
    text-align:center;
}

.privacy-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    border:1px solid rgba(255,107,107,.35);
    color:#ff6b6b;
    padding:10px 18px;
    border-radius:40px;
    margin-bottom:24px;
    background:rgba(255,107,107,.08);
    font-weight:800;
}

.privacy-hero h1{
    font-size:68px;
    line-height:1.05;
    font-weight:900;
    margin-bottom:22px;
}

.privacy-hero p{
    color:#aeb6c4;
    font-size:20px;
    line-height:1.8;
    max-width:760px;
    margin:0 auto;
}

.privacy-meta{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    flex-wrap:wrap;
    margin-top:28px;
    color:#dce4f0;
}

.privacy-meta span,
.privacy-meta a{
    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;
    background:#211a2b;
    padding:11px 16px;
}

.privacy-meta a,
.policy-document a{
    color:#ff6b6b;
    text-decoration:none;
}

.privacy-meta a:hover,
.policy-document a:hover{
    text-decoration:underline;
}

.privacy-content{
    padding:35px 0 100px;
}

.privacy-layout{
    display:grid;
    grid-template-columns:280px minmax(0, 1fr);
    gap:32px;
    align-items:start;
}

.privacy-summary{
    position:sticky;
    top:24px;
    display:grid;
    gap:18px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:24px;
    background:#211a2b;
    padding:24px;
}

.privacy-summary div{
    display:grid;
    gap:6px;
}

.summary-label{
    color:#8792a4;
    font-size:13px;
    font-weight:800;
    text-transform:uppercase;
}

.privacy-summary strong{
    color:white;
    font-size:17px;
}

.privacy-back{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:46px;
    border-radius:999px;
    background:#ff6b6b;
    color:#1a0d12;
    font-weight:900;
    text-decoration:none;
    margin-top:4px;
}

.policy-document{
    border:1px solid rgba(255,255,255,.1);
    border-radius:28px;
    background:#0b111d;
    padding:44px;
    box-shadow:0 30px 90px rgba(0,0,0,.28);
}

.policy-section{
    padding:0 0 34px;
    margin:0 0 34px;
    border-bottom:1px solid rgba(255,255,255,.08);
}

.policy-section:last-of-type{
    padding-bottom:0;
    margin-bottom:0;
    border-bottom:0;
}

.policy-section h2{
    font-size:28px;
    margin-bottom:16px;
}

.policy-section p{
    color:#b5bdca;
    line-height:1.85;
    margin:0 0 16px;
}

.policy-section p:last-child{
    margin-bottom:0;
}

.policy-list{
    display:grid;
    gap:12px;
    margin:18px 0;
    padding-left:0;
    list-style:none;
}

.policy-list li{
    position:relative;
    color:#b5bdca;
    line-height:1.75;
    padding-left:28px;
}

.policy-list li::before{
    content:"";
    position:absolute;
    top:.72em;
    left:0;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#ff6b6b;
    box-shadow:0 0 16px rgba(255,107,107,.45);
}

.external-links li::before{
    background:#3494ff;
    box-shadow:0 0 16px rgba(52,148,255,.35);
}

.policy-footer{
    margin-top:36px;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#8792a4;
    line-height:1.7;
}

.policy-footer a{
    color:#ff6b6b;
    text-decoration:none;
}

.policy-footer a:hover{
    text-decoration:underline;
}

@media(max-width:1200px){

    .hero-content{
        flex-direction:column;
        text-align:center;
    }

    .hero-left{
        display:flex;
        flex-direction:column;
        align-items:center;
    }

    .features-grid{
        grid-template-columns:1fr 1fr;
    }

    .app-summary-box{
        grid-template-columns:1fr;
    }

    .review-card{
        flex-basis:calc((100% - 28px) / 2);
    }

    .hero h1{
        font-size:58px;
    }

    .privacy-layout{
        grid-template-columns:1fr;
    }

    .privacy-summary{
        position:static;
        grid-template-columns:repeat(3, 1fr);
    }

    .privacy-back{
        grid-column:1 / -1;
    }

    .hero-right{
        min-height:auto;
        margin-top:50px;
    }

    .iphone-mockup{
        width:360px;

        transform:none;
        animation:none;
    }
}

@media(max-width:960px){

    nav{
        display:none;
    }
}

@media(max-width:768px){

    nav{
        display:none;
    }

    .nav-actions{
        gap:0;
        min-width:0;
    }

    .logo{
        min-width:0;
    }

    .logo span{
        font-size:26px;
    }

    .language-current{
        height:40px;
        padding:0 10px;
    }

    .language-menu{
        width:180px;
    }

    .hero h1{
        font-size:42px;
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .hero-left{
        width:100%;
        min-width:0;
    }

    .hero p,
    .badge{
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .stores{
        justify-content:center;
        max-width:100%;
    }

    .stores img{
        max-width:100%;
    }

    .privacy-hero{
        padding:45px 0 30px;
    }

    .privacy-hero h1{
        font-size:42px;
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .privacy-hero p{
        font-size:17px;
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .privacy-meta{
        align-items:stretch;
        flex-direction:column;
    }

    .privacy-layout{
        width:92%;
    }

    .privacy-summary{
        grid-template-columns:1fr;
        border-radius:18px;
    }

    .privacy-content{
        padding-bottom:70px;
    }

    .policy-document{
        border-radius:20px;
        padding:26px;
    }

    .policy-section h2{
        font-size:24px;
    }

    .features-grid{
        grid-template-columns:1fr;
    }

    .iphone-mockup{
        width:300px;
        transform:none;
    }

    .green-circle{
        width:min(320px, 100vw);
        height:min(320px, 100vw);
    }

    .features h2,
    .screenshots h2,
    .reviews h2,
    .faq h2,
    .cta h2{
        font-size:34px;
    }

    .app-summary{
        padding:10px 0 55px;
    }

    .app-summary-box{
        padding:26px;
        border-radius:20px;
    }

    .app-summary h2{
        font-size:28px;
    }

    .summary-facts,
    .faq-grid{
        grid-template-columns:1fr;
    }

    .reviews{
        padding:70px 0 80px;
    }

    .section-heading p{
        font-size:16px;
    }

    .reviews-carousel{
        grid-template-columns:1fr;
    }

    .reviews-viewport{
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
    }

    .reviews-viewport::-webkit-scrollbar{
        display:none;
    }

    .reviews-track{
        gap:0;
        transition:none;
    }

    .screenshots-carousel{
        grid-template-columns:1fr;
    }

    .screenshots-viewport{
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        max-width:300px;
    }

    .screenshots-viewport::-webkit-scrollbar{
        display:none;
    }

    .shots{
        gap:0;
        transition:none;
    }

    .carousel-btn{
        display:none;
    }

    .shot{
        flex-basis:100%;
        height:520px;
        scroll-snap-align:center;
    }

    .screenshot-dots{
        display:flex;
    }

    .review-card{
        flex-basis:100%;
        min-height:auto;
        padding:26px;
        scroll-snap-align:center;
    }

    .cta-box{
        flex-direction:column;
        text-align:center;
    }

    .cta-left{
        flex-direction:column;
    }
}
