/* =========================================================
   SERVOMIX TERMS OF SERVICE
   terms.css
========================================================= */


/* =========================================================
   VARIABLES
========================================================= */

:root{
    --terms-bg:#050814;
    --terms-bg-soft:#08101f;

    --terms-card:#0b1020;
    --terms-card-2:#0d1326;

    --terms-text:#f7f8ff;
    --terms-muted:#919bb2;

    --terms-purple:#8b5cf6;
    --terms-purple-light:#b277ff;
    --terms-purple-dark:#5b21b6;

    --terms-blue:#3b82f6;

    --terms-border:rgba(139,92,246,.20);
    --terms-border-soft:rgba(255,255,255,.07);

    --terms-danger:#ef4444;
    --terms-warning:#f59e0b;
}


/* =========================================================
   GLOBAL
========================================================= */

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--terms-bg);
    color:var(--terms-text);
    overflow-x:hidden;
}

*{
    box-sizing:border-box;
}


/* =========================================================
   TOP AREA
========================================================= */

.terms-top{
    position:relative;
    overflow:hidden;

    background:
        radial-gradient(
            circle at 82% 30%,
            rgba(124,58,237,.13),
            transparent 35%
        ),
        radial-gradient(
            circle at 18% 55%,
            rgba(91,33,182,.08),
            transparent 34%
        ),
        #050814;
}

.terms-top::before{
    content:"";

    position:absolute;
    width:600px;
    height:600px;

    right:-250px;
    top:80px;

    border-radius:50%;

    background:rgba(124,58,237,.07);

    filter:blur(120px);

    pointer-events:none;
}


/* =========================================================
   NAVBAR FIX
   NORMAL FLOW - NOT STICKY
========================================================= */

.terms-top .header{
    position:relative !important;

    top:auto !important;
    left:auto !important;

    width:100%;

    margin:0 !important;
    padding:10px 0 0 !important;

    background:transparent !important;

    border:0 !important;
    box-shadow:none !important;

    z-index:100;
}

.terms-top .navbar{
    position:relative !important;

    top:auto !important;
    left:auto !important;

    z-index:101;
}


/* =========================================================
   CONTAINER
========================================================= */

.terms-container{
    width:min(1380px, calc(100% - 80px));
    margin:0 auto;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.terms-breadcrumb{
    position:relative;

    padding:25px 0 0;

    background:transparent;

    z-index:2;
}

.breadcrumb-inner{
    display:flex;
    align-items:center;
    gap:10px;

    font-size:14px;
    color:#737e96;
}

.breadcrumb-inner a{
    display:flex;
    align-items:center;
    gap:7px;

    color:#8d97ad;

    text-decoration:none;

    transition:.25s ease;
}

.breadcrumb-inner a:hover{
    color:#c4a7ff;
}

.breadcrumb-inner > svg{
    width:14px;
    height:14px;

    color:#505a70;
}

.breadcrumb-inner a svg{
    width:15px;
    height:15px;
}

.breadcrumb-inner > span{
    color:var(--terms-purple-light);
}


/* =========================================================
   HERO
========================================================= */

.terms-hero{
    position:relative;

    padding:70px 0 90px;

    background:transparent;

    z-index:2;
}

.terms-hero-container{
    width:min(1380px, calc(100% - 80px));

    margin:0 auto;

    display:grid;

    grid-template-columns:
        minmax(0, .95fr)
        minmax(440px, 1.05fr);

    align-items:center;

    gap:60px;
}


/* =========================================================
   HERO LEFT
========================================================= */

.terms-hero-content{
    position:relative;
    z-index:3;
}

.terms-badge{
    width:max-content;

    display:inline-flex;
    align-items:center;
    gap:9px;

    padding:9px 14px;

    margin-bottom:22px;

    border:1px solid rgba(139,92,246,.28);

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            rgba(124,58,237,.13),
            rgba(91,33,182,.07)
        );

    color:#d5c4ff;

    font-size:12px;
    font-weight:700;

    letter-spacing:.06em;
}

.terms-badge svg{
    width:16px;
    height:16px;

    color:#a970ff;
}


/* =========================================================
   HERO TITLE
========================================================= */

.terms-hero h1{
    margin:0;

    max-width:700px;

    font-size:clamp(55px, 5vw, 82px);

    line-height:1;

    letter-spacing:-.055em;

    font-weight:800;

    color:#f8f9ff;
}

.terms-hero h1 span{
    background:
        linear-gradient(
            135deg,
            #9b6cff,
            #7137ee
        );

    -webkit-background-clip:text;
    background-clip:text;

    color:transparent;
}


