/* ========================================
   HERO SECTION STYLES
   ======================================== */

/* Root Variables */
:root {
    --primary-color: #2563eb;
    --primary-hover: #1d4ed8;
    --text-gray-900: #111827;
    --text-gray-800: #1f2937;
    --text-gray-600: #4b5563;
    --text-gray-500: #6b7280;
    --border-gray-200: #e5e7eb;
    --bg-gray-50: #f9fafb;
    --bg-gray-100: #f3f4f6;
    --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
}

/* Hero Section */
.public-hero {
    position: relative;
    overflow: hidden;
    /* Base gradient */
    background: linear-gradient(to bottom, #ffffff, #f9fafb);
    padding: 4rem 0 6rem 0;
    min-height: 70vh;
}

/* Full-width subtle dotted background */
.public-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle at 1px 1px, rgba(15, 23, 42, 0.06) 1px, transparent 0);
    background-size: 12px 12px;
    opacity: 0.7;
}

/* Flickering Grid Background */
.flickering-grid-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

/* Container */
.public-container {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Grid Layout */
.hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
    min-height: 65vh;
}

/* Hero Content (Left Column) */
.hero-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Badge */
.hero-badge-wrapper {
    margin-bottom: 0.5rem;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: var(--bg-gray-100);
    border: 1px solid var(--border-gray-200);
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-gray-800);
    animation: badgePulse 2s ease-in-out infinite;
}

.badge-icon {
    width: 1rem;
    height: 1rem;
    color: var(--primary-color);
}

@keyframes badgePulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.02);
        opacity: 0.95;
    }
}

/* Title */
.hero-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hero-title {
    margin: 0;
    font-weight: 700;
    line-height: 1.1;
}

.title-line-1 {
    display: block;
    font-size: 2.5rem;
    color: var(--text-gray-900);
    margin-bottom: 0.5rem;
}

.title-line-2 {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
    font-size: 2.5rem;
}

.solar-text {
    color: var(--primary-color);
}

.animated-word {
    display: inline-block;
    color: var(--primary-color);
    min-width: 7ch;
    transition: all 0.3s ease;
}

.animated-word.fade-out {
    opacity: 0;
    transform: translateY(4px);
}

.animated-word.fade-in {
    opacity: 1;
    transform: translateY(0);
}

/* Description */
.hero-description {
    font-size: 1.25rem;
    line-height: 1.75;
    color: var(--text-gray-800);
    margin: 0;
    max-width: 600px;
}

/* Buttons */
.hero-buttons-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.hero-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    white-space: nowrap;
}

.btn-primary {
    background-color: var(--primary-color);
    color: white;
    border: 2px solid var(--primary-color);
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-lg);
}

.btn-arrow {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.2s ease;
}

.btn-primary:hover .btn-arrow {
    transform: translateX(4px);
}

.btn-secondary {
    background-color: white;
    color: var(--text-gray-900);
    border: 2px solid var(--border-gray-200);
}

.btn-secondary:hover {
    background-color: var(--bg-gray-50);
    border-color: var(--text-gray-900);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.play-icon {
    font-size: 0.875rem;
}

/* Trust Indicators */
.hero-trust-indicators {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.trust-items {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    font-size: 0.875rem;
    color: var(--text-gray-600);
}

.trust-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.bullet {
    color: var(--text-gray-500);
}

.trust-footer {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-gray-900);
}

/* Hero Image Container (Right Column) */
.hero-image-container {
    margin-top: 2rem;
}

.hero-mockup-wrapper {
    position: relative;
}

/* CRM Browser Mockup */
.crm-browser {
    background-color: white;
    border-radius: 1rem;
    box-shadow: var(--shadow-2xl);
    border: 1px solid var(--border-gray-200);
    overflow: hidden;
}

.browser-header {
    background-color: var(--bg-gray-50);
    padding: 1rem 1.5rem;
    border-bottom: 1px solid var(--border-gray-200);
    display: flex;
    align-items: center;
}

.browser-dots {
    display: flex;
    gap: 0.5rem;
}

.dot {
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
}

.dot-red {
    background-color: #ef4444;
}

.dot-yellow {
    background-color: #fbbf24;
}

.dot-green {
    background-color: #10b981;
}

.browser-content {
    position: relative;
    height: 14rem;
    overflow: hidden;
    background-color: white;
}

.crm-screenshot {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: all 0.5s ease;
}

.crm-screenshot.is-fading-out {
    opacity: 0;
    transform: scale(1.02);
}

.crm-screenshot.is-fading-in {
    opacity: 1;
    transform: scale(1);
}

.hero-slider-dots {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 0.75rem;
}

.hero-slider-dot {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    border: none;
    background-color: var(--border-gray-200);
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.hero-slider-dot.is-active {
    width: 1.5rem;
    background-color: #1e3a8a;
}

/* Floating Feature Cards (Hero) */
.hero-floating-features {
    display: none;
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.hero-floating-features .hero-feature-card {
    position: absolute;
    background-color: white;
    border-radius: 0.75rem;
    box-shadow: var(--shadow-lg);
    padding: 1rem;
    border: 1px solid var(--border-gray-200);
    display: flex;
    align-items: center;
    gap: 0.75rem;
    transition: all 0.7s ease-out;
    opacity: 0;
    transform: translateX(-32px);
}

.hero-floating-features .hero-feature-card.visible {
    opacity: 1;
    transform: translateX(0);
}

.feature-pos-top-left {
    top: -1.5rem;
    left: -1.5rem;
}

.feature-pos-top-right {
    top: -1.5rem;
    right: -1.5rem;
}

.feature-pos-bottom-left {
    bottom: -2rem;
    left: -2rem;
}

.feature-pos-bottom-right {
    bottom: -2rem;
    right: -2rem;
}

.feature-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
}

.feature-card:hover .feature-icon {
    transform: scale(1.1);
}

.icon-green {
    background-color: #d1fae5;
    color: #059669;
}

.icon-blue {
    background-color: #dbeafe;
    color: #2563eb;
}

.feature-icon svg {
    width: 1.25rem;
    height: 1.25rem;
}

.feature-content {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.feature-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-gray-800);
    margin: 0;
}

.feature-desc {
    font-size: 0.75rem;
    color: var(--text-gray-500);
    margin: 0;
}

/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

/* Small Devices (sm: 640px and up) */
@media (min-width: 640px) {
    .public-container {
        padding: 0 1.5rem;
    }

    .hero-floating-features {
        display: block;
    }

    .browser-content {
        height: 18rem;
    }
}

/* Medium Devices (md: 768px and up) */
@media (min-width: 768px) {
    .public-hero {
        padding: 5rem 0 8rem 0;
    }

    .hero-content {
        gap: 2rem;
    }

    .hero-badge-wrapper {
        margin-bottom: 1rem;
    }

    .title-line-1,
    .title-line-2 {
        font-size: 3rem;
    }

    .hero-description {
        font-size: 1.25rem;
    }

    .hero-buttons {
        flex-direction: row;
    }

    .browser-content {
        height: 24rem;
    }
}

/* Large Devices (lg: 1024px and up) */
@media (min-width: 1024px) {
    .public-container {
        padding: 0 2rem;
    }

    .hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
        min-height: 70vh;
    }

    .hero-image-container {
        margin-top: 0;
    }

    .title-line-1,
    .title-line-2 {
        font-size: 3.5rem;
    }

    .hero-description {
        font-size: 1.5rem;
    }
}

/* Extra Large Devices (xl: 1280px and up) */
@media (min-width: 1280px) {
    .hero-grid {
        gap: 4rem;
    }

    .title-line-1,
    .title-line-2 {
        font-size: 3.75rem;
    }
}

/* 2XL Devices (2xl: 1536px and up) */
@media (min-width: 1536px) {

    .title-line-1,
    .title-line-2 {
        font-size: 4rem;
    }
}

/* ========================================
   BUTTON RIPPLE EFFECT
   ======================================== */

.hero-btn {
    position: relative;
    overflow: hidden;
}

.ripple-effect {
    position: absolute;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.6);
    transform: scale(0);
    animation: ripple-animation 0.6s ease-out;
    pointer-events: none;
}

@keyframes ripple-animation {
    to {
        transform: scale(4);
        opacity: 0;
    }
}

/* ========================================
   OPERATIONS FLOW SECTION
   ======================================== */

.operations-flow {
    padding: 3rem 0 4rem 0;
    background: linear-gradient(to bottom, #EAF1F6, #E6EFF5, #EAF1F6);
}

.ops-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Header */
.ops-header {
    text-align: center;
    margin-bottom: 2.5rem;
}

.ops-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.75rem 0;
    line-height: 1.3;
}

.ops-title-highlight {
    display: block;
    color: #22313F;
    margin-top: 0.25rem;
}

.ops-subtitle {
    font-size: 1rem;
    line-height: 1.75;
    color: #374151;
    font-weight: 500;
    max-width: 48rem;
    margin: 0 auto;
}

/* Flow Wrapper */
.ops-flow-wrapper {
    margin-bottom: 3rem;
}

.ops-flow-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    max-width: 72rem;
    margin: 0 auto;
}

/* Step Cards */
.ops-step {
    position: relative;
    width: 100%;
    opacity: 0;
    transform: translateY(50px) scale(0.9);
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.ops-step.animate-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.ops-step-1.animate-in {
    transition-delay: 0.1s;
}

.ops-step-2.animate-in {
    transition-delay: 0.25s;
}

.ops-step-3.animate-in {
    transition-delay: 0.4s;
}

.ops-card {
    position: relative;
    border-radius: 1rem;
    padding: 1.25rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.ops-card:hover {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Card Variants */
.ops-card-dark {
    background: linear-gradient(135deg, #22313F 0%, #2C4A60 100%);
}

.ops-card-medium {
    background: linear-gradient(135deg, #2C4A60 0%, #5A7CA7 100%);
}

.ops-card-light {
    background: linear-gradient(135deg, #5A7CA7 0%, #4FC3F7 100%);
}

/* Badge */
.ops-badge {
    position: absolute;
    top: -0.75rem;
    right: -0.75rem;
    width: 2.25rem;
    height: 2.25rem;
    background-color: #4FC3F7;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.ops-badge-dark {
    background-color: #22313F;
}

/* Icon */
.ops-icon-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.ops-icon-bg {
    width: 3.5rem;
    height: 3.5rem;
    background-color: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ops-icon {
    width: 2rem;
    height: 2rem;
    color: #4FC3F7;
}

.ops-step-2 .ops-icon {
    color: #B3E5FC;
}

.ops-icon-white {
    color: white;
}

/* Card Text */
.ops-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: white;
    text-align: center;
    margin: 0 0 0.375rem 0;
}

.ops-card-desc {
    color: #B3E5FC;
    text-align: center;
    font-size: 0.75rem;
    margin: 0;
}

/* Arrows */
.ops-arrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease-out;
}

.ops-arrow.animate-in {
    opacity: 1;
}

.ops-arrow-horizontal {
    display: none;
    width: 4rem;
    flex-shrink: 0;
}

.ops-arrow-vertical {
    display: flex;
    height: 4rem;
    position: relative;
}

.ops-arrow-rotated {
    transform: rotate(90deg);
}

.ops-arrow-icon {
    width: 1.75rem;
    height: 1.75rem;
    color: #4FC3F7;
    position: relative;
    z-index: 10;
}

/* Particles */
.ops-particle,
.ops-particle-vertical {
    position: absolute;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 50%;
    background-color: #4FC3F7;
    box-shadow: 0 0 12px #4FC3F7, 0 0 24px #4FC3F7;
    opacity: 0;
}

/* Horizontal Particles */
.ops-particle-1 {
    animation: particleFlowH 2s ease-in-out infinite;
}

.ops-particle-2 {
    animation: particleFlowH 2s ease-in-out 1s infinite;
}

.ops-particle-3 {
    animation: particleFlowH 2s ease-in-out 0.5s infinite;
}

.ops-particle-4 {
    animation: particleFlowH 2s ease-in-out 1.5s infinite;
}

@keyframes particleFlowH {
    0% {
        transform: translateX(-2.5rem) scale(0.5);
        opacity: 0;
    }

    30% {
        opacity: 1;
        transform: translateX(-0.5rem) scale(1);
    }

    70% {
        opacity: 1;
        transform: translateX(0.5rem) scale(1);
    }

    100% {
        transform: translateX(2.5rem) scale(0.5);
        opacity: 0;
    }
}

/* Vertical Particles */
.ops-particle-v-1 {
    animation: particleFlowV 2s ease-in-out infinite;
}

.ops-particle-v-2 {
    animation: particleFlowV 2s ease-in-out 1s infinite;
}

.ops-particle-v-3 {
    animation: particleFlowV 2s ease-in-out 0.5s infinite;
}

.ops-particle-v-4 {
    animation: particleFlowV 2s ease-in-out 1.5s infinite;
}

@keyframes particleFlowV {
    0% {
        transform: translateY(-2.5rem) scale(0.5);
        opacity: 0;
    }

    30% {
        opacity: 1;
        transform: translateY(-0.5rem) scale(1);
    }

    70% {
        opacity: 1;
        transform: translateY(0.5rem) scale(1);
    }

    100% {
        transform: translateY(2.5rem) scale(0.5);
        opacity: 0;
    }
}

/* ========================================
   RESPONSIVE DESIGN - OPERATIONS FLOW
   ======================================== */

/* Medium Devices (md: 768px and up) */
@media (min-width: 768px) {
    .operations-flow {
        padding: 4rem 0 5rem 0;
    }

    .ops-header {
        margin-bottom: 3rem;
    }

    .ops-title {
        font-size: 2.25rem;
        margin-bottom: 1rem;
    }

    .ops-subtitle {
        font-size: 1.125rem;
    }

    .ops-card {
        padding: 1.25rem;
    }

    .ops-card-title {
        font-size: 1.25rem;
    }
}

/* Large Devices (lg: 1024px and up) */
@media (min-width: 1024px) {
    .ops-container {
        padding: 0 2rem;
    }

    .ops-flow-container {
        flex-direction: row;
        gap: 0.75rem;
    }

    .ops-step {
        width: calc(33.333% - 0.5rem);
    }

    .ops-arrow-horizontal {
        display: flex;
    }

    .ops-arrow-vertical {
        display: none;
    }

    .ops-title {
        font-size: 2.5rem;
    }
}

/* ========================================
   TESTIMONIALS SECTION
   ======================================== */

.testimonials-section {
    padding: 2rem 0 2.5rem 0;
    background-color: #f9fafb;
}

.testimonials-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Header */
.testimonials-header {
    text-align: center;
    margin-bottom: 1.5rem;
}

.testimonials-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.5rem 0;
}

.testimonials-subtitle {
    font-size: 0.875rem;
    color: #1f2937;
    margin: 0;
}

/* Carousel */
.testimonials-carousel-wrapper {
    overflow: hidden;
    border-radius: 1rem;
}

.testimonials-carousel {
    display: flex;
    transition: transform 600ms ease;
}

.testimonials-page {
    width: 100%;
    flex-shrink: 0;
}

.testimonials-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

/* Testimonial Cards */
.testimonial-card {
    background-color: white;
    border-radius: 0.75rem;
    padding: 1rem 1.25rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
    animation: fadeInUp 0.6s ease-out backwards;
}

.testimonial-card:nth-child(1) {
    animation-delay: 0s;
}

.testimonial-card:nth-child(2) {
    animation-delay: 0.08s;
}

.testimonial-card:nth-child(3) {
    animation-delay: 0.16s;
}

.testimonial-card:hover {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    ring: 1px solid #bfdbfe;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Stars */
.testimonial-stars {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
    color: #fbbf24;
}

.star-icon {
    width: 1rem;
    height: 1rem;
}

/* Quote Icon */
.quote-icon {
    width: 1.5rem;
    height: 1.5rem;
    color: rgba(37, 99, 235, 0.3);
    margin-bottom: 0.25rem;
}

/* Content */
.testimonial-content {
    color: #1f2937;
    font-size: 0.875rem;
    line-height: 1.625;
    font-style: italic;
    margin: 0 0 0.75rem 0;
}

/* Author */
.testimonial-author {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.author-avatar {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: rgba(37, 99, 235, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2563eb;
    font-weight: 700;
    font-size: 0.75rem;
    flex-shrink: 0;
    transition: ring 0.2s ease;
}

.testimonial-card:hover .author-avatar {
    ring: 2px solid #bfdbfe;
}

.author-info {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

.author-name {
    font-weight: 600;
    color: #111827;
    font-size: 0.875rem;
}

.author-role {
    font-size: 0.6875rem;
    color: #1f2937;
}

.author-company {
    font-size: 0.6875rem;
    color: #374151;
}

/* Pagination */
.testimonials-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.25rem;
}

.pagination-dot {
    height: 0.625rem;
    width: 0.625rem;
    border-radius: 50%;
    background-color: #2563eb;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.pagination-dot:hover {
    background-color: #1d4ed8;
}

.pagination-dot.active {
    width: 1.5rem;
    background-color: #93c5fd;
    border-radius: 0.625rem;
}

/* ========================================
   MOBILE APP SECTION
   ======================================== */

.mobile-app-section {
    position: relative;
    overflow: hidden;
    padding: 4rem 0 5rem 0;
    background: linear-gradient(to bottom, #f9fafb, white);
}

.mobile-app-bg-gradient {
    position: absolute;
    top: -6rem;
    left: 50%;
    transform: translateX(-50%);
    width: 44rem;
    height: 13rem;
    background: linear-gradient(135deg, rgba(199, 210, 254, 0.4), rgba(186, 230, 253, 0.3), transparent);
    filter: blur(48px);
    opacity: 0.6;
    pointer-events: none;
}

.mobile-app-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

.mobile-app-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}

/* Content */
.mobile-app-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mobile-app-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid #e5e7eb;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
    font-size: 0.75rem;
    font-weight: 500;
    color: #374151;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.mobile-app-title {
    margin: 0.75rem 0 0 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    letter-spacing: -0.025em;
}

.mobile-app-subtitle {
    margin: 0.75rem 0 0 0;
    font-size: 1rem;
    line-height: 1.75;
    color: #1f2937;
}

/* Feature Points */
.mobile-app-points {
    margin-top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.mobile-point {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
    background-color: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(8px);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}

.mobile-point:hover {
    background-color: white;
}

.mobile-point-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    background-color: #dcfce7;
    flex-shrink: 0;
}

.mobile-point-icon svg {
    width: 1rem;
    height: 1rem;
    color: #16a34a;
}

.mobile-point-text {
    color: #1f2937;
    font-size: 0.875rem;
}

/* Phone Mockup */
.mobile-app-visual {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.mobile-phone-wrapper {
    position: relative;
}

.mobile-phone-glow {
    position: absolute;
    inset: -1.5rem;
    border-radius: 2.25rem;
    background: linear-gradient(135deg, rgba(199, 210, 254, 0.4), rgba(186, 230, 253, 0.3), transparent);
    filter: blur(32px);
}

.mobile-phone-device {
    position: relative;
    width: 14rem;
    height: 24rem;
    border-radius: 2rem;
    border: 1px solid #e5e7eb;
    background-color: white;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.mobile-phone-frame {
    position: absolute;
    inset: 0;
    border-radius: 2rem;
    padding: 0.75rem;
}

.mobile-phone-screen {
    height: 100%;
    border-radius: 1.5rem;
    background: linear-gradient(to bottom, #f9fafb, #f3f4f6);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
}

.mobile-phone-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 1rem;
}

.mobile-dots {
    display: flex;
    align-items: center;
    gap: 0.375rem;
}

.mobile-dots span {
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
}

.dot-red {
    background-color: #f87171;
}

.dot-yellow {
    background-color: #fbbf24;
}

.dot-green {
    background-color: #34d399;
}

.mobile-logo {
    font-size: 0.625rem;
    color: #9ca3af;
}

.mobile-phone-content {
    margin-top: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 72%;
    padding: 0 1rem;
}

.mobile-app-image {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 0.5rem;
}

.mobile-phone-footer {
    padding: 0 1rem 1rem 1rem;
}

.mobile-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.625rem;
    border-radius: 9999px;
    background-color: #dcfce7;
    font-size: 0.625rem;
    font-weight: 500;
    color: #15803d;
    box-shadow: inset 0 0 0 1px #86efac;
}

.status-dot {
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 50%;
    background-color: #22c55e;
}

.mobile-check-badge {
    position: absolute;
    top: -1rem;
    right: -1rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background-color: #4f46e5;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    ring: 4px solid rgba(255, 255, 255, 0.7);
    font-size: 0.75rem;
    font-weight: 600;
}

/* ========================================
   RESPONSIVE - TESTIMONIALS & MOBILE APP
   ======================================== */

/* Medium Devices (md: 768px and up) */
@media (min-width: 768px) {
    .testimonials-section {
        padding: 2.5rem 0 3rem 0;
    }

    .testimonials-title {
        font-size: 1.875rem;
        margin-bottom: 0.5rem;
    }

    .testimonials-subtitle {
        font-size: 1rem;
    }

    .testimonials-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
    }

    .testimonial-content {
        font-size: 1rem;
    }

    .author-name {
        font-size: 1rem;
    }

    .author-role,
    .author-company {
        font-size: 0.75rem;
    }

    .mobile-app-title {
        font-size: 2.25rem;
    }

    .mobile-app-subtitle {
        font-size: 1.125rem;
    }

    .mobile-point-text {
        font-size: 1rem;
    }

    .mobile-phone-device {
        width: 16rem;
        height: 26rem;
    }

    .mobile-check-badge {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 0.875rem;
    }
}

/* Large Devices (lg: 1024px and up) */
@media (min-width: 1024px) {
    .mobile-app-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    .mobile-app-visual {
        margin-top: 0;
    }
}

/* ========================================
   CTA SECTION
   ======================================== */

.cta-section {
    position: relative;
    padding: 2rem 0 2.5rem 0;
    overflow: hidden;
}

/* Backgrounds */
.cta-bg-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, #0f172a, #0f172a, #1e293b);
}

.cta-bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(37, 99, 235, 0.2), transparent);
}

.cta-bg-dots {
    position: absolute;
    inset: 0;
    opacity: 0.25;
    pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, 0.6) 1px, transparent 1px);
    background-size: 14px 14px;
}

.cta-container {
    position: relative;
    max-width: 72rem;
    margin: 0 auto;
    padding: 0 1rem;
}

.cta-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: center;
}

