/*==================================================
  GLOBAL RESET
==================================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
    font-size:16px;
}

body{
    font-family:"Inter",sans-serif;
    font-size:1rem;
    font-weight:400;
    line-height:1.7;
    color:#1e293b;
    background:
        radial-gradient(circle at top left,#eef4ff 0%,#ffffff 45%),
        linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/*==================================================
  COMMON ELEMENTS
==================================================*/

img{
    display:block;
    max-width:100%;
    height:auto;
}

a{
    color:inherit;
    text-decoration:none;
    transition:all .35s ease;
}

ul,
ol{
    list-style:none;
}

button,
input,
textarea,
select{
    font:inherit;
    border:none;
    outline:none;
}

button{
    cursor:pointer;
    background:none;
}

/*==================================================
  LAYOUT
==================================================*/

.container{
    width:min(1200px,92%);
    margin:0 auto;
}

main{
    position:relative;
    overflow:hidden;
}

/*==================================================
  SECTIONS
==================================================*/

section{
    position:relative;
    padding:5rem 0;
}

.section-heading{
    text-align:center;
    max-width:760px;
    margin:0 auto 3.5rem;
}

.section-heading h2{
    font-size:clamp(2rem,4vw,3rem);
    font-weight:800;
    color:#0f172a;
    margin-bottom:1rem;
    line-height:1.15;
}

.section-heading p{
    font-size:1.05rem;
    color:#64748b;
    line-height:1.8;
}

/*==================================================
  CUSTOM SCROLLBAR
==================================================*/

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#edf2ff;
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(180deg,#2563eb,#7c3aed);
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(180deg,#1d4ed8,#6d28d9);
}

/*==================================================
  TEXT SELECTION
==================================================*/

::selection{
    background:#2563eb;
    color:#ffffff;
}

/*==================================================
  FOCUS ACCESSIBILITY
==================================================*/

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible{
    outline:3px solid rgba(37,99,235,.35);
    outline-offset:4px;
}

/*====================================================
  HERO SECTION
====================================================*/

.hero{
    position:relative;
    overflow:hidden;
    padding:170px 0 100px;
    background:
        linear-gradient(135deg,#0f4ec9 0%,#2563eb 45%,#4f46e5 100%);
}

/* Decorative Background */

.hero::before{
    content:"";
    position:absolute;
    width:550px;
    height:550px;
    border-radius:50%;
    background:rgba(255,255,255,0.08);
    top:-220px;
    left:-180px;
    filter:blur(8px);
}

.hero::after{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    border-radius:50%;
    background:rgba(255,255,255,0.06);
    right:-160px;
    bottom:-180px;
    filter:blur(12px);
}

/* Floating Circles */

.hero .circle1,
.hero .circle2,
.hero .circle3{
    position:absolute;
    border-radius:50%;
    background:rgba(255,255,255,.12);
    animation:floatCircle 12s ease-in-out infinite;
}

.hero .circle1{
    width:90px;
    height:90px;
    left:8%;
    bottom:15%;
}

.hero .circle2{
    width:55px;
    height:55px;
    right:14%;
    top:18%;
    animation-delay:3s;
}

.hero .circle3{
    width:35px;
    height:35px;
    left:48%;
    top:12%;
    animation-delay:6s;
}

@keyframes floatCircle{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-18px);
    }

}

/* Hero Layout */

.hero .container{
    position:relative;
    z-index:5;
    max-width:1200px;
    margin:auto;
    padding:0 20px;
    text-align:center;
}

/*====================================================
  PAGE TITLE
====================================================*/

.hero h1{
    color:#fff;
    font-size:clamp(2.5rem,5vw,4.2rem);
    font-weight:800;
    line-height:1.15;
    margin-bottom:20px;
    text-shadow:0 5px 20px rgba(0,0,0,.18);
}

.hero p{
    max-width:820px;
    margin:auto;
    font-size:1.1rem;
    line-height:1.9;
    color:rgba(255,255,255,.92);
}

/*====================================================
  SEARCH BOX
====================================================*/

.sitemap-search{
    margin:50px auto 0;
    max-width:700px;
    position:relative;
}

