:root{
    --red:#e21b1b;
    --red-dark:#b81212;
    --red-soft:#fff0f0;
    --ink:#111111;
    --ink-2:#272727;
    --muted:#6d6d72;
    --muted-2:#8a8a90;
    --paper:#ffffff;
    --canvas:#f4f4f5;
    --line:#e4e4e7;
    --line-dark:#cfcfd4;
    --shadow:0 18px 50px rgba(0,0,0,.08);
}

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

html{
    scroll-behavior:smooth;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
}

body{
    min-width:320px;
    min-height:100vh;
    background:
        radial-gradient(circle at 14% -5%,rgba(226,27,27,.07),transparent 360px),
        radial-gradient(circle at 90% 2%,rgba(0,0,0,.035),transparent 420px),
        var(--canvas);
    color:var(--ink-2);
    font-family:"Jost",Arial,Helvetica,sans-serif;
    font-size:16px;
    line-height:1.64;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

body:before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    pointer-events:none;
    opacity:.55;
    background-image:radial-gradient(rgba(0,0,0,.055) .7px,transparent .7px);
    background-size:18px 18px;
}

a{color:inherit;text-decoration:none}
a:focus-visible{outline:3px solid rgba(226,27,27,.3);outline-offset:3px}

.page{
    width:min(1180px,calc(100% - 32px));
    margin:0 auto;
    padding:0 0 42px;
}

/* top rail */
.top-rail{
    overflow:hidden;
    border-bottom:1px solid #111;
    background:#111;
}

.top-track{
    display:flex;
    width:max-content;
    animation:railMove 34s linear infinite;
}

.top-track span{
    padding:8px 19px;
    white-space:nowrap;
    color:#fff;
    font-size:.65rem;
    font-weight:850;
    letter-spacing:.75px;
    text-transform:uppercase;
}

.top-track span:after{
    content:"•";
    margin-left:19px;
    color:var(--red);
}

@keyframes railMove{to{transform:translateX(-50%)}}

/* header */
.site-header{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:18px;
    padding:23px 2px 18px;
}

.brand{
    display:inline-flex;
    align-items:baseline;
    width:max-content;
    padding:6px 10px 7px;
    background:#fff;
    border:1px solid #d8d8dc;
    border-radius:8px;
    box-shadow:0 6px 18px rgba(0,0,0,.06);
    font-size:1.42rem;
    font-weight:1000;
    line-height:1;
    letter-spacing:-1.5px;
}

.brand-x{color:var(--red)}
.brand-videos{color:#050505}

.header-copy{min-width:0}
.header-copy>span{
    display:block;
    color:var(--red);
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.9px;
}
.header-copy p{
    margin-top:1px;
    color:var(--muted);
    font-size:.78rem;
}

.adult-status{
    display:flex;
    align-items:center;
    gap:8px;
    padding:7px 10px;
    border:1px solid #d7d7db;
    border-radius:999px;
    background:#fff;
    color:#333;
    font-size:.64rem;
    font-weight:900;
    white-space:nowrap;
}

.adult-status span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--red);
    box-shadow:0 0 0 4px rgba(226,27,27,.08);
}

/* hero */
.hero{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.45fr) minmax(260px,.7fr);
    gap:28px;
    align-items:center;
    min-height:310px;
    padding:38px 42px;
    border:1px solid #dedee2;
    border-top:4px solid var(--red);
    border-radius:21px;
    background:#fff;
    box-shadow:var(--shadow);
}

.hero:after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    right:-130px;
    bottom:-160px;
    border:52px solid rgba(226,27,27,.035);
    border-radius:50%;
}