/* Image */
.cta-image-wrapper {
    display: none;
    border-radius: 0.75rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background-color: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);
    padding: 0.75rem;
}

.cta-image-inner {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    aspect-ratio: 16 / 9;
    min-height: 200px;
}

.cta-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Content */
.cta-content {
    text-align: left;
}

.cta-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: white;
    margin: 0 0 0.5rem 0;
}

.cta-description {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.9);
    margin: 0 0 0.75rem 0;
    max-width: 40rem;
    line-height: 1.5;
}

.cta-highlight {
    font-weight: 600;
    color: white;
}

/* Buttons */
.cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
}

.cta-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 600;
    color: white;
    background-color: #2563eb;
    border: none;
    border-radius: 0.375rem;
    text-decoration: none;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
    cursor: pointer;
}

.cta-btn-primary:hover {
    background-color: #1d4ed8;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.cta-btn-icon {
    width: 1rem;
    height: 1rem;
}

.cta-subtext {
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.6875rem;
    font-style: italic;
    margin: 0;
}

/* Footer */
.cta-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-size: 0.75rem;
}

.cta-footer-item {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.cta-footer-icon {
    width: 1rem;
    height: 1rem;
}

.cta-footer-separator {
    opacity: 0.5;
}

.cta-btn-outline {
    display: inline-flex;
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    border: 2px solid white;
    color: white;
    background-color: transparent;
    border-radius: 0.375rem;
    text-decoration: none;
    transition: all 0.2s ease;
}

.cta-btn-outline:hover {
    background-color: white;
    color: #2563eb;
}

.cta-footer-note {
    opacity: 0.6;
}

/* ========================================
   FOOTER
   ======================================== */

.site-footer {
    position: relative;
    background: linear-gradient(to bottom, #111827, #111827, #000000);
    color: white;
    overflow: hidden;
}

/* Background Pattern */
.footer-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.3;
    background-image: radial-gradient(circle at 2px 2px, rgba(255, 255, 255, 0.15) 1px, transparent 0);
    background-size: 48px 48px;
}

.footer-bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5), transparent);
}

.footer-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 2rem 1rem 2rem 1rem;
}

/* Grid */
.footer-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

/* Brand Section */
.footer-brand {
    grid-column: span 1;
}

.footer-logo-wrapper {
    margin-bottom: 0.75rem;
}

.footer-logo {
    height: 2.5rem;
    width: auto;
}

.footer-brand-text {
    color: #d1d5db;
    font-size: 0.875rem;
    line-height: 1.625;
    margin: 0 0 1rem 0;
    max-width: 28rem;
    font-weight: 500;
}

/* Social Links */
.footer-socials {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.footer-social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 0.5rem;
    background-color: #1f2937;
    color: white;
    text-decoration: none;
    transition: all 0.3s ease;
}

.footer-social-link:hover {
    background-color: #2563eb;
    transform: scale(1.1);
}

.footer-social-link svg {
    width: 1.25rem;
    height: 1.25rem;
}

/* Footer Columns */
.footer-column {
    display: flex;
    flex-direction: column;
}

.footer-column-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: white;
    margin: 0 0 0.75rem 0;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.footer-link {
    color: #d1d5db;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.2s ease;
    display: inline-block;
    font-weight: 600;
}

.footer-link:hover {
    color: white;
    transform: translateX(4px);
}

/* Bottom Bar */
.footer-bottom {
    border-top: 1px solid rgba(31, 41, 55, 0.5);
    padding-top: 1.5rem;
}

.footer-bottom-content {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer-bottom-left {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    color: #d1d5db;
    font-size: 0.75rem;
    font-weight: 500;
}

.footer-bottom-left p {
    margin: 0;
}

.footer-separator {
    display: none;
    color: #6b7280;
}

.footer-highlight {
    font-weight: 600;
    color: #d1d5db;
}

.footer-heart {
    color: #ef4444;
}

.footer-bottom-right {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.75rem;
}

.footer-bottom-link {
    color: #d1d5db;
    text-decoration: none;
    transition: color 0.2s ease;
    font-weight: 600;
}

.footer-bottom-link:hover {
    color: white;
}

/* ========================================
   RESPONSIVE - CTA & FOOTER
   ======================================== */

/* Small Devices (sm: 640px and up) */
@media (min-width: 640px) {
    .cta-buttons {
        flex-direction: row;
        align-items: center;
    }

    .cta-btn-primary {
        width: auto;
    }

    .footer-bottom-left {
        flex-direction: row;
        align-items: center;
        gap: 0.5rem;
    }

    .footer-separator {
        display: inline;
    }

    .footer-container {
        padding: 3rem 1.5rem 3rem 1.5rem;
    }

    .footer-logo {
        height: 3rem;
    }
}

/* Medium Devices (md: 768px and up) */
@media (min-width: 768px) {
    .cta-section {
        padding: 2.5rem 0 3rem 0;
    }

    .cta-grid {
        grid-template-columns: 360px 1fr;
        gap: 1.5rem;
    }

    .cta-image-wrapper {
        display: flex;
    }

    .cta-title {
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .cta-description {
        font-size: 0.875rem;
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem;
        margin-bottom: 3rem;
    }

    .footer-bottom-content {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .footer-bottom-left {
        gap: 0.5rem;
    }

    .footer-bottom-right {
        gap: 1.5rem;
        font-size: 0.875rem;
    }
}

/* Large Devices (lg: 1024px and up) */
@media (min-width: 1024px) {
    .footer-grid {
        /* Brand column + 4 equal link columns on a single row */
        grid-template-columns: 1.5fr 1fr 1fr 1fr 1fr;
        gap: 2.5rem;
    }

    .footer-brand {
        grid-column: span 1;
    }

    .footer-container {
        padding: 2rem 2rem 2rem 2rem;
    }
}

/* Small devices - footer column titles */
@media (min-width: 640px) {
    .footer-column-title {
        font-size: 0.875rem;
        margin-bottom: 1rem;
    }

    .footer-links {
        gap: 0.75rem;
    }

    .footer-socials {
        gap: 0.75rem;
    }

    .footer-social-link {
        width: 2.5rem;
        height: 2.5rem;
    }
}

/* ========================================
   PROBLEM-SOLUTION SHOWCASE
   ======================================== */

.ps-showcase {
    padding: 4rem 0 5rem;
    background: linear-gradient(180deg, #f9fafb 0%, #ffffff 100%);
}

.ps-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Header */
.ps-header {
    text-align: center;
    margin-bottom: 3rem;
}

.ps-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.25rem;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border: 1px solid #93c5fd;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #1e40af;
    margin-bottom: 1.25rem;
}

.ps-badge svg {
    width: 1rem;
    height: 1rem;
}

.ps-title {
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1rem;
    line-height: 1.2;
}

.ps-title span {
    color: #2563eb;
}

.ps-subtitle {
    font-size: 1.125rem;
    color: #6b7280;
    margin: 0;
}

/* Slider Wrapper */
.ps-slider-wrap {
    position: relative;
    margin-top: 2.5rem;
}

/* Navigation */
.ps-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    background: white;
    border: none;
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.15);
    color: #374151;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.ps-nav:hover {
    background: #2563eb;
    color: white;
    box-shadow: 0 20px 25px -5px rgba(37, 99, 235, 0.3);
    transform: translateY(-50%) scale(1.1);
}

.ps-nav svg {
    width: 1.5rem;
    height: 1.5rem;
}

.ps-prev {
    left: -1.5rem;
}

.ps-next {
    right: -1.5rem;
}

/* Slider Track */
.ps-track {
    position: relative;
    overflow: hidden;
}

.ps-slide {
    display: none;
    animation: slideIn 0.5s ease;
}

.ps-slide.active {
    display: block;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Grid */
.ps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: start;
}

/* Problem Side */
.ps-problem {
    background: linear-gradient(135deg, #fef2f2, #fee2e2);
    border: 2px solid #fca5a5;
    border-radius: 1.25rem;
    padding: 2rem;
    position: relative;
}

.ps-prob-badge {
    display: inline-block;
    padding: 0.375rem 0.875rem;
    background: #dc2626;
    color: white;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.ps-prob-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.ps-problem h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #991b1b;
    margin: 0 0 0.75rem;
    line-height: 1.3;
}

.ps-problem p {
    font-size: 1rem;
    color: #7c2d12;
    line-height: 1.6;
    margin: 0 0 1.5rem;
}

.ps-stats {
    display: flex;
    gap: 1.5rem;
}

.ps-stats div {
    flex: 1;
}

.ps-stats strong {
    display: block;
    font-size: 1.875rem;
    font-weight: 800;
    color: #dc2626;
    margin-bottom: 0.25rem;
}

.ps-stats span {
    display: block;
    font-size: 0.875rem;
    color: #991b1b;
    font-weight: 500;
}

/* Solution Side */
.ps-solution {
    background: white;
    border: 2px solid #e5e7eb;
    border-radius: 1.25rem;
    padding: 2rem;
}

.ps-sol-badge {
    display: inline-block;
    padding: 0.375rem 0.875rem;
    background: linear-gradient(135deg, #10b981, #059669);
    color: white;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.ps-solution h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 0.75rem;
    line-height: 1.3;
}

.ps-solution>p {
    font-size: 1rem;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 1.5rem;
}

/* Visual Card */
.ps-visual {
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    border: 2px solid #cbd5e1;
    border-radius: 0.875rem;
    overflow: hidden;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
}

.ps-vis-head {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.875rem 1rem;
    background: #1e293b;
    border-bottom: 1px solid #334155;
}

.ps-dots {
    display: flex;
    gap: 0.375rem;
}

.ps-dots span {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background: #64748b;
}

.ps-dots span:nth-child(1) {
    background: #ef4444;
}

.ps-dots span:nth-child(2) {
    background: #f59e0b;
}

.ps-dots span:nth-child(3) {
    background: #10b981;
}

.ps-vis-head>span {
    font-size: 0.75rem;
    font-weight: 600;
    color: #cbd5e1;
}

.ps-visual img {
    width: 100%;
    height: auto;
    display: block;
}

.ps-vis-foot {
    padding: 1rem;
    background: white;
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.ps-check {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: #374151;
}

.ps-check svg {
    width: 1.25rem;
    height: 1.25rem;
    color: #10b981;
    flex-shrink: 0;
}

/* Pagination Dots */
.ps-slider-wrap>.ps-dots {
    display: flex;
    justify-content: center;
    gap: 0.625rem;
    margin-top: 2rem;
}

.ps-slider-wrap>.ps-dots button {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.ps-slider-wrap>.ps-dots button:hover {
    background: #9ca3af;
}

.ps-slider-wrap>.ps-dots button.active {
    width: 2rem;
    background: #2563eb;
    border-radius: 0.3125rem;
}

/* Responsive */
@media (min-width: 768px) {
    .ps-title {
        font-size: 2.5rem;
    }

    .ps-prev {
        left: -2rem;
    }

    .ps-next {
        right: -2rem;
    }
}

@media (min-width: 1024px) {
    .ps-title {
        font-size: 3rem;
    }

    .ps-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    .ps-problem,
    .ps-solution {
        padding: 2.5rem;
    }
}

/* ========================================
   ABOUT PAGE - HERO SECTION
   ======================================== */

.about-hero-section {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 50%, #f0fdf4 100%);
    padding: 5rem 0 6rem;
}

.about-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%239C92AC' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.about-hero-blob {
    position: absolute;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    mix-blend-mode: multiply;
    filter: blur(4rem);
    animation: about-pulse 4s ease-in-out infinite;
}

.about-hero-blob-1 {
    top: 5rem;
    left: 2.5rem;
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.2), rgba(134, 239, 172, 0.2));
}

.about-hero-blob-2 {
    bottom: 5rem;
    right: 2.5rem;
    background: linear-gradient(135deg, rgba(167, 139, 250, 0.2), rgba(244, 114, 182, 0.2));
    animation-delay: 2s;
}

@keyframes about-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.2;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.3;
    }
}

.about-hero-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

.about-hero-content {
    text-align: center;
}

.about-hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1.5rem;
    line-height: 1.2;
}

.about-hero-description {
    font-size: 1.25rem;
    color: #4b5563;
    margin: 0 0 4rem;
    max-width: 56rem;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.75;
}

.about-hero-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
    max-width: 64rem;
    margin: 0 auto;
}

.about-hero-stat {
    text-align: center;
}

.about-hero-stat-icon {
    width: 4rem;
    height: 4rem;
    background: linear-gradient(135deg, #3b82f6, #8b5cf6);
    border-radius: 1rem;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.about-hero-stat-icon svg {
    width: 2rem;
    height: 2rem;
}

.about-hero-stat-value {
    font-size: 1.875rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.5rem;
}

.about-hero-stat-label {
    font-size: 1rem;
    color: #6b7280;
}

/* ========================================
   ABOUT PAGE - VALUES SECTION
   ======================================== */

.values-section {
    padding: 4rem 0 5rem;
    background-color: #f9fafb;
}

.values-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

.values-header {
    text-align: center;
    margin-bottom: 4rem;
}

.values-badge {
    font-size: 1rem;
    font-weight: 600;
    color: #2563eb;
    margin-bottom: 0.5rem;
}

.values-title {
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1rem;
}

.values-subtitle {
    font-size: 1.125rem;
    color: #6b7280;
    margin: 0;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
}

.values-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.value-card {
    text-align: center;
    padding: 2rem 1.5rem;
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.value-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.value-icon-wrapper {
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #dbeafe;
}

.value-icon {
    width: 2rem;
    height: 2rem;
    color: #2563eb;
}

.value-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 0.75rem;
}

.value-description {
    font-size: 0.9375rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.6;
}

/* ========================================
   ABOUT PAGE - WHY CHOOSE US
   ======================================== */

.why-choose-section {
    padding: 4rem 0 5rem;
    background-color: white;
}

.why-choose-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem;
}

.why-choose-header {
    text-align: center;
    margin-bottom: 4rem;
}

.why-choose-title {
    font-size: 2rem;
    font-weight: 700;
    color: #111827;
    margin: 0 0 1rem;
}

.why-choose-subtitle {
    font-size: 1.125rem;
    color: #6b7280;
    margin: 0;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
}

.why-choose-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.why-choose-card {
    text-align: center;
    padding: 2rem 1.5rem;
    background-color: #f9fafb;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid #e5e7eb;
    transition: all 0.3s ease;
}

.why-choose-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
}