.sitemap-search input{
    width:100%;
    height:64px;
    padding:0 70px 0 28px;
    border:none;
    border-radius:60px;
    background:#fff;
    font-size:1rem;
    color:#1f2937;
    box-shadow:0 18px 40px rgba(0,0,0,.18);
    transition:.35s;
}

.sitemap-search input:focus{
    outline:none;
    transform:translateY(-2px);
    box-shadow:0 25px 55px rgba(0,0,0,.22);
}

.sitemap-search button{
    position:absolute;
    top:7px;
    right:7px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    cursor:pointer;
    background:linear-gradient(135deg,#2563eb,#4f46e5);
    color:#fff;
    font-size:1.1rem;
    transition:.3s;
}

.sitemap-search button:hover{
    transform:scale(1.08);
    box-shadow:0 10px 30px rgba(37,99,235,.35);
}

/*====================================================
  HERO INTRO CARD
====================================================*/

.hero-intro{
    margin:55px auto 0;
    max-width:900px;
    padding:35px;
    border-radius:25px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(15px);
    border:1px solid rgba(255,255,255,.20);
    box-shadow:0 25px 60px rgba(0,0,0,.15);
}

.hero-intro h2{
    color:#fff;
    margin-bottom:15px;
    font-size:1.8rem;
    font-weight:700;
}

.hero-intro p{
    color:rgba(255,255,255,.92);
    margin:0;
    line-height:1.9;
}

/*====================================================
  RESPONSIVE
====================================================*/

@media(max-width:992px){

    .hero{
        padding:150px 0 80px;
    }

    .hero-intro{
        padding:30px;
    }

}

@media(max-width:768px){

    .hero{
        padding:130px 0 70px;
    }

    .hero h1{
        font-size:2.2rem;
    }

    .hero p{
        font-size:1rem;
    }

    .sitemap-search input{
        height:56px;
        padding-left:20px;
    }

    .sitemap-search button{
        width:44px;
        height:44px;
        top:6px;
        right:6px;
    }

    .hero-intro{
        padding:25px;
    }

}

@media(max-width:480px){

    .hero{
        padding:120px 0 60px;
    }

    .hero h1{
        font-size:1.8rem;
    }

    .hero-intro h2{
        font-size:1.4rem;
    }

}

/*====================================================
  SITEMAP CARDS SECTION
====================================================*/

.sitemap-section{
    position:relative;
    padding:90px 0;
    background:#f8fbff;
    overflow:hidden;
}

/* Decorative Background */

.sitemap-section::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-100px;
    width:320px;
    height:320px;
    border-radius:50%;
    background:rgba(37,99,235,.05);
}

.sitemap-section::after{
    content:"";
    position:absolute;
    bottom:-150px;
    left:-100px;
    width:380px;
    height:380px;
    border-radius:50%;
    background:rgba(79,70,229,.05);
}

/*====================================================
  SECTION HEADINGS
====================================================*/

.sitemap-heading{
    text-align:center;
    margin-bottom:60px;
    position:relative;
    z-index:2;
}

.sitemap-heading h2{
    font-size:clamp(2rem,4vw,3rem);
    color:#0f172a;
    margin-bottom:15px;
    font-weight:800;
}

.sitemap-heading p{
    max-width:760px;
    margin:auto;
    color:#64748b;
    line-height:1.8;
    font-size:1.05rem;
}

/*====================================================
  SITEMAP GRID
====================================================*/

.sitemap-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:35px;
    position:relative;
    z-index:2;
}

/*====================================================
  PREMIUM CARDS
====================================================*/

.sitemap-card{
    position:relative;
    background:#fff;
    border-radius:28px;
    padding:35px;
    border:1px solid rgba(37,99,235,.08);
    box-shadow:
        0 15px 40px rgba(15,23,42,.06),
        0 5px 12px rgba(15,23,42,.04);
    overflow:hidden;
    transition:.4s ease;
}

/* Gradient Top Border */

.sitemap-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:6px;
    background:linear-gradient(
        90deg,
        #2563eb,
        #4f46e5,
        #7c3aed
    );
}

/* Decorative Glow */

.sitemap-card::after{
    content:"";
    position:absolute;
    width:220px;
    height:220px;
    border-radius:50%;
    background:rgba(37,99,235,.08);
    top:-130px;
    right:-110px;
    transition:.4s;
}

