/* Base styles */
html, body {
    margin: 0;
    padding: 0;
    background-color: #1c243b;
    font-family: 'Roboto', sans-serif;
    color: #FFFFFF;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow-x: hidden;
}

/* Gradient background element */
.gradient-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0; /* Changed from -1 to 0 */
}

.gradient-bg {
    position: relative;
    top: 35%;
    left: 50%;
    transform: translateX(-50%);
    max-width: 800px;
    min-height: 800px;
    background: radial-gradient(ellipse 100% 100% at 50% 0%, rgba(255, 140, 0, 0.4) 0%, rgba(255, 140, 0, 0.2) 50%, rgba(28, 36, 59, 0) 100%);
    opacity: 0.8;
    transition: opacity 0.5s ease;
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    filter: blur(5vw);
    pointer-events: none;
    transform-origin: bottom center;
}

/* Make the gradient more visible on hover */
.gradient-bg:hover {
    transform: translateX(-50%) scale(1.1);
    opacity: 1;
}

.container {
    text-align: center;
    width: 100%;
    max-width: 600px;
    padding: 20px 20px 30px 20px;
    overflow: auto;
    min-height: 400px;
    margin: 0 auto;
    flex: 1;
    margin-top: 30px;
    /*transition: max-width 0.3s ease;*/
}

.nextgen {
    font-family: 'Roboto', sans-serif;
    font-size: 45px;
    font-weight: 300;
    text-align: center;
    width: 100%;
    margin: 10px auto;
    display: block;
}

.logo-container {
    display: inline-block;
    position: relative;
    margin: 0 auto;
    line-height: 1;
}

.cloud-logo {
    width: 135px;
    position: absolute;
    top: -30px;
    left: -5px;
    z-index: 1;
    transition: all 0.3s ease;
}

.logo-container:hover .cloud-logo path {
    fill: none !important;
    stroke: white !important;
}

.logo-text {
    display: inline-block;
    position: relative;
    z-index: 2; /* Higher z-index than cloud */
    line-height: 1;
    vertical-align: middle;
    font-weight: 100;
    margin-left: 25px
}

.web {
    font-family: 'Montserrat', sans-serif;
    font-size: 45px;
    font-weight: 400;
    display: inline;
}

.cloud-logo {
    transition: transform 0.3s ease;
}

.cloud-logo:hover {
    transform: scale(1.1);
}

.subtitle {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    color: #b3b3b3;
    font-weight: 100;
    margin-left: 20px;
}

/*.coming-soon {
    position: relative;
    top: 70px;
    left: 50%;
    transform: translateX(-50%); !* Center horizontally *!
    color: #b3b3b3;
    font-size: 16px;
    animation: pulse 1s infinite alternate; !* Apply pulsing animation *!
    font-weight: 100;
    font-family: 'Montserrat', sans-serif;
}

@keyframes pulse {
    0% {
        color: #989898; !* Start color *!
    }
    100% {
        color: #ffffff; !* End color *!
    }
}*/

.contact-section {
    display: none;
    margin-top: 40px;
    background-color: #2a2f47;
    padding: 10px 20px 20px 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

.contact-form input, .contact-form textarea {
    background: #32395a;
    border: 1px solid #3f4359;
    color: #ffffff;
    padding: 12px;
    margin-bottom: 16px;
    border-radius: 6px;
    width: 100%;
    box-sizing: border-box;
    transition: background 0.2s, border 0.2s;
}

.contact-form input::placeholder, .contact-form textarea::placeholder {
    color: #b3b3b3;
}

.contact-form input:disabled,
.contact-form textarea:disabled {
    background-color: #3f4359;
    color: #b3b3b3;
    border: 1px solid #4b4f67;
}

/* Standard input focus styling */
.contact-form input:focus,
.contact-form textarea:focus {
    background: #32395a;
    border-color: #b3b3b3;
    outline: none;
    color: #ffffff;
}

/* Chrome, Safari, Edge */
.contact-form input:-webkit-autofill,
.contact-form textarea:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px #32395a inset !important;
    box-shadow: 0 0 0 1000px #32395a inset !important;
    border: 1px solid #b3b3b3 !important;
    -webkit-text-fill-color: #fff !important;
    color: #fff !important;
    caret-color: #fff !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* Firefox */
.contact-form input:-moz-autofill,
.contact-form textarea:-moz-autofill {
    background-color: #32395a !important;
    color: #fff !important;
    border: 1px solid #b3b3b3 !important;
    caret-color: #fff !important;
}

/* Remove autofill border and background on blur */
.contact-form input:not(:focus):-webkit-autofill,
.contact-form textarea:not(:focus):-webkit-autofill {
    border: 1px solid #3f4359 !important;
    -webkit-box-shadow: 0 0 0 1000px #32395a inset !important;
    box-shadow: 0 0 0 1000px #32395a inset !important;
    caret-color: #fff !important;
}

.contact-form input:not(:focus):-moz-autofill,
.contact-form textarea:not(:focus):-moz-autofill {
    border: 1px solid #3f4359 !important;
    background-color: #32395a !important;
    caret-color: #fff !important;
}

/* Clearfix for consistent spacing */
.clearfix:before,
.clearfix:after {
    content: "";
    display: table;
    clear: both;
}

/* Contact form buttons inherit from .action-button */

/* Flex container to align loader and text on the same line */
#contact-form-submit svg {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.navigation-button {
    font-size: 18px;
    border: none;
    color: #b3b3b3;
    background: none;
    cursor: pointer;
    transition: color 0.3s;
    text-decoration: underline;
}

