:root {
    --color-bg1: #0a0f1f;
    --color-bg2: #0f1a33;
    --color-accent-start: #64b5f6;
    --color-accent-end: #7c4dff;
    --color-text: #e6eef7;
    --color-text-strong: #f4f7ff;
    --color-text-muted: #a4b1c8;
    --color-text-soft: #c9d6f1;
    --color-border-glass: rgba(255, 255, 255, .18);
    --color-surface-glass: rgba(255, 255, 255, .08);
    --color-surface-soft: rgba(255, 255, 255, .06);
    --shadow-elev-1: 0 6px 18px rgba(0, 0, 0, .35);
    --shadow-elev-2: 0 12px 26px rgba(0, 0, 0, .35);
    --shadow-elev-hover: 0 16px 36px rgba(0, 0, 0, .4), 0 0 0 1px rgba(124, 77, 255, .25);
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 20px;
    --gradient-accent: linear-gradient(135deg, var(--color-accent-start), var(--color-accent-end));
    --transition-fast: .18s;
    --transition-med: .35s;
    --transition-slow: .6s;
    --font-sans: 'Inter', 'Plus Jakarta Sans', system-ui, -apple-system, Segoe UI, Roboto, 'Helvetica Neue', Arial, sans-serif;
    --max-prose: 70ch;
}

html,
body {
    height: 100%;
}

body {
    font-family: var(--font-sans);
    color: var(--color-text);
    background:
        radial-gradient(1200px 800px at 10% 10%, #0e1630 0%, transparent 60%),
        radial-gradient(800px 600px at 90% 30%, #14204a 0%, transparent 60%),
        linear-gradient(160deg, var(--color-bg1), var(--color-bg2));
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: -1;
    background:
        radial-gradient(800px 400px at 70% 10%, rgba(124, 77, 255, .18), transparent 60%),
        radial-gradient(900px 500px at 20% 80%, rgba(100, 181, 246, .16), transparent 60%);
    filter: blur(30px) saturate(120%);
    animation: auroraFloat 16s ease-in-out infinite alternate;
}

@keyframes auroraFloat {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: .9
    }

    100% {
        transform: translate3d(0, -10px, 0) scale(1.02);
        opacity: 1
    }
}

/* Glass / surfaces */
.glass-card {
    background: var(--color-surface-glass);
    border: 1px solid var(--color-border-glass);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 14px;
    box-shadow: var(--shadow-elev-2);
    color: var(--color-text-soft);
    transition: box-shadow var(--transition-fast), transform var(--transition-fast);
}

.glass-card:hover {
    box-shadow: var(--shadow-elev-hover);
}

.glass-card h1,
.glass-card h2,
.glass-card h3,
.glass-card h4,
.glass-card .card-title {
    color: var(--color-text-strong);
}

.glass-card p,
.glass-card li,
.glass-card .card-text {
    color: var(--color-text-soft);
}

.glass-card .text-body-secondary,
.glass-card .small {
    color: var(--color-text-muted) !important;
}

/* Buttons */
.btn-primary {
    background: var(--gradient-accent);
    border: none;
    box-shadow: var(--shadow-elev-2);
    transition: filter var(--transition-fast), box-shadow var(--transition-fast);
}

.btn-primary:hover {
    filter: brightness(1.07);
    box-shadow: 0 14px 30px rgba(124, 77, 255, .45);
}

.btn-outline-primary {
    border-color: rgba(124, 77, 255, .6);
    color: #d7ccff;
}

.btn-outline-primary:hover {
    background: var(--gradient-accent);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 0 0 .2rem rgba(124, 77, 255, .25);
}

/* Navigation */
.navbar.glassbar {
    background: rgba(10, 15, 31, .35) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    backdrop-filter: blur(12px);
}

.navbar .nav-link {
    color: #fff;
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
    color: #fff;
}

/* Prose */
.prose {
    max-width: var(--max-prose);
    line-height: 1.62;
    font-size: 1.05rem;
}

.prose h2,
.prose h3,
.prose h4 {
    margin-top: 2.25rem;
    font-weight: 600;
}

.prose img {
    border-radius: 12px;
}

.prose a {
    color: #a8c9ff;
}

.prose a:hover {
    color: #fff;
}

/* Share block */
#share-block .btn {
    --bs-btn-padding-y: .35rem;
    --bs-btn-padding-x: .75rem;
    --bs-btn-font-size: .7rem;
    letter-spacing: .04em;
    font-weight: 600;
}

