.intime_head,
.intime_text {
  overflow: visible !important;
  height: auto !important;
}

/* Initial state for button fade-in animation */
.intime_button {
  opacity: 0;
}
/* Page Transition Overlay - Wipe Effect with Gradient */
#page-transition-overlay {
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background:  #fff ;
	z-index: 9999;
	pointer-events: none;
	transform: translateX(100%);
	transition: transform 0.7s cubic-bezier(.77,0,.18,1);
}
#page-transition-overlay.active {
	transform: translateX(0);
	pointer-events: all;
}
/* Motion.dev SplitText lines */
.motion-line {
  display: block;
  overflow: hidden;
  /* Optional: for smoother animation */
  will-change: transform, opacity;
}

/*Menu Hover effect */
.intmime_menu a {
  display: inline-block;
  overflow: hidden;
  position: relative;
  padding: 0;
  background: none;
}

.reveal-text {
  display: block;
  position: relative;
  height: 1em;
  line-height: 1em;
  overflow: hidden;
}

.reveal-text-original,
.reveal-text-hover {
  display: block;
  transition: transform 0.4s cubic-bezier(.77,0,.18,1);
  will-change: transform;
}

.reveal-text-original {
  transform: translateY(0);
}

.reveal-text-hover {
  position: absolute;
  left: 0; top: 100%;
  width: 100%;
  transform: translateY(100%);
  
}

.intmime_menu a:hover .reveal-text-original,
.intmime_menu a:focus .reveal-text-original {
  transform: translateY(-100%);
}

.intmime_menu a:hover .reveal-text-hover,
.intmime_menu a:focus .reveal-text-hover {
  transform: translateY(-100%);
}

/* --- Button Style (from uiverse.io/cssbuttons-io/brown-otter-21) --- 
.intime_button {
  color: #000;
  border: 1px solid #4f4f4f;
  border-radius: 4px;

  position: relative;
  overflow: hidden;
  z-index: 1;
  transition: all 0.2s ease-in;
  background: transparent !important; 
}

.intime_button > .elementor-button-content-wrapper {
  position: relative;
  z-index: 2;
}

.intime_button:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%) scaleY(1) scaleX(1.25);
  top: 100%;
  width: 140%;
  height: 180%;
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}

.intime_button:after {
  content: "";
  position: absolute;
  left: 55%;
  transform: translateX(-50%) scaleY(1) scaleX(1.45);
  top: 180%;
  width: 160%;
  height: 190%;
  background-color: #f0161f;
  border-radius: 50%;
  display: block;
  transition: all 0.5s 0.1s cubic-bezier(0.55, 0, 0.1, 1);
  z-index: -1;
}
*/
/* --- Mouse Follower --- */
#mouse-follower {
  position: fixed;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background-color: #f0161f;
  border-radius: 50%;
  z-index: 9998; /* Below page transition overlay, above most content */
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: width 0.3s ease, height 0.3s ease;
  will-change: transform, width, height;
  opacity: 0; /* Initially hidden, fade in with JS */
}

#mouse-follower svg {
  width: 20px;
  height: 20px;
  fill: #fff;
  transition: transform 0.3s ease;
}

/* Active state when hovering over a clickable element */
#mouse-follower.active {
  width: 60px;
  height: 60px;
}

/* Hide on touch devices */
@media (hover: none) {
  #mouse-follower {
    display: none !important;
  }
}

/* --- Single Column Stacking Projects --- */
.intime_latest_projects {
    position: relative; /* This section is just a placeholder for height */
    /* Height is set by JS to create scroll room */
}

.intime_projects_wrapper {
    position: -webkit-sticky;
    position: sticky;
    top: 10vh; /* The wrapper sticks, containing the title and cards */
    overflow: visible; /* IMPORTANT: Must be visible for sticky children to work */
}

.intime_latest_projects .intime_head {
    /* This is no longer sticky itself; it's positioned within its sticky parent */
    position: -webkit-sticky;
    position: sticky;
    top: 10vh; /* Make the heading sticky at the same position as the wrapper */
    z-index: 200; /* Ensure title is always above all cards */
    padding-bottom: 5vh; /* Space between title and where cards start */
}

.intime_project {
    position: -webkit-sticky;
    position: sticky;
    /* The top position will be set dynamically by JS */
    width: 100%;
    cursor: pointer;
    min-height: 60vh;
    transform-origin: center;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: transform, opacity;
}

.intime_project.is-active {
    /* The active card has no special styling by default, it's controlled by JS */
}

.intime_project:not(.is-active):hover {
}