.navigation-button.active {
    color: #ffffff !important;
}

.navigation-button:hover {
    text-decoration: underline;
    color: #ffffff;
}

.navigation-button:hover h2,
.navigation-button:hover svg {
    color: #ffffff !important;
}

.navigation-button h2,
.navigation-button svg {
    color: #b3b3b3;
    transition: color 0.3s;
}

.navigation-button.active h2,
.navigation-button.active svg {
    color: #ffffff !important;
}

/*.coming-soon {
    position: relative;
    top: 70px;
    left: 50%;
    transform: translateX(-50%); !* Center horizontally *!
    color: #b3b3b3;
    font-size: 16px;
    animation: pulse 1s infinite alternate; !* Apply pulsing animation *!
    font-weight: 100;
    font-family: 'Montserrat', sans-serif;
}

@keyframes pulse {
    0% {
        color: #989898; !* Start color *!
    }
    100% {
        color: #ffffff; !* End color *!
    }
}*/

.services-section, .portfolio-section {
    position: relative;
    margin-top: 40px;
    background-color: #2a2f47;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: none; /* Hidden by default */
}

.services-section h1, .portfolio-section h1, .contact-section h1 {
    margin-top: 0;
}

.loader {
    border: 4px solid #f3f3f3; /* Light grey */
    border-top: 4px solid #2f68c4; /* Blue */
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 2s linear infinite;
    display: none; /* Hidden by default */
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .contact-section {
        width: 100%; /* Full width on mobile */
    }
}

.success-message, .error-message {
    color: #ffffff;
    margin-top: 20px;
}

.error-message {
    color: #ff6b6b;
    font-size: 14px;
    margin-top: 10px;
    text-align: center;
}

.success-message {
    font-size: 14px;
    margin-top: 15px;
    text-align: center;
    line-height: 1;
}

.text-green-500 {
    color: #85dd93 !important;
}

.close-form-button, .close-button {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: none;
    border: none;
    color: #b3b3b3;
    font-size: 1.5rem;
    cursor: pointer;
    padding: 1.5rem 1.5rem;
    line-height: 1;
    border-radius: 0.25rem;
    transition: all 0.2s ease;
    width: 2rem;
    height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.close-form-button:hover, .close-button:hover {
    color: #ffffff;
    /*background-color: rgba(255, 255, 255, 0.1);*/
    transform: scale(1.1);
}

.close-form-button:active, .close-button:active {
    transform: scale(0.95);
}

h2, #contact-title {
    color: #b3b3b3;
}

#contact-title, #services-title, #portfolio-title {
    color: #b3b3b3; /* Default gray */
    transition: color 0.3s;
}

/* When sections are open, titles should be white */
.contact-section[style*="display: block"] #contact-title,
.services-section[style*="display: block"] #services-title,
.portfolio-section[style*="display: block"] #portfolio-title {
    color: #ffffff;
}

.contact-text, .generic-text-note {
    color: #b3b3b3;
}

.generic-text-note {
    font-size: 14px;
    margin-bottom: 0;
}

.dotted-underline {
    border-bottom: 0.1em dotted #b3b3b3;
}

.g-center-object {
    margin: 0 auto;
}

#intro-section {
    max-width: none;
    width: 100%;
    background: #2a2f47;
    color: #cecece;
    font-size: 16px;
}

.font-primary {
    font-family: 'Roboto', sans-serif;
}