/* Hover */

.sitemap-card:hover{
    transform:translateY(-10px);
    box-shadow:
        0 28px 65px rgba(37,99,235,.16),
        0 8px 20px rgba(15,23,42,.08);
}

.sitemap-card:hover::after{
    transform:scale(1.3);
}

/*====================================================
  CARD TITLES
====================================================*/

.sitemap-card h3{
    display:flex;
    align-items:center;
    gap:14px;
    margin-bottom:25px;
    font-size:1.45rem;
    color:#0f172a;
    font-weight:700;
}

.sitemap-card h3 i{
    width:52px;
    height:52px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(
        135deg,
        #2563eb,
        #4f46e5
    );
    color:#fff;
    font-size:1.2rem;
    box-shadow:0 10px 25px rgba(37,99,235,.25);
}

/*====================================================
  LINK LIST
====================================================*/

.sitemap-links{
    list-style:none;
    margin:0;
    padding:0;
}

.sitemap-links li{
    margin-bottom:12px;
}

.sitemap-links li:last-child{
    margin-bottom:0;
}

.sitemap-links a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 18px;
    text-decoration:none;
    color:#334155;
    border-radius:14px;
    transition:.35s;
    background:#f8fbff;
    border:1px solid transparent;
    font-weight:500;
}

/* Arrow */

.sitemap-links a::after{
    content:"➜";
    font-size:1rem;
    color:#2563eb;
    transition:.35s;
}

/* Hover */

.sitemap-links a:hover{
    color:#2563eb;
    background:#eef5ff;
    border-color:#bfd6ff;
    padding-left:24px;
}

.sitemap-links a:hover::after{
    transform:translateX(6px);
}

/*====================================================
  SMALL DESCRIPTION
====================================================*/

.sitemap-card p{
    color:#64748b;
    line-height:1.8;
    margin-bottom:22px;
}

/*====================================================
  FEATURED CARD
====================================================*/

.sitemap-card.featured{
    background:linear-gradient(
        135deg,
        #2563eb,
        #4f46e5
    );
    color:#fff;
}

.sitemap-card.featured h3,
.sitemap-card.featured p{
    color:#fff;
}

.sitemap-card.featured .sitemap-links a{
    background:rgba(255,255,255,.12);
    color:#fff;
    border:1px solid rgba(255,255,255,.15);
}

.sitemap-card.featured .sitemap-links a:hover{
    background:rgba(255,255,255,.20);
}

.sitemap-card.featured .sitemap-links a::after{
    color:#fff;
}

/*====================================================
  RESPONSIVE
====================================================*/

@media(max-width:992px){

    .sitemap-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .sitemap-section{
        padding:70px 0;
    }

    .sitemap-grid{
        grid-template-columns:1fr;
        gap:25px;
    }

    .sitemap-card{
        padding:28px;
    }

    .sitemap-card h3{
        font-size:1.3rem;
    }

    .sitemap-card h3 i{
        width:46px;
        height:46px;
        font-size:1rem;
    }

}

@media(max-width:480px){

    .sitemap-card{
        padding:22px;
        border-radius:22px;
    }

    .sitemap-links a{
        padding:12px 15px;
        font-size:.95rem;
    }

}

/*====================================================
  ICONS, LINKS & HOVER EFFECTS
====================================================*/

/*------------------------------------
  Icon Container
------------------------------------*/