/* This is still needed to allow position:sticky to work inside Elementor */
html, body, #page, main.site-main, .elementor-page, .elementor-section-wrap, .elementor-container, .elementor-section {
    overflow: visible !important;
}

/* --- CTA Section Background Pattern --- */
.intime_cta {
    position: relative; /* Required for the ::before pseudo-element */
    overflow: hidden;   /* Keeps the rotated pattern contained */
    background-color: transparent !important; /* Remove background from parent to reveal pseudo-element */
}

.intime_cta::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    z-index: 0; /* Place it behind the content */
    background-color: #232122; /* Apply the background color here instead of the parent */
    background-image: url("data:image/svg+xml,%3Csvg width='130' height='130' viewBox='0 0 130 130' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform='translate(40, 40)'%3E%3Csvg width='50' height='50' viewBox='0 0 24 24' fill='%2300000033' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2C6.486 2 2 6.486 2 12s4.486 10 10 10 10-4.486 10-10S17.514 2 12 2zm0 18c-4.411 0-8-3.589-8-8s3.589-8 8-8 8 3.589 8 8-3.589 8-8 8z'%3E%3C/path%3E%3Cpath d='M13 7h-2v5.414l3.293 3.293 1.414-1.414L13 11.586z'%3E%3C/path%3E%3C/svg%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat;
    transform: rotate(30deg);
    pointer-events: none;
}

/* Ensure the content of the CTA is visible above the pattern */
.intime_cta > .e-con-inner {
    position: relative;
    z-index: 1;
}

/* On smaller screens, you might want to reduce the pattern density or size */
@media (max-width: 767px) {
    .intime_cta::before {
        background-size: 100px 100px; /* Example: make pattern smaller on mobile */
    }
}

/* --- Staggered Wipe Animation --- */
/* Prepare elements for wipe-in animation */
.intime_staggered_wipe > .e-con-inner > .e-child,
.intime_image {
    opacity: 0;
    will-change: clip-path, opacity;
}

/* --- Button Hover Effect --- */
.intime_button a.elementor-button {
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: color 0.7s cubic-bezier(0.42, 0, 0.58, 1), width 0.4s ease-out;
    white-space: nowrap;
}

/* Hide icon by default - completely remove from layout */
.intime_button .elementor-button-icon {
    max-width: 0;
    opacity: 0;
    transform: translateX(10px);
    transition: max-width 0.5s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.3s ease-out 0.1s, 
                transform 0.3s ease-out 0.1s,
                margin-left 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    margin-left: 0;
    overflow: hidden;
    white-space: nowrap;
}

/* Show icon on hover - expand width and show */
.intime_button a.elementor-button:hover .elementor-button-icon {
    max-width: 30px; /* Adjust this value based on your icon size */
    opacity: 1;
    transform: translateX(0);
    margin-left: 8px;
    transition: max-width 0.5s cubic-bezier(0.4, 0, 0.2, 1), 
                opacity 0.3s ease-out 0.2s, 
                transform 0.3s ease-out 0.2s,
                margin-left 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* The growing circle pseudo-element */
.intime_button a.elementor-button::before {
    content: '';
    position: absolute;
    top: 100%; /* Start at the bottom */
    left: 0;   /* Start at the left */
    width: 0;
    height: 0;
    background-color: #f0161f;
    border-radius: 50%;
    transform: translate(-50%, -50%); /* Center the circle on the corner point */
    transition: width 0.7s cubic-bezier(0.42, 0, 0.58, 1), height 0.7s cubic-bezier(0.42, 0, 0.58, 1);
    z-index: -1;
}

/* On hover, expand the circle to fill the button */
.intime_button a.elementor-button:hover::before {
    /* Use a large value to ensure it covers the diagonal of any button aspect ratio */
    width: 300%; 
    height: 300%;
}

/* Ensure the button content is above the pseudo-element */
.intime_button .elementor-button-content-wrapper {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    transition: all 0.4s ease-out;
}

/* Change text and icon color on hover */
.intime_button a.elementor-button:hover,
.intime_button a.elementor-button:hover .elementor-button-icon i {
    color: #ffffff !important;
}

/* --- Glassmorphism Header Effect (Josh Comeau Style) --- */
.intime_header {
  /* Preserve Elementor's fixed positioning */
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 999 !important;
  
  /* Glassmorphism background */
  background: rgba(255, 255, 255, 0) !important;
  backdrop-filter: blur(12px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(180%) !important;
  
  /* Border and shadow */
  border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  
  /* Layout */
  isolation: isolate !important;
}

/* Subtle gradient overlay for depth */
.intime_header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0.05) 50%,
    rgba(255, 255, 255, 0.1) 100%
  );
  border-radius: inherit;
  pointer-events: none;
  z-index: -1;
}

