
/* =========================================
   HERO
   ========================================= */

.terms-hero{
    position:relative;
    overflow:hidden;
    padding:100px 20px 90px;

    background:
    radial-gradient(
        circle at 85% 20%,
        rgba(217,164,65,.20),
        transparent 28%
    ),
    radial-gradient(
        circle at 10% 90%,
        rgba(42,102,145,.25),
        transparent 30%
    ),
    linear-gradient(
        135deg,
        #05162A 0%,
        #0B2947 55%,
        #123A5D 100%
    );

    color:#fff;
}

.terms-hero::before{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:50%;
    right:-100px;
    top:-120px;
}

.terms-hero::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    border:1px solid rgba(217,164,65,.25);
    border-radius:50%;
    left:-80px;
    bottom:-100px;
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:900px;
    margin:auto;
    text-align:center;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;

    padding:8px 16px;
    margin-bottom:22px;

    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.08);

    border-radius:50px;

    font-size:13px;
    font-weight:600;
    letter-spacing:.5px;
}

.hero-badge span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--secondary-light);
}

.terms-hero h1{
    font-size:clamp(40px,6vw,68px);
    line-height:1.05;
    margin-bottom:22px;
    font-weight:800;
    letter-spacing:-1.5px;
}

.terms-hero h1 span{
    color:var(--secondary-light);
}

.terms-hero p{
    max-width:720px;
    margin:auto;
    color:rgba(255,255,255,.78);
    font-size:17px;
}

/* BREADCRUMB */

.breadcrumb{
    margin-top:32px;
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;

    font-size:14px;
    color:rgba(255,255,255,.65);
}

.breadcrumb a{
    color:#fff;
}

.breadcrumb a:hover{
    color:var(--secondary-light);
}

.breadcrumb .separator{
    opacity:.5;
}

/* =========================================
   MAIN CONTENT
   ========================================= */

.terms-wrapper {
    padding: 144px 0;
    background: #F5F7FA;
}

.terms-layout{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    gap:35px;
    align-items:start;
}

/* =========================================
   TABLE OF CONTENTS
   ========================================= */
.container{
    width:min(1180px, calc(100% - 40px));
    margin:auto;
}
.toc {
    position: sticky;
    top: 25px;
    background: #fff;
    border-radius: var(--radius);
    padding: 25px;
    box-shadow: var(--shadow);
    border: 1px solid #e4e7ec;
}
.toc-title{
    font-size:17px;
    font-weight:800;
    color:var(--heading);

    margin-bottom:18px;

    display:flex;
    align-items:center;
    gap:10px;
}

.toc-title::before{
    content:"";
    width:4px;
    height:20px;
    border-radius:5px;
    background:var(--secondary);
}

.toc ul{
    list-style:none;
}

.toc li{
    margin-bottom:3px;
}

.toc a{
    display:block;

    padding:9px 11px;

    border-radius:8px;

    font-size:13px;
    color:var(--muted);

    transition:.25s ease;
}

.toc a:hover{
    background:#F4F7FA;
    color:var(--primary);
    padding-left:16px;
}

/* =========================================
   TERMS CONTENT
   ========================================= */

.terms-content{
    min-width:0;
}

.terms-intro{
    background:linear-gradient(
        135deg,
        #ffffff,
        #F8FAFC
    );

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:35px;

    margin-bottom:25px;

    box-shadow:var(--shadow);

    position:relative;
    overflow:hidden;
}

.terms-intro::after{
    content:"";
    position:absolute;

    width:130px;
    height:130px;

    right:-50px;
    top:-50px;

    border-radius:50%;

    background:rgba(217,164,65,.10);
}

.terms-intro strong{
    color:var(--primary);
}