.hero-copy{position:relative;z-index:2;max-width:760px}
.eyebrow{
    display:inline-flex;
    margin-bottom:10px;
    color:var(--red);
    font-size:.64rem;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.hero h1{
    max-width:730px;
    color:#0b0b0c;
    font-size:clamp(2rem,4.2vw,3.45rem);
    line-height:1.02;
    letter-spacing:-2.5px;
    font-weight:950;
}

.hero-x{color:var(--red)}

.hero-copy>p{
    max-width:720px;
    margin-top:15px;
    color:#5d5d63;
    font-size:.97rem;
}

.hero-tags{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin-top:20px;
}

.hero-tags span{
    padding:6px 9px;
    border:1px solid #e0e0e3;
    border-radius:7px;
    background:#fafafa;
    color:#4d4d52;
    font-size:.64rem;
    font-weight:800;
    text-transform:uppercase;
}

.hero-logo{
    position:relative;
    z-index:2;
    display:grid;
    place-items:center;
    min-height:190px;
    padding:24px;
    border:1px solid #e5e5e8;
    border-radius:17px;
    background:
        linear-gradient(145deg,rgba(226,27,27,.025),transparent 56%),
        #fafafa;
}

.hero-logo-mark{
    display:flex;
    align-items:baseline;
    font-size:clamp(2.4rem,5vw,4.05rem);
    line-height:1;
    font-weight:1000;
    letter-spacing:-4.4px;
}
.hero-logo-x{color:var(--red)}
.hero-logo-mark span:last-child{color:#050505}
.hero-logo small{
    margin-top:9px;
    color:#8d8d91;
    font-size:.58rem;
    font-weight:900;
    letter-spacing:2.2px;
}

/* section */
.services-section{margin-top:23px}
.section-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    padding:0 4px;
    margin-bottom:13px;
}
.section-heading span{
    color:var(--red);
    font-size:.61rem;
    font-weight:900;
    letter-spacing:.9px;
}
.section-heading h2{
    margin-top:2px;
    color:#111;
    font-size:1.35rem;
    line-height:1.2;
    letter-spacing:-.5px;
}
.section-heading p{
    color:#8a8a90;
    font-size:.67rem;
    font-weight:800;
    text-transform:uppercase;
}

/* cards */
.cards-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:14px;
    align-items:stretch;
}

.card-shell{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    min-width:0;
    padding:1px;
    border-radius:18px;
    background:#d9d9dd;
}

.card-shell:before{
    content:"";
    position:absolute;
    z-index:-2;
    width:180%;
    aspect-ratio:1;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:conic-gradient(
        from 0deg,
        transparent 0 15%,
        #111 19%,
        var(--red) 23%,
        #ff7676 26%,
        transparent 31% 68%,
        #111 73%,
        var(--red) 77%,
        transparent 83%
    );
    animation:cardTrace 7.5s linear infinite;
}

.card-shell:after{
    content:"";
    position:absolute;
    z-index:-1;
    inset:1px;
    border-radius:17px;
    background:#fff;
}

@keyframes cardTrace{
    to{transform:translate(-50%,-50%) rotate(360deg)}
}

.featured-shell{grid-column:span 2}
.featured-shell:before{animation-duration:8.5s}
.red-shell:before{animation-direction:reverse;animation-duration:9s}
.beta-shell:before{animation-duration:10s}

.service-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:455px;
    padding:23px;
    border-radius:17px;
    background:#fff;
    transition:transform .18s ease,box-shadow .18s ease;
}

.card-shell:hover .service-card{
    transform:translateY(-2px);
    box-shadow:0 16px 38px rgba(0,0,0,.07);
}

.card-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:20px;
}
.card-label{
    color:var(--red);
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.75px;
    text-transform:uppercase;
}
.card-no{
    color:#b3b3b7;
    font-size:.6rem;
    font-weight:900;
    letter-spacing:1px;
}

.card-logo{
    min-height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:stretch;
    gap:2px;
    margin-bottom:20px;
    padding:14px;
    border:1px solid #e5e5e8;
    border-radius:12px;
    background:#fafafa;
    color:#111;
    overflow:hidden;
}