.why-choose-icon-wrapper {
    width: 4rem;
    height: 4rem;
    border-radius: 1rem;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #dbeafe;
}

.why-choose-icon {
    width: 2rem;
    height: 2rem;
    color: #2563eb;
}

.why-choose-card-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 0.75rem;
}

.why-choose-card-description {
    font-size: 0.9375rem;
    color: #6b7280;
    margin: 0;
    line-height: 1.6;
}

/* ========================================
   ABOUT PAGE - PATTERN CTA
   ======================================== */

.pattern-cta {
    position: relative;
    background: linear-gradient(135deg, #1e293b 0%, #334155 50%, #4338ca 100%);
    overflow: hidden;
}

.pattern-cta-bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.3'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
}

.pattern-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(59, 130, 246, 0.2) 0%, transparent 50%, rgba(79, 70, 229, 0.2) 100%);
}

.pattern-cta-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 3rem 1rem 4rem;
}

.pattern-cta-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    margin-bottom: 2rem;
}

.pattern-cta-content {
    flex: 1;
    text-align: center;
}

.pattern-cta-title {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    margin: 0 0 0.75rem;
    line-height: 1.3;
}

.pattern-cta-subtitle {
    font-size: 1.125rem;
    color: #cbd5e1;
    margin: 0;
    line-height: 1.75;
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
}

.pattern-cta-actions {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-shrink: 0;
}

.pattern-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    border-radius: 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.pattern-cta-btn:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15);
    transform: scale(1.05);
}

.pattern-cta-btn-primary {
    background: linear-gradient(135deg, #2563eb, #4f46e5);
    color: white;
}

.pattern-cta-btn-primary:hover {
    background: linear-gradient(135deg, #1d4ed8, #4338ca);
}

.pattern-cta-btn-primary svg {
    width: 1rem;
    height: 1rem;
    transition: transform 0.3s ease;
}

.pattern-cta-btn-primary:hover svg {
    transform: translateX(4px);
}

.pattern-cta-btn-secondary {
    background: white;
    color: #111827;
    border: 1px solid white;
}

.pattern-cta-btn-secondary:hover {
    background: #f1f5f9;
}

.pattern-cta-trust {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(203, 213, 225, 0.3);
}

.pattern-cta-trust-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #94a3b8;
    font-size: 0.875rem;
}

.pattern-cta-trust-item svg {
    width: 1rem;
    height: 1rem;
    color: #10b981;
    flex-shrink: 0;
}

/* ========================================
   RESPONSIVE - ABOUT PAGE
   ======================================== */

@media (min-width: 640px) {
    .pattern-cta-actions {
        flex-direction: row;
    }

    .pattern-cta-trust {
        flex-direction: row;
        justify-content: center;
    }
}

@media (min-width: 768px) {
    .about-hero-title {
        font-size: 3.75rem;
    }

    .about-hero-description {
        font-size: 1.5rem;
    }

    .about-hero-stats {
        grid-template-columns: repeat(4, 1fr);
    }

    .values-title {
        font-size: 2.5rem;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .why-choose-title {
        font-size: 2.5rem;
    }

    .why-choose-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .pattern-cta-title {
        font-size: 2.5rem;
    }
}

@media (min-width: 1024px) {
    .about-hero-title {
        font-size: 4.5rem;
    }

    .values-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .pattern-cta-content-wrapper {
        flex-direction: row;
        justify-content: space-between;
    }

    .pattern-cta-content {
        text-align: left;
    }

    .pattern-cta-subtitle {
        margin-left: 0;
        margin-right: 0;
    }

    .pattern-cta-trust {
        justify-content: flex-start;
    }

    .pattern-cta-title {
        font-size: 3rem;
    }
}

/* ========================================
   FEATURES PAGE STYLES
   ======================================== */

/* Features Hero Section */
.features-hero {
    position: relative;
    background: linear-gradient(to bottom right, rgb(239 246 255), rgb(224 242 254));
    padding: 3.5rem 0 5rem 0;
    overflow: hidden
}

.features-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%232563eb' fill-opacity='0.8'%3E%3Cpath d='M0 0h40v40H0V0zm40 40h40v40H40V40zm0-40h2l-2 2V0zm0 4l4-4h2l-6 6V4zm0 4l8-8h2L40 10V8zm0 4L52 0h2L40 14v-2zm0 4L56 0h2L40 18v-2zm0 4L60 0h2L40 22v-2zm0 4L64 0h2L40 26v-2zm0 4L68 0h2L40 30v-2zm0 4L72 0h2L40 34v-2zm0 4L76 0h2L40 38v-2zm0 4L80 0v2L42 40h-2zm4 0L80 4v2L46 40h-2zm4 0L80 8v2L50 40h-2zm4 0l28-28v2L54 40h-2zm4 0l24-24v2L58 40h-2zm4 0l20-20v2L62 40h-2zm4 0l16-16v2L66 40h-2zm4 0l12-12v2L70 40h-2zm4 0l8-8v2l-6 6h-2zm4 0l4-4v2L78 40h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
}

.features-hero-shapes {
    position: absolute;
    inset: 0;
    overflow: hidden
}

.features-hero-shapes .shape {
    position: absolute;
    border-radius: 50%;
    filter: blur(4px)
}

.shape-1 {
    top: 2.5rem;
    left: 2.5rem;
    width: 4rem;
    height: 4rem;
    background: linear-gradient(to bottom right, rgba(191, 219, 254, 0.3), rgba(165, 180, 252, 0.3))
}

.shape-2 {
    top: 8rem;
    right: 5rem;
    width: 2rem;
    height: 2rem;
    background: linear-gradient(to bottom right, rgba(165, 180, 252, 0.4), rgba(147, 197, 253, 0.4))
}

.shape-3 {
    bottom: 5rem;
    left: 25%;
    width: 3rem;
    height: 3rem;
    background: linear-gradient(to bottom right, rgba(186, 230, 253, 0.3), rgba(147, 197, 253, 0.3))
}

.shape-4 {
    bottom: 8rem;
    right: 33.333%;
    width: 1.5rem;
    height: 1.5rem;
    background: linear-gradient(to bottom right, rgba(147, 197, 253, 0.5), rgba(99, 102, 241, 0.5))
}

.shape-5 {
    top: 33.333%;
    left: 50%;
    width: 1rem;
    height: 1rem;
    background: linear-gradient(to bottom right, rgba(99, 102, 241, 0.6), rgba(6, 182, 212, 0.6))
}

.features-hero-container {
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem
}

.features-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center
}

.features-hero-content {
    display: flex;
    flex-direction: column;
    gap: 1.5rem
}

.features-hero-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    background: linear-gradient(to right, rgb(219 234 254), rgb(224 242 254));
    border: 1px solid rgb(191 219 254);
    width: fit-content
}

.features-hero-badge .badge-icon {
    width: 0.75rem;
    height: 0.75rem;
    margin-right: 0.5rem;
    color: rgb(37 99 235)
}

.features-hero-badge span {
    background: linear-gradient(to right, rgb(37 99 235), rgb(99 102 241));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em
}

.features-hero-text {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.features-hero-title {
    font-size: 1.875rem;
    font-weight: 700;
    line-height: 1.1;
    color: rgb(30 41 59);
    margin: 0
}

.title-line {
    display: block
}

.title-gradient {
    display: block;
    background: linear-gradient(to right, rgb(37 99 235), rgb(99 102 241));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.features-hero-description {
    font-size: 1rem;
    line-height: 1.625;
    color: rgb(71 85 105);
    max-width: 32rem;
    margin: 0
}

.features-hero-indicators {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: rgb(71 85 105)
}

.features-hero-indicators .indicator {
    display: flex;
    align-items: center
}

.indicator-icon {
    margin-right: 0.5rem
}

.indicator-check {
    color: rgb(5 150 105)
}

.indicator-shield {
    color: rgb(37 99 235)
}

.indicator-star {
    color: rgb(245 158 11)
}

.features-hero-image {
    position: relative;
    max-width: 32rem;
    margin: 0 auto
}

.solar-design-preview {
    position: relative;
    background: white;
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    border: 1px solid rgb(226 232 240);
    overflow: hidden;
    transition: transform 0.3s ease
}

.solar-design-preview:hover {
    transform: scale(1.02)
}

.features-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.preview-header {
    background: rgb(248 250 252);
    padding: 0.75rem 1rem;
    border-bottom: 1px solid rgb(226 232 240);
    display: flex;
    align-items: center;
    justify-content: space-between
}

.window-controls {
    display: flex;
    gap: 0.375rem
}

.control {
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%
}

.control-red {
    background: rgb(248 113 113)
}

.control-yellow {
    background: rgb(251 191 36)
}

.control-green {
    background: rgb(52 211 153)
}

.header-title {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(51 65 85)
}

.preview-content {
    padding: 2rem;
    background: linear-gradient(to bottom right, rgb(239 246 255), rgb(238 242 255), rgb(207 250 254));
    height: 18rem;
    display: flex;
    align-items: center;
    justify-content: center
}

.content-center {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.icon-container {
    width: 5rem;
    height: 5rem;
    background: linear-gradient(to bottom right, rgb(37 99 235), rgb(99 102 241), rgb(6 182 212));
    border-radius: 1rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
}

.pen-icon {
    color: white
}

.preview-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: rgb(30 41 59);
    margin: 0.25rem 0
}

.preview-subtitle {
    font-size: 0.875rem;
    color: rgb(71 85 105);
    margin: 0
}

.floating-stat {
    position: absolute;
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    border: 1px solid rgb(241 245 249);
    display: none
}

.stat-top {
    top: -0.75rem;
    right: -0.75rem
}

.stat-bottom {
    bottom: -0.75rem;
    left: -0.75rem
}

.stat-value {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.25rem
}

.stat-gradient-blue {
    background: linear-gradient(to right, rgb(37 99 235), rgb(99 102 241));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.stat-gradient-green {
    background: linear-gradient(to right, rgb(5 150 105), rgb(34 197 94));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.stat-label {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgb(71 85 105)
}

/* Solar Design Section */
.solar-design-section {
    background: linear-gradient(to bottom right, rgb(239 246 255), white, rgb(238 242 255))
}

.solar-design-inner {
    padding: 2rem 0 3rem 0
}

.solar-design-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem
}

.solar-design-header {
    text-align: center;
    margin-bottom: 2rem
}

.section-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    background: linear-gradient(to right, rgb(219 234 254), rgb(224 242 254));
    border: 1px solid rgb(191 219 254);
    margin-bottom: 0.75rem
}

.section-badge p {
    background: linear-gradient(to right, rgb(37 99 235), rgb(99 102 241));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-weight: 600;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin: 0
}

.section-title {
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(to right, rgb(30 41 59), rgb(30 58 138), rgb(30 41 59));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin: 0 0 0.75rem 0;
    line-height: 1.1
}

.section-description {
    font-size: 1rem;
    line-height: 1.625;
    color: rgb(71 85 105);
    max-width: 42rem;
    margin: 0 auto
}

.solar-design-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: start;
    margin-bottom: 1.5rem
}

.video-column {
    position: relative
}

.video-wrapper {
    position: relative;
    border-radius: 0.75rem;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    background: black
}

.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%
}

.video-element {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.video-decoration {
    position: absolute;
    border-radius: 50%;
    filter: blur(20px)
}

.video-decoration-1 {
    top: 0.75rem;
    right: 0.75rem;
    width: 3rem;
    height: 3rem;
    background: rgba(59, 130, 246, 0.2)
}

.video-decoration-2 {
    bottom: 0.75rem;
    left: 0.75rem;
    width: 4rem;
    height: 4rem;
    background: rgba(99, 102, 241, 0.2)
}

.video-stats {
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    padding: 0.625rem 0.75rem;
    border: 1px solid rgb(226 232 240);
    margin-top: 0.75rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5rem;
    text-align: center
}

.stat-item {
    padding: 0
}

.stat-divider {
    border-left: 1px solid rgb(226 232 240);
    border-right: 1px solid rgb(226 232 240)
}

.stat-text {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgb(30 41 59)
}

.workflow-column {
    display: flex;
    flex-direction: column
}

.workflow-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: rgb(30 41 59);
    margin: 0 0 1rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.workflow-icon {
    width: 1.75rem;
    height: 1.75rem;
    background: linear-gradient(to bottom right, rgb(59 130 246), rgb(99 102 241));
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0
}

.workflow-icon svg {
    color: white
}

.workflow-steps {
    display: flex;
    flex-direction: column;
    gap: 0.5rem
}

.workflow-step {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.625rem 0.75rem;
    border-radius: 0.5rem;
    background: white;
    border: 1px solid rgb(226 232 240);
    transition: all 0.3s ease
}

.workflow-step:hover {
    border-color: rgb(147 197 253);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1)
}

.step-icon {
    width: 2rem;
    height: 2rem;
    background: linear-gradient(to bottom right, rgb(219 234 254), rgb(224 242 254));
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease
}

.workflow-step:hover .step-icon {
    transform: scale(1.1)
}

.step-icon svg {
    color: rgb(37 99 235)
}

.step-content {
    flex: 1;
    min-width: 0
}

.step-title {
    font-weight: 600;
    color: rgb(30 41 59);
    font-size: 0.8125rem;
    margin: 0 0 0.125rem 0
}

.step-description {
    font-size: 0.6875rem;
    color: rgb(71 85 105);
    margin: 0
}

.step-arrow {
    color: rgb(147 197 253);
    opacity: 0;
    transition: opacity 0.3s ease
}

.workflow-step:hover .step-arrow {
    opacity: 1
}

/* Core CRM Section */
.core-crm-section {
    background: white
}

.core-crm-inner {
    padding: 2rem 0 3rem 0
}

.core-crm-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem
}

.core-crm-header {
    text-align: center;
    margin-bottom: 1.5rem
}

.core-crm-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.feature-card {
    position: relative;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease
}

.feature-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
}

.card-gradient-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, rgba(37, 99, 235, 0.03), rgba(99, 102, 241, 0.03));
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 0.75rem
}

.feature-card:hover .card-gradient-overlay {
    opacity: 1
}

.card-content {
    position: relative;
    z-index: 10;
    padding: 1.25rem 1.5rem;
    background: linear-gradient(to bottom right, rgb(239 246 255), white, rgb(238 242 255));
    border: 1px solid rgb(191 219 254)
}

.card-icon-container {
    margin-bottom: 1rem;
    transition: transform 0.3s ease
}

.feature-card:hover .card-icon-container {
    transform: scale(1.05)
}

.card-icon {
    width: 3rem;
    height: 3rem;
    background: linear-gradient(to bottom right, rgb(99 102 241), rgb(79 70 229), rgb(6 182 212));
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    flex-shrink: 0
}

.card-icon svg {
    color: white
}

.card-text {
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.card-title {
    font-size: 1rem;
    font-weight: 700;
    color: rgb(30 41 59);
    margin: 0;
    transition: color 0.3s ease;
    line-height: 1.1
}

.feature-card:hover .card-title {
    color: rgb(29 78 216)
}

.card-description {
    font-size: 0.875rem;
    color: rgb(71 85 105);
    line-height: 1.625;
    margin: 0;
    transition: color 0.3s ease
}

.feature-card:hover .card-description {
    color: rgb(51 65 85)
}

.card-accent {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(to right, rgb(37 99 235), rgb(99 102 241), rgb(6 182 212));
    transform: scaleX(0);
    transition: transform 0.3s ease;
    border-radius: 0 0 0.75rem 0.75rem
}

.feature-card:hover .card-accent {
    transform: scaleX(1)
}

/* Smart Operations Section */
.smart-operations-section {
    background: linear-gradient(to bottom right, rgb(30 41 59), rgb(51 65 85), rgb(15 23 42))
}

.smart-operations-inner {
    padding: 2rem 0 3rem 0
}

.smart-operations-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem
}

.smart-operations-header {
    text-align: center;
    margin-bottom: 2rem
}

.badge-dark {
    background: linear-gradient(to right, rgba(30, 58, 138, 0.3), rgba(67, 56, 202, 0.3));
    border: 1px solid rgba(59, 130, 246, 0.5)
}

.badge-dark p {
    background: linear-gradient(to right, rgb(96 165 250), rgb(129 140 248));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.title-white {
    color: white;
    background: none
}

.description-light {
    color: rgb(203 213 225)
}

.smart-operations-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.operations-card {
    position: relative;
    background: rgba(30, 41, 59, 0.5);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(71, 85, 105, 0.5);
    border-radius: 0.75rem;
    padding: 1rem 1.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    overflow: hidden
}

.operations-card:hover {
    border-color: rgba(59, 130, 246, 0.5);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1)
}

.operations-card-content {
    position: relative;
    z-index: 10
}

.operations-icon-container {
    width: 3rem;
    height: 3rem;
    background: linear-gradient(to bottom right, rgb(59 130 246), rgb(99 102 241));
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    margin-bottom: 0.75rem;
    flex-shrink: 0;
    transition: all 0.3s ease
}

.operations-card:hover .operations-icon-container {
    transform: scale(1.05)
}

.operations-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white
}

.operations-text {
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.operations-title {
    font-size: 1rem;
    font-weight: 700;
    color: white;
    margin: 0;
    transition: color 0.3s ease;
    line-height: 1.1
}

.operations-card:hover .operations-title {
    color: rgb(147 197 253)
}

.operations-description {
    font-size: 0.875rem;
    color: rgb(203 213 225);
    line-height: 1.625;
    margin: 0;
    transition: color 0.3s ease
}

.operations-card:hover .operations-description {
    color: rgb(226 232 240)
}

.operations-accent {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(to right, rgb(59 130 246), rgb(99 102 241), rgb(6 182 212));
    transform: scaleX(0);
    transition: transform 0.3s ease;
    border-radius: 0 0 0.75rem 0.75rem
}

.operations-card:hover .operations-accent {
    transform: scaleX(1)
}

/* Responsive Features Page */
@media (min-width:640px) {
    .floating-stat {
        display: block
    }

    .features-hero-indicators {
        flex-direction: row;
        gap: 1rem
    }

    .solar-design-inner {
        padding: 3rem 0 4rem 0
    }

    .step-title {
        font-size: 0.875rem
    }

    .step-description {
        font-size: 0.75rem
    }

    .stat-text {
        font-size: 0.875rem
    }
}

@media (min-width:768px) {
    .features-hero {
        padding: 4rem 0 6rem 0
    }

    .features-hero-content {
        gap: 2rem
    }

    .features-hero-title {
        font-size: 3rem
    }

    .features-hero-description {
        font-size: 1.25rem
    }

    .section-title {
        font-size: 1.875rem
    }

    .section-description {
        font-size: 1.125rem
    }

    .solar-design-header {
        margin-bottom: 2.5rem
    }

    .solar-design-grid {
        gap: 1.5rem
    }

    .core-crm-inner,
    .smart-operations-inner {
        padding: 3rem 0 4rem 0
    }

    .core-crm-header {
        margin-bottom: 2rem
    }

    .core-crm-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem
    }

    .smart-operations-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem
    }

    .card-title,
    .operations-title {
        font-size: 1.125rem
    }

    .card-description,
    .operations-description {
        font-size: 1rem
    }
}

