/* =========================================
   1. CORE & RESET
   ========================================= */
:root {
    --bg-void: #050b14;
    --glass-surface: rgba(255, 255, 255, 0.05);
    --glass-border: rgba(255, 255, 255, 0.1);

    /* NEON PALETTE */
    --neon-cyan: #00E0FF;
    --neon-pink: #FF0099;
    --neon-purple: #BD00FF;
    --neon-blue: #0066FF;

    --text-primary: #ffffff;
    --text-secondary: rgba(255, 255, 255, 0.8);

    /* SPACING SYSTEM */
    --spacing-xs: 10px;
    --spacing-sm: 20px;
    --spacing-md: 40px;
    --spacing-lg: 60px;
    --spacing-xl: 80px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    background-color: var(--bg-void);
    color: var(--text-primary);
    font-family: 'Roboto', sans-serif;
    font-weight: 300;
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    position: relative;
}

body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    background:
        radial-gradient(ellipse 80% 50% at 20% 40%, rgba(0, 102, 255, 0.05) 0%, transparent 60%),
        radial-gradient(ellipse 60% 60% at 80% 20%, rgba(189, 0, 255, 0.04) 0%, transparent 60%),
        radial-gradient(ellipse 70% 50% at 50% 80%, rgba(0, 224, 255, 0.04) 0%, transparent 60%);
    pointer-events: none;
}

img { max-width: 100%; display: block; user-select: none; -webkit-user-drag: none; }
a { text-decoration: none; color: inherit; transition: 0.3s; }

/* TYPOGRAPHY */
h1, h2, h3, h4, .btn-main, .nav-item, .clay-name, .review-name {
    font-family: 'Poppins', sans-serif !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
}

h2 {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    text-align: center;
    margin-bottom: var(--spacing-md);
    color: #F0F4F8;
}

h3 { font-size: clamp(1rem, 1.2vw + 0.4rem, 1.2rem); margin-bottom: 10px; color: #fff; line-height: 1.2; }
p { font-size: 1rem; color: #fff; margin-bottom: 0; line-height: 1.6; }

/* NEON UTILITIES */
.text-cyan { color: var(--neon-cyan); }
.text-pink { color: var(--neon-pink); }
.text-purple { color: var(--neon-purple); }

.text-gradient {
    background: linear-gradient(90deg, var(--neon-blue), var(--neon-purple));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
    will-change: clip-path, opacity, transform;
    transition: opacity 0.4s ease, transform 0.4s ease, clip-path 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    clip-path: inset(0 0 0 0);
}

.text-gradient.clip-out {
    clip-path: inset(0 0 100% 0);
    opacity: 0;
    transform: translateY(-8px);
}
.text-gradient.clip-in {
    clip-path: inset(100% 0 0 0);
    opacity: 0;
    transform: translateY(8px);
}

/* Utility Classes */
.card-glass-spaced { justify-content: space-between; }
.perfect-for-block { margin-bottom: 4px; }
.icon-service { font-size: 2rem; margin-bottom: 20px; display: inline-block; }
.mb-20 { margin-bottom: 20px; }
.mt-0 { margin-top: 0; }
.mt-3 { margin-top: 15px; }
.text-xs { font-size: 0.75rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; }
.text-label { font-size: 0.75rem; font-weight: 700; margin-bottom: 5px; }
.text-center { text-align: center; }
.lead { font-size: 1.05rem; line-height: 1.7; color: var(--text-secondary); }

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.reveal-target {
    opacity: 0;
    transform: translateY(30px) scale(0.97);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-target.revealed {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }

/* =========================================
   STANDARDIZED BUTTON UTILITIES
   ========================================= */
.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 24px;
    border-radius: 50px;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 900 !important;
    color: #F0F4F8 !important;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border: none; 
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    text-decoration: none;
}

.btn-secondary--a {
    background: linear-gradient(135deg, #00CCFF, #0066FF);
    box-shadow: 0 0 20px rgba(0, 204, 255, 0.3);
}
.btn-secondary--a:hover,
.btn-secondary--a:active {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #00CCFF, 0 0 30px rgba(0, 204, 255, 0.7);
}

.btn-secondary--b {
    background: linear-gradient(135deg, #FF00CC, #8A2BE2);
    box-shadow: 0 0 20px rgba(255, 0, 204, 0.3);
}
.btn-secondary--b:hover,
.btn-secondary--b:active {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #FF00CC, 0 0 30px rgba(255, 0, 204, 0.7);
}

.btn-primary {
    background: linear-gradient(135deg, #8A2BE2, #0066FF);
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.3);
}
.btn-primary:hover,
.btn-primary:active {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #8A2BE2, 0 0 30px rgba(138, 43, 226, 0.7);
}

/* =========================================
   2. LAYOUT ENGINE
   ========================================= */
.wrapper { width: 90%; max-width: 1100px; margin: 0 auto; }
.wrapper-tight { width: 90%; max-width: 960px; margin: 0 auto; }

section {
    min-height: 100vh;
    padding: 120px 0 80px;
    margin: 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    content-visibility: auto;
    contain-intrinsic-size: auto 800px;
}
@supports (min-height: 100svh) { section { min-height: 100svh; } }

section > .wrapper,
section > .wrapper-tight {
    width: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.grid-twin {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: stretch;
    justify-content: center;
    width: 100%;
}
.grid-tri {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    align-items: stretch;
    justify-content: center;
    width: 100%;
}
.grid-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
}
.sub-grid {
    gap: 20px;
    margin-top: 20px;
}

/* =========================================
   3. LIQUID GLASS CARDS
   ========================================= */
.card-glass {
    background: var(--glass-surface);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    border-radius: 24px;
    padding: 32px 28px;
    height: 100%; width: 100%;
    display: flex; flex-direction: column; justify-content: center;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.4s ease,
                border-color 0.4s ease;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    cursor: default;
    position: relative;
    overflow: visible;
    will-change: transform;
}

.card-glass::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 24px;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.card-glass:hover,
.card-glass:active {
    transform: translateY(-5px);
}
.card-glass:hover::after,
.card-glass:active::after { opacity: 1; }

.hover-cyan:hover,
.hover-cyan:active {
    border-color: var(--neon-cyan);
    box-shadow: 0 0 0 2px rgba(0, 224, 255, 0.15), 0 0 24px rgba(0, 224, 255, 0.30), 0 20px 40px rgba(0, 0, 0, 0.45);
}
.hover-cyan::after { background: radial-gradient(circle at 50% 0%, rgba(0, 224, 255, 0.09) 0%, transparent 65%); }

.hover-pink:hover,
.hover-pink:active {
    border-color: var(--neon-pink);
    box-shadow: 0 0 0 2px rgba(255, 0, 153, 0.15), 0 0 24px rgba(255, 0, 153, 0.30), 0 20px 40px rgba(0, 0, 0, 0.45);
}
.hover-pink::after { background: radial-gradient(circle at 50% 0%, rgba(255, 0, 153, 0.09) 0%, transparent 65%); }

.hover-purple:hover,
.hover-purple:active {
    border-color: var(--neon-purple);
    box-shadow: 0 0 0 2px rgba(189, 0, 255, 0.15), 0 0 24px rgba(189, 0, 255, 0.30), 0 20px 40px rgba(0, 0, 0, 0.45);
}
.hover-purple::after { background: radial-gradient(circle at 50% 0%, rgba(189, 0, 255, 0.09) 0%, transparent 65%); }

/* Inlined Card Headers (Icon + Text) */
.card-header-inline {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 15px;
}
.card-header-inline .icon-service {
    margin-bottom: 0;
    font-size: 1.5rem;
}
.card-header-inline h3 {
    margin-bottom: 0;
    line-height: 1;
    white-space: nowrap;
}

/* Expandable Card Wrapper — clean, tight dynamic cards */
.card-expand-wrap {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    height: 100%;
}
.card-expand-wrap .card-glass {
    flex: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 32px 28px 24px;
    border-radius: 24px;
    overflow: hidden;
    position: relative;
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease;
}
.card-expand-wrap.is-expanded .card-glass {
    justify-content: flex-start;
    padding-top: 28px;
}

/* About section card */
#about .grid-twin > .card-expand-wrap > .card-glass {
    padding: 32px 28px 24px;
}
#about .grid-twin > .card-expand-wrap > .card-glass .about-header {
    margin-bottom: 12px;
}

/* Photo card in About */
#about .grid-twin > .card-photo { min-height: 320px; border-radius: 24px; overflow: hidden; }
#about .grid-twin > .card-photo img { object-fit: cover; object-position: center 30%; width: 100%; height: 100%; }
.card-expand-wrap .card-glass:hover {
    transform: translateY(-5px);
}
/* Static block */
.card-expand-wrap .card-static {
    flex-shrink: 0;
    width: 100%;
}

/* header inline: icon + title row */
.card-header-inline {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}
.card-header-inline .icon-service { flex-shrink: 0; font-size: 1.6rem; margin-bottom: 0; }
.card-header-inline h3 { margin: 0; flex: 1; }
/* Expandable area — smooth max-height accordion */
.expandable-content-wrap {
    display: block;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.expandable-content-inner {
    overflow: hidden;
    opacity: 0;
    transform: translateY(-6px);
    transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1) 0.04s, transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) 0.04s;
    padding-top: 0;
    color: var(--text-secondary);
}
.card-glass p,
.expandable-content-inner p {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-secondary);
    margin-bottom: 6px;
}
/* Override generic card p for specific utility classes (higher specificity) */
.card-glass .text-label { font-size: 0.75rem; font-weight: 700; margin-bottom: 5px; }
.card-glass .text-xs { font-size: 0.75rem; color: var(--text-secondary); margin-bottom: 0; }
.card-glass .lead { font-size: 1.05rem; line-height: 1.7; }
.card-expand-wrap.is-expanded .expandable-content-wrap {
    max-height: 720px;
}
.card-expand-wrap.is-expanded .expandable-content-inner {
    opacity: 1;
    transform: translateY(0);
}
/* Toggle button */
.card-expand-wrap .expandable-toggle {
    position: relative;
    margin-top: 12px;
    margin-bottom: 0;
    align-self: center;
    z-index: 2;
}
.expandable-toggle {
    background: rgba(255,255,255,0.04);
    border: 1.5px solid rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.7);
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.22s ease, border-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    opacity: 0;
    transform: scale(0.95);
    pointer-events: none;
}
/* Reveal after section has been visible for a delay */
.toggles-visible .expandable-toggle {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}
/* Accent coloring (subtle) */
.hover-cyan .expandable-toggle:not(:hover) {
    border-color: rgba(0, 224, 255, 0.22);
    color: rgba(0, 224, 255, 0.6);
}
.hover-pink .expandable-toggle:not(:hover) {
    border-color: rgba(255, 0, 153, 0.22);
    color: rgba(255, 0, 153, 0.6);
}
.hover-purple .expandable-toggle:not(:hover) {
    border-color: rgba(189, 0, 255, 0.22);
    color: rgba(189, 0, 255, 0.6);
}
/* Card hover → intensify accent on toggle (single-state) */
.hover-cyan:hover .expandable-toggle:not(:hover),
.hover-cyan:active .expandable-toggle:not(:hover) {
    border-color: rgba(0, 224, 255, 0.6);
    color: var(--neon-cyan);
    background: rgba(0, 224, 255, 0.06);
    box-shadow: 0 6px 18px rgba(0, 224, 255, 0.12);
}
.hover-pink:hover .expandable-toggle:not(:hover),
.hover-pink:active .expandable-toggle:not(:hover) {
    border-color: rgba(255, 0, 153, 0.6);
    color: var(--neon-pink);
    background: rgba(255, 0, 153, 0.06);
    box-shadow: 0 6px 18px rgba(255, 0, 153, 0.12);
}
.hover-purple:hover .expandable-toggle:not(:hover),
.hover-purple:active .expandable-toggle:not(:hover) {
    border-color: rgba(189, 0, 255, 0.6);
    color: var(--neon-purple);
    background: rgba(189, 0, 255, 0.06);
    box-shadow: 0 6px 18px rgba(189, 0, 255, 0.12);
}
.expandable-toggle i {
    transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1);
    font-size: clamp(13px, 1.4vw, 16px);
}
.card-expand-wrap.is-expanded .expandable-toggle i {
    transform: rotate(45deg);
}
/* Direct toggle hover — tidy glow, single pulse */
.expandable-toggle:hover {
    background: rgba(255,255,255,0.06);
    border-color: rgba(255,255,255,0.16);
    color: #fff;
    transform: scale(1.06) !important;
    box-shadow: 0 10px 28px rgba(0,0,0,0.6), 0 6px 18px rgba(0,0,0,0.35);
}
.hover-pink .expandable-toggle:hover {
    background: rgba(255, 0, 153, 0.06);
    border-color: rgba(255, 0, 153, 0.2);
    color: #fff;
    transform: scale(1.06) !important;
}
.hover-purple .expandable-toggle:hover {
    background: rgba(189, 0, 255, 0.06);
    border-color: rgba(189, 0, 255, 0.2);
    color: #fff;
    transform: scale(1.06) !important;
}
.hover-cyan .expandable-toggle:hover {
    background: rgba(0, 224, 255, 0.06);
    border-color: rgba(0, 224, 255, 0.2);
    color: #fff;
    transform: scale(1.06) !important;
}

