/*==================================================
  NESTIFY LEGAL PAGES
  Version: 2.0
==================================================*/


/*==================================================
ROOT VARIABLES
==================================================*/

:root{

    --primary:#1B4332;
    --primary-dark:#143426;

    --secondary:#F97316;
    --secondary-dark:#ea580c;

    --accent:#2563eb;

    --success:#10b981;
    --danger:#ef4444;
    --warning:#f59e0b;

    --bg:#f5f7fb;
    --surface:#ffffff;

    --text:#1f2937;
    --text-light:#6b7280;

    --border:#e5e7eb;

    --radius-sm:12px;
    --radius:20px;
    --radius-lg:30px;

    --shadow-sm:0 6px 18px rgba(15,23,42,.05);

    --shadow:
        0 12px 35px rgba(15,23,42,.08);

    --shadow-lg:
        0 25px 70px rgba(15,23,42,.12);

    --transition:.35s ease;

    --container:1240px;

}


/*==================================================
RESET
==================================================*/

*,
*::before,
*::after{

    margin:0;
    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    background:var(--bg);

    font-family:
        Inter,
        "Segoe UI",
        Arial,
        sans-serif;

    color:var(--text);

    line-height:1.8;

    overflow-x:hidden;

}

img{

    display:block;

    max-width:100%;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

button{

    border:none;

    outline:none;

    cursor:pointer;

    transition:var(--transition);

}

input,
textarea,
select{

    font-family:inherit;

}

ul{

    padding-left:22px;

}

ol{

    padding-left:22px;

}


/*==================================================
TYPOGRAPHY
==================================================*/

h1,
h2,
h3,
h4,
h5{

    color:var(--text);

    font-weight:800;

    line-height:1.25;

}

h1{

    font-size:52px;

}

h2{

    font-size:34px;

}

h3{

    font-size:26px;

}

h4{

    font-size:22px;

}

p{

    color:var(--text-light);

    margin-bottom:18px;

}

small{

    color:var(--text-light);

}

strong{

    color:var(--text);

}

::selection{

    background:var(--primary);

    color:#fff;

}


/*==================================================
UTILITY CLASSES
==================================================*/

.container{

    width:min(95%, var(--container));

    margin:auto;

}

.text-center{

    text-align:center;

}

.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:60px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:60px;}

.hide{

    display:none;

}

.rounded{

    border-radius:var(--radius);

}

.shadow{

    box-shadow:var(--shadow);

}


/*==================================================
BUTTONS
==================================================*/

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:10px;

    padding:15px 30px;

    border-radius:999px;

    font-weight:700;

    transition:var(--transition);

}

.btn-dark{

    background:var(--primary);

    color:#fff;

}

.btn-dark:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

    box-shadow:var(--shadow);

}

.btn-light{

    background:#fff;

    color:var(--primary);

}

.btn-light:hover{

    transform:translateY(-3px);

    box-shadow:var(--shadow);

}

.btn-outline{

    border:2px solid var(--primary);

    color:var(--primary);

    background:transparent;

}

.btn-outline:hover{

    background:var(--primary);

    color:#fff;

}

.btn-secondary{

    background:var(--secondary);

    color:#fff;

}

.btn-secondary:hover{

    background:var(--secondary-dark);

}


/*==================================================
HERO
==================================================*/

.legal-hero{

    position:relative;

    overflow:hidden;

    background:
        linear-gradient(
            135deg,
            var(--primary),
            #204d39
        );

    color:#fff;

    padding:90px 0 80px;

}

.legal-hero::before{

    content:"";

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    right:-250px;
    top:-250px;

    background:
        rgba(255,255,255,.05);

}

.legal-hero::after{

    content:"";

    position:absolute;

    width:400px;
    height:400px;

    border-radius:50%;

    left:-160px;
    bottom:-180px;

    background:
        rgba(255,255,255,.04);

}

.legal-hero .container{

    position:relative;

    z-index:2;

}

.eyebrow{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:
        rgba(255,255,255,.12);

    border:1px solid rgba(255,255,255,.15);

    color:#fff;

    padding:10px 18px;

    border-radius:999px;

    font-size:14px;

    font-weight:700;

    margin-bottom:25px;

}

.legal-hero h1{

    color:#fff;

    max-width:760px;

    margin-bottom:20px;

}