.font-secondary {
    font-family: 'Source Code Pro', Consolas, 'Courier New', monospace;
}

.color-primary {
    color: #2f68c4;
}

.color-secondary {
    color: #ff8c00;
}

.color-white {
    color: #FFFFFF;
}

.color-gray {
    color: #b3b3b3 !important;
}

.grecaptcha-badge {
    display: none;
}

.intro-section, .services-section, .portfolio-section, .contact-section {
    position: relative;
    margin-top: 40px;
    background-color: #2a2f47;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    display: none;
    border: 1px solid #3f4359;
    opacity: 1;
}

.services-section h1, .portfolio-section h1, .contact-section h1 {
    margin-top: 0;
}

.numbers-section {
    display: flex;
    justify-content: space-around;
    align-items: center;
    background: linear-gradient(to right, #1c243b, #2a2f47);
    padding: 2rem 1rem;
    border-radius: 0.5rem;
    margin-top: 2rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    padding-top: 10px;
    margin-top: 10px;
    margin-bottom: 20px;
}

/* Navigation Container */
.button-group {
    display: flex;
    gap: 15px;
    margin: 40px auto 20px;
    padding: 10px 0;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
    -webkit-overflow-scrolling: touch; /* Smooth scrolling on iOS */
    max-width: 800px;
    position: relative;
    scroll-padding: 0 40px;
    width: 90%;
    -webkit-tap-highlight-color: transparent;
    overscroll-behavior-x: contain;
    -webkit-transform: translateZ(0); /* Force hardware acceleration */
    -webkit-backface-visibility: hidden; /* Fix for iOS flicker */
    -webkit-perspective: 1000; /* Fix for iOS flicker */
}

/* iOS specific fixes */
@supports (-webkit-touch-callout: none) {
    .button-group {
        -webkit-overflow-scrolling: touch;
        padding-bottom: 1px; /* Fix for iOS scrollbar appearing */
    }

    .button-group.touch-active {
        -webkit-overflow-scrolling: auto;
    }
}

/* Hide scrollbar for WebKit browsers */
.button-group::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

/* Navigation Buttons */
.home-button, .navigation-button {
    scroll-snap-align: center;
    flex-shrink: 0;
    white-space: nowrap;
    position: relative;
    transition: transform 0.2s ease, opacity 0.2s ease;
    padding: 10px 5px 5px 5px;
    text-align: center;
}

/* Navigation arrows */
.nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    background: rgba(42, 47, 71, 0.9);
    border: 2px solid #3f4359;
    border-radius: 50%;
    color: #ff8c00;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.3s ease, background-color 0.2s ease;
    user-select: none;
}

.nav-arrow:hover {
    background: rgba(255, 140, 0, 0.2);
}

.nav-arrow.left {
    left: 5px;
}

.nav-arrow.right {
    right: 5px;
}

.button-group-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 15px;
}

.button-group-container:hover .nav-arrow {
    opacity: 1;
}

/* Mobile styles (600px and below) */
@media (max-width: 500px) {
    .button-group {
        width: 80% !important;
        scroll-padding: 0 20%;
    }
}

@media (max-width: 600px) {
    .button-group-container {
        padding: 0;
        max-width: 100%;
        width: 100%;
        position: relative;
    }

    .button-group {
        width: 85%;
        padding: 10px 0;
        scroll-padding: 0 20%;
        justify-content: flex-start;
        -webkit-overflow-scrolling: touch;
        -webkit-tap-highlight-color: transparent;
    }

    .navigation-button {
        padding: 10px 5px;
        scroll-margin: 0 10px;
        margin: 0 8px;
        flex-shrink: 0;
    }

    .nav-arrow {
        opacity: 0.8;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
    }
}

/* Desktop styles (601px and above) */
@media (min-width: 601px) {
    .button-group {
        justify-content: center;
        width: auto;
    }

    .navigation-button, .contact-button {
        margin: 0 5px;
    }

    .nav-arrow {
        display: none;
    }
}

.generic-list-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px 15px;
    background: #32395a;
    border: 1px solid #3f4359;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: background 0.2s, box-shadow 0.2s, border 0.2s;
}

.generic-list-item h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: white;
}

.generic-list-item p {
    color: rgb(156 163 175);
    margin-top: 0.5rem;
}

.generic-list-item:hover {
    background: #232846;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-color: #3f4359;
}

.service-icon {
    width: 45px;
    height: 45px;
    color: #ff8c00;
    margin-bottom: 10px;
}

.navigation-button:hover svg, .navigation-button:hover h2 {
    color: #ffffff;
}