@media (min-width:1024px) {

    .features-hero-container,
    .solar-design-container,
    .core-crm-container,
    .smart-operations-container {
        padding: 0 2rem
    }

    .features-hero-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem
    }

    .features-hero-title {
        font-size: 3.5rem
    }

    .features-hero-description {
        font-size: 1.5rem
    }

    .section-title {
        font-size: 2.25rem
    }

    .solar-design-grid {
        grid-template-columns: 3fr 2fr;
        gap: 2rem;
        margin-bottom: 2rem
    }

    .video-stats {
        position: absolute;
        bottom: -1rem;
        left: 1rem;
        right: 1rem;
        margin-top: 0
    }

    .core-crm-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 2rem
    }

    .core-crm-inner,
    .smart-operations-inner {
        padding: 4rem 0 6rem 0
    }
}

@media (min-width:1280px) {
    .features-hero-grid {
        gap: 4rem
    }

    .features-hero-title {
        font-size: 3.75rem
    }

    .section-title {
        font-size: 2.5rem
    }
}

/* Team Collaboration Section */
.team-collaboration-section {
    background: white
}

.team-collaboration-inner {
    padding: 2rem 0 3rem 0
}

.team-collaboration-container {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 1rem
}

.team-collaboration-header {
    text-align: center;
    margin-bottom: 2.5rem
}

.team-collaboration-header .section-badge {
    background: linear-gradient(to right, rgb(224 231 255), rgb(221 214 254));
    border: 1px solid rgb(199 210 254)
}

.team-collaboration-header .section-badge p {
    background: linear-gradient(to right, rgb(79 70 229), rgb(99 102 241));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: 0.6875rem;
    letter-spacing: 0.025em
}

.team-section-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: rgb(30 41 59);
    margin: 0.75rem 0;
    line-height: 1.2
}

.team-section-description {
    font-size: 1rem;
    line-height: 1.75;
    color: rgb(71 85 105);
    max-width: 46rem;
    margin: 0 auto
}

.team-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem
}

.team-feature-card {
    position: relative;
    background: white;
    border: 2px solid rgb(241 245 249);
    border-radius: 1rem;
    padding: 1.5rem;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer
}

.team-feature-card:hover {
    border-color: rgb(191 219 254);
    box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.08), 0 8px 10px -6px rgba(0, 0, 0, 0.04);
    transform: translateY(-2px)
}

.team-card-inner {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.team-icon-container {
    width: 3rem;
    height: 3rem;
    background: linear-gradient(135deg, rgb(30 58 138), rgb(30 64 175));
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.3s ease
}

.team-feature-card:hover .team-icon-container {
    transform: rotate(-5deg) scale(1.05)
}

.team-icon {
    color: white
}

.team-card-content {
    display: flex;
    flex-direction: column;
    gap: 0.5rem
}

.team-card-title {
    font-size: 1.125rem;
    font-weight: 600;
    color: rgb(15 23 42);
    margin: 0;
    line-height: 1.3;
    transition: color 0.3s ease
}

.team-feature-card:hover .team-card-title {
    color: rgb(30 64 175)
}

.team-card-description {
    font-size: 0.9375rem;
    line-height: 1.65;
    color: rgb(71 85 105);
    margin: 0
}

/* Feature Highlights Section */
.feature-highlights-section {
    background: linear-gradient(135deg, rgb(238 242 255) 0%, rgb(224 242 254) 50%, rgb(207 250 254) 100%);
    position: relative
}

.highlights-inner {
    padding: 2rem 0 3rem 0
}

.highlights-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1rem
}

.highlights-header {
    text-align: center;
    margin-bottom: 2rem
}

.highlights-header .section-badge {
    background: linear-gradient(to right, rgb(224 231 255), rgb(219 234 254));
    border: 1px solid rgb(199 210 254)
}

.highlights-header .section-badge p {
    background: linear-gradient(to right, rgb(79 70 229), rgb(37 99 235));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.highlights-title {
    font-size: 1.5rem;
    font-weight: 700;
    background: linear-gradient(to right, rgb(30 41 59), rgb(51 65 85), rgb(30 41 59));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    margin: 0.75rem 0;
    line-height: 1.1
}

.highlights-description {
    font-size: 0.9375rem;
    line-height: 1.625;
    color: rgb(71 85 105);
    max-width: 42rem;
    margin: 0 auto
}

.highlights-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.highlight-card {
    background: white;
    border-radius: 1rem;
    padding: 1.25rem 1.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    border: 1px solid rgb(226 232 240);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer
}

.highlight-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: scale(1.02)
}

.highlight-icon-wrapper {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 1rem;
    margin: 0 auto 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
    transition: transform 0.3s ease
}

.highlight-card:hover .highlight-icon-wrapper {
    transform: scale(1.05)
}

.highlight-blue {
    background: linear-gradient(to bottom right, rgb(37 99 235), rgb(79 70 229))
}

.highlight-green {
    background: linear-gradient(to bottom right, rgb(5 150 105), rgb(4 120 87))
}

.highlight-purple {
    background: linear-gradient(to bottom right, rgb(147 51 234), rgb(79 70 229))
}

.highlight-icon {
    color: white
}

.highlight-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: rgb(30 41 59);
    text-align: center;
    margin: 0 0 0.5rem 0;
    transition: color 0.3s ease
}

.highlight-card:hover .highlight-card-title:nth-of-type(1) {
    color: rgb(37 99 235)
}

.highlight-card:hover .highlight-card-title:nth-of-type(2) {
    color: rgb(5 150 105)
}

.highlight-card:hover .highlight-card-title:nth-of-type(3) {
    color: rgb(147 51 234)
}

.highlight-card-description {
    font-size: 0.875rem;
    text-align: center;
    color: rgb(71 85 105);
    line-height: 1.625;
    margin: 0;
    transition: color 0.3s ease
}

.highlight-card:hover .highlight-card-description {
    color: rgb(51 65 85)
}

/* Pattern CTA Section */
.pattern-cta-wrapper {
    position: relative;
    background: linear-gradient(to right, rgb(30 41 59), rgb(51 65 85), rgb(67 56 202));
    overflow: hidden
}

.pattern-cta-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.3'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
}

.pattern-cta-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, rgba(30, 58, 138, 0.2), transparent, rgba(67, 56, 202, 0.2))
}

.pattern-cta-section {
    position: relative;
    padding: 3rem 0
}

.pattern-cta-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem
}

.pattern-cta-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem
}

.pattern-cta-content {
    text-align: center;
    flex: 1
}

.pattern-cta-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
    margin: 0 0 0.75rem 0;
    line-height: 1.1
}

.pattern-cta-subtitle {
    font-size: 1rem;
    line-height: 1.625;
    color: rgb(203 213 225);
    max-width: 42rem;
    margin: 0 auto
}

.pattern-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-shrink: 0
}

.pattern-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 2rem;
    border-radius: 0.75rem;
    font-size: 1rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    cursor: pointer
}

.pattern-cta-btn-primary {
    background: linear-gradient(to right, rgb(37 99 235), rgb(99 102 241));
    color: white
}

.pattern-cta-btn-primary:hover {
    background: linear-gradient(to right, rgb(29 78 216), rgb(79 70 229));
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: scale(1.05)
}

.pattern-cta-btn-primary .btn-arrow {
    transition: transform 0.3s ease
}

.pattern-cta-btn-primary:hover .btn-arrow {
    transform: translateX(4px)
}

.pattern-cta-btn-secondary {
    background: white;
    color: rgb(15 23 42);
    border: 1px solid white
}

.pattern-cta-btn-secondary:hover {
    background: rgb(241 245 249);
    color: rgb(15 23 42);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: scale(1.05)
}

.pattern-cta-trust {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    color: rgb(148 163 184);
    font-size: 0.875rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(71, 85, 105, 0.5)
}

.trust-indicator {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trust-icon {
    color: rgb(52 211 153);
    width: 1rem;
    height: 1rem
}

/* Responsive for new components */
@media (min-width:640px) {
    .pattern-cta-trust {
        flex-direction: row;
        justify-content: center;
        gap: 1.5rem
    }
}

@media (min-width:768px) {
    .team-collaboration-inner {
        padding: 3rem 0 4rem 0
    }

    .team-features-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem
    }

    .team-section-title {
        font-size: 2.25rem
    }

    .highlights-inner {
        padding: 3rem 0 4rem 0
    }

    .highlights-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem
    }

    .highlights-title {
        font-size: 1.875rem
    }

    .pattern-cta-title {
        font-size: 1.875rem
    }

    .pattern-cta-subtitle {
        font-size: 1.125rem
    }

    .pattern-cta-buttons {
        flex-direction: row
    }
}

@media (min-width:1024px) {

    .team-collaboration-container,
    .highlights-container,
    .pattern-cta-container {
        padding: 0 2rem
    }

    .team-section-title {
        font-size: 2.5rem
    }

    .highlights-title {
        font-size: 2.25rem
    }

    .pattern-cta-content-wrapper {
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }

    .pattern-cta-content {
        text-align: left
    }

    .pattern-cta-subtitle {
        margin-left: 0;
        margin-right: 0
    }

    .pattern-cta-trust {
        justify-content: flex-start
    }

    .pattern-cta-title {
        font-size: 2.25rem
    }
}

@media (min-width:1280px) {
    .team-section-title {
        font-size: 2.75rem
    }

    .highlights-title {
        font-size: 2.5rem
    }

    .pattern-cta-title {
        font-size: 2.5rem
    }
}

/* ========================================
   CONTACT PAGE STYLES
   ======================================== */

/* Contact Hero Section */
.contact-hero {
    position: relative;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, rgba(255, 255, 255, 0) 50%, rgba(37, 99, 235, 0.1) 100%);
    padding: 5rem 0;
    text-align: center;
}

.contact-hero-content {
    max-width: 900px;
    margin: 0 auto;
}

.contact-hero-title {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--text-gray-900);
    margin-bottom: 1.5rem;
    line-height: 1.1;
}

.contact-hero-title-accent {
    display: block;
    color: var(--primary-color);
}

.contact-hero-description {
    font-size: 1.25rem;
    color: var(--text-gray-600);
    line-height: 1.6;
    max-width: 800px;
    margin: 0 auto;
}

/* Contact Main Section */
.contact-main-section {
    padding: 4rem 0;
    background: radial-gradient(circle at top left, #1e3a8a 0, #020617 55%, #000000 100%);
    color: #e5e7eb;
}

.contact-main-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    max-width: 1200px;
    margin: 0 auto;
}

/* Contact Info Cards */
.contact-info-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-info-card {
    background: white;
    border-radius: 12px;
    padding: 1.5rem;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.contact-info-icon-wrapper {
    width: 48px;
    height: 48px;
    background: rgba(37, 99, 235, 0.1);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1rem;
}

.contact-info-icon {
    width: 24px;
    height: 24px;
    color: var(--primary-color);
}

.contact-info-content {
    flex: 1;
}

.contact-info-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--text-gray-900);
    margin-bottom: 0.5rem;
}

.contact-info-text {
    font-size: 0.95rem;
    color: var(--text-gray-600);
    line-height: 1.6;
}

.contact-info-link {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.contact-info-link:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

/* Contact Form */
.contact-form-container {
    background: white;
    border-radius: 16px;
    padding: 2.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
}

.contact-form-title {
    font-size: 2rem;
    font-weight: 700;
    color: var(--text-gray-900);
    margin-bottom: 0.5rem;
}

.contact-form-subtitle {
    font-size: 1rem;
    color: var(--text-gray-600);
    margin-bottom: 2rem;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.contact-form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.contact-form-field {
    display: flex;
    flex-direction: column;
}

.contact-form-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-gray-900);
    margin-bottom: 0.5rem;
}

.contact-form-input,
.contact-form-textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    font-size: 1rem;
    color: var(--text-gray-900);
    background: white;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form-input:focus,
.contact-form-textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.contact-form-input.error,
.contact-form-textarea.error {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.contact-form-textarea {
    resize: vertical;
    min-height: 120px;
}

.contact-form-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    font-size: 1rem;
    font-weight: 600;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-form-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(102, 126, 234, 0.3);
}

.contact-form-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.contact-form-submit-icon {
    width: 20px;
    height: 20px;
}

.contact-form-disclaimer {
    font-size: 0.8rem;
    color: var(--text-gray-500);
    text-align: center;
    margin-top: -0.5rem;
}

/* Success Message */
.contact-form-success {
    text-align: center;
    padding: 3rem 2rem;
    background: linear-gradient(135deg, rgba(102, 126, 234, 0.1) 0%, rgba(118, 75, 162, 0.1) 100%);
    border-radius: 16px;
}

.contact-form-success-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 1.5rem;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: successPulse 1s ease-out;
}

.contact-form-success-icon svg {
    width: 32px;
    height: 32px;
    color: white;
    stroke-width: 3;
}

.contact-form-success h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--text-gray-900);
    margin-bottom: 0.5rem;
}

.contact-form-success p {
    font-size: 1rem;
    color: var(--text-gray-600);
}

@keyframes successPulse {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

/* Spinner Animation */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

.contact-form-spinner {
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-top-color: white;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

/* Responsive Styles */
@media (max-width: 767px) {
    .contact-hero {
        padding: 3rem 0;
    }

    .contact-hero-title {
        font-size: 2.5rem;
    }

    .contact-hero-description {
        font-size: 1rem;
    }

    .contact-main-section {
        padding: 2rem 0;
    }

    .contact-form-container {
        padding: 1.5rem;
    }

    .contact-form-title {
        font-size: 1.5rem;
    }

    .contact-info-card {
        padding: 1.25rem;
    }
}

@media (min-width: 768px) {
    .contact-form-row {
        grid-template-columns: 1fr 1fr;
    }

    .contact-main-grid {
        grid-template-columns: 1fr 1.5fr;
    }

    .contact-hero-title {
        font-size: 4rem;
    }
}

@media (min-width: 1024px) {
    .contact-hero-title {
        font-size: 4.5rem;
    }

    .contact-form-container {
        padding: 3rem;
    }
}

/* Pricing Hero Section */
.pricing-hero-section {
    background: linear-gradient(135deg, rgb(224 231 255) 0%, rgb(232 245 254) 50%, rgb(240 253 250) 100%);
    padding: 2.5rem 0 3rem 0;
    margin-top: 4rem;
    position: relative
}

.pricing-hero-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(circle at 20% 50%, rgba(99, 102, 241, 0.08) 0%, transparent 50%), radial-gradient(circle at 80% 50%, rgba(6, 182, 212, 0.08) 0%, transparent 50%);
    pointer-events: none
}

.pricing-hero-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1rem;
    position: relative;
    z-index: 1
}

.pricing-hero-content {
    text-align: center
}

.pricing-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    background: linear-gradient(to right, rgb(219 234 254), rgb(191 219 254));
    border: 2px solid rgb(147 197 253);
    margin-bottom: 1rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: rgb(30 64 175)
}

.badge-icon {
    color: rgb(37 99 235)
}

.pricing-hero-title {
    font-size: 2rem;
    font-weight: 800;
    color: rgb(15 23 42);
    margin: 0 0 1rem 0;
    line-height: 1.1;
    letter-spacing: -0.02em
}

.pricing-hero-description {
    font-size: 1rem;
    line-height: 1.75;
    color: rgb(71 85 105);
    max-width: 42rem;
    margin: 0 auto 2rem
}

.billing-toggle-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 2rem
}

.billing-toggle {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
    background: white;
    padding: 0.375rem;
    border-radius: 0.75rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    border: 1px solid rgb(226 232 240)
}

.billing-option {
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(100 116 139);
    padding: 0.5rem 1rem;
    transition: color 0.3s ease;
    cursor: pointer
}

.billing-option.active {
    color: rgb(37 99 235)
}

.billing-switch {
    position: relative;
    width: 3rem;
    height: 1.5rem;
    background: rgb(203 213 225);
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    transition: background 0.3s ease;
    flex-shrink: 0
}

.billing-switch[aria-checked="true"] {
    background: rgb(37 99 235)
}

.billing-switch-thumb {
    position: absolute;
    top: 0.125rem;
    left: 0.125rem;
    width: 1.25rem;
    height: 1.25rem;
    background: white;
    border-radius: 9999px;
    transition: transform 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2)
}

.billing-switch[aria-checked="true"] .billing-switch-thumb {
    transform: translateX(1.5rem)
}

.billing-badge {
    padding: 0.25rem 0.5rem;
    border-radius: 9999px;
    background: rgb(220 252 231);
    color: rgb(22 101 52);
    border: 1px solid rgb(187 247 208);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.025em
}

/* Pricing Plans Section */
.pricing-plans-section {
    background: linear-gradient(to bottom, rgb(249 250 251), white);
    padding: 3rem 0 4rem 0
}

.pricing-plans-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1rem
}

.pricing-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem
}

.pricing-card {
    position: relative;
    background: white;
    border: 2px solid rgb(226 232 240);
    border-radius: 1rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden
}

.pricing-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px)
}

.pricing-standard {
    background: linear-gradient(135deg, rgb(30 41 59) 0%, rgb(51 65 85) 100%);
    border-color: rgb(71 85 105);
    overflow: visible
}

.pricing-standard .pricing-card-name,
.pricing-standard .pricing-card-desc,
.pricing-standard .pricing-price,
.pricing-standard .pricing-period,
.pricing-standard .pricing-tokens,
.pricing-standard .pricing-feature span {
    color: white
}