.legal-hero p{

    max-width:760px;

    color:rgba(255,255,255,.88);

    font-size:18px;

}

.updated{

    display:inline-flex;

    align-items:center;

    gap:8px;

    margin-top:35px;

    background:#fff;

    color:var(--primary);

    padding:12px 20px;

    border-radius:999px;

    font-weight:700;

}


/*==================================================
MAIN LAYOUT
==================================================*/

.legal-layout{

    width:min(95%, var(--container));

    margin:60px auto;

    display:grid;

    grid-template-columns:300px 1fr;

    gap:40px;

    align-items:start;

}

.legal-content{

    display:flex;

    flex-direction:column;

    gap:30px;

}


/*==================================================
SIDEBAR
==================================================*/

.legal-sidebar{

    position:sticky;

    top:30px;

}

.sidebar-card{

    background:#fff;

    border-radius:24px;

    padding:28px;

    box-shadow:var(--shadow);

    margin-bottom:25px;

}

.sidebar-card h3{

    margin-bottom:20px;

    color:var(--primary);

}

.sidebar-nav{

    display:flex;

    flex-direction:column;

    gap:8px;

}

.sidebar-nav a{

    display:flex;

    align-items:center;

    gap:12px;

    padding:12px 16px;

    border-radius:12px;

    color:var(--text-light);

    font-weight:600;

}

.sidebar-nav a:hover{

    background:#edf7f2;

    color:var(--primary);

    transform:translateX(4px);

}

.sidebar-card ul{

    list-style:none;

    padding:0;

}

.sidebar-card li{

    display:flex;

    align-items:center;

    gap:10px;

    padding:10px 0;

    color:var(--text-light);

}

.sidebar-card li i{

    color:var(--primary);

}