/* =========================================
   4. NAVIGATION
   ========================================= */
.nav-desktop {
    position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;
    height: 90px;
    pointer-events: none;
    display: flex; justify-content: center; align-items: center;
    transition: 0.4s ease;
}

body.footer-visible .nav-desktop,
body.footer-visible #floating-logo,
body.footer-visible #floating-cta {
    opacity: 0; pointer-events: none; transform: translateY(-20px);
}

.nav-capsule {
    pointer-events: auto;
    background: rgba(5, 11, 20, 0.85);
    backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border);
    box-shadow: 0 0 0 1px rgba(0, 224, 255, 0.1), 0 10px 30px rgba(0,0,0,0.5);
    padding: 0 40px;
    border-radius: 100px;
    height: 50px;
    display: flex; align-items: center; gap: 40px;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease;
    animation: capsule-pulse 6s ease-in-out infinite;
}
@keyframes capsule-pulse {
    0%, 100% { box-shadow: 0 0 0 1px rgba(0, 224, 255, 0.1), 0 10px 30px rgba(0,0,0,0.5); }
    50%       { box-shadow: 0 0 0 1px rgba(0, 224, 255, 0.2), 0 10px 30px rgba(0,0,0,0.5), 0 0 18px rgba(0, 224, 255, 0.12); }
}
.nav-capsule:hover {
    transform: translateY(-5px);
    border-color: var(--neon-cyan);
    box-shadow:
        0 0 0 2px rgba(0, 224, 255, 0.15),
        0 0 24px rgba(0, 224, 255, 0.30),
        0 10px 30px rgba(0, 0, 0, 0.45);
    animation: none;
}

#floating-logo, #floating-cta {
    position: fixed; top: 0; z-index: 1001; pointer-events: auto;
    height: 90px;
    transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
#floating-logo { left: 5%; cursor: pointer; display: flex; align-items: center; justify-content: center; width: 50px; }
#floating-cta { right: 5%; display: flex; align-items: center; }

#floating-logo img {
    width: 100%; height: auto;
    transition: transform 0.4s ease, filter 0.4s ease;
    filter: drop-shadow(0 0 15px rgba(0,0,0,0.5));
    display: block;
}
#floating-logo:hover img { transform: scale(1.1); filter: drop-shadow(0 0 20px rgba(0, 224, 255, 0.5)); }

.logo-portal {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
}
.logo-portal::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid transparent;
    border-top-color: var(--neon-cyan);
    border-right-color: rgba(0, 224, 255, 0.3);
    opacity: 0;
    transform: rotate(0deg);
}
.logo-portal::after {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    background: radial-gradient(circle at center, rgba(0, 224, 255, 0.55) 0%, rgba(0, 102, 255, 0.35) 35%, rgba(189, 0, 255, 0.2) 60%, transparent 80%);
    opacity: 0;
    transform: scale(0);
}
@keyframes sg-halo {
    0%   { opacity: 0; box-shadow: none; }
    15%  { opacity: 1; box-shadow: 0 0 0 2px rgba(0, 224, 255, 0.7), 0 0 12px rgba(0, 224, 255, 0.5); }
    70%  { opacity: 0.8; box-shadow: 0 0 0 4px rgba(0, 224, 255, 0.3), 0 0 20px rgba(189, 0, 255, 0.4); }
    100% { opacity: 0; box-shadow: 0 0 0 10px rgba(0, 224, 255, 0), 0 0 30px rgba(189, 0, 255, 0); }
}
@keyframes sg-ring {
    0%   { opacity: 0; transform: rotate(0deg); border-top-width: 2px; }
    10%  { opacity: 1; }
    60%  { opacity: 1; transform: rotate(540deg); border-top-width: 2.5px; }
    85%  { opacity: 0.6; transform: rotate(720deg); }
    100% { opacity: 0; transform: rotate(900deg); border-top-width: 0px; }
}
@keyframes sg-kawoosh {
    0%   { opacity: 0; transform: scale(0); }
    20%  { opacity: 0; transform: scale(0); }
    35%  { opacity: 0.9; transform: scale(0.3); }
    55%  { opacity: 1;   transform: scale(0.85); }
    75%  { opacity: 0.7; transform: scale(1); }
    100% { opacity: 0;   transform: scale(0.2); }
}
#floating-logo.portal-active .logo-portal { animation: sg-halo 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
#floating-logo.portal-active .logo-portal::before { animation: sg-ring 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
#floating-logo.portal-active .logo-portal::after { animation: sg-kawoosh 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

.logo-default { opacity: 1; }
.logo-active  { display: none; }

#floating-cta .btn-floating {
    background: linear-gradient(135deg, #8A2BE2, #0066FF);
    color: #F0F4F8 !important;
    padding: 18px 45px; border-radius: 50px;
    font-family: 'Poppins', sans-serif !important;
    font-weight: 900 !important; letter-spacing: 1px; font-size: 1rem;
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.3); text-decoration: none;
    display: inline-block; transition: all 0.4s ease;
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0,0,0,0.45);
    border: none;
}
#floating-cta .btn-floating:hover { 
    transform: scale(1.05); 
    box-shadow: 0 0 0 2px #8A2BE2, 0 0 36px rgba(138, 43, 226, 0.7); 
}