.pricing-popular-badge {
    position: absolute;
    top: -0.75rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    background: linear-gradient(to right, rgb(34 197 94), rgb(5 150 105));
    color: white;
    font-size: 0.625rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
}

.badge-star {
    fill: currentColor
}

.pricing-card-header {
    padding: 1.5rem 1.5rem 1rem;
    text-align: center;
    border-bottom: 1px solid rgb(241 245 249)
}

.pricing-standard .pricing-card-header {
    border-bottom-color: rgba(71, 85, 105, 0.3)
}

.pricing-icon-wrapper {
    width: 3rem;
    height: 3rem;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1)
}

.pricing-icon-blue {
    background: linear-gradient(135deg, rgb(37 99 235), rgb(79 70 229))
}

.pricing-icon-white {
    background: linear-gradient(135deg, rgb(148 163 184), rgb(100 116 139))
}

.pricing-icon {
    color: white
}

.pricing-card-name {
    font-size: 1.25rem;
    font-weight: 700;
    color: rgb(15 23 42);
    margin: 0 0 0.5rem 0
}

.pricing-card-desc {
    font-size: 0.875rem;
    color: rgb(100 116 139);
    margin: 0 0 1rem 0;
    line-height: 1.5
}

.pricing-price-wrapper {
    margin: 1rem 0 0.5rem
}

.pricing-price {
    font-size: 2.5rem;
    font-weight: 800;
    color: rgb(15 23 42);
    letter-spacing: -0.02em
}

.pricing-period {
    font-size: 0.875rem;
    color: rgb(100 116 139);
    font-weight: 500;
    margin-left: 0.25rem
}

.pricing-tokens {
    font-size: 0.75rem;
    font-weight: 700;
    color: rgb(37 99 235);
    text-transform: uppercase;
    letter-spacing: 0.05em
}

.pricing-standard .pricing-tokens {
    color: rgb(147 197 253)
}

.pricing-card-body {
    padding: 0 1.5rem 1.5rem
}

.pricing-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0.875rem 1.5rem;
    border-radius: 0.75rem;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-bottom: 1.25rem;
    border: 2px solid transparent;
    cursor: pointer
}

.pricing-btn:hover .btn-icon {
    transform: translateX(4px)
}

.btn-icon {
    transition: transform 0.3s ease
}

.pricing-btn-outline {
    background: white;
    color: rgb(37 99 235);
    border-color: rgb(191 219 254)
}

.pricing-btn-outline:hover {
    background: rgb(239 246 255);
    border-color: rgb(147 197 253)
}

.pricing-btn-primary {
    background: white;
    color: rgb(15 23 42);
    border-color: white
}

.pricing-btn-primary:hover {
    background: rgb(241 245 249);
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
}

.pricing-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.pricing-feature {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: rgb(71 85 105)
}

.feature-check {
    color: rgb(34 197 94);
    flex-shrink: 0;
    margin-top: 0.125rem
}

.pricing-standard .feature-check {
    color: rgb(167 243 208)
}

.pricing-additional-info {
    margin-top: 2.5rem;
    text-align: center
}

.pricing-trial-text {
    font-size: 0.875rem;
    color: rgb(100 116 139);
    margin: 0 0 1rem 0
}

.pricing-benefits {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.5rem;
    font-size: 0.75rem;
    color: rgb(100 116 139)
}

.pricing-benefit {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.benefit-icon {
    color: rgb(34 197 94);
    flex-shrink: 0
}

/* Enterprise Strip (Pricing Page) */
.pricing-enterprise-strip {
    padding: 2.5rem 0 3rem 0;
    background: radial-gradient(circle at top left, rgba(37, 99, 235, 0.08), transparent 55%),
                radial-gradient(circle at bottom right, rgba(14, 116, 144, 0.08), transparent 55%),
                linear-gradient(to bottom, rgb(248 250 252), white);
}

.pricing-enterprise-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1rem;
}

.pricing-enterprise-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
    padding: 1.75rem 1.75rem 1.75rem 1.75rem;
    border-radius: 1rem;
    border: 1px solid rgba(148, 163, 184, 0.35);
    background: linear-gradient(135deg, rgb(15 23 42), rgb(30 64 175));
    box-shadow: 0 20px 25px -5px rgba(15, 23, 42, 0.25);
    color: white;
    overflow: hidden;
}

.pricing-enterprise-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle at 1px 1px, rgba(148, 163, 184, 0.4) 1px, transparent 0);
    background-size: 16px 16px;
    opacity: 0.35;
}

.pricing-enterprise-main {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.pricing-enterprise-icon-wrapper {
    display: flex;
    align-items: flex-start;
}

.pricing-enterprise-icon-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.9rem;
    background: radial-gradient(circle at 30% 20%, rgba(248, 250, 252, 0.95), rgba(191, 219, 254, 0.75));
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.45);
}

.pricing-enterprise-icon {
    color: rgb(30 64 175);
}

.pricing-enterprise-text {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.pricing-enterprise-title {
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    margin: 0;
}

/* Team Collaboration Section (Features page) */
.team-collaboration-section {
    padding: 3rem 0 3.5rem 0;
    background: #f8fafc;
}

.team-collaboration-inner {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1rem;
}

.team-collaboration-container {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}

.team-collaboration-header {
    text-align: center;
}

.team-collaboration-header .section-badge p {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 1.25rem;
    border-radius: 9999px;
    border: 1px solid rgba(59, 130, 246, 0.35);
    background: linear-gradient(to right, #dbeafe, #e0f2fe);
    color: #1e3a8a;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.team-section-title {
    margin: 1rem 0 0.75rem 0;
    font-size: 2rem;
    font-weight: 800;
    color: #0f172a;
    letter-spacing: -0.03em;
}

.team-section-description {
    margin: 0 auto;
    max-width: 46rem;
    font-size: 1rem;
    line-height: 1.7;
    color: #4b5563;
}

.team-features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}

.team-feature-card {
    border-radius: 1rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.team-card-inner {
    display: flex;
    gap: 1rem;
    padding: 1.25rem 1.5rem;
    align-items: flex-start;
}

.team-feature-card:hover {
    transform: translateY(-3px);
    border-color: #bfdbfe;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}

.team-icon-container {
    flex-shrink: 0;
    width: 3rem;
    height: 3rem;
    border-radius: 0.9rem;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #e5e7eb;
}

.team-icon {
    width: 1.6rem;
    height: 1.6rem;
}

.team-card-content {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.team-card-title {
    font-size: 1rem;
    font-weight: 700;
    color: #0f172a;
    margin: 0;
}

.team-card-description {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #4b5563;
}

@media (min-width: 768px) {
    .team-collaboration-section {
        padding: 3.5rem 0 4rem 0;
    }

    .team-section-title {
        font-size: 2.4rem;
    }

    .team-features-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
    }
}

@media (min-width: 1024px) {
    .team-section-title {
        font-size: 2.7rem;
    }
}

.pricing-enterprise-description {
    margin: 0;
    font-size: 0.9375rem;
    line-height: 1.7;
    color: rgba(226, 232, 240, 0.95);
}

.pricing-enterprise-bullets {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
    margin-top: 0.75rem;
}

.pricing-enterprise-bullet {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: rgba(226, 232, 240, 0.95);
}

.pricing-enterprise-bullet .bullet-icon {
    color: rgb(52 211 153);
}

.pricing-enterprise-cta {
    position: relative;
}

.pricing-enterprise-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.75rem;
    border-radius: 9999px;
    background: linear-gradient(135deg, rgb(96 165 250), rgb(59 130 246));
    color: white;
    font-size: 0.9375rem;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid rgba(191, 219, 254, 0.9);
    box-shadow: 0 10px 20px -5px rgba(15, 23, 42, 0.5);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.pricing-enterprise-button:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 30px -10px rgba(15, 23, 42, 0.75);
    background: linear-gradient(135deg, rgb(59 130 246), rgb(37 99 235));
}

.pricing-enterprise-button .btn-icon {
    width: 1.1rem;
    height: 1.1rem;
}

@media (min-width: 768px) {
    .pricing-enterprise-card {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        padding: 2rem 2.25rem;
    }

    .pricing-enterprise-main {
        max-width: 70%;
    }

    .pricing-enterprise-bullets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Pricing FAQ Section */
.pricing-faq-section {
    padding: 2.5rem 0 4rem 0;
    background: linear-gradient(to bottom, rgb(239 246 255), rgb(224 242 254), white)
}

.pricing-faq-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1rem
}

.pricing-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem
}

.pricing-faq-info {
    order: 1
}

.faq-header {
    margin-bottom: 1.5rem
}

.faq-badge {
    display: inline-block;
    padding: 0.375rem 0.75rem;
    border-radius: 9999px;
    background: rgb(219 234 254);
    color: rgb(29 78 216);
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75rem
}

.faq-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(15 23 42);
    margin: 0 0 0.75rem 0;
    line-height: 1.2
}

.faq-description {
    font-size: 0.875rem;
    line-height: 1.625;
    color: rgb(71 85 105);
    margin: 0;
    max-width: 28rem
}

.faq-contact-card {
    background: white;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    padding: 1.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    margin-bottom: 1.5rem;
    max-width: 28rem
}

.faq-contact-title {
    font-size: 1rem;
    font-weight: 700;
    color: rgb(15 23 42);
    margin: 0 0 0.5rem 0
}

.faq-contact-desc {
    font-size: 0.8125rem;
    color: rgb(71 85 105);
    line-height: 1.5;
    margin: 0 0 1rem 0
}

.faq-contact-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.75rem 1.5rem;
    background: rgb(37 99 235);
    color: white;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.3s ease;
    min-height: 44px
}

.faq-contact-btn:hover {
    background: rgb(29 78 216);
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1)
}

.faq-benefits-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    max-width: 28rem
}

.faq-benefit-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.benefit-check-icon {
    color: rgb(22 163 74);
    flex-shrink: 0;
    margin-top: 0.125rem
}

.benefit-content {
    flex: 1
}

.benefit-title {
    font-size: 0.8125rem;
    font-weight: 600;
    color: rgb(15 23 42);
    margin: 0 0 0.125rem 0
}

.benefit-subtitle {
    font-size: 0.6875rem;
    color: rgb(100 116 139);
    margin: 0
}

.pricing-faq-list {
    order: 2;
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.faq-item {
    background: white;
    border: 2px solid rgb(226 232 240);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    overflow: hidden
}

.faq-item.active {
    border-color: rgb(147 197 253);
    background: rgb(255 255 255)
}

.faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.25rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.3s ease
}

.faq-question:hover {
    background: rgba(37, 99, 235, 0.03)
}

.faq-question-text {
    font-size: 1rem;
    font-weight: 600;
    color: rgb(15 23 42);
    line-height: 1.5;
    padding-right: 1rem
}

.faq-toggle-icon {
    position: relative;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    border: 2px solid rgb(203 213 225);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    color: rgb(100 116 139)
}

.faq-item.active .faq-toggle-icon {
    border-color: rgb(147 197 253);
    background: rgba(37, 99, 235, 0.1);
    color: rgb(37 99 235)
}

.icon-minus {
    display: none
}

.faq-item.active .icon-plus {
    display: none
}

.faq-item.active .icon-minus {
    display: block
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 1.25rem
}

.faq-item.active .faq-answer {
    max-height: 600px;
    padding: 0 1.25rem 1.25rem
}

.faq-answer p {
    font-size: 0.875rem;
    line-height: 1.75;
    color: rgb(71 85 105);
    margin: 0
}

/* Pricing CTA Section */
.pricing-cta-wrapper {
    position: relative;
    background: linear-gradient(135deg, rgb(15 23 42) 0%, rgb(30 58 138) 50%, rgb(67 56 202) 100%);
    overflow: hidden
}

.pricing-cta-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.12;
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.4'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")
}

.pricing-cta-overlay {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 50%, rgba(59, 130, 246, 0.2) 0%, transparent 60%), radial-gradient(circle at 70% 50%, rgba(168, 85, 247, 0.2) 0%, transparent 60%)
}

.pricing-cta-section {
    position: relative;
    padding: 3rem 0;
    z-index: 1
}

.pricing-cta-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1rem
}

.pricing-cta-content-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem
}

.pricing-cta-content {
    text-align: center;
    flex: 1
}

.pricing-cta-title {
    font-size: 1.75rem;
    font-weight: 800;
    color: white;
    margin: 0 0 0.75rem 0;
    line-height: 1.1;
    letter-spacing: -0.02em
}

.pricing-cta-subtitle {
    font-size: 1rem;
    line-height: 1.75;
    color: rgb(226 232 240);
    max-width: 40rem;
    margin: 0 auto
}

.pricing-cta-buttons {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-shrink: 0;
    width: 100%;
    max-width: 28rem
}

.pricing-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.875rem 2rem;
    border-radius: 0.75rem;
    font-size: 1rem;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.2);
    cursor: pointer
}

.pricing-cta-btn-primary {
    background: white;
    color: rgb(15 23 42)
}

.pricing-cta-btn-primary:hover {
    background: rgb(241 245 249);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px) scale(1.02)
}

.pricing-cta-btn-primary .btn-arrow {
    transition: transform 0.3s ease
}

.pricing-cta-btn-primary:hover .btn-arrow {
    transform: translateX(4px)
}

.pricing-cta-btn-secondary {
    background: transparent;
    color: white;
    border: 2px solid white
}

.pricing-cta-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.3);
    transform: translateY(-2px)
}

.pricing-cta-trust {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    color: rgb(203 213 225);
    font-size: 0.875rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(148, 163, 184, 0.3)
}

.trust-indicator {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.trust-icon {
    color: rgb(134 239 172);
    width: 1rem;
    height: 1rem;
    flex-shrink: 0
}

/* Pricing Page Responsive */
@media (min-width:640px) {
    .pricing-hero-title {
        font-size: 2.5rem
    }

    .pricing-cta-trust {
        flex-direction: row;
        justify-content: center;
        gap: 2rem
    }
}

@media (min-width:768px) {
    .pricing-hero-section {
        padding: 3rem 0 4rem 0
    }

    .pricing-hero-title {
        font-size: 3rem
    }

    .pricing-hero-description {
        font-size: 1.125rem
    }

    .pricing-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem
    }

    .pricing-standard {
        grid-column: span 2
    }

    .pricing-faq-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem
    }

    .pricing-faq-info {
        order: 1
    }

    .pricing-faq-list {
        order: 2
    }

    .faq-title {
        font-size: 1.875rem
    }

    .pricing-cta-title {
        font-size: 2rem
    }

    .pricing-cta-subtitle {
        font-size: 1.125rem
    }

    .pricing-cta-buttons {
        flex-direction: row;
        max-width: none
    }
}

@media (min-width:1024px) {

    .pricing-hero-container,
    .pricing-plans-container,
    .pricing-faq-container,
    .pricing-cta-container {
        padding: 0 2rem
    }

    .pricing-hero-title {
        font-size: 3.5rem
    }

    .pricing-grid {
        grid-template-columns: repeat(4, 1fr)
    }

    .pricing-standard {
        grid-column: span 1;
        transform: scale(1.05)
    }

    .pricing-standard:hover {
        transform: scale(1.08)
    }

    .pricing-card:hover {
        transform: translateY(-6px)
    }

    .pricing-faq-grid {
        gap: 4rem
    }

    .pricing-cta-content-wrapper {
        flex-direction: row;
        justify-content: space-between;
        align-items: center
    }

    .pricing-cta-content {
        text-align: left
    }

    .pricing-cta-subtitle {
        margin-left: 0;
        margin-right: 0
    }

    .pricing-cta-trust {
        justify-content: flex-start;
        margin-top: 1.5rem
    }

    .pricing-cta-title {
        font-size: 2.25rem
    }
}

@media (min-width:1280px) {
    .pricing-hero-title {
        font-size: 3.75rem
    }

    .faq-title {
        font-size: 2.25rem
    }

    .pricing-cta-title {
        font-size: 2.5rem
    }
}

/* ========================================
   LEGAL PAGES (TERMS / PRIVACY)
   ======================================== */

.legal-page-wrapper {
    min-height: 100vh;
    background: linear-gradient(to bottom, #f9fafb, #ffffff);
}

.legal-page-section {
    max-width: 80rem;
    margin: 0 auto;
    padding: 3rem 1.5rem 4rem;
}

@media (min-width: 640px) {
    .legal-page-section {
        padding: 4rem 1.5rem 5rem;
    }
}

@media (min-width: 1024px) {
    .legal-page-section {
        padding-top: 4.5rem;
    }
}

.legal-page-prose {
    max-width: 60rem;
    margin: 0 auto;
    color: #111827;
    font-size: 0.95rem;
    line-height: 1.75;
}

.legal-page-prose h1,
.legal-page-prose h2,
.legal-page-prose h3 {
    color: #0f172a;
    font-weight: 700;
}

.legal-page-prose h1 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.legal-page-prose h2 {
    font-size: 1.5rem;
    margin-top: 2rem;
    margin-bottom: 0.75rem;
}

.legal-page-prose h3 {
    font-size: 1.125rem;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}

.legal-page-prose p {
    margin-top: 0.75rem;
    margin-bottom: 0.75rem;
    color: #4b5563;
}

.legal-page-prose ul,
.legal-page-prose ol {
    padding-left: 1.5rem;
    margin: 0.75rem 0 1rem;
    color: #4b5563;
}

.legal-page-prose li+li {
    margin-top: 0.35rem;
}

.legal-page-prose a {
    color: #2563eb;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.legal-page-prose a:hover {
    color: #1d4ed8;
}

.legal-page-prose strong {
    font-weight: 600;
    color: #111827;
}

.legal-page-prose small {
    font-size: 0.8125rem;
    color: #6b7280;
}

/* ========================================
   404 ERROR PAGE STYLES
   ======================================== */

.error-404 {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #334155 100%);
}

.error-404-background {
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(circle at 20% 50%, rgba(59, 130, 246, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 80% 80%, rgba(139, 92, 246, 0.1) 0%, transparent 50%),
        radial-gradient(circle at 40% 20%, rgba(236, 72, 153, 0.05) 0%, transparent 50%);
    animation: backgroundPulse 8s ease-in-out infinite;
}

@keyframes backgroundPulse {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 0.8;
    }
}

.error-404-container {
    position: relative;
    z-index: 2;
    max-width: 800px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
}

.error-404-content {
    text-align: center;
}

.error-404-number {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.error-404-digit {
    font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', 'Droid Sans Mono', 'Source Code Pro', monospace;
    font-size: 8rem;
    font-weight: 700;
    line-height: 1;
    color: transparent;
    background: linear-gradient(135deg, #3b82f6 0%, #8b5cf6 50%, #ec4899 100%);
    background-clip: text;
    -webkit-background-clip: text;
    animation: digitGlow 3s ease-in-out infinite;
    text-shadow: 0 0 40px rgba(59, 130, 246, 0.3);
}

.error-404-digit-middle {
    animation-delay: 0.3s;
    transform: scale(1.1);
}

.error-404-digit:last-child {
    animation-delay: 0.6s;
}

@keyframes digitGlow {

    0%,
    100% {
        filter: brightness(1);
        transform: translateY(0);
    }

    50% {
        filter: brightness(1.3);
        transform: translateY(-5px);
    }
}

.error-404-title {
    font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 2.5rem;
    font-weight: 600;
    color: #f1f5f9;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.error-404-description {
    font-family: 'Berkeley Mono', 'SF Mono', monospace;
    font-size: 1.125rem;
    color: #94a3b8;
    margin-bottom: 3rem;
    line-height: 1.6;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
}

.error-404-actions {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.error-404-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.75rem;
    font-size: 1rem;
    font-weight: 500;
    border-radius: 0.5rem;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

.error-404-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transform: translate(-50%, -50%);
    transition: width 0.6s, height 0.6s;
}

.error-404-btn:hover::before {
    width: 300px;
    height: 300px;
}

.error-404-btn-primary {
    background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
    color: #ffffff;
    box-shadow: 0 4px 14px 0 rgba(59, 130, 246, 0.4);
}

.error-404-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px 0 rgba(59, 130, 246, 0.5);
}

.error-404-btn-secondary {
    background: rgba(255, 255, 255, 0.05);
    color: #e2e8f0;
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(10px);
}

.error-404-btn-secondary:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px);
}