/* =========================================================
   HERO DESCRIPTION
========================================================= */

.terms-hero-description{
    max-width:680px;

    margin:25px 0 0;

    color:#9ba5ba;

    font-size:17px;

    line-height:1.8;
}


/* =========================================================
   DATE CARD
========================================================= */

.terms-date-card{
    width:max-content;
    max-width:100%;

    display:flex;
    align-items:center;

    margin-top:30px;

    padding:15px 20px;

    border:1px solid rgba(255,255,255,.07);

    border-radius:14px;

    background:
        linear-gradient(
            145deg,
            rgba(13,21,40,.90),
            rgba(7,12,25,.90)
        );

    box-shadow:
        0 15px 40px rgba(0,0,0,.18);
}

.terms-date-item{
    display:flex;
    align-items:center;
    gap:13px;
}

.terms-date-item > svg{
    width:21px;
    height:21px;

    color:#9a65ff;
}

.terms-date-item div{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.terms-date-item span{
    font-size:10px;

    letter-spacing:.11em;

    color:#758198;

    font-weight:700;
}

.terms-date-item strong{
    font-size:13px;
    color:#f4f5fb;
}

.terms-date-divider{
    width:1px;
    height:35px;

    margin:0 24px;

    background:rgba(255,255,255,.07);
}


/* =========================================================
   HERO VISUAL
========================================================= */

.terms-hero-visual{
    position:relative;

    min-height:460px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.terms-hero-visual::before{
    content:"";

    position:absolute;

    width:65%;
    height:65%;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(124,58,237,.16),
            rgba(124,58,237,.04) 45%,
            transparent 70%
        );

    filter:blur(30px);

    pointer-events:none;
}

.terms-service-image{
    position:relative;

    width:min(100%, 680px);

    height:auto;

    object-fit:contain;

    z-index:2;

    filter:
        drop-shadow(
            0 25px 45px rgba(0,0,0,.35)
        );

    animation:
        termsHeroFloat 6s ease-in-out infinite;
}

@keyframes termsHeroFloat{

    0%,
    100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-9px);
    }

}


/* =========================================================
   POLICY SECTION
========================================================= */

.terms-policy-section{
    position:relative;

    padding:20px 0 100px;

    background:
        linear-gradient(
            180deg,
            #050814 0%,
            #060a16 100%
        );
}

.terms-policy-layout{
    width:min(1380px, calc(100% - 80px));

    margin:0 auto;

    display:grid;

    grid-template-columns:320px minmax(0, 1fr);

    align-items:start;

    gap:25px;
}


/* =========================================================
   SIDEBAR
========================================================= */

.terms-sidebar{
    position:sticky;

    top:25px;

    align-self:start;
}

.terms-sidebar-card{
    padding:20px 16px 17px;

    border:1px solid rgba(255,255,255,.075);

    border-radius:15px;

    background:
        linear-gradient(
            150deg,
            rgba(13,20,37,.96),
            rgba(7,12,25,.97)
        );

    box-shadow:
        0 20px 50px rgba(0,0,0,.20);
}

.terms-sidebar-title{
    display:block;

    margin:
        2px
        10px
        14px;

    color:#768299;

    font-size:10px;

    letter-spacing:.15em;

    font-weight:700;
}


/* =========================================================
   SIDEBAR NAV
========================================================= */

.terms-sidebar-nav{
    display:flex;
    flex-direction:column;

    gap:3px;

    max-height:72vh;

    overflow-y:auto;

    padding-right:5px;

    scroll-behavior:smooth;
}

.terms-sidebar-nav a{
    display:grid;

    grid-template-columns:28px 1fr;

    align-items:center;

    gap:7px;

    min-height:38px;

    padding:9px 10px;

    border:1px solid transparent;

    border-radius:8px;

    color:#8e98ae;

    text-decoration:none;

    font-size:12px;

    line-height:1.35;

    transition:
        background .2s ease,
        border-color .2s ease,
        color .2s ease;
}

.terms-sidebar-nav a span{
    color:#6f7a91;

    font-size:10px;
}

.terms-sidebar-nav a:hover{
    color:#d6d9e4;

    background:rgba(255,255,255,.025);
}

.terms-sidebar-nav a.active{
    color:#fff;

    border-color:rgba(139,92,246,.26);

    background:
        linear-gradient(
            90deg,
            rgba(91,33,182,.55),
            rgba(91,33,182,.26)
        );
}

.terms-sidebar-nav a.active span{
    color:#c8a9ff;
}


/* =========================================================
   SIDEBAR SCROLLBAR
========================================================= */