body.scrolled #floating-logo { width: 40px; }
body.scrolled #floating-cta .btn-floating { padding: 10px 25px; font-size: 0.8rem; }
.cta-text-large { display: inline; } .cta-text-small { display: none; }
body.scrolled .cta-text-large { display: none; } body.scrolled .cta-text-small { display: inline; }

.nav-links { display: flex; gap: 30px; list-style: none; }
.nav-item { color: rgba(255,255,255,0.7); font-size: 0.8rem; cursor: pointer; transition: 0.3s; font-weight: 700; letter-spacing: 1px; }
.nav-item:hover { color: #fff; }
.nav-item.active {
    color: var(--neon-cyan);
    text-shadow: 0 0 12px rgba(0, 224, 255, 0.7);
}

#nav-arrows {
    position: fixed; bottom: var(--spacing-md); right: 2%; z-index: 1000;
    display: flex; flex-direction: column; gap: 15px;
    align-items: center;
}
.nav-arrow-btn {
    width: 45px; height: 45px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05); backdrop-filter: blur(10px);
    border: 2px solid var(--neon-cyan);
    display: grid; place-items: center;
    transition: 0.4s; cursor: pointer;
    box-shadow: 0 0 20px rgba(0, 224, 255, 0.3);
    opacity: 1; visibility: visible;
    animation: pulseHeartbeat 4s infinite;
}
.nav-arrow-btn.hidden { opacity: 0; visibility: hidden; pointer-events: none; margin: 0; height: 0; border: 0; }
.nav-arrow-btn:hover { background: rgba(0, 224, 255, 0.1); transform: scale(1.1); box-shadow: 0 0 30px rgba(0, 224, 255, 0.5); }
.nav-arrow-btn img { grid-area: 1 / 1; width: 25px; height: auto; transition: opacity 0.3s ease; }
.arrow-default { opacity: 1; }
.arrow-active { opacity: 0; }
.nav-arrow-btn.swapped .arrow-default { opacity: 0; }
.nav-arrow-btn.swapped .arrow-active { opacity: 1; }

#arrow-down { transform: rotate(180deg); }
#arrow-up { transform: rotate(0deg); }
#arrow-down:hover { transform: rotate(180deg) scale(1.1); }
#arrow-up:hover { transform: rotate(0deg) scale(1.1); }

@keyframes pulseHeartbeat {
    0% { box-shadow: 0 0 20px rgba(0, 224, 255, 0.3); }
    50% { box-shadow: 0 0 0 8px rgba(0, 224, 255, 0), 0 0 25px rgba(0, 224, 255, 0.15); }
    100% { box-shadow: 0 0 20px rgba(0, 224, 255, 0.3); }
}

body.meet-page #arrow-down { transform: none !important; }
body.meet-page #arrow-down:hover { transform: scale(1.1) !important; }
body.meet-page #arrow-down .msc-arrow-img { transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1); }

.nav-mobile {
    display: none; position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
    width: 94%; max-width: 500px; z-index: 1000;
    align-items: center; gap: 10px;
    padding: 0;
}
.nav-mobile-logo {
    flex-shrink: 0; width: 42px; height: 42px; display: grid; place-items: center; position: relative;
    background: rgba(10, 20, 35, 0.95); backdrop-filter: blur(20px); border: 1px solid var(--glass-border);
    border-radius: 50%; box-shadow: 0 10px 30px rgba(0,0,0,0.8); transition: 0.3s;
}
.nav-mobile-logo img { width: 24px; height: 24px; object-fit: contain; display: block; transition: transform 0.4s ease, filter 0.4s ease; }
.nav-mobile-logo:hover img { transform: scale(1.1); filter: drop-shadow(0 0 8px rgba(0, 224, 255, 0.6)); }
.nav-mobile-logo:hover { border-color: var(--neon-cyan); box-shadow: 0 0 15px rgba(0, 224, 255, 0.3); }