.icon-box{
    width:70px;
    height:70px;
    border-radius:22px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:1.5rem;
    background:linear-gradient(135deg,#2563eb,#4f46e5);
    color:#fff;
    font-size:1.8rem;
    box-shadow:
        0 15px 35px rgba(37,99,235,.25),
        inset 0 1px 1px rgba(255,255,255,.25);
    transition:all .4s ease;
}

.sitemap-card:hover .icon-box{
    transform:rotate(-8deg) scale(1.08);
    box-shadow:
        0 20px 40px rgba(37,99,235,.35),
        0 0 30px rgba(79,70,229,.25);
}

/*------------------------------------
  Card Title
------------------------------------*/

.sitemap-card h3{
    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:1.4rem;
    font-size:1.45rem;
    font-weight:700;
    color:#14213d;
}

/*------------------------------------
  Links Container
------------------------------------*/

.sitemap-links{
    margin:0;
    padding:0;
    list-style:none;
}

.sitemap-links li{
    margin-bottom:12px;
}

.sitemap-links li:last-child{
    margin-bottom:0;
}

/*------------------------------------
  Individual Links
------------------------------------*/

.sitemap-links a{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 18px;
    border-radius:14px;
    text-decoration:none;
    font-size:.98rem;
    font-weight:500;
    color:#34495e;
    background:#f8fbff;
    border:1px solid transparent;
    overflow:hidden;
    transition:all .35s ease;
}

/* Left Animated Border */

.sitemap-links a::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:4px;
    height:100%;
    background:linear-gradient(
        180deg,
        #2563eb,
        #7c3aed
    );
    transform:scaleY(0);
    transform-origin:top;
    transition:.35s;
}

/* Arrow */

.sitemap-links a::after{
    content:"\2192";
    font-size:1rem;
    color:#2563eb;
    transition:all .35s ease;
}

/* Hover */

.sitemap-links a:hover{
    background:#eef5ff;
    border-color:#d4e4ff;
    color:#2563eb;
    padding-left:24px;
    box-shadow:0 10px 25px rgba(37,99,235,.10);
}

.sitemap-links a:hover::before{
    transform:scaleY(1);
}

.sitemap-links a:hover::after{
    transform:translateX(6px);
    color:#4f46e5;
}

/*------------------------------------
  Active Link
------------------------------------*/

.sitemap-links a.active{
    background:linear-gradient(
        135deg,
        #2563eb,
        #4f46e5
    );
    color:#fff;
    border-color:transparent;
}

.sitemap-links a.active::after{
    color:#fff;
}

.sitemap-links a.active::before{
    background:#fff;
    transform:scaleY(1);
}

/*------------------------------------
  Keyboard Accessibility
------------------------------------*/

.sitemap-links a:focus-visible{
    outline:none;
    border-color:#2563eb;
    box-shadow:
        0 0 0 4px rgba(37,99,235,.18),
        0 12px 30px rgba(37,99,235,.12);
}

/*------------------------------------
  Featured Cards
------------------------------------*/

.sitemap-card.featured .icon-box{
    background:#fff;
    color:#2563eb;
}

.sitemap-card.featured .sitemap-links a{
    background:rgba(255,255,255,.12);
    color:#fff;
    border:1px solid rgba(255,255,255,.18);
}

.sitemap-card.featured .sitemap-links a::after{
    color:#fff;
}

.sitemap-card.featured .sitemap-links a:hover{
    background:rgba(255,255,255,.22);
    padding-left:24px;
}

.sitemap-card.featured .sitemap-links a::before{
    background:#fff;
}

/*------------------------------------
  Link Groups
------------------------------------*/

.sitemap-links li:nth-child(odd) a{
    background:#fcfdff;
}

.sitemap-links li:nth-child(even) a{
    background:#f6f9ff;
}

/*------------------------------------
  Card Glow
------------------------------------*/

.sitemap-card{
    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}

.sitemap-card:hover{
    border-color:rgba(37,99,235,.20);
    box-shadow:
        0 30px 70px rgba(37,99,235,.14),
        0 12px 30px rgba(0,0,0,.05);
}

/*------------------------------------
  Floating Icon Animation
------------------------------------*/

@keyframes floatIcon{

    0%,100%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-6px);
    }

}

.icon-box i{
    animation:floatIcon 3s ease-in-out infinite;
}

/*------------------------------------
  Responsive
------------------------------------*/

@media (max-width:768px){

    .icon-box{
        width:60px;
        height:60px;
        font-size:1.5rem;
        margin-bottom:1rem;
    }

    .sitemap-card h3{
        font-size:1.25rem;
        gap:12px;
    }

    .sitemap-links a{
        padding:13px 15px;
        font-size:.94rem;
    }

}

@media (max-width:480px){

    .icon-box{
        width:54px;
        height:54px;
        border-radius:18px;
        font-size:1.3rem;
    }

    .sitemap-links a{
        padding:12px 14px;
        font-size:.90rem;
    }

}