/* Animations / tilt */
.tilt {
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.tilt:hover {
    box-shadow: var(--shadow-elev-hover);
}

.tilt .tilt-up {
    transform: translateZ(26px);
}

/* Reduced motion */
@media (prefers-reduced-motion:reduce) {
    body::before {
        animation: none;
    }

    .tilt,
    .tilt:hover {
        transform: none !important;
        box-shadow: var(--shadow-elev-2) !important;
    }

    .tilt .tilt-up {
        transform: none !important;
    }
}

/* Skip link (visually hidden until focused) */
.visually-hidden-focusable {
    position: absolute;
    left: -999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.visually-hidden-focusable:focus,
.visually-hidden-focusable:active {
    position: absolute;
    left: 1rem;
    top: 1rem;
    width: auto;
    height: auto;
    padding: .75rem 1rem;
    background: var(--gradient-accent);
    color: #fff;
    font-weight: 600;
    border-radius: .5rem;
    box-shadow: var(--shadow-focus);
    z-index: 9999;
}

/* Utility */
.visually-hidden-focusable {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    border: 0;
}

.visually-hidden-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    background: #111;
    color: #fff;
    padding: .5rem .75rem;
    border-radius: var(--radius-sm);
    z-index: 10000;
}

/* Lazy images subtle fade */
img[loading="lazy"] {
    opacity: 0;
    transition: opacity .6s ease;
}

img[data-loaded="true"] {
    opacity: 1;
}

/* Footer */
footer.footer-glass {
    position: relative;
    overflow: hidden;
    background: rgba(10, 15, 31, .5);
    border-top: 1px solid rgba(255, 255, 255, .1);
    backdrop-filter: blur(10px);
    color: var(--color-text);
}

footer.footer-glass::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background-image: linear-gradient(120deg, rgba(10, 27, 60, .82), rgba(10, 27, 60, .38) 55%, rgba(10, 27, 60, .15)), url('../images/footer-bg.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    filter: saturate(115%) contrast(105%);
    opacity: .6;
}

footer.footer-glass>.container {
    position: relative;
    z-index: 1;
}

/* Namespaced utilities (avoid conflicts) */
body.am-site .am-mt-nav-offset {
    margin-top: 70px;
}

body.am-site .am-img-180-cover {
    height: 180px;
    object-fit: cover;
}

body.am-site .am-cover {
    object-fit: cover;
}

body.am-site .am-meta-muted {
    color: #b9c7e6;
}

body.am-site .am-share-heading {
    letter-spacing: .08em;
    color: #b9c7e6;
}

body.am-site .am-share-fb {
    --bs-btn-color: #1d4ed8;
}

body.am-site .am-share-x {
    --bs-btn-color: #0f172a;
}

body.am-site .am-share-li {
    --bs-btn-color: #0a66c2;
}

body.am-site .am-share-wa {
    --bs-btn-color: #065f46;
}

body.am-site .am-share-mail {
    --bs-btn-color: #6d28d9;
}

body.am-site .am-brand-icon {
    color: #9fc4ff;
}

body.am-site .am-brand-text {
    color: var(--color-text);
}

body.am-site .am-social-icon {
    background: rgba(255, 255, 255, .08);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

body.am-site .am-max-960 {
    max-width: 960px;
    width: 100%;
}

/* Progress width utilities */
body.am-site .am-w-95 {
    width: 95% !important;
}

body.am-site .am-w-90 {
    width: 90% !important;
}

body.am-site .am-w-88 {
    width: 88% !important;
}

body.am-site .am-w-92 {
    width: 92% !important;
}

body.am-site .am-w-85 {
    width: 85% !important;
}

body.am-site .am-w-94 {
    width: 94% !important;
}

body.am-site .am-w-86 {
    width: 86% !important;
}

body.am-site .am-w-80 {
    width: 80% !important;
}

/* Home page specific (scoped) */
body.am-site.am-home .hero-wrapper {
    position: relative;
    height: 92vh;
    min-height: 560px;
}

body.am-site.am-home .hero-video {
    object-fit: cover;
    width: 100%;
    height: 100%;
    filter: brightness(.9);
}

body.am-site.am-home .hero-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, rgba(10, 27, 60, .82), rgba(10, 27, 60, .38) 55%, rgba(10, 27, 60, .15));
    backdrop-filter: blur(2px);
}