.nav-mobile-logo .logo-portal { position: absolute; inset: 0; border-radius: 50%; pointer-events: none; opacity: 0; }
.nav-mobile-logo .logo-portal::before {
    content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid transparent;
    border-top-color: var(--neon-cyan); border-right-color: rgba(0, 224, 255, 0.3); opacity: 0; transform: rotate(0deg);
}
.nav-mobile-logo .logo-portal::after {
    content: ''; position: absolute; inset: 1px; border-radius: 50%;
    background: radial-gradient(circle at center, rgba(0, 224, 255, 0.55) 0%, rgba(0, 102, 255, 0.35) 35%, rgba(189, 0, 255, 0.2) 60%, transparent 80%);
    opacity: 0; transform: scale(0);
}
.nav-mobile-logo.portal-active .logo-portal { animation: sg-halo 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.nav-mobile-logo.portal-active .logo-portal::before { animation: sg-ring 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.nav-mobile-logo.portal-active .logo-portal::after { animation: sg-kawoosh 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

.mobile-track {
    flex: 1; display: flex; align-items: center; justify-content: space-around; gap: 8px;
    background: rgba(10, 20, 35, 0.95); backdrop-filter: blur(20px); border: 1px solid var(--glass-border);
    border-radius: 20px; padding: 14px 16px; box-shadow: 0 10px 30px rgba(0,0,0,0.8);
    overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; transition: 0.3s;
}
.mobile-track::-webkit-scrollbar { display: none; }
.mobile-track:hover { border-color: var(--neon-cyan); box-shadow: 0 0 20px rgba(0, 224, 255, 0.3); }

.nav-mobile-item { color: rgba(255,255,255,0.7); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.5px; transition: 0.3s; }
.nav-mobile-item:hover { color: #fff; }
.nav-mobile-item.active { color: var(--neon-cyan); text-shadow: 0 0 10px rgba(0, 224, 255, 0.8); }

.nav-mobile-cta {
    flex-shrink: 0; background: linear-gradient(135deg, #8A2BE2, #0066FF); color: #F0F4F8 !important;
    font-family: 'Poppins', sans-serif !important; font-weight: 900 !important; font-size: 0.65rem;
    letter-spacing: 1px; line-height: 1; padding: 12px 16px; border-radius: 50px;
    box-shadow: 0 0 20px rgba(138, 43, 226, 0.3), 0 10px 30px rgba(0,0,0,0.8); text-decoration: none;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); white-space: nowrap; text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0,0,0,0.45); border: none; cursor: pointer; display: inline-flex;
    align-items: center; justify-content: center; -webkit-appearance: none; appearance: none;
}
.nav-mobile-cta:hover { transform: scale(1.05); box-shadow: 0 0 0 2px #8A2BE2, 0 0 30px rgba(138, 43, 226, 0.7); }

/* =========================================
   5. HERO SECTION
   ========================================= */
.hero {
    height: 100vh;
    width: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 100px 0 20px 0;
}
@supports (height: 100svh) { .hero { height: 100svh; } }

#hero-bg { position: absolute; inset: 0; z-index: 0; }
.kenburns-slide {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1);
    transition: opacity 1.5s ease-in-out, transform 9s ease-out;
    will-change: transform, opacity;
}
.kenburns-slide.active { opacity: 0.45; transform: scale(1.08); }
.hero-overlay { position: absolute; inset: 0; background: radial-gradient(circle, transparent 0%, var(--bg-void) 90%); z-index: 1; }

.hero-stack {
    position: relative;
    z-index: 10;
    width: 90%;
    max-width: 1100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    opacity: 0;
    animation: fadeIn 0.8s ease forwards;
    animation-delay: 0.2s;
}

.hero-wordmark {
    width: 100%;
    display: flex;
    justify-content: center;
    position: relative;
}
.hero-wordmark img {
    width: 460px;
    max-width: 90%;
    height: auto;
    display: block;
    mix-blend-mode: screen;
    position: relative;
    z-index: 3;
}

@keyframes wm-glow-breathe {
    0%   { filter: drop-shadow(0 0 5px rgba(0, 224, 255, 0.22)); }
    45%  { filter: drop-shadow(0 0 12px rgba(0, 224, 255, 0.50)) drop-shadow(0 0 22px rgba(0, 102, 255, 0.18)); }
    100% { filter: drop-shadow(0 0 5px rgba(0, 224, 255, 0.22)); }
}

.hero-wordmark-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    animation: wordmark-entrance 0.6s ease 0.4s forwards;
}
@keyframes wordmark-entrance {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.hero-wordmark-wrap img {
    filter: drop-shadow(0 0 5px rgba(0, 224, 255, 0.22));
    animation: wm-glow-breathe 8s ease-in-out 1.0s infinite;
}

@keyframes portal-expand {
    0%   { transform: scaleX(0.3) scaleY(0.8); opacity: 1; }
    30%  { transform: scaleX(1.1) scaleY(1.1); opacity: 0.8; }
    60%  { transform: scaleX(1.5) scaleY(0.6); opacity: 0.4; }
    100% { transform: scaleX(2.2) scaleY(0.2); opacity: 0; }
}
@keyframes portal-ring-spin {
    0%   { transform: rotate(-20deg) scaleX(1); opacity: 1; }
    50%  { transform: rotate(200deg) scaleX(1.6); opacity: 0.6; }
    100% { transform: rotate(400deg) scaleX(2); opacity: 0; }
}
.hero-portal-ring {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 90%;
    height: 28px;
    margin-top: -14px;
    margin-left: -45%;
    border-radius: 50%;
    border: 2px solid var(--neon-cyan);
    box-shadow: 0 0 12px rgba(0, 224, 255, 0.6), inset 0 0 8px rgba(189, 0, 255, 0.3);
    pointer-events: none;
    opacity: 0;
    animation: portal-ring-spin 1.0s cubic-bezier(0.16, 1, 0.3, 1) 0.15s 1 forwards;
    z-index: 2;
}
.hero-portal-glow {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 70%;
    height: 40px;
    margin-top: -20px;
    margin-left: -35%;
    border-radius: 50%;
    background: radial-gradient(ellipse at center,
        rgba(0, 224, 255, 0.5) 0%,
        rgba(0, 102, 255, 0.25) 40%,
        rgba(189, 0, 255, 0.1) 65%,
        transparent 80%);
    pointer-events: none;
    opacity: 0;
    animation: portal-expand 1.1s cubic-bezier(0.16, 1, 0.3, 1) 0.1s 1 forwards;
    z-index: 1;
}

.hero-glass-panel {
    position: relative;
    z-index: 10;
    background: rgba(5, 11, 20, 0.5);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid transparent;
    border-radius: 32px;
    padding: 48px 56px 44px;
    width: 100%;
    max-width: 660px;
    margin: 0 auto;
    text-align: center;
    box-shadow:
        0 8px 32px rgba(0,0,0,0.4),
        inset 0 1px 0 rgba(255,255,255,0.06),
        inset 0 -1px 0 rgba(255,255,255,0.02);
    transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1),
                box-shadow 0.5s ease;
    /* Animated edge trace */
    --hero-angle: 0deg;
    animation: hero-edge-trace 6s linear infinite;
}

/* Animated border — subtle neon light tracing the edge */
@property --hero-angle {
    syntax: '<angle>';
    inherits: false;
    initial-value: 0deg;
}
@keyframes hero-edge-trace {
    to { --hero-angle: 360deg; }
}

.hero-glass-panel::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: 32px;
    background: conic-gradient(
        from var(--hero-angle),
        transparent 0deg,
        transparent 240deg,
        rgba(0, 224, 255, 0.4) 270deg,
        rgba(189, 0, 255, 0.35) 300deg,
        rgba(255, 0, 153, 0.2) 330deg,
        transparent 360deg
    );
    z-index: -1;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: 1px;
    pointer-events: none;
    opacity: 0.6;
    transition: opacity 0.5s ease;
}

/* Inner radiance — subtle top-down shimmer */
.hero-glass-panel::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 32px;
    background:
        radial-gradient(ellipse 60% 40% at 50% 0%, rgba(0, 224, 255, 0.06) 0%, transparent 70%),
        radial-gradient(ellipse 40% 30% at 50% 100%, rgba(189, 0, 255, 0.04) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    opacity: 1;
    transition: opacity 0.5s ease;
}

.hero-glass-panel > * { position: relative; z-index: 1; }

.hero-glass-panel:hover,
.hero-glass-panel:active {
    transform: translateY(-4px);
    box-shadow:
        0 0 0 1px rgba(0, 224, 255, 0.08),
        0 0 24px rgba(0, 224, 255, 0.12),
        0 0 48px rgba(189, 0, 255, 0.08),
        0 16px 48px rgba(0, 0, 0, 0.5);
}
.hero-glass-panel:hover::before {
    opacity: 1;
}
.hero-glass-panel:hover::after {
    opacity: 1;
    background:
        radial-gradient(ellipse 60% 40% at 50% 0%, rgba(0, 224, 255, 0.1) 0%, transparent 70%),
        radial-gradient(ellipse 40% 30% at 50% 100%, rgba(189, 0, 255, 0.07) 0%, transparent 70%);
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(12px) scale(0.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Hero Card: logo, tagline, CTAs — tight, premium, centered */
.hero-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
    gap: 0;
}
.hero-wordmark-inline { margin-bottom: 24px; }

/* Tagline: fixed-height block so card never resizes when phrase changes */
.hero-tagline { display: flex; justify-content: center; margin-bottom: 32px; }
.hero-title {
    font-size: clamp(2rem, 4.5vw, 4rem);
    line-height: 1.1;
    margin: 0;
    text-align: center;
}
.hero-title .tagline-row { display: block; margin: 0; padding: 0; }
.hero-title .tagline-row-top { letter-spacing: 0.02em; margin-bottom: 6px; white-space: nowrap; }
.hero-title .tagline-row-middle { white-space: nowrap; height: 1.15em; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.hero-rotator-text {
    color: var(--neon-cyan);
    text-shadow: 0 0 16px rgba(0, 224, 255, 0.5);
    white-space: nowrap;
    transition: opacity 0.2s ease;
    line-height: 1;
}
.hero-rotator-text.hero-rotator-fade { opacity: 0; }

.hero-subtitle { font-size: 1rem; margin-bottom: 28px; color: rgba(255,255,255,0.9); }
.hero-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* Secondary CTA (Hero) — Cyan Gradient */
.btn-hero-secondary {
    background: linear-gradient(135deg, #00CCFF, #0066FF);
    color: #F0F4F8 !important;
    border: none;
    padding: 14px 36px; border-radius: 50px;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.85rem; font-weight: 900 !important; letter-spacing: 1.2px;
    box-shadow: 0 4px 16px rgba(0, 204, 255, 0.25);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: inline-block; text-align: center; text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
    -webkit-font-smoothing: antialiased;
    backface-visibility: hidden;
}
.btn-hero-secondary:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #00CCFF, 0 0 24px rgba(0, 204, 255, 0.6);
    color: #F0F4F8 !important;
}

/* Primary CTA (Hero) — Pink Gradient with subtle glow breathe */
.btn-hero-primary {
    background: linear-gradient(135deg, #FF00CC, #8A2BE2);
    color: #F0F4F8 !important;
    border: none;
    padding: 14px 36px; border-radius: 50px;
    font-family: 'Poppins', sans-serif !important;
    font-size: 0.85rem; font-weight: 900 !important; letter-spacing: 1.2px;
    box-shadow: 0 4px 16px rgba(255, 0, 204, 0.25);
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: inline-block; text-align: center; text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
    -webkit-font-smoothing: antialiased;
    backface-visibility: hidden;
    animation: hero-cta-breathe 4s ease-in-out 1.5s infinite;
}
@keyframes hero-cta-breathe {
    0%, 100% { box-shadow: 0 4px 16px rgba(255, 0, 204, 0.25); }
    50% { box-shadow: 0 4px 20px rgba(255, 0, 204, 0.4), 0 0 30px rgba(189, 0, 255, 0.15); }
}
.btn-hero-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 0 0 2px #FF00CC, 0 0 24px rgba(255, 0, 204, 0.6);
    color: #F0F4F8 !important;
    animation: none;
}

/* hero-wordmark-inline: wordmark logo inside panel */
.hero-wordmark-inline { width: 100%; display: flex; justify-content: center; }
.hero-wordmark-chase {
    position: relative;
    display: inline-block;
}
/* Wordmark chase animation removed — clean static presentation */
.hero-wordmark-chase img {
    position: relative;
    z-index: 1;
    width: 360px;
    max-width: 90%;
    height: auto;
    display: block;
    mix-blend-mode: screen;
    filter: drop-shadow(0 0 5px rgba(0, 224, 255, 0.22));
    animation: wordmark-slide-up 0.6s ease 0.4s both;
}
@keyframes wordmark-slide-up {
    from { transform: translateY(-6px); }
    to   { transform: translateY(0); }
}
.hero-wordmark-inline img.wm-ready { animation: wm-glow-breathe 8s ease-in-out 1s infinite; }

/* =========================================
   6. MARQUEE
   ========================================= */
.marquee-wrapper { position: relative; background: transparent; padding: var(--spacing-sm) 0; overflow: hidden; opacity: 1; transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1); }
.marquee-wrapper::before, .marquee-wrapper::after { content: ''; position: absolute; top: 0; bottom: 0; width: 120px; z-index: 2; pointer-events: none; }
.marquee-wrapper::before { left: 0; background: linear-gradient(to right, var(--bg-void) 0%, transparent 100%); }
.marquee-wrapper::after { right: 0; background: linear-gradient(to left, var(--bg-void) 0%, transparent 100%); }
.marquee-wrapper.section-focused { opacity: 0; pointer-events: none; }
.marquee-track { display: flex; gap: var(--spacing-xl); position: relative; z-index: 1; will-change: transform; animation-play-state: running; }
.marquee-track img { height: 70px; width: auto; flex-shrink: 0; filter: grayscale(100%); opacity: 0.4; transition: filter 0.4s ease, opacity 0.4s ease; pointer-events: none; }
.marquee-track img:hover { filter: grayscale(0%); opacity: 0.9; }
.scroll-left { animation: scrollLeftInfinite 40s linear infinite; }
.scroll-right { animation: scrollRightInfinite 40s linear infinite; }
@keyframes scrollLeftInfinite { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes scrollRightInfinite { from { transform: translateX(-50%); } to { transform: translateX(0); } }

/* =========================================
   7. ABOUT (PROFILE)
   ========================================= */
.card-photo { position: relative; width: 100%; height: 100%; min-height: 260px; border-radius: 24px; overflow: hidden; border: 1px solid var(--glass-border); transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease; }
.card-photo:hover, .card-photo:active { transform: translateY(-5px); border-color: var(--neon-pink); box-shadow: 0 0 0 2px rgba(255, 0, 153, 0.15), 0 0 24px rgba(255, 0, 153, 0.30), 0 20px 40px rgba(0, 0, 0, 0.45); }
.card-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 15%; }

.photo-caption { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); width: 85%; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(20px); border: 1px solid rgba(0, 224, 255, 0.3); border-radius: 50px; padding: 15px 30px; text-align: center; z-index: 2; box-shadow: 0 10px 30px rgba(0,0,0,0.3); }
.clay-name { font-size: 1.4rem; margin: 0; color: #fff; line-height: 1; font-weight: 900; }
.clay-role { font-size: 0.75rem; color: var(--neon-cyan); letter-spacing: 1px; font-weight: 700; margin-top: 5px; }
.about-header { font-size: clamp(1.1rem, 2.5vw, 1.6rem); line-height: 1.15; margin-bottom: 14px; text-align: center; white-space: nowrap; }

#about .card-glass { padding: 32px 28px; }
#about .grid-twin { align-items: stretch; }
#about .card-photo { min-height: unset; height: 100%; }

/* Combined profile card: photo + info in one responsive card */
.card-glass.card-combined {
    display: grid;
    /* larger image column so the profile doesn't feel squished */
    grid-template-columns: minmax(220px, 320px) 1fr;
    /* make a tall first column and center the static content vertically by spanning the static area across the top two rows */
    grid-template-rows: 1fr auto auto;
    grid-template-areas:
        "photo static"
        "photo static"
        "photo expandable"
        "photo toggle";
    gap: 12px 28px; /* tighter vertical spacing */
    align-items: center;
    padding: 18px 22px;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    min-height: 360px; /* ensure a consistent card height so centering matches the photo */
    --static-nudge: 34px; /* visual nudge to align title with photo center */
}
.card-glass.card-combined .card-photo {
    min-height: 320px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    box-shadow: none;
    border: none;
    grid-area: photo;
    align-self: center;
    height: 100%;
}
.card-glass.card-combined .card-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.card-glass.card-combined .photo-caption { position: absolute; bottom: 14px; left: 50%; transform: translateX(-50%); width: 82%; padding: 10px 18px; border-radius: 40px; }
.card-glass.card-combined .card-static { padding: 4px 2px; display: flex; flex-direction: column; justify-content: center; align-self: center; height: 100%; }
.card-glass.card-combined .card-static { transform: translateY(var(--static-nudge)); }
.card-glass.card-combined .about-header { text-align: left; white-space: normal; }
.card-glass.card-combined .lead { margin: 0; }

.card-glass.card-combined .expandable-content-wrap { grid-area: expandable; padding-top: 6px; }
.card-glass.card-combined .expandable-toggle { grid-area: toggle; justify-self: center; margin-left: 0; align-self: end; margin-bottom: 6px; }
.card-glass.card-combined .card-static { grid-area: static; }

@media (max-width: 760px) {
    .card-glass.card-combined { grid-template-columns: 1fr; padding: 16px; }
    .card-glass.card-combined .card-photo { min-height: 260px; border-radius: 12px; }
    .card-glass.card-combined .photo-caption { position: static; transform: none; margin-top: 12px; background: rgba(255,255,255,0.06); }
    .card-glass.card-combined .about-header { text-align: center; }

    /* Reset grid placement for single-column layout */
    .card-glass.card-combined .card-photo,
    .card-glass.card-combined .card-static,
    .card-glass.card-combined .expandable-content-wrap,
    .card-glass.card-combined .expandable-toggle { grid-area: auto; justify-self: stretch; }
    .card-glass.card-combined { --static-nudge: 0px; }
}

@media (min-width: 1200px) {
    /* slightly larger nudge on very wide screens if needed */
    .card-glass.card-combined { --static-nudge: 40px; }
}

/* Allow a combined card to span both columns of .grid-twin */
.grid-twin > .card-expand-wrap.span-2 {
    grid-column: 1 / -1;
    justify-self: stretch;
}


/* Clients grid */
#clients .grid-twin { align-items: start; }
#clients .card-expand-wrap .card-glass { height: auto; }

/* =========================================
   8. REVIEWS
   ========================================= */
#reviews .grid-tri { align-items: start; transition: align-items 0s; }
#reviews .grid-tri.all-expanded { align-items: stretch; }
.review-card {
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    text-align: left;
    overflow: visible;
    height: auto;
}
.review-card .review-photo-wrap { overflow: hidden; border-radius: 24px 24px 0 0; }
.review-photo-wrap {
    width: 100%;
    height: 220px;
    overflow: hidden;
    flex-shrink: 0;
}
.review-photo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.review-card:hover .review-photo {
    transform: scale(1.05);
}
.review-attribution {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 14px;
    padding: 20px 24px 0;
}
.review-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 8px;
}
.review-company-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}
.review-identity {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}
.review-name { font-size: clamp(0.85rem, 1vw + 0.2rem, 1rem); color: #fff; margin: 0; letter-spacing: 1.2px; line-height: 1.2; }
.review-card .review-role { font-size: clamp(0.6rem, 0.6vw + 0.15rem, 0.72rem); color: var(--text-secondary); text-transform: uppercase; letter-spacing: 1px; margin: 0; font-family: 'Roboto', sans-serif; font-weight: 400; line-height: 1.3; }

.review-card .expandable-content-wrap { padding: 0 24px 16px; }
.review-card .expandable-toggle { margin-bottom: 16px; }

.review-card .quote-text { font-size: 0.92rem; line-height: 1.65; color: rgba(255, 255, 255, 0.85); margin-top: 10px; margin-bottom: 0; }

.highlight-cyan   { color: var(--neon-cyan);   font-family: 'Poppins', sans-serif !important; font-weight: 900 !important; text-transform: uppercase; font-style: normal; }
.highlight-purple { color: var(--neon-purple); font-family: 'Poppins', sans-serif !important; font-weight: 900 !important; text-transform: uppercase; font-style: normal; }
.highlight-pink   { color: var(--neon-pink);   font-family: 'Poppins', sans-serif !important; font-weight: 900 !important; text-transform: uppercase; font-style: normal; }

/* =========================================
   9. SERVICES
   ========================================= */
.service-card {
    text-align: center;
    align-items: center;
    padding: 36px 28px;
}
.service-card .icon-service {
    font-size: 2.2rem;
    margin-bottom: 16px;
}
.service-card h3 {
    margin-bottom: 12px;
}
.service-card p {
    color: var(--text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Per-card persistent subtle glow */
.service-card.hover-pink {
    box-shadow: 0 20px 40px rgba(0,0,0,0.2), 0 0 12px rgba(255, 0, 153, 0.08);
}
.service-card.hover-cyan {
    box-shadow: 0 20px 40px rgba(0,0,0,0.2), 0 0 12px rgba(0, 224, 255, 0.08);
}
.service-card.hover-purple {
    box-shadow: 0 20px 40px rgba(0,0,0,0.2), 0 0 12px rgba(189, 0, 255, 0.08);
}

/* =========================================
   11. FOOTER
   ========================================= */
footer { padding: var(--spacing-lg) 0 var(--spacing-md); background: #02050a; margin-top: 0; border-top: 1px solid var(--glass-border); }
.footer-simple { display: flex; flex-direction: column; align-items: center; text-align: center; max-width: 1000px; margin: 0 auto; width: 90%; }
.footer-logo { display: flex; justify-content: center; }
.footer-logo img { height: auto; width: 360px; max-width: 80%; margin-bottom: var(--spacing-sm); object-fit: contain; display: block; }

/* --- FOOTER STATIC TAGLINE (PERFECT RECTANGLE) --- */
.footer-tagline {
    font-family: 'Poppins', sans-serif;
    font-weight: 900;
    font-size: clamp(0.75rem, 1.8vw, 1.05rem);
    text-transform: uppercase;
    line-height: 1.4;
    color: #F0F4F8;
    margin-bottom: var(--spacing-xs);
    width: 100%;
    max-width: 440px; 
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.tagline-row-top { letter-spacing: 5.5px; margin-left: 5.5px; }
.tagline-row-bottom { letter-spacing: 1.5px; }
.footer-tagline .tag-cyan { color: var(--neon-cyan); text-shadow: 0 0 16px rgba(0, 224, 255, 0.5); }
.footer-tagline .tag-pink { color: var(--neon-pink); text-shadow: 0 0 16px rgba(255, 0, 153, 0.5); }
.footer-text { font-size: 0.9rem; color: rgba(255,255,255,0.6); margin-bottom: 5px; }

.footer-icons { display: flex; gap: var(--spacing-sm); margin: var(--spacing-md) 0; }
.footer-icons a { color: #fff; font-size: 1.5rem; transition: 0.3s; will-change: transform; }
.footer-icons a:hover { color: var(--neon-cyan); transform: scale(1.15); filter: drop-shadow(0 0 8px rgba(0, 224, 255, 0.6)); }

.footer-associations { margin-top: var(--spacing-sm); margin-bottom: var(--spacing-sm); text-align: center; }
.footer-associations-label { font-family: 'Poppins', sans-serif; font-weight: 900; font-size: 0.72rem; letter-spacing: 3px; text-transform: uppercase; color: rgba(255, 255, 255, 0.45); margin-bottom: 18px; }
.footer-associations-logos { display: flex; align-items: center; justify-content: center; gap: 36px; flex-wrap: wrap; }
.footer-associations-logos img { height: 52px; width: auto; opacity: 0.55; transition: opacity 0.3s ease, filter 0.3s ease; filter: grayscale(30%); }
.footer-associations-logos img:hover { opacity: 1; filter: grayscale(0%); }

.footer-divider { width: 100%; height: 1px; background: rgba(255,255,255,0.1); margin: var(--spacing-md) 0; }
.copyright { font-size: 0.8rem; color: rgba(255,255,255,0.7); }

/* =========================================
   13. RESPONSIVE
   ========================================= */

@media (max-width: 1280px) {
    .wrapper { width: 92%; }
    .wrapper-tight { width: 92%; }
    #floating-logo { left: 3%; width: 60px; }
    #floating-cta { right: 3%; }
    .hero-stack { max-width: 900px; gap: 8px; }
    .hero-wordmark img { width: 380px; }
    .hero-wordmark-inline img { width: 380px; }
    .hero-glass-panel { padding: 44px 48px 40px; }
}

@media (max-width: 1024px) {
    .grid-gallery { grid-template-columns: repeat(2, 1fr); }
    .nav-capsule { padding: 0 25px; gap: 25px; }
    .nav-item { font-size: 0.7rem; }
    section { padding: 110px 0 70px; min-height: 100vh; }
    .hero-stack { gap: 8px; }
    .hero-wordmark img { width: 340px; }
    .hero-wordmark-inline img { width: 340px; }
    .hero-glass-panel { padding: 40px 32px 36px; }
    .hero-buttons a { padding: 13px 32px; font-size: 0.85rem; }
    .marquee-track { gap: 60px; }
    .marquee-track img { height: 70px; }
    .marquee-wrapper { padding: 40px 0; }
}

@media (max-width: 768px) {
    .nav-desktop, #floating-logo, #floating-cta, #nav-arrows { display: none !important; }
    .nav-mobile { display: flex; }

    .grid-twin { grid-template-columns: 1fr; gap: 25px; justify-items: center; }
    .grid-tri { grid-template-columns: 1fr; gap: 20px; justify-items: stretch; max-width: 100%; }
    .grid-gallery { grid-template-columns: repeat(2, 1fr); gap: 15px; }
    .sub-grid { grid-template-columns: 1fr 1fr; }

    section { padding: 60px 0 150px; min-height: 100vh; }
    section > .wrapper, section > .wrapper-tight { width: 90%; max-width: 100%; }
    h2 { font-size: clamp(1.6rem, 5vw, 2.2rem); margin-bottom: var(--spacing-md); }

    .hero { height: 100svh; padding: 40px 0 150px 0; }
    .hero-stack { width: 92%; gap: 8px; }
    .hero-wordmark img { width: 300px; }
    .hero-wordmark-inline img { width: 300px; }
    .hero-title { font-size: clamp(1.6rem, 7vw, 3.5rem); }
    .hero-title .tagline-row { white-space: nowrap; }
    .hero-title .tagline-row-top { letter-spacing: 0.02em; }
    .hero-glass-panel { padding: 32px 24px 28px; border-radius: 24px; }
    .hero-glass-panel::before { border-radius: 24px; }
    .hero-glass-panel::after { border-radius: 24px; }
    .hero-subtitle { font-size: 0.95rem; margin-bottom: 25px; }
    .hero-subtitle br { display: none; }
    .hero-buttons { flex-direction: column; gap: 15px; align-items: center; }
    .hero-buttons a { padding: 16px 30px; font-size: 0.9rem; text-align: center; width: 100%; max-width: 300px; }

    .card-photo { min-height: 280px; max-width: 600px; margin: 0 auto; }
    .card-glass { max-width: 600px; margin: 0 auto; padding: 28px 24px; border-radius: 20px; }
    .card-expand-wrap .card-glass { padding: 24px 22px 18px; }
    .card-expand-wrap .expandable-toggle { margin-bottom: 8px; }
    .about-header { font-size: clamp(1.1rem, 4.5vw, 1.5rem); text-align: center; white-space: normal; }
    .card-header-inline h3 { font-size: clamp(0.9rem, 3vw, 1.3rem); }

    /* About section: merge photo + card into one review-card-like layout */
    #about .grid-twin { max-height: none; gap: 0; }
    #about > .wrapper-tight > .grid-twin > .card-photo {
        height: auto;
        min-height: 220px;
        max-height: 280px;
        aspect-ratio: auto;
        border-radius: 20px 20px 0 0;
        border-bottom: none;
        max-width: 600px;
        margin: 0 auto;
        z-index: 1;
    }
    #about > .wrapper-tight > .grid-twin > .card-photo img { object-position: center 15%; }
    #about > .wrapper-tight > .grid-twin > .card-photo .photo-caption {
        position: static;
        transform: none;
        width: 100%;
        background: rgba(5, 11, 20, 0.7);
        backdrop-filter: blur(12px);
        border-radius: 0;
        border: none;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
        padding: 12px 20px;
        text-align: center;
        box-shadow: none;
        bottom: auto;
        left: auto;
    }
    #about > .wrapper-tight > .grid-twin > .card-expand-wrap {
        max-width: 600px;
        margin: 0 auto;
    }
    #about > .wrapper-tight > .grid-twin > .card-expand-wrap > .card-glass {
        border-radius: 0 0 20px 20px;
        border-top: none;
        max-width: 600px;
    }
    /* Merged photo+card: disable independent hover lifts */
    #about > .wrapper-tight > .grid-twin > .card-photo:hover,
    #about > .wrapper-tight > .grid-twin > .card-photo:active {
        transform: none;
        border-color: var(--glass-border);
        box-shadow: none;
    }
    #about > .wrapper-tight > .grid-twin > .card-expand-wrap .card-glass:hover,
    #about > .wrapper-tight > .grid-twin > .card-expand-wrap .card-glass:active {
        transform: none;
    }

    .review-card { max-width: 420px; margin: 0 auto; padding: 0; border-radius: 20px; }
    .review-card .review-photo-wrap { border-radius: 20px 20px 0 0; }
    .review-card .expandable-content-wrap { padding: 0 22px 14px; }
    .review-photo-wrap { height: 200px; }
    .gallery-img { height: 220px; }

    .marquee-wrapper { padding: 35px 0; }
    .marquee-track { gap: 50px; }
    .marquee-track img { height: 60px; }

    .footer-simple { align-items: center; text-align: center; }
    .footer-logo img { height: auto; width: 280px; max-width: 80%; }
    .footer-tagline { width: 280px; letter-spacing: 2px; }
    .footer-associations-logos { gap: 24px; }
    .footer-associations-logos img { height: 42px; }

    body { padding-bottom: 100px; }

    h2 { transform: none !important; }

    body.meet-page { padding-top: 0; }
    body.meet-page section#contact { min-height: auto; padding: 30px 0 160px; }
    body.meet-page section#book { padding: 40px 0 160px; }
}