.terms-section{
    background:var(--white);

    border:1px solid var(--border);

    border-radius:var(--radius);

    padding:32px 35px;

    margin-bottom:22px;

    box-shadow:0 8px 30px rgba(5,22,42,.045);

    scroll-margin-top:30px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.terms-section:hover{
    transform:translateY(-2px);

    box-shadow:
    0 16px 40px rgba(5,22,42,.08);
}

.section-heading{
    display:flex;
    align-items:flex-start;
    gap:15px;

    margin-bottom:18px;
}

.section-number {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: linear-gradient(135deg,#05162a);
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}

.terms-section h2{
    color:var(--heading);
    font-size:25px;
    line-height:1.3;
    padding-top:4px;
}

.terms-section h3{
    color:var(--primary);
    font-size:20px;
    margin:28px 0 12px;
}

.terms-section p{
    margin-bottom:14px;
    color:var(--text);
    font-size:15px;
}

.terms-section p:last-child{
    margin-bottom:0;
}

/* LISTS */

.terms-section ul,
.terms-section ol{
    margin:15px 0 18px 22px;
}

.terms-section li{
    margin-bottom:10px;
    padding-left:5px;
    color:var(--text);
}

.terms-section li::marker{
    color:var(--secondary);
    font-weight:700;
}

/* IMPORTANT BOX */

.highlight-box{
    margin:20px 0;

    padding:18px 20px;

    border-left:4px solid var(--secondary);

    background:#FFF9ED;

    border-radius:0 12px 12px 0;

    color:#59451C;
}

.info-box{
    margin:20px 0;

    padding:20px;

    background:#F3F7FB;

    border:1px solid #DDE8F2;

    border-radius:12px;
}

/* =========================================
   QUICK NAV
   ========================================= */

.quick-nav{
    display:flex;
    flex-wrap:wrap;
    gap:10px;

    margin-top:25px;
}

.quick-nav a{
    padding:8px 13px;

    border:1px solid var(--border);

    border-radius:50px;

    background:#fff;

    font-size:13px;
    color:var(--primary);

    transition:.25s;
}

.quick-nav a:hover{
    background:var(--primary);
    color:#fff;
    border-color:var(--primary);
}

/* =========================================
   CTA
   ========================================= */

.terms-cta{
    margin-top:30px;

    padding:40px;

    border-radius:var(--radius);

    background:
    linear-gradient(
        135deg,
        #05162A,
        #0B2947
    );

    color:#fff;

    text-align:center;

    position:relative;
    overflow:hidden;
}

.terms-cta::before{
    content:"";
    position:absolute;

    width:220px;
    height:220px;

    border-radius:50%;

    border:1px solid rgba(255,255,255,.10);

    right:-70px;
    top:-80px;
}

.terms-cta h2{
    position:relative;
    font-size:28px;
    margin-bottom:10px;
}

.terms-cta p{
    position:relative;

    color:rgba(255,255,255,.72);

    max-width:600px;
    margin:0 auto 22px;
}

.cta-button{
    position:relative;

    display:inline-flex;
    align-items:center;
    justify-content:center;

    padding:12px 23px;

    background:#3374C4;

    color:#fff;

    border-radius:8px;

    font-size:14px;
    font-weight:700;

    transition:.25s;
}

.cta-button:hover{
    background:#3374C4;
    transform:translateY(-2px);
}

/* =========================================
   BACK TO TOP
   ========================================= */

.back-top{
    position:fixed;

    right:22px;
    bottom:22px;

    width:45px;
    height:45px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:var(--primary);

    color:#fff;

    border-radius:50%;

    box-shadow:0 8px 25px rgba(5,22,42,.22);

    font-size:20px;

    z-index:999;

    transition:.25s;
}

.back-top:hover{
    background:var(--secondary);
    transform:translateY(-3px);
}

/* =========================================
   RESPONSIVE
   ========================================= */

@media(max-width:1000px){

    .terms-layout{
        grid-template-columns:1fr;
    }

    .toc{
        position:relative;
        top:auto;
    }

    .toc ul{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:4px;
    }
}

@media(max-width:700px){

    .container{
        width:min(100% - 24px,1180px);
    }

    .terms-hero{
        padding:70px 15px 60px;
    }

    .terms-hero h1{
        font-size:42px;
    }

    .terms-hero p{
        font-size:15px;
    }

    .terms-wrapper{
        padding:40px 0;
    }

    .toc{
        padding:18px;
    }

    .toc ul{
        grid-template-columns:1fr;
    }

    .terms-intro,
    .terms-section{
        padding:24px 20px;
        border-radius:14px;
    }

    .terms-section h2{
        font-size:21px;
    }

    .terms-section h3{
        font-size:18px;
    }

    .terms-section p,
    .terms-section li{
        font-size:14px;
    }

    .section-number{
        width:35px;
        height:35px;
        border-radius:9px;
    }

    .terms-cta{
        padding:30px 20px;
    }

    .terms-cta h2{
        font-size:23px;
    }

}

@media(max-width:480px){

    .terms-hero h1{
        font-size:35px;
    }

    .breadcrumb{
        font-size:12px;
    }

    .terms-section{
        padding:21px 17px;
    }

    .section-heading{
        gap:10px;
    }

    .terms-section h2{
        font-size:19px;
    }

    .terms-section ul,
    .terms-section ol{
        margin-left:18px;
    }

    .back-top{
        width:40px;
        height:40px;
        right:15px;
        bottom:15px;
    }

}