/* Enhanced border highlight */
.intime_header::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(255, 255, 255, 0.6) 20%,
    rgba(255, 255, 255, 0.6) 80%,
    transparent 100%
  );
  z-index: 1;
}

/* Ensure all header content has proper stacking */
.intime_header .e-con-inner {
  position: relative;
  z-index: 2;
}

/* Dark mode variant (optional) */
@media (prefers-color-scheme: dark) {
  .intime_header {
    background: rgba(17, 25, 40, 0) !important;
    border-color: rgba(255, 255, 255, 0.125) !important;
  }
  
  .intime_header::before {
    background: linear-gradient(
      135deg,
      rgba(255, 255, 255, 0.05) 0%,
      rgba(255, 255, 255, 0.02) 50%,
      rgba(255, 255, 255, 0.05) 100%
    );
  }
}

/* Mobile optimizations */
@media (max-width: 768px) {
  .intime_header {
    backdrop-filter: blur(16px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%) !important;
    background: rgba(255, 255, 255, 0) !important;
  }
}

/* Fallback for browsers without backdrop-filter support */
@supports not (backdrop-filter: blur(1px)) {
  .intime_header {
    background: rgba(255, 255, 255, 0) !important;
  }
}

/* Additional fallback - if backdrop-filter is not working, use a solid background */
.intime_header {
  /* This will be overridden by the backdrop-filter version above if supported */
  background-color: rgba(255, 255, 255, 0);
}

/* --- Contact Form Styling (High Specificity Overrides) --- */

/* Submit button styling - multiple selectors for maximum override */
.elementor-widget-form .elementor-field-type-submit .elementor-button,
.elementor-form .elementor-field-type-submit .elementor-button,
.elementor-field-type-submit .elementor-button,
.elementor-form input[type="submit"],
.elementor-form button[type="submit"],
input[type="submit"],
button[type="submit"] {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    text-transform: uppercase !important;
    font-weight: 400 !important;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 14px !important;
    color: #ffffff !important;
    background-color: #000000 !important;
    background: #000000 !important;
    display: block !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    border: none !important;
    transition: background-color 0.3s ease !important;
}

/* Submit button hover state - fade to red */
.elementor-widget-form .elementor-field-type-submit .elementor-button:hover,
.elementor-form .elementor-field-type-submit .elementor-button:hover,
.elementor-field-type-submit .elementor-button:hover,
.elementor-form input[type="submit"]:hover,
.elementor-form button[type="submit"]:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
    background-color: #f0161f !important;
    background: #f0161f !important;
}

/* Input fields padding and styling - high specificity */
.elementor-widget-form .elementor-field-group input,
.elementor-widget-form .elementor-field-group textarea,
.elementor-form .elementor-field-group input[type="text"],
.elementor-form .elementor-field-group input[type="email"],
.elementor-form .elementor-field-group input[type="tel"],
.elementor-form .elementor-field-group input[type="url"],
.elementor-form .elementor-field-group input[type="number"],
.elementor-form .elementor-field-group textarea,
.elementor-field-group input[type="text"],
.elementor-field-group input[type="email"],
.elementor-field-group input[type="tel"],
.elementor-field-group input[type="url"],
.elementor-field-group input[type="number"],
.elementor-field-group textarea,
.elementor-field-textual,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea {
    padding: 15px 20px !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    border: 1px solid #dddddd !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #dddddd !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
}