/*====================================================
  PART 9 - RESPONSIVE DESIGN
  Mobile • Tablet • Desktop
====================================================*/

/*=========================================
  LARGE DESKTOPS
=========================================*/

@media (min-width:1400px){

    .container{
        max-width:1320px;
    }

    .hero{
        padding:180px 0 120px;
    }

    .hero h1{
        font-size:4.3rem;
    }

    .sitemap-grid{
        grid-template-columns:repeat(4,1fr);
        gap:35px;
    }

}

/*=========================================
  LAPTOPS
=========================================*/

@media (max-width:1200px){

    .container{
        max-width:1140px;
        padding:0 30px;
    }

    .hero{
        padding:150px 0 90px;
    }

    .hero h1{
        font-size:3.2rem;
    }

    .hero p{
        font-size:1.05rem;
    }

    .sitemap-grid{
        grid-template-columns:repeat(3,1fr);
        gap:28px;
    }

}

/*=========================================
  TABLETS
=========================================*/

@media (max-width:992px){

    .hero{
        padding:140px 0 80px;
    }

    .hero h1{
        font-size:2.8rem;
    }

    .hero p{
        font-size:1rem;
    }

    .hero-intro{
        padding:30px;
    }

    .sitemap-heading{
        margin-bottom:45px;
    }

    .sitemap-heading h2{
        font-size:2.2rem;
    }

    .sitemap-grid{
        grid-template-columns:repeat(2,1fr);
        gap:25px;
    }

    .sitemap-card{
        padding:28px;
    }

    .sitemap-links a{
        padding:13px 16px;
    }

}

/*=========================================
  MOBILE LANDSCAPE
=========================================*/

@media (max-width:768px){

    .container{
        width:100%;
        padding:0 20px;
    }

    .hero{
        padding:120px 0 70px;
        text-align:center;
    }

    .hero h1{
        font-size:2.2rem;
        line-height:1.2;
    }

    .hero p{
        font-size:.98rem;
        line-height:1.8;
    }

    .hero-intro{
        margin-top:35px;
        padding:24px;
    }

    .hero-intro h2{
        font-size:1.5rem;
    }

    .sitemap-search{
        margin-top:35px;
    }

    .sitemap-search input{
        height:56px;
        font-size:.95rem;
        padding:0 58px 0 18px;
    }

    .sitemap-search button{
        width:44px;
        height:44px;
        top:6px;
        right:6px;
    }

    .sitemap-section{
        padding:70px 0;
    }

    .sitemap-heading h2{
        font-size:2rem;
    }

    .sitemap-grid{
        grid-template-columns:1fr;
        gap:22px;
    }

    .sitemap-card{
        padding:24px;
        border-radius:22px;
    }

    .icon-box{
        width:58px;
        height:58px;
        font-size:1.4rem;
    }

    .sitemap-card h3{
        font-size:1.25rem;
    }

}

/*=========================================
  MOBILE PORTRAIT
=========================================*/

@media (max-width:576px){

    .hero{
        padding:105px 0 60px;
    }

    .hero h1{
        font-size:1.9rem;
    }

    .hero p{
        font-size:.94rem;
    }

    .hero-intro{
        padding:20px;
        border-radius:20px;
    }

    .hero-intro h2{
        font-size:1.3rem;
    }

    .hero-intro p{
        font-size:.92rem;
    }

    .sitemap-search input{
        height:52px;
        font-size:.92rem;
    }

    .sitemap-search button{
        width:40px;
        height:40px;
    }

    .sitemap-section{
        padding:60px 0;
    }

    .sitemap-heading{
        margin-bottom:35px;
    }

    .sitemap-heading h2{
        font-size:1.75rem;
    }

    .sitemap-heading p{
        font-size:.95rem;
    }

    .sitemap-card{
        padding:20px;
    }

    .icon-box{
        width:52px;
        height:52px;
        border-radius:16px;
        font-size:1.25rem;
    }

    .sitemap-card h3{
        font-size:1.15rem;
        gap:10px;
    }

    .sitemap-links a{
        padding:12px 14px;
        font-size:.90rem;
    }

}