.action-button {
    background-color: #2f68c4;
    color: white;
    padding: 12px 24px;
    border: none;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    font-size: 18px;
    font-weight: 500;
    cursor: pointer;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 250px;
    height: 48px;
    margin: 0 auto;
    line-height: 1;
    position: relative;
    overflow: hidden;
}

.action-button:hover {
    transform: translateY(-2px);
    background-color: #3a7be0;
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

.action-button:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.action-button svg {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}

.action-button:hover svg {
    transform: scale(1.2);
}

.button-container {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 1rem 0;
}

.button-secondary {
    background-color: #4b4f67;
}

.button-secondary:hover {
    background-color: #5a5f7a;
}

.portfolio-item {
    cursor: pointer;
}

.portfolio-item h3 {
    font-size: 1.125rem;
    font-weight: 600;
    color: white;
}

.portfolio-item p {
    color: rgb(156 163 175);
    margin-top: 0.5rem;
}

.portfolio-item:hover {
    transform: scale(1.03);
    background-color: #4b4f67;
    cursor: pointer;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    padding-top: 10px;
    margin-top: 10px;
    margin-bottom: 20px;
}

#genericModal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 50;
    justify-content: center;
    align-items: center;
    overflow-y: auto;
}

#genericModal > div {
    background-color: #2a2f47;
    width: 90%;
    max-width: 800px;
    padding: 30px;
    border-radius: 8px;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
    position: relative;
    margin: 10vh auto 5vh auto;
    top: 0;
    max-height: 80vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

@media (max-width: 600px) {
    #genericModal > div {
        max-height: 90vh;
        padding: 16px;
    }
}

#modalTitle {
    padding: 10px 20px 0 20px;
}

#genericModal button {
    background: none;
    color: #b3b3b3;
    border: none;
    font-size: 30px;
    cursor: pointer;
    position: absolute;
    top: 0.25rem;
    right: 0.25rem;
    transition: color 0.3s;
}

#genericModal button:hover {
    color: #ffffff;
}

#modalDescription {
    background: none !important;
    border: none !important;
    padding: 1.25rem 1.5rem;
    margin-bottom: 1rem;
    margin-top: 0.5rem;
    display: flex;
    flex-direction: column;
}

#modalDescription .modal-step,
#modalDescription .modal-tags,
#modalDescription .modal-tag {
    /*background: none !important;*/
    border: none !important;
    box-shadow: none !important;
}

#modalDescription .modal-step {
    position: relative;
    padding-left: 2rem;
    min-height: 2.5rem;
    display: flex;
    align-items: center;
}

#modalDescription .modal-step:before {
    content: '';
    position: absolute;
    left: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
    width: 0.75rem;
    height: 0.75rem;
    background: #ff8c00;
    border-radius: 50%;
    box-shadow: 0 0 0 2px #3f4359;
    z-index: 1;
}

#modalDescription .modal-step:not(:last-child):after {
    display: none;
}

#modalDescription .modal-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
    background: #282e4a;
    border: 1px solid #3f4359;
    border-radius: 0.75rem;
    padding: 0.5rem 0.75rem;
    align-items: center;
    justify-content: flex-start;
}

#modalDescription .modal-tag {
    background: #3a4061;
    color: #ff8c00;
    border: 1px solid #50567a;
    border-radius: 9999px;
    padding: 0.15em 0.85em;
    font-size: 0.93rem;
    font-family: 'Source Code Pro', Consolas, 'Courier New', monospace;
    font-weight: 500;
    letter-spacing: 0.01em;
    transition: background 0.2s, color 0.2s, border 0.2s;
    white-space: nowrap;
    margin-top: 0;
    display: inline-block;
}

#modalDescription .modal-tag:hover {
    background: #ff8c00;
    color: #232846;
    border-color: #ff8c00;
}

@media (max-width: 600px) {
    #modalDescription {
        padding: 0.75rem 0.5rem;
        font-size: 0.95rem;
        gap: 0.75rem;
    }

    #modalDescription .modal-step {
        padding-left: 1.25rem;
    }

    #modalDescription .modal-step:before {
        left: 0.3rem;
        width: 0.6rem;
        height: 0.6rem;
    }
}

#modalDescription .modal-step + .modal-step {
    margin-top: 1.25rem; /* mt-5 */
}

#modalDescription .modal-step > *:not(.modal-tags) {
    margin-left: 0.5rem; /* ml-2 */
}