.terms-sidebar-nav::-webkit-scrollbar{
    width:4px;
}

.terms-sidebar-nav::-webkit-scrollbar-track{
    background:transparent;
}

.terms-sidebar-nav::-webkit-scrollbar-thumb{
    background:rgba(139,92,246,.30);
    border-radius:10px;
}

.terms-sidebar-nav::-webkit-scrollbar-thumb:hover{
    background:rgba(139,92,246,.55);
}


/* =========================================================
   MAIN POLICY
========================================================= */

.terms-main{
    min-width:0;

    display:flex;
    flex-direction:column;

    gap:18px;
}


/* =========================================================
   POLICY CARD
========================================================= */

.terms-policy-card{
    position:relative;

    scroll-margin-top:35px;

    padding:31px 33px;

    border:1px solid rgba(255,255,255,.075);

    border-radius:15px;

    background:
        linear-gradient(
            145deg,
            rgba(12,19,35,.96),
            rgba(7,12,24,.96)
        );

    box-shadow:
        0 20px 55px rgba(0,0,0,.16);

    overflow:hidden;
}

.terms-policy-card::before{
    content:"";

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(139,92,246,.25),
            transparent
        );
}


/* =========================================================
   POLICY HEADING
========================================================= */

.policy-heading{
    display:flex;
    align-items:center;

    gap:17px;

    margin-bottom:21px;
}

.policy-icon{
    flex:0 0 auto;

    width:46px;
    height:46px;

    display:flex;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(139,92,246,.28);

    border-radius:11px;

    background:
        linear-gradient(
            145deg,
            rgba(91,33,182,.34),
            rgba(91,33,182,.12)
        );
}

.policy-icon svg{
    width:21px;
    height:21px;

    color:#a96fff;
}

.policy-icon.danger{
    border-color:rgba(239,68,68,.22);

    background:
        linear-gradient(
            145deg,
            rgba(239,68,68,.14),
            rgba(127,29,29,.08)
        );
}

.policy-icon.danger svg{
    color:#f87171;
}

.policy-heading > div:last-child{
    display:flex;
    align-items:center;

    gap:14px;

    min-width:0;
}

.policy-number{
    color:#a267ff;

    font-size:11px;

    font-weight:800;

    letter-spacing:.04em;
}

.policy-heading h2{
    margin:0;

    color:#f5f6fb;

    font-size:22px;

    line-height:1.3;

    letter-spacing:-.025em;
}


/* =========================================================
   POLICY BODY
========================================================= */

.policy-body{
    padding-left:63px;
}

.policy-body p{
    margin:0 0 14px;

    color:#929db3;

    font-size:14px;

    line-height:1.85;
}

.policy-body p:last-child{
    margin-bottom:0;
}


/* =========================================================
   TERMS LIST
========================================================= */

.terms-list{
    display:flex;
    flex-direction:column;

    gap:11px;

    margin:18px 0 5px;

    padding:0;

    list-style:none;
}

.terms-list li{
    position:relative;

    padding-left:25px;

    color:#939db2;

    font-size:14px;

    line-height:1.65;
}

.terms-list li::before{
    content:"";

    position:absolute;

    left:2px;
    top:8px;

    width:7px;
    height:7px;

    border:2px solid #8954ec;

    border-radius:50%;

    box-shadow:
        0 0 10px rgba(139,92,246,.25);
}


/* =========================================================
   INFO NOTE
========================================================= */

.terms-note{
    display:flex;
    align-items:flex-start;

    gap:13px;

    margin-top:20px;

    padding:15px 17px;

    border:1px solid rgba(139,92,246,.17);

    border-radius:10px;

    background:rgba(91,33,182,.07);
}

.terms-note > svg{
    flex:0 0 auto;

    width:18px;
    height:18px;

    margin-top:2px;

    color:#9d67ff;
}

.terms-note p{
    margin:0;

    font-size:13px;

    line-height:1.7;
}


/* =========================================================
   RENEWAL TIMELINE
========================================================= */

.terms-renewal-timeline{
    margin-top:24px;

    padding:20px;

    border:1px solid rgba(139,92,246,.13);

    border-radius:12px;

    background:
        linear-gradient(
            145deg,
            rgba(91,33,182,.06),
            rgba(8,12,25,.30)
        );
}

.renewal-step{
    display:grid;

    grid-template-columns:105px 1fr;

    align-items:start;

    gap:20px;
}

.renewal-day{
    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:100%;

    min-height:32px;

    padding:7px 10px;

    border:1px solid rgba(139,92,246,.22);

    border-radius:7px;

    background:rgba(91,33,182,.13);

    color:#b98aff;

    font-size:10px;

    font-weight:800;

    letter-spacing:.06em;
}