.error-404-icon {
    width: 1.25rem;
    height: 1.25rem;
    position: relative;
    z-index: 1;
}

/* Tablet Styles */
@media (max-width: 768px) {
    .error-404-digit {
        font-size: 5rem;
    }

    .error-404-title {
        font-size: 2rem;
    }

    .error-404-description {
        font-size: 1rem;
        padding: 0 1rem;
    }

    .error-404-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .error-404-btn {
        justify-content: center;
    }
}

/* Mobile Styles */
@media (max-width: 480px) {
    .error-404-digit {
        font-size: 4rem;
        gap: 0.5rem;
    }

    .error-404-number {
        gap: 0.5rem;
    }

    .error-404-title {
        font-size: 1.75rem;
    }

    .error-404-description {
        font-size: 0.9375rem;
    }

    .error-404-btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.9375rem;
    }
}

/* Compact hero adjustments (shared across pages) */
@media (min-width: 768px) {

    /* About hero */
    .about-hero-section {
        padding: 3rem 0 3.5rem 0;
    }

    .about-hero-title {
        font-size: 2.5rem;
        max-width: 40rem;
        margin: 0 auto 0.75rem;
    }

    .about-hero-description {
        font-size: 1rem;
        max-width: 42rem;
        margin: 0 auto;
    }

    /* Contact hero */
    .contact-hero {
        padding: 3.25rem 0;
    }

    .contact-hero-title {
        font-size: 2.75rem;
    }

    .contact-hero-description {
        font-size: 1rem;
        max-width: 34rem;
        margin: 0 auto;
    }

    /* Features hero */
    .features-hero {
        padding: 3rem 0 4rem 0;
    }

    .features-hero-title {
        font-size: 2.4rem;
    }

    .features-hero-description {
        font-size: 1rem;
        max-width: 36rem;
    }

    /* Pricing hero */
    .pricing-hero-section {
        padding: 2.5rem 0 3rem 0;
    }

    .pricing-hero-title {
        font-size: 2.4rem;
    }

    .pricing-hero-description {
        font-size: 1rem;
        max-width: 34rem;
        margin: 0 auto 1.5rem;
    }
}

@media (min-width: 1024px) {
    .about-hero-title {
        font-size: 2.75rem;
    }

    .contact-hero-title {
        font-size: 3rem;
    }

    .features-hero-title {
        font-size: 2.75rem;
    }

    .pricing-hero-title {
        font-size: 2.75rem;
    }
}

/* Pricing CTA layout refinements */
@media (min-width: 1024px) {

    /* Re-center CTA content to avoid left-heavy clutter */
    .pricing-cta-content-wrapper {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.75rem;
    }

    .pricing-cta-content {
        text-align: center;
        max-width: 38rem;
        margin: 0 auto;
    }

    .pricing-cta-buttons {
        width: 100%;
        max-width: 30rem;
        justify-content: center;
    }

    .pricing-cta-trust {
        justify-content: center;
        text-align: left;
    }
}

/* About hero: grid pattern + tighter layout */
.about-hero-section::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.12;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='%23cbd5f5' stroke-width='1'%3E%3Crect x='0' y='0' width='56' height='56'/%3E%3Cpath d='M0 28h56M28 0v56'/%3E%3C/g%3E%3C/svg%3E");
}

@media (min-width: 768px) {
    .about-hero-section {
        padding: 2.5rem 0 3rem 0;
    }

    .about-hero-title {
        font-size: 2.35rem;
        max-width: 38rem;
        margin: 0 auto 0.5rem;
    }

    .about-hero-description {
        font-size: 0.98rem;
        max-width: 40rem;
        margin: 0 auto 1.5rem;
    }

    .about-hero-stats {
        gap: 1.25rem;
    }
}

@media (min-width: 1024px) {
    .about-hero-title {
        font-size: 2.6rem;
    }
}

/* About Pattern CTA refinements */
@media (min-width: 768px) {
    .pattern-cta-container {
        padding: 2.75rem 2rem 3.5rem;
    }

    .pattern-cta-title {
        font-size: 2.1rem;
    }

    .pattern-cta-subtitle {
        font-size: 1.05rem;
        max-width: 36rem;
        margin-left: auto;
        margin-right: auto;
    }
}

@media (min-width: 1024px) {
    .pattern-cta-content-wrapper {
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 1.75rem;
    }

    .pattern-cta-content {
        max-width: 40rem;
        text-align: center;
    }

    .pattern-cta-actions {
        flex-direction: row;
        justify-content: center;
    }

    .pattern-cta-trust {
        justify-content: center;
        text-align: left;
    }
}

/* ========================================
   BLOG LISTING PAGE
   ======================================== */

/* Blog Hero Section */
.blog-hero-section {
    background: linear-gradient(to right, rgb(17 24 39), rgb(31 41 55));
    color: white;
    padding: 4rem 0;
    position: relative;
    overflow: hidden
}

.blog-hero-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-hero-content {
    max-width: 48rem;
    margin: 0 auto;
    text-align: center
}

.blog-hero-title {
    font-size: 2rem;
    font-weight: 700;
    color: white;
    margin: 0 0 1.5rem 0;
    line-height: 1.1
}

.blog-hero-subtitle {
    font-size: 1.25rem;
    color: rgb(209 213 219);
    margin: 0 0 2rem 0;
    line-height: 1.5
}

.blog-search-wrapper {
    position: relative;
    max-width: 36rem;
    margin: 0 auto
}

.blog-search-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    color: rgb(156 163 175);
    pointer-events: none;
    width: 1.25rem;
    height: 1.25rem
}

.blog-search-input {
    width: 100%;
    padding: 0.75rem 1rem 0.75rem 2.5rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    font-size: 1rem;
    transition: all 0.3s ease;
    backdrop-filter: blur(8px)
}

.blog-search-input::placeholder {
    color: rgb(156 163 175)
}

.blog-search-input:focus {
    outline: none;
    ring: 2px;
    ring-color: rgb(59 130 246);
    border-color: transparent;
    background: rgba(255, 255, 255, 0.15)
}

/* Blog Filter Section */
.blog-filter-section {
    border-bottom: 1px solid rgb(229 231 235);
    background: white;
    position: sticky;
    top: 0;
    z-index: 10;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1)
}

.blog-filter-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-filter-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.75rem 0;
    gap: 1rem;
    flex-wrap: wrap
}

.blog-filter-categories {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 1;
    min-width: 0
}

.blog-filter-icon {
    color: rgb(156 163 175);
    flex-shrink: 0
}

.blog-category-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem
}

.blog-category-btn {
    padding: 0.375rem 0.75rem;
    border-radius: 0.375rem;
    font-size: 0.875rem;
    font-weight: 500;
    border: 1px solid rgb(229 231 235);
    background: white;
    color: rgb(75 85 99);
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap
}

.blog-category-btn:hover {
    background: rgb(243 244 246)
}

.blog-category-btn.active {
    background: linear-gradient(to right, rgb(37 99 235), rgb(147 51 234));
    color: white;
    border-color: transparent
}

.blog-filter-sort {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.blog-sort-select {
    padding: 0.5rem 1.5rem 0.5rem 0.25rem;
    border: none;
    background: transparent;
    color: rgb(75 85 99);
    font-size: 0.875rem;
    cursor: pointer;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 1.5rem
}

.blog-sort-select:focus {
    outline: none
}

/* Blog Posts Section */
.blog-posts-section {
    padding: 3rem 0;
    background: rgb(249 250 251)
}

.blog-posts-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-error-message {
    margin-bottom: 1rem;
    padding: 0.75rem;
    border-radius: 0.375rem;
    border: 1px solid rgb(254 202 202);
    background: rgb(254 242 242);
    color: rgb(185 28 28);
    font-size: 0.875rem
}

.blog-posts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem
}

.blog-post-card {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease
}

.blog-post-card:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)
}

.blog-post-image-wrapper {
    position: relative
}

.blog-post-image {
    aspect-ratio: 16/9;
    overflow: hidden
}

.blog-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease
}

.blog-post-card:hover .blog-post-image img {
    transform: scale(1.05)
}

.blog-post-placeholder {
    aspect-ratio: 16/9;
    background: linear-gradient(to bottom right, rgb(239 246 255), rgb(243 232 255));
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(209 213 219)
}

.blog-save-btn {
    position: absolute;
    top: 1rem;
    right: 1rem;
    padding: 0.5rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    border: none;
    cursor: pointer;
    transition: all 0.2s ease
}

.blog-save-btn:hover {
    background: white
}

.blog-save-btn .bookmark-solid {
    display: none
}

.blog-save-btn.saved .bookmark-outline {
    display: none
}

.blog-save-btn.saved .bookmark-solid {
    display: block;
    color: rgb(37 99 235)
}

.blog-post-content {
    flex: 1;
    padding: 1.5rem;
    display: flex;
    flex-direction: column
}

.blog-post-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem
}

.blog-category-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    background: rgb(243 244 246);
    color: rgb(75 85 99);
    font-size: 0.75rem;
    font-weight: 500
}

.blog-category-badge svg {
    width: 0.75rem;
    height: 0.75rem
}

.blog-post-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0 0 0.75rem 0;
    line-height: 1.4;
    cursor: pointer;
    transition: color 0.2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.blog-post-card:hover .blog-post-title {
    color: rgb(37 99 235)
}

.blog-post-excerpt {
    color: rgb(75 85 99);
    margin: 0 0 1rem 0;
    line-height: 1.625;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 0.9375rem
}

.blog-post-meta {
    display: flex;
    align-items: center;
    font-size: 0.875rem;
    color: rgb(107 114 128);
    margin-bottom: 1rem;
    gap: 1rem;
    flex-wrap: wrap
}

.blog-meta-item {
    display: flex;
    align-items: center;
    gap: 0.25rem
}

.blog-meta-item svg {
    flex-shrink: 0;
    color: rgb(156 163 175)
}

.blog-read-time {
    white-space: nowrap
}

.blog-post-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-top: 1rem;
    border-top: 1px solid rgb(243 244 246)
}

.blog-read-more {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: rgb(37 99 235);
    font-weight: 500;
    font-size: 0.9375rem;
    text-decoration: none;
    transition: color 0.2s ease
}

.blog-read-more:hover {
    color: rgb(29 78 216)
}

.blog-read-more svg {
    transition: transform 0.3s ease
}

.blog-post-card:hover .blog-read-more svg {
    transform: translateX(0.25rem)
}

/* Empty State */
.blog-empty-state {
    text-align: center;
    padding: 4rem 1rem;
    grid-column: 1/-1
}

.blog-empty-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    background: rgb(243 244 246);
    margin: 0 auto 1rem;
    color: rgb(156 163 175)
}

.blog-empty-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: rgb(17 24 39);
    margin: 0 0 0.5rem 0
}

.blog-empty-description {
    color: rgb(107 114 128);
    max-width: 28rem;
    margin: 0 auto
}

/* Pagination */
.blog-pagination-wrapper {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem 5rem
}

.blog-pagination-container {
    margin-top: 3rem
}

.blog-pagination-info {
    text-align: center;
    margin-bottom: 2rem
}

.blog-page-indicator {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid rgb(243 244 246)
}

.blog-page-numbers {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.blog-page-label {
    color: rgb(156 163 175);
    font-size: 0.875rem
}

.blog-page-current {
    font-weight: 600;
    font-size: 1.125rem;
    color: rgb(37 99 235);
    padding: 0 0.5rem;
    min-width: 1.75rem;
    text-align: center
}

.blog-page-total {
    font-weight: 600;
    font-size: 1.125rem;
    color: rgb(17 24 39)
}

.blog-posts-count {
    font-size: 0.875rem;
    color: rgb(107 114 128);
    margin-top: 0.75rem
}

.blog-posts-badge {
    background: rgb(249 250 251);
    padding: 0.25rem 0.75rem;
    border-radius: 9999px
}

.blog-pagination-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    background: white;
    padding: 0.75rem 1rem;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid rgb(243 244 246)
}

.blog-pagination-btn {
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    border: none;
    background: transparent;
    color: rgb(55 65 81);
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 0.25rem
}

.blog-pagination-btn:hover:not(:disabled) {
    background: rgb(249 250 251);
    color: rgb(37 99 235)
}

.blog-pagination-btn:disabled {
    color: rgb(209 213 219);
    cursor: not-allowed
}

.blog-pagination-numbers {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center
}

.blog-page-number-btn {
    min-width: 2.5rem;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    border: none;
    background: transparent;
    color: rgb(55 65 81);
    cursor: pointer;
    transition: all 0.2s ease
}

.blog-page-number-btn:hover {
    background: rgb(249 250 251);
    color: rgb(37 99 235)
}

.blog-page-number-btn.active {
    background: linear-gradient(to right, rgb(37 99 235), rgb(147 51 234));
    color: white;
    font-weight: 600;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transform: scale(1.05)
}

.blog-page-ellipsis {
    color: rgb(107 114 128);
    padding: 0 0.5rem;
    cursor: default
}

/* Blog Responsive */
@media (min-width:640px) {
    .blog-hero-title {
        font-size: 2.5rem
    }

    .blog-hero-subtitle {
        font-size: 1.375rem
    }

    .blog-posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:768px) {
    .blog-hero-title {
        font-size: 3rem
    }

    .blog-posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media (min-width:1024px) {
    .blog-hero-section {
        padding: 4rem 0
    }

    .blog-hero-title {
        font-size: 3rem
    }

    .blog-posts-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .blog-filter-wrapper {
        flex-wrap: nowrap
    }
}

/* ========================================
   BLOG DETAIL PAGE
   ======================================== */

/* Reading Progress Bar */
.reading-progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    height: 0.25rem;
    background: rgb(229 231 235)
}

.reading-progress-fill {
    height: 100%;
    background: linear-gradient(to right, rgb(37 99 235), rgb(147 51 234));
    transition: width 0.15s ease-out
}

/* Blog Detail Hero */
.blog-detail-hero {
    background: white;
    border-bottom: 1px solid rgb(229 231 235)
}

.blog-detail-hero-wrapper {
    position: relative;
    width: 100%
}

.blog-detail-hero-bg {
    position: absolute;
    inset: 0
}

.blog-detail-hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.blog-detail-hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45)
}

.blog-detail-hero-content {
    position: relative;
    z-index: 10
}

.blog-detail-hero-container {
    max-width: 72rem;
    margin: 0 auto;
    padding: 2.5rem 1rem 1.5rem
}

.blog-detail-hero-title {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    color: white;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    line-height: 1.15;
    margin: 0 0 1.25rem 0
}

.blog-detail-hero-categories {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 1.25rem
}

.blog-detail-hero-category {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    background: rgba(255, 255, 255, 0.2);
    color: white;
    border: 1px solid rgba(255, 255, 255, 0.3);
    backdrop-filter: blur(4px)
}

.blog-detail-hero-category svg {
    width: 0.75rem;
    height: 0.75rem;
    margin-right: 0.25rem
}

.blog-detail-hero-excerpt {
    text-align: center;
    color: rgba(255, 255, 255, 0.95);
    margin-top: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.625;
    max-width: 64rem;
    margin-left: auto;
    margin-right: auto
}

.blog-detail-hero-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: rgba(255, 255, 255, 0.95);
    margin-top: 1.25rem
}

.blog-detail-meta-item {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.blog-detail-meta-item svg {
    width: 1rem;
    height: 1rem
}

.blog-detail-meta-text {
    font-weight: 500
}

.blog-detail-meta-updated {
    color: rgba(255, 255, 255, 0.85)
}

.blog-detail-hero-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.75rem;
    margin-top: 1.25rem
}

.blog-detail-share-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    color: white;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease
}

.blog-detail-share-btn:hover {
    background: rgba(255, 255, 255, 0.2)
}

.blog-detail-share-btn svg {
    width: 1.25rem;
    height: 1.25rem
}

.blog-detail-hero-simple {
    max-width: 64rem;
    margin: 0 auto;
    padding: 2rem 1rem
}

.blog-detail-hero-title-simple {
    font-size: 1.875rem;
    font-weight: 700;
    color: rgb(17 24 39);
    line-height: 1.15;
    text-align: center
}

/* Share Menu */
.blog-share-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100
}