.xvideos-logo,.red-logo{
    font-size:2rem;
    font-weight:1000;
    letter-spacing:-2.5px;
}
.logo-x{color:var(--red)!important}
.logo-black{color:#050505!important}
.card-logo small{
    margin-left:5px;
    color:#77777d;
    font-size:.53rem;
    font-weight:900;
    letter-spacing:.7px;
}

.app-logo{gap:11px}
.app-logo>span:last-child{display:flex;align-items:baseline;gap:0}
.app-logo b{font-size:1.55rem;line-height:1;letter-spacing:-2px}
.app-logo small{margin-left:6px}
.android-mini{
    width:39px;
    height:39px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#111;
    color:#fff;
    font-size:.84rem;
    font-weight:1000;
}

.alt-logo{
    font-size:1.86rem;
    font-weight:1000;
    letter-spacing:-2px;
}
.alt-x{color:var(--red)}
.alt-logo small{letter-spacing:.4px}

.red-logo small{
    margin-left:7px;
    padding:3px 5px;
    border:1px solid var(--red);
    border-radius:4px;
    background:var(--red);
    color:#fff;
    letter-spacing:.5px;
}

.beta-logo{gap:8px}
.beta-logo>span{display:flex;align-items:baseline}
.beta-logo b{font-size:1.9rem;line-height:1;letter-spacing:-2.5px}
.beta-logo small{
    margin-left:7px;
    padding:4px 6px;
    border:1px solid #111;
    border-radius:5px;
    color:#111;
    font-size:.59rem;
}

.service-card h3{
    color:#111;
    font-size:1.11rem;
    line-height:1.25;
    letter-spacing:-.3px;
}

.service-card p{
    margin-top:10px;
    color:#69696f;
    font-size:.85rem;
    line-height:1.62;
}
.service-card .card-lead{color:#4e4e53}
.service-card strong{color:#1d1d1f}

.card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:auto;
    padding-top:19px;
}
.card-meta span{
    padding:5px 7px;
    border:1px solid #e2e2e5;
    border-radius:6px;
    background:#fafafa;
    color:#77777c;
    font-size:.56rem;
    font-weight:850;
    text-transform:uppercase;
}

.card-cta{
    min-height:47px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:12px;
    padding:11px 13px 11px 15px;
    border:1px solid #cfcfd4;
    border-radius:9px;
    background:#f5f5f6;
    color:#111;
    font-size:.72rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.35px;
    transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.card-cta b{
    width:27px;
    height:27px;
    display:grid;
    place-items:center;
    border:1px solid #d1d1d4;
    border-radius:7px;
    background:#fff;
    color:#111;
    font-size:.9rem;
}
.card-cta:hover{
    border-color:#111;
    background:#111;
    color:#fff;
}
.card-cta:hover b{border-color:#3b3b3e;background:#242426;color:#fff}
.primary-cta{
    border-color:var(--red);
    background:var(--red);
    color:#fff;
}
.primary-cta b{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.14);color:#fff}
.primary-cta:hover{border-color:var(--red-dark);background:var(--red-dark)}

/* info */
.info-panel{
    display:grid;
    grid-template-columns:minmax(230px,.72fr) 1.55fr;
    gap:34px;
    margin-top:18px;
    padding:28px 30px;
    border:1px solid #dedee2;
    border-radius:17px;
    background:#fff;
}
.info-heading>span{
    color:var(--red);
    font-size:.59rem;
    font-weight:900;
    letter-spacing:.9px;
}
.info-heading h2{
    margin-top:5px;
    color:#111;
    font-size:1.22rem;
    line-height:1.25;
    letter-spacing:-.45px;
}
.info-columns{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:21px;
}
.info-columns p{
    color:#6a6a70;
    font-size:.82rem;
    line-height:1.7;
}

.footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:22px 4px 0;
}
.footer-logo{
    font-weight:1000;
    letter-spacing:-1px;
    color:#111;
}
.footer-logo span{color:var(--red)}
.footer p{
    color:#929297;
    font-size:.7rem;
    font-weight:700;
}

@media(max-width:930px){
    .hero{grid-template-columns:1fr;min-height:0}
    .hero-logo{min-height:135px}
    .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .featured-shell{grid-column:span 2}
    .info-panel{grid-template-columns:1fr;gap:20px}
}

@media(max-width:650px){
    .page{width:min(100% - 20px,1180px)}
    .site-header{grid-template-columns:auto 1fr;padding:17px 2px 14px}
    .header-copy{display:none}
    .adult-status{justify-self:end}
    .hero{padding:27px 21px;border-radius:17px}
    .hero h1{font-size:2.05rem;letter-spacing:-1.7px}
    .hero-copy>p{font-size:.9rem}
    .hero-logo{padding:18px;min-height:112px}
    .hero-logo-mark{font-size:2.85rem;letter-spacing:-3.7px}
    .cards-grid{grid-template-columns:1fr;gap:11px}
    .featured-shell{grid-column:auto}
    .service-card{min-height:0;padding:19px}
    .section-heading{align-items:flex-start}
    .section-heading p{display:none}
    .info-panel{padding:22px 20px}
    .info-columns{grid-template-columns:1fr;gap:12px}
    .footer{flex-direction:column;align-items:flex-start;gap:5px}
}

@media(max-width:390px){
    .page{width:calc(100% - 14px)}
    .brand{font-size:1.23rem}
    .adult-status{font-size:.58rem;padding:6px 8px}
    .hero{padding:23px 17px}
    .hero h1{font-size:1.78rem}
    .hero-tags span{font-size:.57rem}
    .card-logo{min-height:67px}
    .xvideos-logo,.red-logo{font-size:1.75rem}
    .alt-logo{font-size:1.65rem}
    .app-logo b{font-size:1.34rem}
}

@media(prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .top-track,.card-shell:before{animation:none!important}
    .card-shell:hover .service-card{transform:none}
}


/* =========================================================
   XVIDEOS.NET ALL FIXES
   seamless ticker + compact hero + CTA component
========================================================= */

/* Seamless ticker */
.top-rail{
    width:100%;
    overflow:hidden;
}
.top-track{
    display:flex;
    width:max-content;
    min-width:200%;
    animation:topRailLoop 30s linear infinite !important;
    will-change:transform;
}
.top-group{
    display:flex;
    align-items:center;
    justify-content:space-around;
    flex:0 0 auto;
    min-width:100vw;
}
.top-group span{
    flex:0 0 auto;
    padding:8px 22px;
    white-space:nowrap;
    color:#fff;
    font-size:.65rem;
    font-weight:850;
    letter-spacing:.75px;
    text-transform:uppercase;
}
.top-group span::after{
    content:"•";
    margin-left:22px;
    color:var(--red);
}
@keyframes topRailLoop{
    from{transform:translate3d(0,0,0)}
    to{transform:translate3d(-50%,0,0)}
}

/* Compact hero */
.hero{
    grid-template-columns:minmax(0,1.5fr) minmax(250px,.5fr);
    gap:24px;
    min-height:0 !important;
    padding:24px 28px !important;
    border-radius:18px;
}
.hero-copy{
    max-width:none;
}
.eyebrow{
    margin-bottom:7px;
}
.hero h1{
    max-width:760px;
    font-size:clamp(1.95rem,3.4vw,2.9rem);
    line-height:.99;
    letter-spacing:-2px;
}
.hero-copy>p{
    max-width:760px;
    margin-top:10px;
    font-size:.92rem;
    line-height:1.55;
}
.hero-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:12px;
    margin-top:15px;
}
.hero-route-card{
    position:relative;
    z-index:2;
    padding:16px 18px;
    border:1px solid #efc7c7;
    border-radius:14px;
    background:#fff7f7;
}
.hero-route-card small{
    display:block;
    color:var(--red);
    font-size:.57rem;
    font-weight:900;
    letter-spacing:.75px;
}
.hero-route-card strong{
    display:block;
    margin-top:3px;
    color:#111;
    font-size:1.15rem;
}
.hero-route-card p{
    margin-top:5px;
    color:#6f6f75;
    font-size:.75rem;
    line-height:1.45;
}
.hero-trust{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
}
.hero-trust span{
    padding:6px 8px;
    border:1px solid #e0e0e3;
    border-radius:999px;
    background:#fff;
    color:#77777d;
    font-size:.61rem;
    font-weight:800;
    white-space:nowrap;
}

/* Hero CTA */
.hero-cta-shell{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    min-width:315px;
    padding:2px;
    border-radius:13px;
    background:#f0c8c8;
}
.hero-cta-shell::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    border-radius:13px;
    padding:2px;
    background:linear-gradient(
        90deg,
        transparent 0%,
        transparent 25%,
        #111 36%,
        var(--red) 46%,
        #fff 50%,
        var(--red) 54%,
        #111 64%,
        transparent 75%,
        transparent 100%
    );
    background-size:260% 100%;
    animation:ctaEdgeRun 5.6s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}
@keyframes ctaEdgeRun{
    from{background-position:160% 0}
    to{background-position:-160% 0}
}
.hero-primary-cta{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    align-items:center;
    gap:14px;
    width:100%;
    min-height:62px;
    padding:9px 10px 9px 17px;
    border-radius:11px;
    background:linear-gradient(135deg,#ee2b2b,var(--red-dark));
    color:#fff;
    box-shadow:0 12px 26px rgba(226,27,27,.18);
}
.hero-primary-cta>span{display:block;text-align:left}
.hero-primary-cta small{
    display:block;
    margin-bottom:2px;
    color:#ffd9d9;
    font-size:.68rem;
    font-weight:700;
    line-height:1.1;
}
.hero-primary-cta strong{
    display:block;
    color:#fff;
    font-size:1rem;
    font-weight:900;
    line-height:1.15;
}
.hero-primary-cta>b{
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    border-radius:10px;
    background:#fff;
    color:var(--red);
    font-size:1.12rem;
}
.hero-primary-cta:hover{filter:brightness(1.04)}

/* CTA wrappers for every service card */
.card-shell .service-card{
    overflow:visible;
}
.card-cta{
    position:relative !important;
    top:auto !important;
    margin-top:14px !important;
    min-height:66px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 40px !important;
    align-items:center !important;
    gap:14px !important;
    padding:10px 11px 10px 16px !important;
    border-radius:11px !important;
    text-transform:none !important;
    letter-spacing:0 !important;
    overflow:hidden;
}
.card-cta::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    border-radius:11px;
    padding:1px;
    background:linear-gradient(
        90deg,
        transparent 0%,
        transparent 27%,
        #111 38%,
        var(--red) 47%,
        #fff 50%,
        var(--red) 53%,
        #111 62%,
        transparent 73%,
        transparent 100%
    );
    background-size:280% 100%;
    animation:cardCtaEdge 6.4s linear infinite;
    -webkit-mask:
        linear-gradient(#000 0 0) content-box,
        linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
    pointer-events:none;
}
@keyframes cardCtaEdge{
    from{background-position:170% 0}
    to{background-position:-170% 0}
}
.card-cta>span,
.card-cta>b{
    position:relative;
    z-index:1;
}
.card-cta>span{
    display:block !important;
    min-width:0;
    text-align:left;
}
.card-cta small{
    display:block;
    margin:0 0 3px;
    color:#7a7a80;
    font-size:.66rem;
    font-weight:700;
    line-height:1.1;
}
.card-cta strong{
    display:block;
    margin:0;
    color:inherit;
    font-size:.9rem;
    font-weight:900;
    line-height:1.15;
    text-transform:none;
}
.card-cta>b{
    width:40px !important;
    height:40px !important;
    border-radius:9px !important;
}
.primary-cta small{color:#ffd7d7}
.primary-cta strong{color:#fff}

/* Main site card gets stronger visual priority */
.featured-shell .service-card{
    min-height:430px;
}
.featured-shell .primary-cta{
    box-shadow:0 10px 24px rgba(226,27,27,.15);
}

/* Keep secondary cards aligned */
.cards-grid{
    align-items:stretch;
}
.service-card{
    min-height:455px;
}
.card-meta{
    margin-top:auto;
}

/* Mobile */
@media(max-width:930px){
    .hero{
        grid-template-columns:1fr;
        padding:21px 23px !important;
    }
    .hero-route-card{display:none}
}
@media(max-width:650px){
    .top-track{
        min-width:max-content;
        animation-duration:24s !important;
    }
    .top-group{min-width:max-content}
    .top-group span{padding:7px 16px;font-size:.59rem}
    .hero{
        padding:18px 16px !important;
    }
    .hero h1{font-size:1.95rem}
    .hero-copy>p{font-size:.86rem}
    .hero-actions{display:block}
    .hero-cta-shell{
        width:100%;
        min-width:0;
    }
    .hero-trust{margin-top:9px}
    .card-cta strong{font-size:.86rem}
}
@media(prefers-reduced-motion:reduce){
    .top-track,
    .hero-cta-shell::before,
    .card-cta::before{
        animation:none !important;
    }
}