body.am-site.am-home .hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1rem;
}

body.am-site.am-home .hero-overlay .content {
    max-width: 820px;
}

body.am-site.am-home section {
    /* legacy fallback - will move to .am-section */
    scroll-margin-top: 90px;
}

body.am-site.am-home .feature-badge {
    position: absolute;
    top: .75rem;
    left: .75rem;
}

body.am-site.am-home .blog-card-img {
    height: 180px;
    object-fit: cover;
}

body.am-site.am-home .about-photo {
    max-width: 320px;
    border-radius: .9rem;
    box-shadow: 0 1.25rem 2.25rem -.75rem rgba(0, 0, 0, .25);
    transition: transform .6s ease;
}

body.am-site.am-home .about-photo:hover {
    transform: translateY(-6px);
}

body.am-site.am-home footer a {
    text-decoration: none;
}

body.am-site.am-home .contact-section {
    background: linear-gradient(135deg, #f0f7ff, #eef2ff);
}

body.am-site.am-home .nav-link.active {
    font-weight: 600;
    position: relative;
}

body.am-site.am-home .nav-link.active::after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: 4px;
    height: 3px;
    background: var(--color-accent-start);
    border-radius: 3px;
}

body.am-site.am-home .section-alt {
    background: #f8fafc;
}

body.am-site.am-home .section-accent {
    background: #f1f5f9;
}

body.am-site.am-home .timeline {
    position: relative;
}

body.am-site.am-home .timeline::before {
    content: "";
    position: absolute;
    left: 11px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--color-accent-start);
    opacity: .25;
}

body.am-site.am-home .timeline-item {
    position: relative;
    padding-left: 2.5rem;
    margin-bottom: 2rem;
}

body.am-site.am-home .timeline-item:last-child {
    margin-bottom: 0;
}

body.am-site.am-home .timeline-item::before {
    content: "";
    position: absolute;
    left: 6px;
    top: .35rem;
    width: 12px;
    height: 12px;
    background: var(--color-accent-start);
    border-radius: 50%;
    box-shadow: 0 0 0 4px #fff;
}

body.am-site.am-home .timeline-item:hover h5 {
    color: var(--color-accent-start);
}

body.am-site.am-home .skill-badge {
    background: #1e293b;
    border: 1px solid #1e293b;
    font-weight: 500;
    transition: .3s;
}

body.am-site.am-home .skill-badge:hover {
    background: var(--color-accent-start);
    color: #fff;
    border-color: var(--color-accent-start);
}

body.am-site.am-home .progress {
    height: .65rem;
    background: #e2e8f0;
}

body.am-site.am-home .progress-bar {
    transition: width 1.2s ease;
}

body.am-site.am-home .card {
    transition: transform .5s cubic-bezier(.19, 1, .22, 1), box-shadow .5s;
}

body.am-site.am-home .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 1.25rem 2.25rem -.75rem rgba(0, 0, 0, .2);
}

body.am-site.am-home .fade-in-up {
    opacity: 0;
    transform: translateY(28px);
    transition: all .85s cubic-bezier(.19, 1, .22, 1);
}

body.am-site.am-home .fade-in-scale {
    opacity: 0;
    transform: scale(.95);
    transition: all .9s cubic-bezier(.19, 1, .22, 1);
}