.renewal-step h3{
    margin:3px 0 5px;

    color:#e9ebf4;

    font-size:14px;
}

.renewal-step p{
    margin:0;

    font-size:13px;

    line-height:1.65;
}

.renewal-line{
    width:1px;
    height:22px;

    margin:
        5px
        0
        5px
        52px;

    background:
        linear-gradient(
            180deg,
            rgba(139,92,246,.45),
            rgba(139,92,246,.08)
        );
}


/* =========================================================
   PROHIBITED GRID
========================================================= */

.prohibited-grid{
    display:grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap:10px;

    margin:20px 0;
}

.prohibited-item{
    min-height:50px;

    display:flex;
    align-items:center;

    gap:11px;

    padding:12px 14px;

    border:1px solid rgba(239,68,68,.10);

    border-radius:9px;

    background:rgba(239,68,68,.035);

    color:#a5adbf;

    font-size:13px;
}

.prohibited-item svg{
    width:17px;
    height:17px;

    color:#e76a76;
}


/* =========================================================
   WARNING
========================================================= */

.terms-warning{
    display:flex;
    align-items:flex-start;

    gap:14px;

    margin-top:20px;

    padding:17px;

    border:1px solid rgba(245,158,11,.18);

    border-radius:10px;

    background:rgba(245,158,11,.055);
}

.terms-warning > svg{
    flex:0 0 auto;

    width:20px;
    height:20px;

    margin-top:1px;

    color:#f4ad32;
}

.terms-warning strong{
    display:block;

    margin-bottom:5px;

    color:#e9d4aa;

    font-size:13px;
}

.terms-warning p{
    margin:0;

    font-size:13px;
}


/* =========================================================
   POLICY LINK
========================================================= */

.terms-policy-link{
    width:max-content;

    display:inline-flex;
    align-items:center;

    gap:9px;

    margin-top:9px;

    padding:11px 14px;

    border:1px solid rgba(139,92,246,.22);

    border-radius:8px;

    background:rgba(91,33,182,.09);

    color:#b887ff;

    text-decoration:none;

    font-size:13px;

    font-weight:600;

    transition:.25s ease;
}

.terms-policy-link svg{
    width:15px;
    height:15px;
}

.terms-policy-link:hover{
    color:#fff;

    border-color:rgba(139,92,246,.45);

    background:rgba(91,33,182,.18);

    transform:translateY(-1px);
}


/* =========================================================
   CONTACT CARD
========================================================= */

.terms-contact-card{
    border-color:rgba(139,92,246,.16);
}

.terms-contact-options{
    display:grid;

    grid-template-columns:
        repeat(2, minmax(0,1fr));

    gap:12px;

    margin-top:20px;
}

.terms-contact-option{
    display:grid;

    grid-template-columns:40px 1fr 18px;

    align-items:center;

    gap:12px;

    padding:15px;

    border:1px solid rgba(255,255,255,.07);

    border-radius:10px;

    background:rgba(255,255,255,.02);

    color:inherit;

    text-decoration:none;

    transition:.25s ease;
}

.terms-contact-option > svg:first-child,
.terms-contact-option > i{
    width:40px;
    height:40px;

    display:flex;
    align-items:center;
    justify-content:center;

    padding:10px;

    border-radius:8px;

    background:rgba(91,33,182,.13);

    color:#a96fff;
}

.terms-contact-option > svg:last-child{
    width:16px;
    height:16px;

    color:#657086;
}

.terms-contact-option div{
    display:flex;
    flex-direction:column;

    gap:4px;
}

.terms-contact-option span{
    color:#69758b;

    font-size:9px;

    font-weight:800;

    letter-spacing:.12em;
}

.terms-contact-option strong{
    color:#e7e9f2;

    font-size:13px;
}

.terms-contact-option:hover{
    border-color:rgba(139,92,246,.25);

    background:rgba(91,33,182,.07);

    transform:translateY(-2px);
}


/* =========================================================
   BOTTOM CTA
========================================================= */

.terms-bottom-cta{
    padding:0 0 100px;

    background:#060a16;
}

.terms-cta-card{
    position:relative;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:40px;

    padding:42px 45px;

    border:1px solid rgba(139,92,246,.20);

    border-radius:18px;

    overflow:hidden;

    background:
        radial-gradient(
            circle at 90% 50%,
            rgba(124,58,237,.15),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #0b1121,
            #080d19
        );
}

.terms-cta-card::before{
    content:"";

    position:absolute;

    width:220px;
    height:220px;

    right:-100px;
    top:-100px;

    border-radius:50%;

    background:rgba(124,58,237,.15);

    filter:blur(70px);
}