```css
/*==================================================
LEGAL CONTENT
==================================================*/

.legal-section{

    background:#fff;

    border-radius:28px;

    padding:45px;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.legal-section:hover{

    transform:translateY(-3px);

    box-shadow:var(--shadow-lg);

}

.legal-section h2{

    color:var(--primary);

    margin-bottom:20px;

    font-size:34px;

}

.legal-section h3{

    margin-top:35px;

    margin-bottom:15px;

    color:#183c2d;

}

.legal-section h4{

    margin-top:25px;

    margin-bottom:12px;

}

.legal-section p{

    margin-bottom:18px;

    color:var(--text-light);

}

.legal-section ul{

    margin:18px 0;

}

.legal-section ol{

    margin:18px 0;

}

.legal-section li{

    margin-bottom:12px;

    color:var(--text-light);

}

.legal-section hr{

    border:none;

    border-top:1px solid var(--border);

    margin:40px 0;

}


/*==================================================
CONTENT LINKS
==================================================*/

.legal-section a{

    color:var(--accent);

    font-weight:700;

}

.legal-section a:hover{

    color:var(--primary);

}


/*==================================================
CARD GRID
==================================================*/

.info-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

    gap:25px;

    margin-top:30px;

}

.info-card{

    background:#f8fafc;

    border:1px solid var(--border);

    border-radius:24px;

    padding:28px;

    transition:.35s;

}

.info-card:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow);

}

.info-card i{

    width:60px;

    height:60px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#edf7f2;

    color:var(--primary);

    font-size:24px;

    margin-bottom:18px;

}

.info-card h4{

    margin-bottom:12px;

    color:var(--primary);

}

.info-card p{

    margin:0;

}


/*==================================================
GENERIC CARD
==================================================*/

.card{

    background:#fff;

    border-radius:24px;

    padding:35px;

    box-shadow:var(--shadow);

}


/*==================================================
NOTICE
==================================================*/

.notice{

    display:flex;

    align-items:flex-start;

    gap:18px;

    background:#fff7ed;

    border-left:5px solid var(--secondary);

    padding:24px;

    border-radius:20px;

    margin:30px 0;

}

.notice i{

    color:var(--secondary);

    font-size:24px;

}

.notice strong{

    display:block;

    margin-bottom:8px;

}


/*==================================================
SUCCESS
==================================================*/

.success{

    display:flex;

    gap:18px;

    background:#ecfdf5;

    border-left:5px solid var(--success);

    padding:24px;

    border-radius:20px;

    margin:30px 0;

}

.success i{

    color:var(--success);

    font-size:24px;

}


/*==================================================
WARNING
==================================================*/

.warning{

    display:flex;

    gap:18px;

    background:#fffbeb;

    border-left:5px solid var(--warning);

    padding:24px;

    border-radius:20px;

    margin:30px 0;

}

.warning i{

    color:var(--warning);

    font-size:24px;

}


/*==================================================
DANGER
==================================================*/

.danger{

    display:flex;

    gap:18px;

    background:#fef2f2;

    border-left:5px solid var(--danger);

    padding:24px;

    border-radius:20px;

    margin:30px 0;

}

.danger i{

    color:var(--danger);

    font-size:24px;

}


/*==================================================
BLOCKQUOTE
==================================================*/

blockquote{

    margin:30px 0;

    padding:25px;

    background:#f8fafc;

    border-left:5px solid var(--primary);

    border-radius:18px;

    font-style:italic;

    color:#374151;

}


/*==================================================
CODE
==================================================*/

code{

    background:#eef2f7;

    padding:3px 8px;

    border-radius:8px;

    font-size:14px;

}

pre{

    background:#1f2937;

    color:#fff;

    padding:25px;

    border-radius:18px;

    overflow:auto;

    margin:25px 0;

}

pre code{

    background:none;

    color:white;

}


/*==================================================
TABLES
==================================================*/

.table-wrapper{

    overflow-x:auto;

}

table{

    width:100%;

    border-collapse:collapse;

    margin-top:25px;

    overflow:hidden;

    border-radius:20px;

}

thead{

    background:#f8fafc;

}

th{

    color:var(--primary);

    font-weight:700;

}

th,
td{

    padding:18px;

    border:1px solid var(--border);

    text-align:left;

}

tbody tr:nth-child(even){

    background:#fafafa;

}

tbody tr:hover{

    background:#f2f8f4;

}


/*==================================================
CHECK LIST
==================================================*/

.check-list{

    list-style:none;

    padding:0;

}

.check-list li{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-bottom:16px;

}

.check-list li i{

    color:var(--success);

    margin-top:5px;

}


/*==================================================
TIMELINE
==================================================*/

.timeline{

    position:relative;

    margin-top:35px;

    padding-left:40px;

}

.timeline::before{

    content:"";

    position:absolute;

    left:10px;

    top:0;

    bottom:0;

    width:3px;

    background:#d1d5db;

}

.timeline-item{

    position:relative;

    margin-bottom:35px;

}

.timeline-item::before{

    content:"";

    position:absolute;

    left:-36px;

    top:4px;

    width:16px;

    height:16px;

    border-radius:50%;

    background:var(--primary);

    box-shadow:0 0 0 5px rgba(27,67,50,.15);

}

.timeline-item h4{

    margin-bottom:8px;

    color:var(--primary);

}

.timeline-item p{

    margin-bottom:0;

}


/*==================================================
STATISTICS
==================================================*/

.stats-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

    gap:22px;

    margin-top:30px;

}

.stat-card{

    background:#fff;

    padding:28px;

    text-align:center;

    border-radius:22px;

    box-shadow:var(--shadow);

}

.stat-card h2{

    color:var(--primary);

    margin-bottom:6px;

}

.stat-card p{

    margin:0;

}
/*==================================================
Buttons
==================================================*/

.legal-btn,
.legal-btn-outline{

    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:15px 28px;

    border-radius:999px;

    font-weight:700;

    transition:var(--transition);

}

.legal-btn{

    background:var(--primary);
    color:#fff;

    box-shadow:0 10px 25px rgba(27,67,50,.22);

}

.legal-btn:hover{

    background:#153626;

    transform:translateY(-3px);

}

.legal-btn-outline{

    border:2px solid var(--primary);
    color:var(--primary);
    background:#fff;

}

.legal-btn-outline:hover{

    background:var(--primary);
    color:#fff;

}

/*==================================================
Support CTA
==================================================*/

.support-box{

    margin-top:50px;

    padding:50px;

    border-radius:28px;

    text-align:center;

    color:#fff;

    background:
        linear-gradient(
            135deg,
            #1B4332,
            #24533f
        );

    box-shadow:var(--shadow);

}

.support-box h2{

    color:#fff;
    margin-bottom:15px;

}

.support-box p{

    color:rgba(255,255,255,.9);

    margin-bottom:30px;

    max-width:760px;

    margin-left:auto;
    margin-right:auto;

}

/*==================================================
Contact Page
==================================================*/

.contact-grid{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    gap:35px;

    margin-top:40px;

}

.contact-card{

    background:#fff;

    border-radius:24px;

    padding:35px;

    box-shadow:var(--shadow);

}

.contact-card h2{

    margin-bottom:18px;

    color:var(--primary);

}

.contact-list{

    display:flex;
    flex-direction:column;
    gap:18px;

}

.contact-item{

    display:flex;
    gap:18px;
    align-items:flex-start;

}

.contact-item i{

    width:50px;
    height:50px;

    border-radius:50%;

    background:#edf7f2;

    color:var(--primary);

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:20px;

    flex-shrink:0;

}

.contact-item h4{

    margin-bottom:5px;

}

.contact-item p,
.contact-item a{

    color:var(--text-light);

}

.contact-item a:hover{

    color:var(--primary);

}

.contact-form{

    display:flex;
    flex-direction:column;
    gap:20px;

}

.contact-form input,
.contact-form textarea{

    width:100%;

    padding:16px 18px;

    border:1px solid var(--border);

    border-radius:14px;

    outline:none;

    font-size:15px;

    transition:var(--transition);

    background:#fff;

}

.contact-form textarea{

    resize:vertical;

    min-height:180px;

}

.contact-form input:focus,
.contact-form textarea:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(27,67,50,.08);

}

/*==================================================
Delete Account
==================================================*/

.delete-box{

    border-radius:24px;

    background:#fff;

    padding:40px;

    box-shadow:var(--shadow);

}

.delete-steps{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

    gap:22px;

    margin-top:30px;

}

.delete-step{

    padding:25px;

    border:1px solid var(--border);

    border-radius:18px;

    background:#fafafa;

}

.delete-step span{

    width:42px;
    height:42px;

    border-radius:50%;

    display:flex;

    align-items:center;
    justify-content:center;

    background:var(--primary);

    color:#fff;

    font-weight:700;

    margin-bottom:18px;

}

/*==================================================
Tables
==================================================*/

.table-wrap{

    overflow-x:auto;

}

table{

    width:100%;

    border-collapse:collapse;

    margin-top:20px;

    min-width:650px;

}

th{

    background:#f8fafc;

    color:var(--primary);

}

th,
td{

    padding:16px;

    border:1px solid var(--border);

    text-align:left;

}

tbody tr:nth-child(even){

    background:#fafafa;

}

/*==================================================
Footer spacing
==================================================*/

.legal-footer-space{

    height:60px;

}

/*==================================================
Responsive
==================================================*/

@media(max-width:1100px){

    .contact-grid{

        grid-template-columns:1fr;

    }

}

@media(max-width:1000px){

    .legal-layout{

        grid-template-columns:1fr;

    }

    .legal-sidebar{

        position:relative;

        top:0;

    }

}

@media(max-width:768px){

    .legal-hero{

        padding:70px 0 55px;

    }

    .legal-hero h1{

        font-size:36px;

    }

    .legal-hero p{

        font-size:16px;

    }

    .legal-section{

        padding:28px;

    }

    .legal-section h2{

        font-size:26px;

    }

    .support-box{

        padding:35px 28px;

    }

    .contact-card{

        padding:28px;

    }

}

@media(max-width:480px){

    .hero-badge{

        font-size:13px;

    }

    .legal-hero h1{

        font-size:30px;

    }

    .sidebar-card{

        padding:22px;

    }

    .legal-section{

        padding:22px;

    }

    .contact-card{

        padding:22px;

    }

    .support-box{

        padding:28px 20px;

    }

    .legal-btn,
    .legal-btn-outline{

        width:100%;

        justify-content:center;

    }

}

/*==================================================
Buttons
==================================================*/

.legal-btn,
.contact-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 28px;
    border-radius:999px;
    background:var(--primary);
    color:#fff;
    font-weight:700;
    transition:var(--transition);
    border:none;
    cursor:pointer;
}

.legal-btn:hover,
.contact-btn:hover{
    background:#143726;
    transform:translateY(-3px);
    box-shadow:0 14px 30px rgba(27,67,50,.25);
}

.legal-btn-outline{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:15px 28px;
    border-radius:999px;
    border:2px solid var(--primary);
    color:var(--primary);
    background:#fff;
    font-weight:700;
    transition:var(--transition);
}

.legal-btn-outline:hover{
    background:var(--primary);
    color:#fff;
}

/*==================================================
Community Guideline Cards
==================================================*/

.guideline-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
    gap:24px;
    margin-top:35px;
}

.guideline-card{
    background:#fff;
    border-radius:22px;
    padding:28px;
    box-shadow:var(--shadow);
    transition:var(--transition);
    border:1px solid var(--border);
}

.guideline-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(0,0,0,.12);
}

.guideline-card i{
    width:65px;
    height:65px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#edf7f2;
    color:var(--primary);
    font-size:26px;
    margin-bottom:18px;
}

.guideline-card h3{
    margin-bottom:12px;
    color:var(--primary);
}

.guideline-card p{
    margin:0;
    color:var(--text-light);
}

/*==================================================
Contact Page
==================================================*/

.contact-grid{
    display:grid;
    grid-template-columns:1fr 420px;
    gap:40px;
    margin-top:40px;
}

.contact-card{
    background:#fff;
    border-radius:24px;
    padding:35px;
    box-shadow:var(--shadow);
}

.contact-card h2{
    margin-bottom:20px;
    color:var(--primary);
}

.contact-list{
    display:flex;
    flex-direction:column;
    gap:22px;
}

.contact-item{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

.contact-item i{
    width:58px;
    height:58px;
    flex-shrink:0;
    border-radius:50%;
    background:#edf7f2;
    color:var(--primary);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
}

.contact-item h4{
    margin-bottom:6px;
    color:var(--primary);
}

.contact-item p,
.contact-item a{
    color:var(--text-light);
}

.contact-item a:hover{
    color:var(--primary);
}

.contact-form{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.contact-form input,
.contact-form textarea,
.contact-form select{
    width:100%;
    border:1px solid var(--border);
    border-radius:16px;
    padding:15px 18px;
    font-size:15px;
    outline:none;
    transition:var(--transition);
    background:#fff;
}

.contact-form textarea{
    min-height:180px;
    resize:vertical;
}

.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 4px rgba(27,67,50,.08);
}

/*==================================================
Support CTA
==================================================*/

.support-box{
    margin-top:50px;
    padding:55px;
    border-radius:30px;
    background:linear-gradient(
        135deg,
        #1B4332,
        #24533f
    );
    color:#fff;
    text-align:center;
    overflow:hidden;
    position:relative;
}

.support-box::after{
    content:"";
    position:absolute;
    width:350px;
    height:350px;
    border-radius:50%;
    background:rgba(255,255,255,.05);
    right:-120px;
    top:-120px;
}

.support-box>*{
    position:relative;
    z-index:2;
}

.support-box h2{
    color:#fff;
    margin-bottom:16px;
}

.support-box p{
    color:rgba(255,255,255,.88);
    margin-bottom:30px;
}

/*==================================================
Tables
==================================================*/

table{
    width:100%;
    border-collapse:collapse;
    margin-top:25px;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
}

th{
    background:#f8fafc;
    color:var(--primary);
    font-weight:700;
}

th,
td{
    border:1px solid var(--border);
    padding:16px;
    text-align:left;
}

tr:nth-child(even){
    background:#fafafa;
}

/*==================================================
Footer spacing
==================================================*/

.legal-footer-space{
    height:40px;
}

/*==================================================
Responsive
==================================================*/

@media(max-width:1100px){

    .contact-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:900px){

    .legal-layout{
        grid-template-columns:1fr;
    }

    .legal-sidebar{
        position:relative;
        top:0;
    }

}

@media(max-width:768px){

    .support-box{
        padding:35px 25px;
    }

    .contact-card{
        padding:25px;
    }

    .guideline-grid{
        grid-template-columns:1fr;
    }

}

@media(max-width:480px){

    .contact-item{
        align-items:flex-start;
    }

    .contact-item i{
        width:48px;
        height:48px;
        font-size:18px;
    }

    .legal-btn,
    .legal-btn-outline,
    .contact-btn{
        width:100%;
    }

}