.blog-share-backdrop {
    position: fixed;
    inset: 0;
    z-index: 10
}

.blog-share-dropdown {
    position: absolute;
    right: 1rem;
    top: 20rem;
    width: 14rem;
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    border: 1px solid rgb(229 231 235);
    z-index: 20
}

.blog-share-options {
    padding: 0.5rem
}

.blog-share-option {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    transition: background 0.2s ease;
    color: rgb(55 65 81);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    border: none;
    background: transparent;
    width: 100%;
    cursor: pointer
}

.blog-share-option:hover {
    background: rgb(243 244 246)
}

.blog-share-option svg {
    width: 1.25rem;
    height: 1.25rem;
    flex-shrink: 0
}

.blog-share-option:nth-child(1) svg {
    color: rgb(37 99 235)
}

.blog-share-option:nth-child(2) svg {
    color: rgb(14 165 233)
}

.blog-share-option:nth-child(3) svg {
    color: rgb(29 78 216)
}

.blog-share-option:nth-child(4) svg {
    color: rgb(75 85 99)
}

/* Content & Sidebar */
.blog-detail-content {
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
    padding: 1rem
}

.blog-content-article {
    max-width: 100%
}

.blog-editor-content h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 2rem 0 1rem 0;
    line-height: 1.3
}

.blog-editor-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: rgb(31 41 55);
    margin: 1.5rem 0 0.75rem 0;
    line-height: 1.4
}

.blog-editor-content p {
    font-size: 1rem;
    line-height: 1.75;
    color: rgb(55 65 81);
    margin: 0.75rem 0
}

.blog-editor-content a {
    color: rgb(37 99 235);
    text-decoration: underline;
    text-underline-offset: 2px
}

.blog-editor-content a:hover {
    color: rgb(29 78 216)
}

.blog-editor-content blockquote {
    border-left: 4px solid rgb(37 99 235);
    padding-left: 1rem;
    margin: 1.5rem 0;
    font-style: italic;
    color: rgb(75 85 99);
    background: rgb(249 250 251);
    padding: 1rem 1rem 1rem 1.5rem;
    border-radius: 0.25rem
}

.blog-editor-content ul,
.blog-editor-content ol {
    margin: 1rem 0;
    padding-left: 1.5rem;
    color: rgb(55 65 81)
}

.blog-editor-content li {
    margin: 0.5rem 0;
    line-height: 1.625
}

.blog-editor-content strong {
    font-weight: 600;
    color: rgb(17 24 39)
}

/* Inline FAQ/accordion blocks inserted from CMS (Tailwind-like utilities, scoped) */
.blog-editor-content .block {
    display: block;
}

.blog-editor-content .flex {
    display: flex;
}

.blog-editor-content .items-center {
    align-items: center;
}

.blog-editor-content .justify-between {
    justify-content: space-between;
}

.blog-editor-content .cursor-pointer {
    cursor: pointer;
}

.blog-editor-content .hidden {
    display: none;
}

.blog-editor-content .my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.blog-editor-content .my-6 {
    margin-top: 1.5rem;
    margin-bottom: 1.5rem;
}

.blog-editor-content .space-y-4 > * + * {
    margin-top: 1rem;
}

.blog-editor-content .border {
    border: 1px solid #e5e7eb;
}

.blog-editor-content .border-t {
    border-top: 1px solid #e5e7eb;
}

.blog-editor-content .rounded-lg {
    border-radius: 0.5rem;
}

.blog-editor-content .overflow-hidden {
    overflow: hidden;
}

.blog-editor-content .shadow-sm {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.blog-editor-content .bg-white {
    background-color: #ffffff;
}

.blog-editor-content .bg-gray-50 {
    background-color: #f9fafb;
}

.blog-editor-content .p-4 {
    padding: 1rem;
}

.blog-editor-content .font-medium {
    font-weight: 500;
}

.blog-editor-content .text-lg {
    font-size: 1.125rem;
}

.blog-editor-content .w-5 {
    width: 1.25rem;
}

.blog-editor-content .h-5 {
    height: 1.25rem;
}

.blog-editor-content .transform {
    transition: transform 0.2s ease;
}

.blog-editor-content .rotate-180 {
    transform: rotate(180deg);
}

.blog-editor-content .text-center {
    text-align: center;
}

.blog-editor-content .mt-2 {
    margin-top: 0.5rem;
}

.blog-editor-content .mb-6 {
    margin-bottom: 1.5rem;
}

.blog-editor-content .text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.blog-editor-content .font-bold {
    font-weight: 700;
}

.blog-editor-content .font-semibold {
    font-weight: 600;
}

.blog-editor-content .px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.blog-editor-content .py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.blog-editor-content .rounded-md {
    border-radius: 0.375rem;
}

.blog-editor-content .justify-center {
    justify-content: center;
}

.blog-editor-content .cta-block {
    max-width: 40rem;
    margin-left: auto;
    margin-right: auto;
}

.blog-editor-content .hover\:opacity-90:hover {
    opacity: 0.9;
}

.blog-editor-content .focus\:outline-none:focus {
    outline: 0;
    box-shadow: none;
}

/* Blog editor inline forms (CTA, FAQs, etc.) */
.blog-editor-content form {
    margin: 1.5rem 0;
    padding: 1.25rem 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid var(--border-gray-200);
    background-color: rgb(249 250 251);
    box-shadow: 0 1px 2px rgb(0 0 0 / 0.03);
    max-width: 40rem;
}

.blog-editor-content form p {
    margin: 0.5rem 0;
}

.blog-editor-content label {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9375rem;
    color: rgb(31 41 55);
}

.blog-editor-content input[type="text"],
.blog-editor-content input[type="email"],
.blog-editor-content input[type="search"],
.blog-editor-content textarea {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.5rem;
    border: 1px solid var(--border-gray-200);
    font-size: 0.9375rem;
    line-height: 1.4;
    color: rgb(17 24 39);
    width: 100%;
    max-width: 24rem;
}

.blog-editor-content textarea {
    min-height: 5rem;
    resize: vertical;
}

.blog-editor-content input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    border: 1px solid var(--border-gray-200);
    accent-color: var(--primary-color);
}

.blog-editor-content button,
.blog-editor-content input[type="submit"],
.blog-editor-content input[type="button"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0.75rem;
    padding: 0.5rem 1rem;
    border-radius: 999px;
    border: 1px solid var(--primary-color);
    background-color: var(--primary-color);
    color: #ffffff;
    font-size: 0.875rem;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.blog-editor-content button:hover,
.blog-editor-content input[type="submit"]:hover,
.blog-editor-content input[type="button"]:hover {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1);
}

.blog-detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    position: sticky;
    top: 6rem
}

.blog-sidebar-card {
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    border: 1px solid rgb(243 244 246);
    padding: 1.5rem
}

.blog-sidebar-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem
}

.blog-sidebar-icon {
    padding: 0.5rem;
    border-radius: 0.5rem;
    background: rgba(37, 99, 235, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(37 99 235)
}

.blog-sidebar-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0
}

.blog-topics-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem
}

.blog-topic-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.625rem;
    background: rgb(249 250 251);
    border-radius: 0.5rem;
    transition: background 0.2s ease
}

.blog-topic-item:hover {
    background: rgb(243 244 246)
}

.blog-topic-dot {
    display: inline-block;
    width: 0.375rem;
    height: 0.375rem;
    border-radius: 9999px;
    background: rgb(37 99 235);
    flex-shrink: 0
}

.blog-topic-text {
    font-size: 0.75rem;
    color: rgb(31 41 55);
    font-weight: 500;
    line-height: 1.15;
    flex: 1;
    word-break: break-word
}

.blog-sidebar-cta {
    background: white;
    position: relative;
    overflow: hidden
}

.blog-sidebar-cta-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0 0 0.5rem 0
}

.blog-sidebar-cta-text {
    color: rgb(75 85 99);
    margin: 0 0 1.25rem 0;
    line-height: 1.625
}

.blog-sidebar-cta-btn {
    position: relative;
    display: block;
    width: 100%;
    background: linear-gradient(to right, rgb(37 99 235), rgb(147 51 234));
    color: white;
    font-weight: 600;
    padding: 0.875rem 1.5rem;
    border-radius: 0.5rem;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    text-decoration: none;
    overflow: hidden
}

.blog-sidebar-cta-btn:hover {
    transform: scale(1.02);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
}

.blog-cta-shine {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.15), transparent);
    animation: shine 3s infinite
}

.blog-cta-btn-content {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-size: 1rem
}

.blog-cta-btn-content svg {
    transition: transform 0.3s ease
}

.blog-sidebar-cta-btn:hover .blog-cta-btn-content svg {
    transform: translateX(0.25rem)
}

.blog-sidebar-cta-note {
    font-size: 0.75rem;
    color: rgb(107 114 128);
    margin-top: 0.75rem;
    text-align: center
}

.blog-recent-list {
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.blog-recent-article {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    text-decoration: none;
    transition: opacity 0.2s ease
}

.blog-recent-article:hover {
    opacity: 0.8
}

.blog-recent-image {
    position: relative;
    height: 3.5rem;
    width: 5rem;
    flex-shrink: 0;
    overflow: hidden;
    border-radius: 0.375rem;
    border: 1px solid rgb(229 231 235)
}

.blog-recent-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.blog-recent-info {
    flex: 1;
    min-width: 0
}

.blog-recent-title {
    font-size: 0.8125rem;
    font-weight: 500;
    color: rgb(17 24 39);
    line-height: 1.3;
    margin: 0 0 0.25rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: color 0.2s ease
}

.blog-recent-article:hover .blog-recent-title {
    color: rgb(37 99 235)
}

.blog-recent-date {
    font-size: 0.6875rem;
    color: rgb(107 114 128);
    margin: 0
}

@keyframes shine {
    0% {
        transform: translateX(-100%)
    }

    100% {
        transform: translateX(100%)
    }
}

/* Key Takeaways */
.blog-key-takeaways-wrapper {
    padding: 2rem 0
}

.blog-key-takeaways-container {
    max-width: 64rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-key-takeaways-card {
    background: linear-gradient(to bottom right, rgb(254 252 232), rgb(254 243 199));
    border-radius: 1rem;
    padding: 2rem;
    border: 2px solid rgb(252 211 77)
}

.blog-key-takeaways-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem
}

.blog-key-takeaways-icon {
    padding: 0.5rem;
    background: rgb(254 240 138);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(217 119 6)
}

.blog-key-takeaways-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0
}

.blog-key-takeaways-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem
}

.blog-key-takeaway-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.blog-takeaway-check {
    flex-shrink: 0;
    margin-top: 0.25rem;
    padding: 0.25rem;
    background: rgb(252 211 77);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(180 83 9)
}

.blog-takeaway-check svg {
    width: 1rem;
    height: 1rem
}

.blog-takeaway-text {
    color: rgb(31 41 55);
    line-height: 1.625;
    font-weight: 500;
    font-size: 0.9375rem
}

/* Related Topics */
.blog-related-topics-wrapper {
    padding: 2rem 0
}

.blog-related-topics-container {
    max-width: 64rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-related-topics-card {
    background: linear-gradient(to bottom right, rgb(250 245 255), rgb(244 232 255));
    border-radius: 1rem;
    padding: 2rem;
    border: 1px solid rgb(233 213 255)
}

.blog-related-topics-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem
}

.blog-related-topics-header svg {
    width: 1.5rem;
    height: 1.5rem;
    color: rgb(147 51 234)
}

.blog-related-topics-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0
}

.blog-related-topics-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.blog-related-topic-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: white;
    border-radius: 0.5rem;
    border: 1px solid rgb(233 213 255);
    text-decoration: none;
    transition: all 0.2s ease
}

.blog-related-topic-link:hover {
    border-color: rgb(216 180 254);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1)
}

.blog-related-topic-text {
    font-weight: 500;
    color: rgb(17 24 39);
    transition: color 0.2s ease
}

.blog-related-topic-link:hover .blog-related-topic-text {
    color: rgb(147 51 234)
}

.blog-related-topic-link svg {
    width: 1rem;
    height: 1rem;
    color: rgb(192 132 252);
    flex-shrink: 0;
    margin-left: 0.5rem;
    transition: all 0.2s ease
}

.blog-related-topic-link:hover svg {
    color: rgb(147 51 234);
    transform: translateX(0.25rem)
}

.blog-related-topics-note {
    font-size: 0.875rem;
    color: rgb(107 114 128);
    margin-top: 1.5rem;
    font-style: italic;
    line-height: 1.5
}

/* Blog FAQ */
.blog-detail-faq-wrapper {
    background: rgb(249 250 251);
    padding: 3rem 0
}

.blog-detail-faq-container {
    max-width: 64rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-detail-faq-card {
    background: white;
    border-radius: 1rem;
    border: 2px solid rgb(229 231 235);
    padding: 2rem
}

.blog-detail-faq-header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1.5rem
}

.blog-detail-faq-icon {
    padding: 0.5rem;
    background: rgb(219 234 254);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(37 99 235)
}

.blog-detail-faq-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0
}

.blog-detail-faq-list {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.blog-detail-faq-item {
    border: 1px solid rgb(229 231 235);
    border-radius: 0.5rem;
    overflow: hidden
}

.blog-detail-faq-question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    background: transparent;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: background 0.2s ease
}

.blog-detail-faq-question:hover {
    background: rgb(249 250 251)
}

.blog-detail-faq-question-text {
    font-size: 1rem;
    font-weight: 600;
    color: rgb(17 24 39);
    padding-right: 1rem;
    line-height: 1.5;
    margin: 0
}

.blog-detail-faq-toggle-icon {
    position: relative;
    width: 2rem;
    height: 2rem;
    border-radius: 9999px;
    border: 2px solid rgb(203 213 225);
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
    color: rgb(100 116 139)
}

.blog-detail-faq-item.active .blog-detail-faq-toggle-icon {
    border-color: rgb(147 197 253);
    background: rgba(37, 99, 235, 0.1);
    color: rgb(37 99 235)
}

.faq-icon-minus {
    display: none
}

.blog-detail-faq-item.active .faq-icon-plus {
    display: none
}

.blog-detail-faq-item.active .faq-icon-minus {
    display: block
}

.blog-detail-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, padding 0.3s ease;
    padding: 0 1rem
}

.blog-detail-faq-item.active .blog-detail-faq-answer {
    max-height: 600px;
    padding: 0 1rem 1.25rem
}

.blog-detail-faq-answer p {
    font-size: 0.875rem;
    line-height: 1.75;
    color: rgb(71 85 105);
    margin: 0
}

/* Author Card */
.blog-author-card-wrapper {
    padding: 1.5rem 0
}

.blog-author-card-container {
    max-width: 64rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-author-card {
    background: linear-gradient(to bottom right, rgb(239 246 255), rgb(243 232 255));
    border-radius: 1rem;
    padding: 1.25rem;
    border: 2px solid rgb(191 219 254)
}

.blog-author-content {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem
}

.blog-author-avatar {
    flex-shrink: 0
}

.blog-author-image,
.blog-author-default {
    width: 4rem;
    height: 4rem;
    border-radius: 9999px;
    overflow: hidden;
    box-shadow: 0 0 0 4px rgb(191 219 254)
}

.blog-author-image img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.blog-author-default {
    background: linear-gradient(to bottom right, rgb(37 99 235), rgb(147 51 234));
    display: flex;
    align-items: center;
    justify-content: center;
    color: white
}

.blog-author-info {
    flex: 1
}

.blog-author-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 0.5rem
}

.blog-author-name {
    font-size: 1.125rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0
}

.blog-author-credentials {
    display: flex;
    align-items: center;
    margin-top: 0.25rem;
    font-size: 0.875rem;
    color: rgb(29 78 216);
    gap: 0.25rem
}

.blog-author-credentials svg {
    width: 1rem;
    height: 1rem
}

.blog-author-bio {
    color: rgb(55 65 81);
    line-height: 1.625;
    font-size: 0.875rem;
    margin: 0 0 0.75rem 0
}

.blog-author-verified {
    font-size: 0.75rem;
    color: rgb(107 114 128);
    margin: 0;
    font-style: italic
}

/* Blog Navigation */
.blog-navigation-wrapper {
    padding: 3rem 0
}

.blog-navigation-container {
    max-width: 64rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-navigation-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem
}

.blog-nav-link {
    display: flex;
    align-items: center;
    padding: 1.5rem;
    background: white;
    border: 2px solid rgb(229 231 235);
    border-radius: 0.75rem;
    text-decoration: none;
    transition: all 0.3s ease
}

.blog-nav-link:hover {
    border-color: rgb(37 99 235)
}

.blog-nav-icon {
    width: 1.5rem;
    height: 1.5rem;
    color: rgb(156 163 175);
    flex-shrink: 0;
    transition: all 0.3s ease
}

.blog-nav-link:hover .blog-nav-icon {
    color: rgb(37 99 235)
}

.blog-nav-prev .blog-nav-icon {
    margin-right: 1rem
}

.blog-nav-prev:hover .blog-nav-icon {
    transform: translateX(-0.25rem)
}

.blog-nav-next {
    justify-content: flex-end
}

.blog-nav-next .blog-nav-icon {
    margin-left: 1rem
}

.blog-nav-next:hover .blog-nav-icon {
    transform: translateX(0.25rem)
}

.blog-nav-content {
    flex: 1
}

.blog-nav-next .blog-nav-content {
    text-align: right
}

.blog-nav-label {
    font-size: 0.875rem;
    color: rgb(107 114 128);
    margin: 0 0 0.25rem 0
}

.blog-nav-title {
    font-weight: 600;
    color: rgb(17 24 39);
    margin: 0;
    transition: color 0.2s ease;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.blog-nav-link:hover .blog-nav-title {
    color: rgb(37 99 235)
}

.blog-nav-empty {
    display: block
}

/* Related Posts */
.blog-related-posts-wrapper {
    background: rgb(249 250 251);
    padding: 2.5rem 0
}

.blog-related-posts-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-related-posts-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0 0 1.5rem 0
}

.blog-related-posts-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem
}

.blog-related-post-card {
    background: white;
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease
}

.blog-related-post-card:hover {
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)
}

.blog-related-post-image-link {
    display: block
}

.blog-related-post-image {
    position: relative;
    aspect-ratio: 16/9;
    overflow: hidden
}

.blog-related-post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease
}