/* Focus state - thin black border with high specificity */
.elementor-widget-form .elementor-field-group input:focus,
.elementor-widget-form .elementor-field-group textarea:focus,
.elementor-form .elementor-field-group input[type="text"]:focus,
.elementor-form .elementor-field-group input[type="email"]:focus,
.elementor-form .elementor-field-group input[type="tel"]:focus,
.elementor-form .elementor-field-group input[type="url"]:focus,
.elementor-form .elementor-field-group input[type="number"]:focus,
.elementor-form .elementor-field-group textarea:focus,
.elementor-field-group input[type="text"]:focus,
.elementor-field-group input[type="email"]:focus,
.elementor-field-group input[type="tel"]:focus,
.elementor-field-group input[type="url"]:focus,
.elementor-field-group input[type="number"]:focus,
.elementor-field-group textarea:focus,
.elementor-field-textual:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus {
    border: 1px solid #000000 !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #000000 !important;
    border-top: 1px solid #000000 !important;
    border-bottom: 1px solid #000000 !important;
    border-left: 1px solid #000000 !important;
    border-right: 1px solid #000000 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

/* Textarea specific styling */
.elementor-widget-form .elementor-field-group textarea,
.elementor-form .elementor-field-group textarea,
.elementor-field-group textarea {
    padding: 15px 20px !important;
    min-height: 120px !important;
    resize: vertical !important;
}

/* Additional overrides for submit button container */
.elementor-widget-form .elementor-field-type-submit,
.elementor-form .elementor-field-type-submit,
.elementor-field-type-submit {
    width: 100% !important;
    text-align: center !important;
}

/* Force submit button text styling */
.elementor-widget-form .elementor-field-type-submit .elementor-button .elementor-button-text,
.elementor-form .elementor-field-type-submit .elementor-button .elementor-button-text,
.elementor-field-type-submit .elementor-button .elementor-button-text {
    text-transform: uppercase !important;
    font-weight: 400 !important;
    font-family: 'Open Sans', sans-serif !important;
    color: #ffffff !important;
}

/* --- Accordion Styling for .intime_acc (Maximum Specificity Override) --- */

/* Accordion item titles - 100px height with red hover - Maximum specificity */
.elementor-widget-n-accordion.intime_acc .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title,
.intime_acc .e-n-accordion .e-n-accordion-item-title,
.intime_acc .e-n-accordion-item-title {
    height: 100px !important;
    min-height: 100px !important;
    max-height: 100px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    transition: background-color 0.3s ease, color 0.3s ease !important;
    cursor: pointer !important;
    padding: 0 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
}

/* Remove red background hover - replaced with reveal text effect */

/* Title header styling with high specificity - LEFT SIDE */
.elementor-widget-n-accordion.intime_acc .e-n-accordion-item-title-header,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title-header,
.intime_acc .e-n-accordion-item-title-header {
    flex: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 100% !important;
    order: 1 !important;
}

/* Title text styling with maximum specificity - PRIMARY TARGET */
.elementor-widget-n-accordion.intime_acc .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-header .e-n-accordion-item-title-text,
.elementor-widget-n-accordion.intime_acc .e-n-accordion-item-title-text,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title-text,
.intime_acc .e-n-accordion .e-n-accordion-item-title-text,
.intime_acc .e-n-accordion-item-title-text {
    font-weight: 400 !important;
    font-size: 100px !important;
    transition: color 0.3s ease, background-color 0.3s ease !important;
    color: #000000 !important;
    background-color: transparent !important;
    height: 100px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    line-height: 1 !important;
}

/* Icon styling with high specificity - RIGHT SIDE */
.elementor-widget-n-accordion.intime_acc .e-n-accordion-item-title-icon,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title-icon,
.intime_acc .e-n-accordion-item-title-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: color 0.3s ease !important;
    height: 100% !important;
    order: 2 !important;
    flex-shrink: 0 !important;
    margin-left: auto !important;
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;
}

/* Custom accordion icon styling with perfect circle border */
.elementor-widget-n-accordion.intime_acc .custom-accordion-icon,
.intime_acc.elementor-widget-n-accordion .custom-accordion-icon,
.intime_acc .e-n-accordion .custom-accordion-icon,
.intime_acc .custom-accordion-icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    min-width: 60px !important;
    min-height: 60px !important;
    max-width: 60px !important;
    max-height: 60px !important;
    border-radius: 50% !important;
    border: 1px solid #cccccc !important;
    background-color: transparent !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
}

.elementor-widget-n-accordion.intime_acc .custom-accordion-icon svg,
.intime_acc.elementor-widget-n-accordion .custom-accordion-icon svg,
.intime_acc .e-n-accordion .custom-accordion-icon svg,
.intime_acc .custom-accordion-icon svg {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    min-height: 24px !important;
    max-width: 24px !important;
    max-height: 24px !important;
    transition: transform 0.3s ease, fill 0.3s ease !important;
    fill: rgb(117, 117, 117) !important;
    color: rgb(117, 117, 117) !important;
    flex-shrink: 0 !important;
}

/* Hover state for icon - red icon and red border with maximum specificity */
.elementor-widget-n-accordion.intime_acc .e-n-accordion-item-title:hover .custom-accordion-icon,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title:hover .custom-accordion-icon,
.intime_acc .e-n-accordion .e-n-accordion-item-title:hover .custom-accordion-icon,
.intime_acc .e-n-accordion-item-title:hover .custom-accordion-icon {
    border-color: #f0161f !important;
}