@media (max-width: 640px) {
    body.meet-page section#contact { padding: 24px 0 150px; }
}

@media (max-width: 480px) {
    .grid-gallery { grid-template-columns: 1fr; }
    .grid-tri { max-width: 100%; }
    .sub-grid { grid-template-columns: 1fr; }

    .card-expand-wrap .card-glass { padding: 22px 20px 16px; }
    .card-expand-wrap .expandable-toggle { margin-bottom: 6px; }
    section { padding: 50px 0 140px; }
    .hero { padding: 30px 0 140px 0; }
    .hero-stack { width: 94%; gap: 6px; }
    .hero-wordmark img { width: 260px; }
    .hero-wordmark-inline img { width: 260px; }
    .hero-glass-panel { padding: 28px 18px 24px; border-radius: 20px; }
    .hero-glass-panel::before { border-radius: 20px; }
    .hero-glass-panel::after { border-radius: 20px; }
    .hero-title { font-size: clamp(1.4rem, 7.5vw, 2.2rem); }

    .card-glass { padding: 24px 20px; border-radius: 16px; max-width: 100%; }
    .card-glass::after { border-radius: 16px; }
    .card-photo { min-height: 260px; max-width: 100%; }
    #about > .wrapper-tight > .grid-twin > .card-photo { min-height: 200px; max-height: 260px; border-radius: 16px 16px 0 0; }
    #about > .wrapper-tight > .grid-twin > .card-photo img { object-position: center 12%; }
    #about > .wrapper-tight > .grid-twin > .card-expand-wrap > .card-glass { border-radius: 0 0 16px 16px; }
    .photo-caption { padding: 10px 20px; width: 90%; bottom: 16px; }
    .clay-name { font-size: 1.1rem; }
    .about-header { font-size: clamp(1rem, 5vw, 1.3rem); white-space: normal; }
    .card-header-inline h3 { font-size: clamp(0.8rem, 3.5vw, 1.1rem); }

    .gallery-img { height: 200px; }
    .review-card { max-width: 420px; margin: 0 auto; padding: 0; border-radius: 16px; }
    .review-card .review-photo-wrap { border-radius: 16px 16px 0 0; }
    .review-photo-wrap { height: 180px; }
    .review-attribution { padding: 16px 20px 0; gap: 12px; }
    .review-logo-wrap { width: 46px; height: 46px; }
    .review-card .expandable-content-wrap { padding: 0 20px 12px; }

    .marquee-wrapper { padding: 25px 0; }
    .marquee-track { gap: 40px; }
    .marquee-track img { height: 45px; }

    footer { padding: 50px 0 20px; }
    .footer-logo img { height: auto; width: 220px; max-width: 80%; }
    .footer-tagline { width: 220px; }
    .footer-associations-logos { gap: 18px; }
    .footer-associations-logos img { height: 36px; }
    .footer-associations-label { font-size: 0.62rem; letter-spacing: 2px; }

    body.meet-page section { padding: 40px 0 140px; }
    body.meet-page section#contact { padding: 24px 0 150px; }
}