/*=========================================
  EXTRA SMALL DEVICES
=========================================*/

@media (max-width:380px){

    .hero h1{
        font-size:1.65rem;
    }

    .hero p{
        font-size:.88rem;
    }

    .hero-intro{
        padding:18px;
    }

    .sitemap-card{
        padding:18px;
    }

    .icon-box{
        width:46px;
        height:46px;
        font-size:1.1rem;
    }

    .sitemap-card h3{
        font-size:1.05rem;
    }

    .sitemap-links a{
        font-size:.85rem;
        padding:10px 12px;
    }

}

/*=========================================
  TOUCH DEVICES
=========================================*/

@media (hover:none){

    .sitemap-card:hover{
        transform:none;
    }

    .sitemap-links a:hover{
        padding-left:18px;
    }

    .icon-box:hover{
        transform:none;
    }

}

/*=========================================
  LANDSCAPE PHONES
=========================================*/

@media (max-height:500px) and (orientation:landscape){

    .hero{
        padding:90px 0 50px;
    }

    .hero h1{
        font-size:2rem;
    }

}

/*=========================================
  PRINT
=========================================*/

@media print{

    .hero{
        background:#ffffff !important;
        color:#000;
        padding:20px 0;
    }

    .hero::before,
    .hero::after,
    .icon-box,
    .sitemap-search button{
        display:none !important;
    }

    .sitemap-card{
        box-shadow:none;
        border:1px solid #ccc;
        page-break-inside:avoid;
    }

    .sitemap-links a{
        color:#000;
        background:none;
        border:none;
    }

}

/*====================================================
  PART 10 - ANIMATIONS & FINAL POLISH
  Premium Finishing Effects
====================================================*/

/*=========================================
  SMOOTH SCROLLING
=========================================*/

html{
    scroll-behavior:smooth;
}

body{
    overflow-x:hidden;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}

/*=========================================
  CUSTOM TEXT SELECTION
=========================================*/

::selection{
    background:#2563eb;
    color:#ffffff;
}

::-moz-selection{
    background:#2563eb;
    color:#ffffff;
}

/*=========================================
  PREMIUM SCROLLBAR
=========================================*/

::-webkit-scrollbar{
    width:12px;
    height:12px;
}

::-webkit-scrollbar-track{
    background:#edf4ff;
    border-radius:20px;
}

::-webkit-scrollbar-thumb{
    background:linear-gradient(
        180deg,
        #2563eb,
        #4f46e5,
        #7c3aed
    );
    border-radius:20px;
    border:2px solid #edf4ff;
}

::-webkit-scrollbar-thumb:hover{
    background:linear-gradient(
        180deg,
        #1d4ed8,
        #4338ca,
        #6d28d9
    );
}

/*=========================================
  PAGE FADE-IN
=========================================*/

body{
    animation:pageFade .8s ease;
}

@keyframes pageFade{

    from{
        opacity:0;
    }

    to{
        opacity:1;
    }

}

/*=========================================
  HERO ANIMATION
=========================================*/

.hero h1{
    animation:slideDown .9s ease both;
}

.hero p{
    animation:slideUp 1s ease .2s both;
}

.hero-intro{
    animation:zoomIn .9s ease .35s both;
}

.sitemap-search{
    animation:slideUp 1s ease .45s both;
}