.elementor-widget-n-accordion.intime_acc .e-n-accordion-item-title:hover .custom-accordion-icon svg,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title:hover .custom-accordion-icon svg,
.intime_acc .e-n-accordion .e-n-accordion-item-title:hover .custom-accordion-icon svg,
.intime_acc .e-n-accordion-item-title:hover .custom-accordion-icon svg {
    fill: #f0161f !important;
    color: #f0161f !important;
}

/* Accordion numbered superscript styling */
.intime_acc .accordion-number {
    color: #777777 !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    vertical-align: super !important;
    margin-right: 20px !important;
    line-height: 1 !important;
    display: inline-block !important;
}

/* Reveal text hover effect for accordion titles */
.intime_acc .e-n-accordion-item-title-text {
    overflow: hidden !important;
    position: relative !important;
    display: flex !important;
    align-items: baseline !important;
}

.intime_acc .e-n-accordion-item-title-text .reveal-text {
    display: block !important;
    position: relative !important;
    height: 1em !important;
    line-height: 1em !important;
    overflow: hidden !important;
    flex: 1 !important;
}

.intime_acc .e-n-accordion-item-title-text .reveal-text-original,
.intime_acc .e-n-accordion-item-title-text .reveal-text-hover {
    display: block !important;
    transition: transform 0.4s cubic-bezier(.77,0,.18,1) !important;
    will-change: transform !important;
}

.intime_acc .e-n-accordion-item-title-text .reveal-text-original {
    transform: translateY(0) !important;
    color: #000000 !important;
}

.intime_acc .e-n-accordion-item-title-text .reveal-text-hover {
    position: absolute !important;
    left: 0 !important; 
    top: 100% !important;
    width: 100% !important;
    transform: translateY(100%) !important;
    color: #f0161f !important;
}

.intime_acc .e-n-accordion-item-title:hover .reveal-text-original {
    transform: translateY(-100%) !important;
}

.intime_acc .e-n-accordion-item-title:hover .reveal-text-hover {
    transform: translateY(-100%) !important;
}

/* SVG icons color on hover with maximum specificity */
.elementor-widget-n-accordion.intime_acc .e-n-accordion-item-title:hover svg,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item-title:hover svg,
.intime_acc .e-n-accordion-item-title:hover svg {
    fill: #ffffff !important;
    color: #ffffff !important;
}

/* Accordion item spacing with high specificity */
.elementor-widget-n-accordion.intime_acc .e-n-accordion-item,
.intime_acc.elementor-widget-n-accordion .e-n-accordion-item,
.intime_acc .e-n-accordion-item {
    margin-bottom: 40px !important;
    border-radius: 0 !important;
    border: none !important;
}

/* Additional spacing for accordion container */
.elementor-widget-n-accordion.intime_acc .e-n-accordion,
.intime_acc.elementor-widget-n-accordion .e-n-accordion,
.intime_acc .e-n-accordion {
    gap: 40px !important;
}

/* Remove all borders from accordion content areas */
.elementor-widget-n-accordion.intime_acc [role="region"],
.intime_acc.elementor-widget-n-accordion [role="region"],
.intime_acc [role="region"],
.elementor-widget-n-accordion.intime_acc .e-con,
.intime_acc.elementor-widget-n-accordion .e-con,
.intime_acc .e-con,
.elementor-widget-n-accordion.intime_acc .e-con-inner,
.intime_acc.elementor-widget-n-accordion .e-con-inner,
.intime_acc .e-con-inner,
.elementor-widget-n-accordion.intime_acc .e-child,
.intime_acc.elementor-widget-n-accordion .e-child,
.intime_acc .e-child {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Specific targeting for the content containers */
.intime_acc .elementor-element.e-con-full.e-flex.e-con.e-child,
.intime_acc .elementor-element.e-flex.e-con-boxed.e-con.e-child,
.intime_acc .elementor-element.elementor-widget.elementor-widget-text-editor {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    border-left: none !important;
    border-right: none !important;
    outline: none !important;
    box-shadow: none !important;
}/* --- 
Project Thumbnail Ken Burns Effect --- */
.intime_proj_thumb {
    overflow: hidden !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

.intime_proj_thumb::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: inherit;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: transform 0.6s ease-out;
    transform: scale(1);
    z-index: 1;
}

.intime_proj_thumb:hover::before {
    transform: scale(1.1);
}

/* Ensure content is above the background */
.intime_proj_thumb > * {
    position: relative;
    z-index: 2;
}

/* Remove original background on hover to show pseudo-element */
.intime_proj_thumb {
    position: relative;
}