.terms-cta-label{
    display:block;

    margin-bottom:9px;

    color:#9e69ff;

    font-size:10px;

    font-weight:800;

    letter-spacing:.14em;
}

.terms-cta-card h2{
    margin:0;

    font-size:31px;

    letter-spacing:-.035em;
}

.terms-cta-card h2 span{
    color:#9863ff;
}

.terms-cta-card p{
    max-width:650px;

    margin:10px 0 0;

    color:#8994aa;

    font-size:14px;

    line-height:1.7;
}

.terms-cta-button{
    position:relative;

    flex:0 0 auto;

    display:flex;
    align-items:center;

    gap:9px;

    padding:14px 20px;

    border:1px solid rgba(139,92,246,.40);

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            #7137e8,
            #5721bc
        );

    color:#fff;

    text-decoration:none;

    font-size:13px;

    font-weight:700;

    box-shadow:
        0 10px 30px rgba(91,33,182,.20);

    transition:.25s ease;

    z-index:2;
}

.terms-cta-button svg{
    width:16px;
    height:16px;
}

.terms-cta-button:hover{
    transform:translateY(-2px);

    box-shadow:
        0 14px 35px rgba(91,33,182,.30);
}


/* =========================================================
   RESPONSIVE - 1200
========================================================= */

@media(max-width:1200px){

    .terms-hero-container{
        grid-template-columns:
            minmax(0,1fr)
            minmax(380px,.9fr);

        gap:30px;
    }

    .terms-policy-layout{
        grid-template-columns:280px minmax(0,1fr);
    }

    .terms-hero h1{
        font-size:60px;
    }

}


/* =========================================================
   RESPONSIVE - 1000
========================================================= */

@media(max-width:1000px){

    .terms-container,
    .terms-hero-container,
    .terms-policy-layout{
        width:min(100% - 40px, 900px);
    }

    .terms-hero-container{
        grid-template-columns:1fr;
    }

    .terms-hero-content{
        text-align:center;
    }

    .terms-badge,
    .terms-date-card{
        margin-left:auto;
        margin-right:auto;
    }

    .terms-hero h1,
    .terms-hero-description{
        margin-left:auto;
        margin-right:auto;
    }

    .terms-hero-visual{
        min-height:auto;
    }

    .terms-service-image{
        width:min(100%,600px);
    }

    .terms-policy-layout{
        grid-template-columns:1fr;
    }

    .terms-sidebar{
        position:relative;
        top:auto;
    }

    .terms-sidebar-nav{
        max-height:300px;
    }

}


/* =========================================================
   RESPONSIVE - 700
========================================================= */

@media(max-width:700px){

    .terms-container,
    .terms-hero-container,
    .terms-policy-layout{
        width:calc(100% - 28px);
    }

    .terms-breadcrumb{
        padding-top:18px;
    }

    .terms-hero{
        padding:50px 0 60px;
    }

    .terms-hero h1{
        font-size:48px;
    }

    .terms-hero-description{
        font-size:15px;
    }

    .terms-date-card{
        width:100%;

        flex-direction:column;

        align-items:flex-start;

        gap:15px;
    }

    .terms-date-divider{
        width:100%;
        height:1px;

        margin:0;
    }

    .terms-policy-card{
        padding:24px 20px;
    }

    .policy-heading{
        align-items:flex-start;
    }

    .policy-heading > div:last-child{
        display:block;
    }

    .policy-number{
        display:block;

        margin-bottom:4px;
    }

    .policy-heading h2{
        font-size:19px;
    }

    .policy-body{
        padding-left:0;
    }

    .prohibited-grid,
    .terms-contact-options{
        grid-template-columns:1fr;
    }

    .renewal-step{
        grid-template-columns:1fr;

        gap:10px;
    }

    .renewal-day{
        width:max-content;
    }

    .renewal-line{
        margin-left:15px;
    }

    .terms-cta-card{
        padding:30px 25px;

        flex-direction:column;

        align-items:flex-start;
    }

}


/* =========================================================
   RESPONSIVE - 450
========================================================= */

@media(max-width:450px){

    .terms-hero h1{
        font-size:41px;
    }

    .terms-badge{
        font-size:10px;
    }

    .terms-policy-card{
        padding:21px 17px;
    }

    .policy-icon{
        width:41px;
        height:41px;
    }

    .policy-heading{
        gap:12px;
    }

    .terms-renewal-timeline{
        padding:15px;
    }

    .terms-cta-card h2{
        font-size:25px;
    }

}