@media (max-width: 380px) {
    .nav-mobile-item { font-size: 0.6rem; }
    .mobile-track { gap: 4px; padding: 12px 10px; }
    .nav-mobile-cta { padding: 10px 12px; font-size: 0.6rem; }
    .nav-mobile-logo { width: 36px; height: 36px; }
    .nav-mobile-logo img { width: 20px; height: 20px; }
    .hero-title { font-size: clamp(1.5rem, 10vw, 2rem); }
}

/* =========================================
   14. MEET PAGE LAYOUT
   ========================================= */

body.meet-page { padding-top: 90px; }
body.meet-page section { min-height: auto; padding: 60px 0 60px; }
body.meet-page section#contact { min-height: calc(100svh - 90px); padding: 40px 0 40px; }
body.meet-page section#book { padding: 60px 0 60px; }
body.meet-page h2 { margin-bottom: var(--spacing-md); }
body.meet-page #floating-cta { position: fixed; }

.btn-meet-smart {
    background: linear-gradient(135deg, #FF00CC, #8A2BE2);
    box-shadow: 0 0 20px rgba(255, 0, 204, 0.4);
    border: none;
    transition: all 0.4s ease;
}
.btn-meet-smart:hover { 
    transform: scale(1.05); 
    box-shadow: 0 0 0 2px #FF00CC, 0 0 36px rgba(255, 0, 204, 0.7); 
}
.btn-meet-smart.is-connect {
    background: linear-gradient(135deg, #00CCFF, #0066FF);
    box-shadow: 0 0 20px rgba(0, 204, 255, 0.4);
}
.btn-meet-smart.is-connect:hover { 
    box-shadow: 0 0 0 2px #00CCFF, 0 0 36px rgba(0, 204, 255, 0.7); 
}

.nav-mobile-cta.btn-meet-smart {
    background: linear-gradient(135deg, #FF00CC, #8A2BE2);
    box-shadow: 0 0 20px rgba(255, 0, 204, 0.3), 0 10px 30px rgba(0,0,0,0.8);
    border: none;
    transition: all 0.4s ease;
}
.nav-mobile-cta.btn-meet-smart.is-connect {
    background: linear-gradient(135deg, #00CCFF, #0066FF);
    box-shadow: 0 0 20px rgba(0, 204, 255, 0.3), 0 10px 30px rgba(0,0,0,0.8);
    border-color: transparent;
}
.nav-mobile-cta.btn-meet-smart:hover { 
    box-shadow: 0 0 0 2px #FF00CC, 0 0 30px rgba(255, 0, 204, 0.7); 
}
.nav-mobile-cta.btn-meet-smart.is-connect:hover { 
    box-shadow: 0 0 0 2px #00CCFF, 0 0 30px rgba(0, 204, 255, 0.7); 
}

.contact-section { display: flex; flex-direction: column; align-items: center; min-height: calc(100svh - 110px); justify-content: center; padding-top: 0; padding-bottom: 40px; }
.contact-card-outer { display: flex; flex-direction: column; align-items: center; gap: 20px; width: 100%; max-width: 700px; }

.contact-card { position: relative; width: 100%; display: flex; flex-direction: row; align-items: stretch; gap: 0; border-radius: 32px; overflow: hidden; background: rgba(255, 255, 255, 0.045); border: 1px solid var(--glass-border); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); will-change: transform, opacity; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease; }
.contact-card:hover, .contact-card:active { transform: translateY(-5px); border-color: var(--neon-cyan); box-shadow: 0 0 0 2px rgba(0, 224, 255, 0.15), 0 0 24px rgba(0, 224, 255, 0.30), 0 20px 40px rgba(0, 0, 0, 0.45); }
.contact-card:hover .cc-avatar-ring { background: rgba(255, 255, 255, 0.2); box-shadow: 0 8px 28px rgba(0, 0, 0, 0.5), 0 0 16px rgba(255, 255, 255, 0.1); }
.cc-glass { position: absolute; inset: 0; background: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.06) 0%, transparent 60%); opacity: 0; transition: opacity 0.4s ease; pointer-events: none; z-index: 0; }
.contact-card:hover .cc-glass { opacity: 1; }
.cc-edge { position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(0, 204, 255, 0.5) 30%, rgba(138, 43, 226, 0.5) 60%, transparent 100%); pointer-events: none; z-index: 2; }
.cc-edge--top { top: 0; } .cc-edge--bottom { bottom: 0; }
.cc-avatar-col { position: relative; z-index: 1; width: 210px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; padding: 40px 30px; background: rgba(255, 255, 255, 0.025); border-right: 1px solid rgba(255, 255, 255, 0.07); }
.cc-avatar-ring { width: 148px; height: 148px; border-radius: 26px; padding: 2px; background: rgba(255, 255, 255, 0.13); box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45); flex-shrink: 0; transition: box-shadow 0.5s cubic-bezier(0.16, 1, 0.3, 1), background 0.5s ease; }
.cc-avatar-ring img { width: 100%; height: 100%; border-radius: 24px; object-fit: cover; display: block; background: var(--bg-void); }
.cc-status { display: flex; align-items: center; gap: 6px; background: rgba(0, 255, 136, 0.1); border: 1px solid rgba(0, 255, 136, 0.25); border-radius: 50px; padding: 4px 10px; }
.cc-status-dot { width: 7px; height: 7px; border-radius: 50%; background: #00ff88; box-shadow: 0 0 6px #00ff88; flex-shrink: 0; animation: cc-dot-pulse 2.5s ease-in-out infinite; }
@keyframes cc-dot-pulse { 0%, 100% { opacity: 1; box-shadow: 0 0 6px #00ff88; } 50% { opacity: 0.5; box-shadow: 0 0 2px #00ff88; } }
.cc-status-label { font-family: 'Poppins', sans-serif; font-weight: 900; font-size: 0.55rem; letter-spacing: 1px; color: #00ff88; text-transform: uppercase; }

.cc-info-col { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; gap: 18px; padding: 34px 34px 30px; }
.cc-identity { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; }
.cc-name { font-family: 'Poppins', sans-serif !important; font-weight: 900 !important; font-size: clamp(1.45rem, 3vw, 2rem); color: #ffffff; text-transform: uppercase; letter-spacing: 2.5px; line-height: 1; margin: 0; }
.cc-title { font-size: 0.72rem; font-weight: 700; color: var(--neon-cyan); text-transform: uppercase; letter-spacing: 1.5px; margin: 5px 0 0; opacity: 0.9; }
.cc-company { margin: 8px 0 0; line-height: 0; display: flex; justify-content: center; }
.cc-company-logo { height: 28px; width: auto; max-width: 100%; display: block; object-fit: contain; object-position: center center; opacity: 0.88; }
.cc-rows { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 16px; padding: 16px 0; border-top: 1px solid rgba(255, 255, 255, 0.08); border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.cc-row { display: flex; align-items: center; gap: 9px; min-width: 0; }
.cc-icon-wrap { width: 30px; height: 30px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 0.78rem; }
.cc-icon--cyan, .cc-icon--purple, .cc-icon--pink, .cc-icon--blue { background: rgba(240, 244, 248, 0.08); color: #F0F4F8; }
.cc-value { font-size: 0.82rem; color: #F0F4F8; line-height: 1.3; transition: color 0.25s ease, text-shadow 0.25s ease; min-width: 0; word-break: break-word; }
.cc-value[role="link"] { cursor: pointer; }
.cc-value[role="link"]:hover, .cc-value[role="link"]:focus { color: var(--neon-cyan); text-shadow: 0 0 10px rgba(0, 224, 255, 0.6); outline: none; }
.cc-link { font-size: 0.82rem; color: #F0F4F8; transition: color 0.25s ease, text-shadow 0.25s ease; min-width: 0; word-break: break-word; }
.cc-link:hover { color: var(--neon-cyan); text-shadow: 0 0 10px rgba(0, 224, 255, 0.6); }
.cc-plain { font-size: 0.82rem; color: #F0F4F8; }
.cc-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.cc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 12px 22px; border-radius: 50px; font-family: 'Poppins', sans-serif !important; font-weight: 900 !important; font-size: 0.62rem; letter-spacing: 1.5px; text-transform: uppercase; cursor: pointer; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); will-change: transform; white-space: nowrap; border: none; flex: 1; }
.cc-btn i { font-size: 0.75rem; }

.cc-btn--save { background: linear-gradient(135deg, #00CCFF, #0066FF); color: #F0F4F8 !important; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45); box-shadow: 0 0 20px rgba(0, 204, 255, 0.3); }
.cc-btn--save:hover, .cc-btn--save:active { transform: translateY(-3px); box-shadow: 0 0 0 2px #00CCFF, 0 0 30px rgba(0, 204, 255, 0.7); }
.cc-btn--share { background: linear-gradient(135deg, #FF00CC, #8A2BE2); color: #F0F4F8 !important; text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45); box-shadow: 0 0 20px rgba(255, 0, 204, 0.3); }
.cc-btn--share:hover, .cc-btn--share:active { transform: translateY(-3px); box-shadow: 0 0 0 2px #FF00CC, 0 0 30px rgba(255, 0, 204, 0.7); }

@keyframes chase-border { 0% { --chase-angle: 0deg; } 100% { --chase-angle: 360deg; } }
@property --chase-angle { syntax: '<angle>'; inherits: false; initial-value: 0deg; }

body.meet-page .cc-book-cta { display: none; }
.cc-book-cta { position: relative; display: inline-flex; align-items: center; justify-content: center; padding: 13px 32px; border-radius: 50px; margin-left: 210px; background: linear-gradient(135deg, #8A2BE2, #0066FF); border: none; color: #F0F4F8; font-family: 'Poppins', sans-serif; font-weight: 900; font-size: 0.68rem; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; cursor: pointer; text-shadow: 0 1px 4px rgba(0,0,0,0.45); box-shadow: 0 0 24px rgba(138, 43, 226, 0.4), 0 4px 20px rgba(0,0,0,0.25); transition: box-shadow 0.35s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); animation: chase-border 2.4s linear infinite; isolation: isolate; }
.cc-book-cta::before { content: ''; position: absolute; inset: -1.5px; border-radius: 50px; background: conic-gradient(from var(--chase-angle), transparent 0deg, transparent 60deg, #8A2BE2 120deg, rgba(138, 43, 226, 0.6) 150deg, transparent 200deg, transparent 360deg); z-index: -1; animation: chase-border 2.4s linear infinite; }
.cc-book-cta::after { content: ''; position: absolute; inset: 1.5px; border-radius: 49px; background: linear-gradient(135deg, #8A2BE2, #0066FF); z-index: -1; }
.cc-book-cta:hover { box-shadow: 0 0 0 2px #8A2BE2, 0 0 36px rgba(138, 43, 226, 0.65), 0 8px 30px rgba(0,0,0,0.3); transform: translateY(-3px); }
.cc-book-cta:hover::before { background: conic-gradient(from var(--chase-angle), transparent 0deg, transparent 40deg, rgba(255, 255, 255, 0.9) 100deg, rgba(200, 150, 255, 0.7) 140deg, transparent 200deg, transparent 360deg); }

/* =========================================
   15. BOOK A TIME (meet.html)
   ========================================= */
.book-section { display: flex; flex-direction: column; align-items: center; }
.book-intro { text-align: center; color: rgba(255, 255, 255, 0.58); max-width: 460px; margin: -8px auto 32px; font-size: 0.975rem; line-height: 1.65; letter-spacing: 0.01em; }
.calendar-embed-wrap { width: 100%; max-width: 900px; margin: 0 auto; border-radius: 24px; overflow: hidden; border: 1px solid var(--glass-border); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2); background: #ffffff; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease; }
.calendar-embed-wrap:hover, .calendar-embed-wrap:active { transform: translateY(-5px); border-color: var(--neon-purple); box-shadow: 0 0 0 2px rgba(189, 0, 255, 0.15), 0 0 24px rgba(189, 0, 255, 0.30), 0 20px 40px rgba(0, 0, 0, 0.45); }
.calendar-embed-wrap iframe { display: block; width: 100%; height: 700px; min-height: 700px; border: none; border-radius: 24px; }
.book-note { text-align: center; margin-top: 20px; font-size: 0.85rem; color: rgba(255, 255, 255, 0.4); }
.book-note .cc-value { cursor: pointer; }
.book-note .cc-value:hover span { color: var(--neon-cyan); }
.book-note .cc-value span { color: rgba(255,255,255,0.65); transition: color 0.2s; }

/* =========================================
   16. MEET PAGE — CONTACT CARD RESPONSIVE OVERRIDES
   ========================================= */
@media (max-width: 768px) {
    .cc-avatar-col { width: 180px; padding: 28px 20px; }
    .cc-avatar-ring { width: 120px; height: 120px; border-radius: 20px; }
    .cc-info-col { padding: 24px 24px 22px; gap: 14px; }
    .cc-name { font-size: 1.5rem; }
    .contact-card-outer { max-width: 100%; }
    .cc-book-cta { margin-left: 180px; }
}

@media (max-width: 640px) {
    .contact-card { flex-direction: column; border-radius: 24px; }
    .cc-avatar-col { width: 100%; flex-direction: column; justify-content: center; align-items: center; padding: 28px 24px 20px; border-right: none; border-bottom: 1px solid rgba(255, 255, 255, 0.08); gap: 14px; }
    .cc-avatar-ring { width: 120px; height: 120px; border-radius: 22px; flex-shrink: 0; }
    .cc-avatar-ring img { border-radius: 20px; }
    .cc-status { margin-top: 0; }
    .cc-identity { align-items: center; text-align: center; }
    .cc-company { justify-content: center; }
    .cc-info-col { padding: 16px 20px 20px; gap: 10px; align-items: center; }
    .cc-rows { grid-template-columns: 1fr 1fr; gap: 8px 12px; width: 100%; max-width: 100%; padding: 12px 0; }
    .cc-row { justify-content: flex-start; }
    .cc-name { font-size: 1.4rem; letter-spacing: 2px; }
    .cc-title { font-size: 0.65rem; letter-spacing: 2px; white-space: nowrap; }
    .cc-actions { width: 100%; flex-direction: row; align-items: stretch; }
    .cc-btn { justify-content: center; padding: 12px 16px; flex: 1; }
    .cc-book-cta { margin-left: 0; }
    .calendar-embed-wrap iframe { height: 800px; min-height: 800px; }
}

@media (max-width: 480px) {
    .cc-avatar-col { padding: 20px 16px 16px; gap: 12px; }
    .cc-avatar-ring { width: 100px; height: 100px; border-radius: 18px; flex-shrink: 0; }
    .cc-avatar-ring img { border-radius: 16px; }
    .cc-name { font-size: 1.15rem; letter-spacing: 2px; }
    .cc-title { font-size: 0.6rem; letter-spacing: 1.5px; }
    .cc-info-col { padding: 12px 14px 16px; gap: 10px; }
    .cc-rows { max-width: 100%; gap: 7px; }
    .contact-card { border-radius: 20px; }
    .cc-company-logo { height: 22px; }
}

/* =========================================
   17. PRINT — CONTACT CARD ON WHITE BACKGROUND
   ========================================= */
#print-card { display: none !important; }

@media print {
    * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }
    @page { size: auto; margin: 20mm; }
    body > *:not(#contact) { display: none !important; }
    #contact { display: block !important; }
    body, #contact { background: #ffffff !important; padding: 0 !important; margin: 0 !important; min-height: 0 !important; }
    .contact-section { min-height: 0 !important; padding: 0 !important; justify-content: flex-start !important; align-items: flex-start !important; }
    .contact-section h2, .cc-book-cta, .cc-edge { display: none !important; }
    .contact-card-outer { max-width: 100% !important; gap: 0 !important; }
    .contact-card { border-radius: 16px !important; box-shadow: 0 4px 24px rgba(0,0,0,0.18) !important; }
    .cc-actions { display: none !important; }
    .cc-status-dot { animation: none !important; }
}

/* =========================================
   17. REDUCED MOTION
   ========================================= */
@media (prefers-reduced-motion: reduce) {
    .cc-status-dot, .cc-nudge-dot, .cc-nudge-arrow { animation: none !important; }
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
    .marquee-track { animation: none; }
    .kenburns-slide { transition: opacity 0.5s ease; transform: none !important; }
    .reveal-target { opacity: 1; transform: none; }
    h2 { transform: none !important; }
    .hero-wordmark-wrap { animation: none !important; opacity: 1 !important; }
    .hero-wordmark-wrap img { animation: none !important; filter: drop-shadow(0 0 5px rgba(0, 224, 255, 0.22)) !important; }
    .hero-wordmark-inline img { animation: none !important; opacity: 1 !important; filter: drop-shadow(0 0 5px rgba(0, 224, 255, 0.22)) !important; }
    .hero-wordmark-chase::before { animation: none !important; opacity: 0.4 !important; }
    .hero-portal-ring, .hero-portal-glow { animation: none !important; opacity: 0 !important; }
    .expandable-toggle { opacity: 1 !important; transform: none !important; animation: none !important; pointer-events: auto !important; }
    .cc-book-cta, .cc-book-cta::before { animation: none !important; }
}