.blog-related-post-card:hover .blog-related-post-image img {
    transform: scale(1.05)
}

.blog-related-post-placeholder {
    aspect-ratio: 16/9;
    background: linear-gradient(to bottom right, rgb(239 246 255), rgb(243 232 255));
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgb(209 213 219)
}

.blog-related-post-content {
    flex: 1;
    padding: 1rem
}

.blog-related-post-category {
    display: inline-block;
    padding: 0.125rem 0.625rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 500;
    background: rgb(239 246 255);
    color: rgb(29 78 216);
    margin-bottom: 0.5rem
}

.blog-related-post-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: rgb(17 24 39);
    margin: 0 0 0.5rem 0;
    line-height: 1.4;
    transition: color 0.2s ease
}

.blog-related-post-title a {
    color: inherit;
    text-decoration: none;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.blog-related-post-card:hover .blog-related-post-title {
    color: rgb(37 99 235)
}

.blog-related-post-excerpt {
    color: rgb(75 85 99);
    font-size: 0.875rem;
    margin: 0 0 0.75rem 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.625
}

.blog-related-post-meta {
    display: flex;
    align-items: center;
    font-size: 0.75rem;
    color: rgb(107 114 128);
    gap: 0.75rem;
    margin-bottom: 0.75rem;
    flex-wrap: wrap
}

.blog-related-meta-item {
    display: flex;
    align-items: center;
    gap: 0.25rem
}

.blog-related-meta-item svg {
    width: 1rem;
    height: 1rem;
    flex-shrink: 0
}

.blog-related-post-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: rgb(37 99 235);
    font-size: 0.875rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s ease
}

.blog-related-post-link:hover {
    color: rgb(29 78 216)
}

.blog-related-post-link svg {
    transition: transform 0.3s ease
}

.blog-related-post-card:hover .blog-related-post-link svg {
    transform: translateX(0.25rem)
}

/* Explore More */
.blog-explore-more-wrapper {
    margin-top: 2rem;
    margin-bottom: 4rem
}

.blog-explore-more-container {
    max-width: 80rem;
    margin: 0 auto;
    padding: 0 1rem
}

.blog-explore-more-card {
    background: white;
    border: 1px solid rgb(243 244 246);
    border-radius: 0.75rem;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    overflow: hidden
}

.blog-explore-more-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 1.25rem
}

.blog-explore-more-icon-wrapper {
    display: flex;
    align-items: center;
    gap: 0.75rem
}

.blog-explore-more-icon {
    height: 2.25rem;
    width: 2.25rem;
    border-radius: 0.5rem;
    background: rgba(37, 99, 235, 0.1);
    display: flex;
    align-items: center;
    justify-content: center
}

.blog-explore-dot {
    height: 0.5rem;
    width: 0.5rem;
    border-radius: 9999px;
    background: rgb(37 99 235);
    display: block
}

.blog-explore-more-text {
    text-align: center
}

.blog-explore-more-title {
    font-size: 1rem;
    font-weight: 600;
    color: rgb(17 24 39);
    margin: 0
}

.blog-explore-more-desc {
    font-size: 0.875rem;
    color: rgb(75 85 99);
    margin: 0.125rem 0 0 0
}

.blog-explore-more-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 500;
    color: white;
    background: linear-gradient(to right, rgb(37 99 235), rgb(147 51 234));
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05)
}

.blog-explore-more-btn:hover {
    background: linear-gradient(to right, rgb(147 51 234), rgb(168 85 247));
    transform: scale(1.02)
}

.blog-explore-more-btn svg {
    width: 1rem;
    height: 1rem;
    transition: transform 0.3s ease
}

.blog-explore-more-btn:hover svg {
    transform: translateX(0.125rem)
}

/* Blog Detail Responsive */
@media (min-width:640px) {
    .blog-detail-hero-title {
        font-size: 2rem
    }

    .blog-detail-hero-excerpt {
        font-size: 1rem
    }

    .blog-detail-hero-meta {
        gap: 1.5rem
    }

    .blog-topics-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .blog-related-topics-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .blog-related-posts-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .blog-explore-more-content {
        flex-direction: row;
        justify-content: space-between;
        padding: 1.25rem 1.5rem
    }
}

@media (min-width:768px) {
    .blog-detail-hero-container {
        padding: 3rem 2rem 2rem
    }

    .blog-detail-hero-title {
        font-size: 2.5rem
    }

    .blog-detail-hero-excerpt {
        font-size: 1.125rem
    }

    .blog-detail-content {
        padding: 1.5rem 2rem 2.5rem
    }

    .blog-content-article {
        max-width: 100%
    }

    .blog-editor-content {
        font-size: 1.0625rem;
        line-height: 1.8
    }

    .blog-author-card {
        padding: 2rem
    }

    .blog-author-image,
    .blog-author-default {
        width: 5rem;
        height: 5rem
    }

    .blog-author-name {
        font-size: 1.25rem
    }

    .blog-author-bio {
        font-size: 1rem
    }

    .blog-navigation-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .blog-related-posts-title {
        font-size: 1.875rem;
        margin-bottom: 2rem
    }

    .blog-related-posts-grid {
        gap: 2rem
    }

    .blog-related-post-content {
        padding: 1.5rem
    }
}

@media (min-width:1024px) {
    .blog-detail-hero-container {
        padding: 4rem 3rem 3rem;
        max-width: 90rem
    }

    .blog-detail-hero-title {
        font-size: 3.75rem
    }

    .blog-detail-hero-excerpt {
        font-size: 1.25rem
    }

    .blog-detail-content {
        padding: 2rem 2.5rem
    }

    .blog-content-article {
        max-width: 100%
    }

    .blog-related-topics-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .blog-related-posts-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (min-width:1280px) {
    .blog-detail-hero-title {
        font-size: 4rem
    }
}
/* ========================================
   REGISTER PAGE STYLES
   ======================================== */

.register-hero-section {
    position: relative;
    min-height: 100vh;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, rgba(255, 255, 255, 1) 50%, rgba(37, 99, 235, 0.08) 100%);
    padding: 5rem 0 4rem;
    overflow: hidden;
}

.register-hero-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.02;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='triangles' x='0' y='0' width='50' height='43.301' patternUnits='userSpaceOnUse'%3E%3Cpolygon points='25,0 50,43.301 0,43.301' fill='%231a365d'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100' height='100' fill='url(%23triangles)'/%3E%3C/svg%3E");
    background-size: 100px 87px;
    pointer-events: none;
}

.register-hero-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 2;
}

.register-hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: start;
}

.register-hero-left {
    text-align: center;
}

.register-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: rgba(59, 130, 246, 0.1);
    color: #2563eb;
    border: 1px solid rgba(37, 99, 235, 0.2);
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.register-badge-icon {
    width: 1rem;
    height: 1rem;
}

.register-hero-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.register-hero-description {
    font-size: 1.25rem;
    color: #4b5563;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.register-benefits {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.register-benefit-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.register-benefit-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: #10b981;
    flex-shrink: 0;
}

.register-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin-bottom: 2rem;
}

.register-feature-item {
    text-align: center;
}

.register-feature-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.5rem;
}

.register-feature-icon-wrapper {
    width: 2rem;
    height: 2rem;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    margin-right: 0.75rem;
}

.register-icon {
    width: 1.25rem;
    height: 1.25rem;
}

.register-feature-title {
    font-size: 0.875rem;
    font-weight: 600;
    color: #111827;
    display: none;
}

.register-feature-description {
    font-size: 0.75rem;
    color: #4b5563;
    line-height: 1.4;
}

.register-trust-indicators {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}

.register-trust-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.register-avatar-group {
    display: flex;
    margin-left: -0.5rem;
}

.register-avatar {
    width: 2rem;
    height: 2rem;
    background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
    border-radius: 9999px;
    border: 2px solid white;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 0.75rem;
    font-weight: 700;
    margin-left: -0.5rem;
}

.register-stars {
    display: flex;
    color: #fbbf24;
}

.register-star {
    width: 1rem;
    height: 1rem;
}

.register-trust-text {
    font-size: 0.875rem;
    color: #4b5563;
}

.register-hero-right {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
}

.register-card {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    overflow: hidden;
}

.register-card-header {
    text-align: center;
    padding: 2rem 2rem 1.5rem;
}

.register-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.5rem;
}

.register-card-subtitle {
    color: #6b7280;
    font-size: 0.875rem;
}

.register-card-content {
    padding: 0 2rem 2rem;
}

.register-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.register-error-box {
    padding: 1rem;
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
}

.register-error-box::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background-color: #dc2626;
    border-radius: 9999px;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.register-step {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.register-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.register-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.register-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.register-optional {
    color: #9ca3af;
    font-weight: 400;
}

.register-input-wrapper {
    position: relative;
}

.register-input-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    color: #9ca3af;
    pointer-events: none;
}

.register-input {
    width: 100%;
    height: 2.75rem;
    padding-left: 2.5rem;
    padding-right: 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    transition: all 150ms ease;
}

.register-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.register-field-error {
    font-size: 0.75rem;
    color: #dc2626;
    margin-top: 0.25rem;
    display: block;
}

.register-hint {
    font-size: 0.75rem;
    color: #6b7280;
    line-height: 1.4;
}

.register-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 150ms ease;
}

.register-btn-primary {
    background-color: #1e3a8a;
    color: white;
    height: 3rem;
    width: 100%;
}

.register-btn-primary:hover {
    background-color: #1d4ed8;
}

.register-btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.register-btn-arrow {
    width: 1rem;
    height: 1rem;
    transition: transform 150ms ease;
}

.register-btn:hover .register-btn-arrow {
    transform: translateX(0.25rem);
}

.register-separator {
    height: 1px;
    background-color: #e5e7eb;
    margin: 0.5rem 0;
}

.register-checkbox-wrapper {
    display: flex;
    align-items: start;
    gap: 0.75rem;
}

.register-checkbox {
    margin-top: 0.25rem;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    cursor: pointer;
}

.register-checkbox-label {
    font-size: 0.875rem;
    color: #374151;
    line-height: 1.5;
}

.register-link {
    color: #2563eb;
    font-weight: 500;
    text-decoration: none;
}

.register-link:hover {
    color: #1d4ed8;
}

.register-button-row {
    display: flex;
    gap: 0.75rem;
}

.register-btn-outline {
    border: 1px solid #d1d5db;
    background-color: white;
    color: #374151;
    height: 2.75rem;
}

.register-btn-outline:hover {
    background-color: #f9fafb;
    border-color: #2563eb;
    color: #2563eb;
}

.register-btn-flex {
    flex: 1;
}

.register-spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid white;
    border-top-color: transparent;
    border-radius: 9999px;
    animation: spin 0.6s linear infinite;
    margin-right: 0.5rem;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

.register-footer-text {
    text-align: center;
    padding-top: 1rem;
    font-size: 0.875rem;
    color: #6b7280;
}

/* ========================================
   VERIFY EMAIL PAGE STYLES
   ======================================== */

.verify-email-section {
    position: relative;
    min-height: 100vh;
    background: linear-gradient(135deg, rgba(37, 99, 235, 0.05) 0%, rgba(255, 255, 255, 1) 50%, rgba(37, 99, 235, 0.08) 100%);
    padding: 5rem 0 4rem;
    overflow: hidden;
}

.verify-email-overlay {
    position: fixed;
    inset: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(4px);
}

.verify-email-overlay-content {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: #1f2937;
}

.verify-email-spinner {
    width: 1.25rem;
    height: 1.25rem;
    border: 2px solid #1f2937;
    border-top-color: transparent;
    border-radius: 9999px;
    animation: spin 0.6s linear infinite;
}

.verify-email-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.02;
    background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3Cpattern id='triangles' x='0' y='0' width='50' height='43.301' patternUnits='userSpaceOnUse'%3E%3Cpolygon points='25,0 50,43.301 0,43.301' fill='%231a365d'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='100' height='100' fill='url(%23triangles)'/%3E%3C/svg%3E");
    background-size: 100px 87px;
    pointer-events: none;
}

.verify-email-container {
    max-width: 1152px;
    margin: 0 auto;
    padding: 0 1.5rem;
    position: relative;
    z-index: 2;
}

.verify-email-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}

.verify-email-left {
    text-align: center;
}

.verify-email-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background-color: rgba(34, 197, 94, 0.1);
    color: #16a34a;
    border: 1px solid rgba(34, 197, 94, 0.2);
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
}

.verify-badge-icon {
    width: 1rem;
    height: 1rem;
}

.verify-email-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    margin-bottom: 1.5rem;
}

.verify-email-highlight {
    display: block;
    color: #2563eb;
}

.verify-email-description {
    font-size: 1.25rem;
    color: #4b5563;
    margin-bottom: 2rem;
    line-height: 1.6;
}

.verify-email-benefits {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 2rem;
}

.verify-email-benefit-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.verify-benefit-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: #10b981;
    flex-shrink: 0;
}

.verify-email-whats-next {
    background: rgba(255, 255, 255, 0.5);
    backdrop-filter: blur(4px);
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.verify-email-whats-next-title {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.verify-clock-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: #2563eb;
    margin-right: 0.5rem;
}

.verify-email-steps {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    text-align: left;
}

.verify-email-step-item {
    display: flex;
    align-items: start;
    gap: 0.75rem;
    font-size: 0.875rem;
    color: #4b5563;
}

.verify-step-bullet {
    width: 0.5rem;
    height: 0.5rem;
    background-color: #2563eb;
    border-radius: 9999px;
    margin-top: 0.5rem;
    flex-shrink: 0;
}

.verify-email-trust {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

.verify-email-stars {
    display: flex;
    color: #fbbf24;
}

.verify-star {
    width: 1rem;
    height: 1rem;
}

.verify-trust-text {
    font-size: 0.875rem;
    color: #4b5563;
}

.verify-email-right {
    width: 100%;
    max-width: 28rem;
    margin: 0 auto;
}

.verify-email-card {
    background: white;
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    overflow: hidden;
}

.verify-email-card-header {
    text-align: center;
    padding: 2rem 2rem 1.5rem;
}

.verify-email-icon-circle {
    width: 4rem;
    height: 4rem;
    background-color: rgba(37, 99, 235, 0.1);
    border-radius: 9999px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
}

.verify-mail-icon {
    width: 2rem;
    height: 2rem;
    color: #2563eb;
}

.verify-email-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #111827;
    margin-bottom: 0.5rem;
}

.verify-email-card-subtitle {
    color: #4b5563;
    font-size: 0.875rem;
    line-height: 1.5;
}

.verify-email-address {
    font-weight: 500;
    color: #111827;
}

.verify-email-card-content {
    padding: 0 2rem 2rem;
}

.verify-email-form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.verify-error-box {
    padding: 1rem;
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
}

.verify-error-box::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    background-color: #dc2626;
    border-radius: 9999px;
    margin-right: 0.75rem;
    flex-shrink: 0;
}

.verify-info-box {
    padding: 1rem;
    background-color: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    display: flex;
    align-items: center;
}

.verify-info-box::before {
    content: "✓";
    width: 1rem;
    height: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0.75rem;
    flex-shrink: 0;
    font-weight: 700;
}

.verify-field {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.verify-label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
}

.verify-input-wrapper {
    position: relative;
}

.verify-input-icon {
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1rem;
    height: 1rem;
    color: #9ca3af;
    pointer-events: none;
}

.verify-input {
    width: 100%;
    height: 2.75rem;
    padding-left: 2.5rem;
    padding-right: 1rem;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    transition: all 150ms ease;
}

.verify-code-input {
    text-align: center;
    font-size: 1.125rem;
    letter-spacing: 0.25em;
    font-family: 'Courier New', monospace;
}

.verify-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.verify-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.75rem 1.5rem;
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: all 150ms ease;
}

.verify-btn-primary {
    background-color: #1e3a8a;
    color: white;
    height: 3rem;
    width: 100%;
}

.verify-btn-primary:hover {
    background-color: #1d4ed8;
}

.verify-btn-primary:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.verify-btn-arrow {
    width: 1rem;
    height: 1rem;
    transition: transform 150ms ease;
}

.verify-btn:hover .verify-btn-arrow {
    transform: translateX(0.25rem);
}

.verify-spinner {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    border: 2px solid white;
    border-top-color: transparent;
    border-radius: 9999px;
    animation: spin 0.6s linear infinite;
    margin-right: 0.5rem;
}

.verify-resend-section {
    text-align: center;
    padding-top: 1rem;
}

.verify-resend-text {
    font-size: 0.875rem;
    color: #4b5563;
    margin-bottom: 0.75rem;
}

.verify-btn-outline {
    border: 1px solid #d1d5db;
    background-color: white;
    color: #374151;
    width: auto;
    margin: 0 auto;
}

.verify-btn-outline:hover {
    background-color: #f9fafb;
    border-color: #2563eb;
    color: #2563eb;
}

.verify-btn-outline:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.verify-resend-icon {
    width: 1rem;
    height: 1rem;
}

.verify-footer-text {
    text-align: center;
    padding-top: 1rem;
    border-top: 1px solid #f3f4f6;
    font-size: 0.875rem;
    color: #6b7280;
}

.verify-link {
    color: #2563eb;
    font-weight: 500;
    text-decoration: none;
}

.verify-link:hover {
    color: #1d4ed8;
}

/* Responsive Styles */
@media (min-width: 640px) {
    .register-row {
        grid-template-columns: 1fr 1fr;
    }

    .register-trust-indicators {
        flex-direction: row;
        justify-content: center;
    }
}

@media (min-width: 1024px) {
    .register-hero-grid,
    .verify-email-grid {
        grid-template-columns: 1fr 1fr;
        gap: 3rem;
    }

    .register-hero-left,
    .verify-email-left {
        text-align: left;
        position: sticky;
        top: 8rem;
    }

    .register-benefit-item,
    .verify-email-benefit-item {
        justify-content: flex-start;
    }

    .register-hero-title {
        font-size: 3rem;
    }

    .verify-email-title {
        font-size: 3rem;
    }

    .register-feature-item {
        text-align: left;
    }

    .register-feature-header {
        justify-content: flex-start;
    }

    .register-feature-title {
        display: block;
    }

    .register-trust-indicators {
        justify-content: flex-start;
    }

    .verify-email-whats-next-title {
        justify-content: flex-start;
    }

    .verify-email-trust {
        justify-content: flex-start;
    }
}