body.am-site.am-home .revealed {
    opacity: 1 !important;
    transform: none !important;
}

body.am-site.am-home .stat-tile {
    background: rgba(30, 41, 59, .8);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, .4);
}

body.am-site.am-home footer.footer-glass {
    background: #0f1f33;
    color: #cbd5e1;
}

body.am-site.am-home footer.footer-glass a {
    color: #94a3b8 !important;
}

body.am-site.am-home footer.footer-glass .social a {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
}

body.am-site.am-home footer.footer-glass .social a:hover {
    background: var(--color-accent-start);
    color: #fff !important;
}

/* Unified section utilities */
body.am-site .am-section{scroll-margin-top:90px;position:relative;}
/* Section identifiers (hook classes only):
    .am-sec-hero .am-sec-about .am-sec-featured .am-sec-latest
    .am-sec-experience .am-sec-skills .am-sec-education .am-sec-videos .am-sec-contact */
/* Background helpers (replacing section-alt / section-accent when needed) */
body.am-site .am-bg-alt{background:#f8fafc;}
body.am-site .am-bg-accent{background:#f1f5f9;}
/* Light section text overrides */
body.am-site .am-light{color:#1e293b;}
body.am-site .am-light h1,
body.am-site .am-light h2,
body.am-site .am-light h3,
body.am-site .am-light h4,
body.am-site .am-light h5,
body.am-site .am-light h6{color:#0f1f33;}
body.am-site .am-light p,
body.am-site .am-light li,
body.am-site .am-light .text-body-secondary{color:#334155;}
/* body.am-site .am-light a{color:#1d4ed8;} */
/* body.am-site .am-light a:hover{color:#0f172a;} */
body.am-site .am-light .card{background:#ffffff;border:1px solid #e2e8f0;color:#334155;}
body.am-site .am-light .card h5,body.am-site .am-light .card h4,body.am-site .am-light .card h3{color:#0f1f33;}
body.am-site .am-light .list-group-item{background:#fff;color:#334155;}
body.am-site .am-light .progress{background:#e2e8f0;}
body.am-site .am-light .skill-badge{background:#e2e8f0;border:1px solid #cbd5e1;color:#1e293b;}
body.am-site .am-light .skill-badge:hover{background:var(--color-accent-start);border-color:var(--color-accent-start);color:#fff;}
body.am-site .am-sec-experience .text-body-secondary{color:#a7b2c7 !important;}
body.am-site .am-sec-experience .bg-light {
    background-color: rgb(14 22 45) !important;
}
body.am-site .contact-section h2 {
    color: rgb(14 22 45) !important;
}

/* Contact Section Enhancements */
body.am-site .am-sec-contact .contact-info{background:linear-gradient(145deg,#ffffff, #f1f5f9);border:1px solid #e2e8f0;box-shadow:0 8px 20px -8px rgba(15,35,70,.08)}
body.am-site .am-sec-contact .contact-info .contact-meta span{line-height:1.35}
body.am-site .am-sec-contact .contact-benefits span{line-height:1.4}
body.am-site .am-sec-contact .contact-form-wrapper .card-body{position:relative}
body.am-site .am-sec-contact .contact-form .form-label{font-weight:500;font-size:.9rem}
body.am-site .am-sec-contact .contact-form .form-text{font-size:.7rem;color:#64748b;margin-top:.35rem}
body.am-site .am-sec-contact .contact-form .form-control:focus,
body.am-site .am-sec-contact .contact-form .form-select:focus{box-shadow:0 0 0 .2rem rgba(59,130,246,.25);border-color:var(--color-accent-start)}
body.am-site .am-sec-contact .contact-form .submit-btn{transition:background .25s,box-shadow .25s}
body.am-site .am-sec-contact .contact-form .submit-btn[disabled]{opacity:.85;cursor:wait}
body.am-site .am-sec-contact .contact-form .submit-btn .spinner-border{--bs-spinner-width:1rem;--bs-spinner-height:1rem}
@media (max-width: 991.98px){
    body.am-site .am-sec-contact .contact-info{min-height:unset}
}