footer {
    z-index: 1;
    opacity: 0.8;
    width: 100%;
    /*height: 110px;*/
    text-align: center;
    padding: 20px;
    background-color: #161c2f !important;
    color: #b3b3b3;
    border-top: 1px solid #161c2f;
}

.g-recaptcha {
    text-align: center;
}

#apps-counter, #years-counter {
    opacity: 0.9;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

#apps-counter:hover, #years-counter:hover {
    transform: scale(1.03);
    opacity: 1;
    cursor: pointer;
}

.object-counter-text {
    font-size: 14px;
}

.icon-rotate {
    transition: transform 1s ease;
}

.hover-effect:hover .icon-rotate {
    transform: rotate(180deg);
}

.generic-list-item,
.portfolio-item {
    background: #32395a;
    border: 1px solid #3f4359;
    border-radius: 0.5rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    transition: background 0.2s, box-shadow 0.2s, border 0.2s;
}

.generic-list-item:hover,
.portfolio-item:hover {
    background: #232846;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    border-color: #50567a;
}

.print-button {
    margin: 0 auto;
}

body:not(.home-page) .gradient-wrapper {
    display: none;
}

.print-button svg {
    width: 20px;
}

@media print {
    .container {
        max-width: 700px !important;
    }
    
    .gradient-wrapper {
        display: none !important;
    }
    
    .cloud-logo {
        fill: none !important;
        stroke: #111 !important;
        position: absolute;
        top: -35px;
    }

    .cloud-logo path {
        fill: none !important;
        stroke: #111 !important;
        stroke-width: 5px !important;
    }

    .cloud-logo g path,
    .logo-container:hover .cloud-logo path {
        fill: none !important;
        stroke: #111 !important;
    }

    html, body, .container, .services-section, .portfolio-section, .contact-section, .generic-list-item, .portfolio-item, #intro-section {
        background: #fff !important;
        color: #111 !important;
        border: none !important;
        box-shadow: none !important;
    }

    .footer, footer,
    .button-group,
    .navigation-button,
    .nav-arrow,
    #genericModal,
    .fixed, .z-50, .shadow-lg, .shadow-inner,
    .action-button {
        display: none !important;
    }

    .nextgen, .web {
        color: #111 !important;
        background: none !important;
        font-size: 2.5rem !important;
        font-weight: bold !important;
        margin-bottom: 1rem !important;
    }

    .cloud-icon,
    .generic-list-item svg,
    .portfolio-item svg {
        color: #111 !important;
        stroke: #111 !important;
        fill: #111 !important;
    }

    .service-icon {
        width: 30px;
        height: 30px;
    }

    #numbers-section, .numbers-section {
        display: none !important;
    }

    .color-gray {
        color: #222 !important;
    }

    .color-white {
        color: #111 !important;
    }

    .font-secondary {
        color: #111 !important;
    }

    .contact-section {
        margin-bottom: 300px;
    }
    
    .contact-form {
        display: none !important;
    }

    .contact-text {
        color: #111 !important;
    }

    .services-section > *, .portfolio-section > *, .contact-section > *,
    .generic-list-item > *, .portfolio-item > * {
        margin-bottom: 1em !important;
    }

    *:hover, *:focus, *:active {
        box-shadow: none !important;
        outline: none !important;
        background: none !important;
    }

    .generic-list-item h3 {
        color: #111 !important;
    }

    .close-button {
        display: none !important;
    }

    .contact-text.generic-text-note.mb-8 {
        display: none !important;
    }

    .print-contact-email {
        display: inline !important;
        font-weight: bold;
    }

    .color-secondary {
        color: #111 !important;
        text-decoration: underline !important;
        font-weight: bold !important;
    }

    .button-group-container {
        display: none !important;
    }

    h1, h2, h3, h4, h5, h6 {
        color: #111 !important;
    }

    #portfolioSection .services-grid, #portfolioSection .generic-list-item {
        display: inline !important;
    }

    #numbers-section, .numbers-section {
        display: none !important;
    }

    /* Force all main sections to be visible in print */
    .intro-section, #intro-section,
    .services-section, #servicesSection,
    .portfolio-section, #portfolioSection,
    .contact-section, #contactForm {
        display: block !important;
        margin-top: 0;
    }

    .subtitle {
        margin-top: -20px;
        margin-bottom: 30px;
    }

    /* Turnstile Widget */
    .turnstile-container {
        display: flex;
        justify-content: center;
        margin: 1rem 0;
    }

    .turnstile-container iframe {
        width: 100% !important;
        max-width: 300px;
        margin: 0 auto;
    }
}