@keyframes slideDown{

    from{
        opacity:0;
        transform:translateY(-40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes slideUp{

    from{
        opacity:0;
        transform:translateY(40px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

@keyframes zoomIn{

    from{
        opacity:0;
        transform:scale(.88);
    }

    to{
        opacity:1;
        transform:scale(1);
    }

}

/*=========================================
  FLOATING EFFECTS
=========================================*/

@keyframes floating{

    0%,100%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-12px);
    }

}

.icon-box{
    animation:floating 5s ease-in-out infinite;
}

/*=========================================
  CARD APPEAR ANIMATION
=========================================*/

.sitemap-card{
    animation:cardAppear .8s ease both;
}

.sitemap-card:nth-child(2){
    animation-delay:.1s;
}

.sitemap-card:nth-child(3){
    animation-delay:.2s;
}

.sitemap-card:nth-child(4){
    animation-delay:.3s;
}

.sitemap-card:nth-child(5){
    animation-delay:.4s;
}

.sitemap-card:nth-child(6){
    animation-delay:.5s;
}

.sitemap-card:nth-child(7){
    animation-delay:.6s;
}

.sitemap-card:nth-child(8){
    animation-delay:.7s;
}

@keyframes cardAppear{

    from{
        opacity:0;
        transform:translateY(60px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/*=========================================
  LINK SHIMMER EFFECT
=========================================*/

.sitemap-links a{
    position:relative;
    overflow:hidden;
}

.sitemap-links a::before{
    content:"";
    position:absolute;
    top:0;
    left:-120%;
    width:60%;
    height:100%;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.6),
            transparent
        );
    transition:.6s;
}

.sitemap-links a:hover::before{
    left:150%;
}

/*=========================================
  CARD HOVER ENHANCEMENT
=========================================*/

.sitemap-card{
    transition:
        transform .45s ease,
        box-shadow .45s ease,
        border-color .45s ease;
}

.sitemap-card:hover{

    transform:
        translateY(-12px)
        scale(1.02);

    border-color:#2563eb;

    box-shadow:
        0 35px 80px rgba(37,99,235,.18),
        0 15px 30px rgba(0,0,0,.08);

}

/*=========================================
  ICON GLOW
=========================================*/

.icon-box{

    position:relative;
    overflow:hidden;

}

.icon-box::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:inherit;

    background:
        radial-gradient(
            rgba(255,255,255,.35),
            transparent 70%
        );

    opacity:0;

    transition:.4s;

}

.sitemap-card:hover .icon-box::after{

    opacity:1;

}

/*=========================================
  HEADING ACCENT
=========================================*/

.sitemap-heading h2{

    position:relative;
    display:inline-block;

}

.sitemap-heading h2::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-14px;

    transform:translateX(-50%);

    width:90px;

    height:5px;

    border-radius:20px;

    background:
        linear-gradient(
            90deg,
            #2563eb,
            #7c3aed
        );

}

/*=========================================
  IMAGE OPTIMISATION
=========================================*/

img{
    max-width:100%;
    height:auto;
    display:block;
}

/*=========================================
  BUTTON ENHANCEMENT
=========================================*/

button,
input,
a{

    transition:
        all .3s ease;

}

button:focus-visible,
input:focus-visible,
a:focus-visible{

    outline:3px solid rgba(37,99,235,.35);
    outline-offset:4px;

}

/*=========================================
  REDUCE MOTION SUPPORT
=========================================*/

@media (prefers-reduced-motion:reduce){

    *,
    *::before,
    *::after{

        animation:none !important;
        transition:none !important;
        scroll-behavior:auto !important;

    }

}

/*=========================================
  DARK MODE SUPPORT
=========================================*/

@media (prefers-color-scheme:dark){

    body{

        background:#0f172a;
        color:#f8fafc;

    }

    .sitemap-card{

        background:#1e293b;
        border-color:#334155;

    }

    .sitemap-card h3{

        color:#ffffff;

    }

    .sitemap-card p,
    .sitemap-links a{

        color:#cbd5e1;

    }

    .sitemap-links a{

        background:#273549;

    }

    .sitemap-links a:hover{

        background:#334155;

    }

}

/*=========================================
  PRINT OPTIMISATION
=========================================*/

@media print{

    *{

        box-shadow:none !important;
        text-shadow:none !important;

    }

    .hero{

        background:#ffffff !important;

    }

    .sitemap-card{

        page-break-inside:avoid;

    }

}

/*=========================================
  END OF STYLESHEET
=========================================*/

.go-top-btn{
  position:fixed;
  right:1.4rem;
  bottom:1.4rem;
  width:32px;
  height:32px;
  border-radius:50%;
  border:0;
  background:linear-gradient(135deg,#2563eb,#7c3aed);
  color:#fff;
  font-size:1.2rem;
  font-weight:700;
  box-shadow:0 12px 30px rgba(37,99,235,.35);
  cursor:pointer;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:800;
  transition:transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.go-top-btn.show{
  display:flex;
  opacity:1;
}
.go-top-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 40px rgba(37,99,235,.45);
}

