/* ---------- CONTAINER ---------- */

.grid {
    display: grid;
}

.section {
	z-index: -3;
}
.vid-footer {
    position: relative;
    z-index: 11;
    bottom: 0;
}

.contact-content {
    width: 19%;
    position: absolute;
    left: 49%;
    top: 33%;
}

/* ============================================================
   RENAMED SECTION 1: WORK / PORTFOLIO
   ============================================================ */

/* ---------- Magnetic Glow Demo ---------- */
.magnetic-glow-demo {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2rem;
}

/* ---------- Card Grid ---------- */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 2rem;
}

/* ---------- Glow Card ---------- */
.glow-card {
    position: relative;
    background-color: var(--color-card);
    overflow: hidden;
    cursor: pointer;
    height: 100%;
    transition: transform 0.3s ease;
}

.glow-card:hover {
    transform: translateY(-8px);
}

.glow-card:nth-child(1) {
    --glow-color: rgba(93, 139, 244, 0.5);
}
.glow-card:nth-child(2) {
    --glow-color: rgba(255, 107, 107, 0.5);
}
.glow-card:nth-child(3) {
    --glow-color: rgba(72, 219, 251, 0.5);
}
.glow-card:nth-child(4) {
    --glow-color: rgba(29, 209, 161, 0.5);
}
.glow-card:nth-child(5) {
    --glow-color: rgba(29, 209, 161, 0.5);
}
.glow-card:nth-child(6) {
    --glow-color: rgba(29, 209, 161, 0.5);
}

/* ---------- Card Content ---------- */
.card-content {
    position: relative;
    z-index: 2;
    height: 102%;
    display: flex;
    flex-direction: column;
    background-image: url('https://i-repair.ro/assets/liberty.png');
    background-size: 331%;
    background-repeat: no-repeat;
    background-position-x: 50%;
}

/* ---------- Work Card (Portfolio) ---------- */
.work-card {
    padding: 1.25rem;
    border-radius: 0.5rem;
    background-image: linear-gradient(180deg, #151517 0%, #002256 100%);
}

.work-card:hover {
    box-shadow: 0 0 0 2px var(--glow-color, rgba(93, 139, 244, 0.5)),
                0 0 30px 2px var(--glow-color, rgba(93, 139, 244, 0.25));
    transition: transform 0.9s ease;
    transform: translateY(-8px);
}

/* ---------- Card Image ---------- */
.card-img {
    width: 100%;
    height: clamp(150px, 200px, 250px);
    overflow: hidden;
    position: relative;
}

.card-img img {
    width: 100%;
    height: 100%;
    transition: transform 0.3s ease;
    border-radius: 14px;
}

.glow-card:hover .card-img img {
    transform: scale(1.05);
}

/* ---------- Card Body ---------- */
.card-body {
    padding: 1.5rem;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    border-radius: 14px;
}

/* ---------- Card Title ---------- */
.card-title {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
    letter-spacing: -0.01em;
    color: var(--color-text-primary);
}

.card-title[style*="font-size: 0.8rem"] {
    font-size: 0.8rem !important;
}

/* ---------- Card Tag ---------- */
.card-tag {
    padding: 0.25rem 0.75rem;
    font-size: 0.9rem;
    font-weight: 500;
    margin-bottom: 0.75rem;
    background: -webkit-linear-gradient(transparent, transparent), -webkit-linear-gradient(top, rgba(213, 173, 109, 1) 0%, rgba(213, 173, 109, 1) 26%, rgba(226, 186, 120, 1) 35%, rgba(163, 126, 67, 1) 45%, rgba(145, 112, 59, 1) 61%, rgba(213, 173, 109, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ---------- Card Rating ---------- */
.card-rating {
    color: var(--color-text-secondary);
    margin-bottom: 0.75rem;
}

.rating-count {
    font-size: 0.875rem;
    color: var(--color-text-tertiary);
    margin-left: 0.25rem;
}

/* ---------- Card Price ---------- */
.card-price {
    font-size: 1.1rem;
    font-weight: 700;
    margin-bottom: 1rem;
    margin-top: auto;
    color: var(--color-text-primary);
}

/* ---------- Card Text ---------- */
.card-text {
    color: var(--color-text-secondary);
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
    line-height: 1.6;
}

/* ---------- Card Actions ---------- */
.card-actions {
    margin-top: auto;
}

/* ---------- Card Button ---------- */
.card-btn {
    display: block;
    width: 100%;
    padding: 0.875rem 1.25rem;
    font-size: 0.875rem;
    font-weight: 500;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
    text-align: center;
    text-decoration: none;
}

.card-btn.primary {
    background-color: var(--color-background);
    color: var(--color-text-primary);
}

.card-btn.primary:hover {
    background-color: #1a1a1a;
}

.card-btn.primary.work-button {
    top: 30%;
    position: relative;
    width: 108%;
    left: -5%;
}

/* ---------- Profile Card ---------- */
.profile-content {
    padding: 0;
    text-align: center;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    background: linear-gradient(45deg, #000, #181b1f, #000);
}

.profile-banner {
    height: clamp(60px, 80px, 100px);
    background: linear-gradient(to right, var(--primary-red), #ff9f43);
}

.profile-img {
    width: clamp(70px, 90px, 110px);
    height: clamp(70px, 90px, 110px);
    border-radius: 50%;
    margin: -45px auto 1rem;
    position: relative;
    z-index: 3;
}

.profile-img img {
    width: 107%;
    height: 131%;
    object-fit: cover;
    top: -13px;
    position: relative;
}

.profile-job {
    color: var(--color-text-secondary);
    margin-bottom: 1.5rem;
    padding: 0 1.5rem;
    background: -webkit-linear-gradient(transparent, transparent),
                -webkit-linear-gradient(top, rgba(213, 173, 109, 1) 0%, rgba(213, 173, 109, 1) 26%, rgba(226, 186, 120, 1) 35%, rgba(163, 126, 67, 1) 45%, rgba(145, 112, 59, 1) 61%, rgba(213, 173, 109, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.profile-stats {
    display: flex;
    justify-content: center;
    gap: 2rem;
    margin: 1.5rem 0;
    padding: 0 1rem;
}

.stat {
    text-align: center;
}

.stat-value {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--color-text-primary);
}

.stat-label {
    font-size: 0.75rem;
    color: var(--color-text-tertiary);
}

/* ---------- Feature Card ---------- */
.feature-card-content {
    padding: 0rem;
    text-align: center;
}

.card-icon {
    width: clamp(40px, 54px, 68px);
    height: clamp(40px, 54px, 68px);
    margin: 0 auto 1.25rem;
    color: var(--primary-cyan);
}

.card-icon svg {
    width: 100%;
    height: 100%;
}

.feature-points {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin: 1.5rem 0;
    text-align: left;
}

.feature-point {
    font-size: 0.9375rem;
    color: rgb(255, 255, 255);
    font-weight: bolder;
    text-rendering: optimizelegibility;
}

.feature-point svg {
    width: 18px;
    height: 18px;
    color: var(--primary-cyan);
    flex-shrink: 0;
}

/* ---------- Glow Effect ---------- */
.glow-effect {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

/* ---------- Portfolio Popup ---------- */
.portfolio-popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 1rem;
    opacity: 0;
    visibility: hidden;
    z-index: var(--z-modal);
    transition: 0.4s;
}

.portfolio-popup.open {
    opacity: 1;
    visibility: visible;
}

.portfolio-popup-inner {
    background-color: var(--box-color);
    width: clamp(320px, 900px, 95vw);
    border-radius: 0.5rem;
    padding: clamp(1.5rem, 2.5vw, 2.5rem);
    position: relative;
    top: -27%;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(20px);
    border: 5px solid rgba(255, 255, 255, 0.2);
    border-image-slice: 1;
    border-image-source: linear-gradient(to left, rgba(0, 156, 255, 0.3), rgba(200, 47, 255, 0.3));
}

.portfolio-popup-content {
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    column-gap: 3rem;
}

.portfolio-popup-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    font-size: 1.5rem;
    color: var(--primary-blue);
    cursor: pointer;
}

.portfolio-popup-img {
    border-radius: 0.5rem;
}

.portfolio-popup-subtitle {
    font-size: var(--smaller-font-size);
    margin-bottom: var(--mb025);
    color: var(--text-color);
}

.details-title {
    font-size: var(--h3-font-size);
    font-weight: var(--font-medium);
    margin-bottom: var(--mb1);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, #9a7a59, #dfc9a9 100%);
    background-clip: text;
}

.details-description {
    font-size: var(--small-font-size);
    margin-bottom: var(--mb2);
    color: var(--text-color);
}

.details-info {
    list-style: none;
}

.details-info li {
    margin-bottom: var(--mb075);
    text-transform: capitalize;
    font-size: var(--small-font-size);
    color: var(--text-color);
}

.details-info li:last-child {
    margin-bottom: 0;
}

.details-info li span {
    font-weight: normal;
}

.details-info li a {
    text-transform: lowercase;
    color: var(--primary-blue);
}

/* ---------- Icon Nav Close Button ---------- */
.icon_nav {
    display: inline-block;
    position: absolute;
    width: 60px;
    height: 60px;
    cursor: pointer;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    transition: transform 0.3s ease, background 0.3s ease;
}

.icon_nav:hover {
    transform: scale(1.1);
    background: rgba(255, 255, 255, 0.2);
}

.square {
    position: absolute;
    width: 20px;
    height: 20px;
    background: white;
    border-radius: 4px;
    transition: all 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.square1 {
    top: 10px;
    left: 10px;
    background: #ff7675;
}
.square2 {
    top: 10px;
    right: 10px;
    background: #74b9ff;
}
.square3 {
    bottom: 10px;
    left: 10px;
    background: #55efc4;
}
.square4 {
    bottom: 10px;
    right: 10px;
    background: #ffeaa7;
}

/* ============================================================
   RENAMED SECTION 2: SERVICES
   ============================================================ */

.services-container {
	grid-template-columns: repeat(3, 250px);
	justify-content: center;
	column-gap: 9.8rem;
	text-align: center;
	margin-top: clamp(4%, -5%, 0%);
	/* margin-bottom: clamp(-6%, -4%, 0%); */
	transform: scale(0.8);
	top: -1%;
	position: absolute;
}
.services-content {
    position: relative;
    padding: 6rem 0 2rem 2.5rem;
    border-radius: 1.25rem;
    background: radial-gradient(50% 50% at 50% 50%, rgba(0, 156, 255, 0.62) 0, rgba(0, 156, 255, 0.32) 30.21%, rgba(0, 33, 76, 0) 100%);
    
    /* Gradient border */
    &::before {
        content: '';
        position: absolute;
        inset: 0;
        padding: 2px;
        border-radius: 1.25rem;
        background: linear-gradient(180deg, #512614, #a1623a, #ba7447, #edc38b, #b27449, #ddab77, #eac4ae, #b67e4e, #5b2d17, #44271c);
        -webkit-mask: 
            linear-gradient(#fff 0 0) content-box, 
            linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
    }
}

.services-icon {
    display: block;
    font-size: 1.8rem;
    color: var(--skin-color);
    margin-bottom: var(--mb1);
}

.services-title {
    font-size: var(--h3-font-size);
    margin-bottom: -21px;
    font-weight: 700;
    top: -45px;
    position: relative;
    left: -22px;
}

.services-button {
    cursor: pointer;
    display: inline-block;
    padding: 7px 18px;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    border-radius: 14px;
    color: white;
    text-decoration: none;
    font-weight: 500;
    transform: translateY(20px);
    animation: floatIn 0.8s ease-out 0.8s forwards;
    transition: all 0.3s ease;
    left: -21px;
    position: relative;
    top: -14px;
    background-image: linear-gradient(180deg, #512614, #a1623a, #ba7447, #edc38b, #b27449, #ddab77, #eac4ae, #b67e4e, #5b2d17, #44271c);
}

.services-button-icon {
    font-size: 1rem;
    transition: 0.4s;
}

.services-button:hover .services-button-icon {
    transform: translateX(0.25rem);
}

.services-modal {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 1rem;
    z-index: var(--z-modal);
    opacity: 0;
    visibility: hidden;
    transition: 0.4s;
}

.active-modal {
    opacity: 1;
    visibility: visible;
}

.services-modal-content {
	width: clamp(320px, 500px, 90vw);
	position: relative;
	background-color: var(--box-color);
	padding: 4.5rem 2.5rem 2.5rem;
	border-radius: 0.5rem;
	background: rgba(128, 222, 243, 0.25);
	backdrop-filter: blur(20px);
	border: 5px solid rgba(255, 255, 255, 0.2);
	transition: transform 0.3s ease;
	border-image-slice: 1;
	border-image-source: linear-gradient( to left, rgba(0, 156, 255, 0.3), rgba(200, 47, 255, 0.3) );
}

.services-modal-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    font-size: 1.5rem;
    color: var(--skin-color);
    cursor: pointer;
}

.services-modal-title,
.services-modal-description {
    text-align: center;
}

.services-modal-title {
    font-size: var(--h3-font-size);
    font-weight: var(--font-medium);
    margin-bottom: var(--mb1);
}

.services-modal-description {
    font-size: var(--small-font-size);
    padding: 0 3.5rem;
    margin-bottom: var(--mb2);
}

.services-modal-services {
    row-gap: var(--mb075);
}

.services-modal-service {
    display: flex;
    align-items: center;
    column-gap: 0.5rem;
}

.services-modal-icon {
    color: #0da5ef;
    font-size: 1.1rem;
}

.services-modal-info {
    font-size: var(--small-font-size);
}

/* ---------- Services Images ---------- */
.services-content img {
    width: auto;
    top: -55px;
    position: relative;
    left: -21px;
    height: clamp(70px, 100px, 130px);
}

.services-content .ui/ux {
    height: 101px;
}

/* ============================================================
   RENAMED SECTION 3: FAQ / ACCORDION
   ============================================================ */

.faq.section {
    padding: clamp(3rem, 6.5vw, 6.5rem) 0 2rem;
    position: relative;
    z-index: -3;
}

.faq h2 {
    text-align: center;
    margin-bottom: 20px;
}

.accordion {
	font-family: 'Roboto', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	max-width: 950px;
	margin: auto;
	border-radius: 12px;
	/* overflow: visible; */
	box-shadow: 0 4px 12px var(--cyan-glow, rgba(13, 165, 239, 0.3));
	background: white;
	font-size: clamp(16px, 2rem, 20px) !important;
	overflow: hidden;
	top: 22%;
	position: absolute;
}
.accordion-item {
    border-bottom: 1px solid var(--primary-blue, #0da5ef);
    overflow: visible !important;
    background: white;
    position: relative;
}

.accordion-item:last-child {
    border-bottom: none;
}

.accordion-header {
    background: white;
    padding: var(--acc-title-padding, clamp(12px, 20px, 28px) clamp(15px, 25px, 35px) clamp(12px, 20px, 28px) clamp(15px, 20px, 28px));
    cursor: pointer;
    border: none;
    width: 100%;
    font-size: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    transition: background-color 0.3s ease;
    outline: none;
}

.accordion-header:hover {
    background-color: rgba(13, 165, 239, 0.05);
}

.accordion-header:focus {
    background-color: rgba(13, 165, 239, 0.1);
}

.accordion-number {
    font-weight: bold;
    margin-right: 10px;
    min-width: 30px;
    flex-shrink: 0;
    background: linear-gradient(131.8deg, #009cff 0%, #9536e5 100%);
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}

.accordion-header h3 {
    color: #1b2c5c;
    font-size: clamp(0.85rem, 1.1vw, 1.1rem);
    margin: 0;
    flex-grow: 1;
    transition: color 0.3s ease;
    line-height: 1.3;
    font-weight: 700;
    padding-right: 15px;
    font-family: 'Roboto', sans-serif;
    -webkit-background-clip: text;
    -webkit-text-fill-color: #1b2c5c;
    background-image: none !important;
}

.accordion-header:hover h3 {
    color: var(--primary-blue, #0da5ef);
}

.accordion-arrow {
    width: clamp(18px, 24px, 30px);
    height: clamp(12px, 17px, 22px);
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='17' viewBox='0 0 24 17' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M21.17 0.735352L12 10.3378L2.83 0.735352L0 3.69882L12 16.2648L24 3.69882L21.17 0.735352Z' fill='%230da5ef'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
    transform-origin: center;
}

.accordion-content {
    background: white;
    overflow: hidden;
    height: 0;
    padding: 0 25px 0 20px;
    color: #333;
    line-height: 1.5;
    font-size: clamp(0.8rem, 0.95vw, 0.95rem);
}

.accordion-content p {
    margin: 0;
    padding: clamp(15px, 20px, 28px) clamp(15px, 20px, 28px) clamp(15px, 20px, 28px) clamp(35px, 65px, 75px);
    font-family: Asap, sans-serif;
    font-weight: bold;
}

.creativity-text1 {
    position: relative;
    padding-left: 20px;
}

.creativity-text1::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 4px;
    background: linear-gradient(to bottom, var(--primary-blue, #0da5ef), #9536e5);
    border-radius: 2px;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 0.5s ease, opacity 0.5s ease;
}

.creativity-text1.active-line::before {
    opacity: 1;
    transform: scaleY(1);
}

/* SplitText styling for line animations */
.line {
    overflow: hidden;
    display: block;
}

/* ============================================================
   RENAMED SECTION 4: CONTACT
   ============================================================ */



/* ---------- Shader Button ---------- */
.shader-button {
    font-family: "GoodTimesRg";
    position: relative;
    width: clamp(10rem, 13rem, 16rem);
    height: clamp(3rem, 3.5rem, 4.5rem);
    color: #fff;
    font-size: clamp(0.75rem, 0.9vw, 1.1rem);
    border: 2px solid #c8a780;
    border-radius: 1rem;
    background: transparent;
    overflow: hidden;
    cursor: pointer;
    z-index: 2;
}

.shader-button span {
    position: relative;
    z-index: 1;
    display: block;
    text-align: center;
    line-height: 60px;
    color: white;
    font-weight: bold;
    font-family: "GoodTimesRg";
}

.shader-button:hover canvas {
    opacity: 1;
}

.shader-button canvas {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.9;
    transition: opacity 100ms ease;
    border-radius: 1rem;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@keyframes animateBg {
    100% {
        filter: hue-rotate(360deg);
    }
}

/* ============================================================
   RENAMED SECTION 5: FOOTER
   ============================================================ */

.footer-container {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 0.6rem;
    position: relative;
    z-index: 10;
    height: auto !important;
    padding: clamp(8rem, 16rem, 20rem) 0rem;
    gap: clamp(20rem, 38rem, 50rem);
    margin: 0 auto;
    justify-content: center;
    align-content: center;
    max-width: 1250px;
}

.footer-title {
    font-size: var(--h1-font-size);
    margin-bottom: var(--mb025);
    top: -6px;
    background-clip: text;
    background-image: linear-gradient(to right, #9a7a59, #dfc9a9 100%) !important;
    position: relative;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    mix-blend-mode: screen;
    width: max-content;
}

.footer-subtitle {
    font-size: var(--small-font-size);
    background-clip: text;
    background-image: linear-gradient(to right, #dfc9a9, #9a7a59 100%) !important;
    position: relative;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    mix-blend-mode: screen;
    position: relative;
    top: -23%;
}

/* ---------- Video Container Card ---------- */
.video-container-card {
    max-width: 327px;
    height: clamp(80px, 114px, 150px);
    overflow: hidden;
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: -39px;
    border-radius: 24px;
    margin-top: -14px;
}

.video-container-card video {
    width: auto;
    height: 100%;
    object-fit: cover;
    border-radius: 24px;
}

/* ---------- Video Container Small ---------- */
.video-container-small {
    width: 101%;
    max-width: 390px;
    height: clamp(60px, 90px, 120px);
    margin: 0 auto;
    overflow: hidden;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
}

.video-container-small video {
    width: auto;
    height: 100%;
    object-fit: cover;
}

/* ---------- Logo ALF ---------- */
.logoalf {
	z-index: 10000;
	position: relative;
	width: 104%;
	left: 50%;
	top: 10%;
	transform: translate(-50%, -60%);
	background-image: url("/assets/logowide.avif");
	background-repeat: no-repeat;
	background-position: center;
	height: 50%;
	background-size: 100%;
}
/* ============================================================
   RENAMED SECTION 6: BRAINY / VIDEO SECTION
   ============================================================ */

#brainy {
    position: relative;
    width: 100vw;
    height: 100vh;
    overflow: hidden;
    z-index: -4;
}

.brain-video {
    position: relative;
    width: 100%;
    height: 100%;
    top: 0%;
}

.video-0-2-175 {
    top: -100px;
    left: 0;
    width: var(--vw, 100vw);
    height: var(--vh, 100vh);
    display: flex;
    z-index: 1;
    overflow: hidden;
    position: absolute;
    font-size: 10vw;
    transform: translateY(100%);
    background: linear-gradient(155deg, black, #2a4a8a, black);
    align-items: center;
    user-select: none;
    pointer-events: none;
    justify-content: center;
    object-fit: cover;
    transition: opacity 0.3s ease;
}

.video-0-2-175.loading {
    opacity: 0.7;
}

.video-0-2-175.loaded {
    opacity: 1;
}

/* ---------- Cursor ---------- */
.cursor {
    position: fixed;
    width: clamp(12px, 16px, 20px);
    height: clamp(12px, 16px, 20px);
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    pointer-events: none;
    z-index: 1000;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: opacity 0.3s ease;
    border: 2px solid rgba(255, 255, 255, 0.3);
}

.cursor.active {
    opacity: 1;
}

/* ---------- Triangles ---------- */
.triangles-0-2-173 {
    position: absolute;
    z-index: 4;
    width: auto;
    height: 84%;
    margin: 0;
    left: -5%;
    top: 0;
    transform-origin: left center;
}

/* ============================================================
   RENAMED SECTION 7: BOAT VIDEO
   ============================================================ */


.video-container-boat {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translate(-50%, -50%);
    will-change: transform;
    z-index: 0;
}

.videoboat {
    width: 200%;
    height: 100%;
    object-fit: cover;
    will-change: transform;
    position: absolute;
    top: 0%;
}

/* ---------- Section BG ---------- */
.section-bg {
    background-size: cover;
    background-position: center center;
    height: clamp(40vh, 57vh, 70vh);
    background-image: url("https://i-repair.ro/images/kv.webp");
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    z-index: 2;
    position: relative;
    width: 100%;
    pointer-events: none;
    top: 40%;
    overflow: hidden;
}

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

/* ---------- Tablet & Mobile ---------- */
@media screen and (max-width: 1024px) {
    :root {
        --biggest-font-size: 2rem;
        --h1-font-size: 1.5rem;
        --h2-font-size: 1.25rem;
        --h3-font-size: 1.125rem;
        --normal-font-size: 0.938rem;
        --small-font-size: 0.813rem;
        --smaller-font-size: 0.75rem;
    }

    .container {
        margin-left: var(--mb15);
        margin-right: var(--mb15);
        width: 90%;
    }

.services-container {
	grid-template-columns: repeat(1, 268px);
	width: 415px;
}

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

.accordion {
	max-width: 100%;
	margin: 0 10px;
	font-size: clamp(14px, 4vw, 18px) !important;
	top: 56%;
}
    .accordion-header {
        padding: 15px 20px;
        flex-wrap: nowrap;
    }

    .accordion-number {
        min-width: 25px;
        font-size: 0.9rem;
    }

    .accordion-header h3 {
        font-size: 1rem;
        line-height: 1.4;
    }

    .accordion-arrow {
        width: 20px;
        height: 14px;
    }

    .accordion-content {
        padding: 0 20px 0 15px;
        font-size: 0.9rem;
    }
}

/* ---------- Mobile (768px and below) ---------- */
@media screen and (max-width: 768px) {
    .card-grid {
        grid-template-columns: 1fr;
    }

    .card-img {
        height: clamp(140px, 180px, 220px);
    }

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

    .services-content {
        padding: 3.5rem 0.5rem 1.25rem 1.5rem;
    }

    .services-content img {
        width: 101px !important;
        top: -43px !important;
        left: -11px !important;
    }

.footer-container {
	grid-template-columns: repeat(2, 1fr);
	column-gap: 0.6rem;
	position: relative;
	z-index: 10;
	height: auto !important;
	padding: clamp(8rem, 14rem, 20rem) 1rem;
	gap: clamp(20rem, 38rem, 50rem);
	margin: 0 auto;
	justify-content: center;
	align-content: center;
	max-width: 1250px;
}

.contact-info {
	display: grid;
	row-gap: 1rem;
	top: -139px;
	position: relative;
	left: -76%;
}
    .footer-container {
        grid-template-columns: repeat(2, 1fr);
        row-gap: 3rem;
    }

    .accordion {
        max-width: 100%;
        margin: 0 5px;
        border-radius: 8px;
        font-size: clamp(14px, 4vw, 18px) !important;
    }

    .accordion-header {
        padding: 12px 15px;
    }

    .accordion-number {
        min-width: 20px;
        font-size: 0.8rem;
        margin-right: 8px;
    }

    .accordion-header h3 {
        font-size: 0.9rem;
        padding-right: 10px;
    }

    .accordion-arrow {
        width: 18px;
        height: 12px;
    }

    .accordion-content {
        padding: 0 15px 0 10px;
        font-size: 0.85rem;
        line-height: 1.6;
    }

    .accordion-content p {
        padding: 20px 20px 20px 45px;
    }

    .portfolio-popup-inner {
        width: 420px;
        padding: 2.8rem 1.5rem 2.5rem;
    }

    .portfolio-popup-content {
        grid-template-columns: 1fr;
        row-gap: 1.6rem;
    }

    .details-title {
        font-size: var(--normal-font-size);
    }

    .portfolio-popup-close {
        top: 0.5rem;
    }

    .about-data-left {
        max-width: 560px;
        max-height: 330px;
        width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
        left: 5px;
        position: relative;
        text-align: center;
        height: 328px;
    }
}

/* ---------- Small Mobile (576px and below) ---------- */
@media screen and (max-width: 576px) {
.services-container {
    grid-template-columns: 1fr;
    margin: 0 auto;
}
    .services-modal-content {
        padding: 4.5rem 1.5rem 2.5rem;
    }

    .services-modal-description {
        padding: 0;
    }

    .footer-container {
        grid-template-columns: 1fr;
    }

    .contact-card {
        min-width: unset;
        transform: scale(0.95);
    }
}

/* ---------- Portrait Mobile ---------- */
@media screen and (orientation: portrait) and (max-width: 768px) {
    .home {
        background-size: cover;
        background-position: center center;
        height: 100vh;
        background-image: url("https://i-repair.ro/images/bg1.webp");
        box-shadow: none;
        z-index: -1;
        position: relative;
    }

    .home-data {
        width: 95%;
        position: absolute;
        top: 45%;
        margin-left: 10px;
        margin-right: 10px;
    }

    .services-title {
        font-size: var(--h3-font-size);
        margin-bottom: -21px;
        font-weight: 700;
        top: -45px;
        position: relative;
        left: -4px !important;
    }

    .services-button {
        left: -7px !important;
    }

    .logoalf {
        z-index: 10;
        position: relative;
        width: 90%;
        left: 50%;
        top: 89%;
        transform: scale(1) translate(-54%, -103%);
        background-image: url("https://i-repair.ro/images/logowide.png");
        background-repeat: no-repeat;
        background-position: center;
        height: 47%;
        background-size: 100%;
    }

    .shader-button {
        font-family: "GoodTimesRg";
        position: relative;
        width: clamp(10rem, 12rem, 14rem);
        height: clamp(3rem, 3.5rem, 4rem);
        color: #fff;
        font-size: clamp(0.7rem, 0.9vw, 1rem);
        border: 1px solid #fff5;
        border-radius: 1rem;
        background: transparent;
        overflow: hidden;
        cursor: pointer;
        z-index: 2;
        animation: animateBg 5s linear infinite;
        transform: scale(0.85) translate(0%, -60%);
    }

    #gltext {
        width: 250px !important;
        height: 65px !important;
        margin-bottom: 20px;
        margin-left: -2%;
    }

    .ui/ux {
        height: 101px;
    }
.video-container-boat {
	display: none;
}

.container {
	max-width: 1250px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	margin-top: -16%;
}
    .footer {
        padding-top: 12rem !important;
    }

    .footer-title {
        font-size: var(--h1-font-size);
        margin-bottom: var(--mb025);
    }

    #conversation-container {
        display: none !important;
    }

    #cube {
        width: 400px !important;
        height: 400px !important;
        top: -174%;
        position: absolute;
        left: -5%;
    }

    .home-data {
        width: 100%;
        position: absolute;
        top: 19%;
    }

    #logoContainer {
        position: absolute;
        transform: translate(267%, -140%) scale(0.9);
    }

    .about-data {
        max-width: 80% !important;
        width: fit-content;
        margin: 0 auto;
        box-sizing: border-box;
        right: 5px;
        position: relative;
        text-align: center;
    }

    .contact-content {
        width: 90%;
        position: absolute;
        left: 5%;
        right: 0;
        top: 37%;
    }

    .mainSlider {
        display: none !important;
    }
}

/* ---------- Landscape Mobile ---------- */
@media screen and (orientation: landscape) and (max-height: 420px) {
    :root {
        --biggest-font-size: 1.5rem;
        --h1-font-size: 1.25rem;
        --h2-font-size: 1.125rem;
        --h3-font-size: 1rem;
        --normal-font-size: 0.875rem;
        --small-font-size: 0.75rem;
        --smaller-font-size: 0.7rem;
    }

    .canvas {
        top: 22% !important;
        left: 52% !important;
        width: 56% !important;
        height: 54% !important;
        transform: none !important;
    }

    .video-container2 {
        width: 100px;
        height: 100px;
        background-color: #000;
        border-radius: 50%;
        overflow: hidden;
        position: fixed;
        bottom: 6% !important;
        z-index: 2;
        left: 0;
        right: 0;
        margin: auto;
    }

    .logoalf {
        z-index: 10000;
        position: relative;
        width: 92%;
        left: 50%;
        top: 47%;
        transform: translate(-62%, -107%);
        background-image: url("https://i-repair.ro/images/logowide.png");
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        height: 55%;
        background-size: 95%;
    }

    .shader-button {
        font-family: "GoodTimesRg";
        position: relative;
        width: clamp(9rem, 13rem, 15rem);
        height: clamp(2.8rem, 3.5rem, 4rem);
        color: #fff;
        font-size: clamp(0.6rem, 0.9vw, 1rem);
        border: 1px solid #fff5;
        border-radius: 1rem;
        background: transparent;
        overflow: hidden;
        cursor: pointer;
        z-index: 2;
        animation: animateBg 5s linear infinite;
        transform: scale(0.8) translate(-14%, -70%);
    }

    #flag {
        width: 360px !important;
        height: 360px !important;
        position: absolute !important;
        top: 19% !important;
        left: -8% !important;
        display: block;
    }
}

/* ---------- Large Screens (1366px) ---------- */
@media (min-width: 1366px) and (max-width: 1366px) {
    .video-container-menu video {
        width: 100%;
        height: 242%;
        position: absolute;
        top: -83%;
        left: -1%;
    }

    .brain-video {
        position: relative;
        width: 100%;
        height: 100%;
        top: -133%;
    }

    #experience-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px auto;
        width: 100%;
        max-width: 800px;
        min-height: 100px;
        padding: 20px;
        box-sizing: border-box;
        top: -17%;
        position: relative;
    }

    .home-data {
        width: 100%;
        position: absolute;
        top: 59%;
        left: 8%;
    }

    #logoContainer {
        position: absolute;
        top: 14%;
        right: 54%;
    }

    .video-container-menu {
        position: absolute;
        width: 100%;
        height: 129%;
        overflow: hidden;
        display: block !important;
    }

    .card-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 2rem;
        position: relative;
        left: 4%;
    }

    .photoBox.opened {
        position: fixed;
        top: 1% !important;
        left: -5% !important;
        border-radius: 0;
        z-index: 1000;
        transform: scale(0.8) !important;
        height: 100% !important;
        width: 100% !important;
        background-size: 85% !important;
        background-position: left !important;
    }


    .section-bg {
        background-size: cover;
        background-position: center center;
        height: 101vh;
        background-image: url("https://i-repair.ro/images/kv.webp");
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        z-index: 2;
        position: absolute;
        width: 100%;
        pointer-events: none;
        top: 23%;
        overflow: hidden;
    }

    .footer-container {
        position: absolute;
        z-index: 10;
        height: auto !important;
        left: 17%;
        top: 41%;
    }


    .video-container-boat {
        position: absolute;
        top: 66%;
        left: 50%;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, -50%);
        will-change: transform;
        z-index: 0;
    }

    #conversation-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px auto;
        width: 100%;
        max-width: 800px;
        min-height: 100px;
        padding: 20px;
        box-sizing: border-box;
        transform: scale(1.2);
    }
}

/* ---------- 1440px Screens ---------- */
@media (min-width: 1440px) and (max-width: 1440px) {
    .footer-container {
        position: absolute;
        z-index: 10;
        height: auto !important;
        left: 17%;
        top: 57%;
    }
}

/* ---------- 1600px Screens ---------- */
@media (min-width: 1600px) and (max-width: 1600px) {

    .footer-container {
        position: absolute;
        z-index: 10;
        height: auto !important;
        left: 17%;
        top: 57%;
    }

    #conversation-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px auto;
        width: 100%;
        max-width: 800px;
        min-height: 100px;
        padding: 20px;
        box-sizing: border-box;
        transform: scale(1.2);
        top: 19%;
        position: relative;
    }

    .vid-footer {
        position: relative;
        z-index: 11;
        bottom: 0;
        top: 137%;
        left: 147%;
    }
}

/* ---------- 1601-1920px Screens ---------- */
@media (min-width: 1601px) and (max-width: 1920px) {
    .video-container-menu {
        position: absolute;
        width: 100%;
        height: 125%;
        overflow: hidden;
        display: block !important;
    }

    .video-container-menu video {
        width: auto;
        height: 166%;
        position: absolute;
        top: -54%;
        left: -5%;
    }

    .brain-video {
        position: relative;
        width: 100%;
        height: 113%;
        top: -55%;
        transform: scale(0.8);
        left: 0%;
    }

    .home-data {
        width: 100%;
        position: absolute;
        top: 59%;
        left: 8%;
    }

    #logoContainer {
        position: absolute;
        top: 14%;
        right: 54%;
    }

    .card-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 2rem;
        position: relative;
        left: 4%;
    }


    .section-bg {
        background-size: cover;
        background-position: center center;
        height: 101vh;
        background-image: url("https://i-repair.ro/images/kv.webp");
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        z-index: 2;
        position: absolute;
        width: 100%;
        pointer-events: none;
        top: 23%;
        overflow: hidden;
    }

    .footer-container {
        position: absolute;
        z-index: 10;
        height: auto !important;
        left: 17%;
        top: 67%;
        max-width: 1250px;
        display: grid;
        width: 100%;
    }



    .video-container-boat {
        position: absolute;
        top: 66%;
        left: 50%;
        width: 100vw;
        height: 100vh;
        transform: translate(-50%, -50%);
        will-change: transform;
        z-index: 0;
    }

    #conversation-container {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 40px auto;
        width: 100%;
        max-width: 800px;
        min-height: 100px;
        padding: 20px;
        box-sizing: border-box;
        transform: scale(1.5);
        top: 19%;
        position: relative;
    }

    .vid-footer {
        position: relative;
        z-index: 11;
        bottom: 0;
    }
}

/* ---------- Video Container Menu Hide for Mobile ---------- */
@media screen and (min-width: 320px) and (max-width: 1200px) {
    .video-container-menu {
        display: none;
    }
}

/* ---------- Main Slider Hide for Portrait ---------- */
@media screen and (orientation: portrait) and (max-width: 768px) {
    .mainSlider {
        display: none !important;
    }
}

/* ---------- General Mobile Fixes ---------- */
@media (max-width: 768px) {
    .glitch {
        color: white;
        font-size: 47px;
        position: relative;
        width: 335px !important;
    }

    .magnetic-glow-demo {
        padding: 0rem;
        border-radius: 20px;
        position: relative;
        top: -3%;
    }

    #offer-container {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        max-width: 800px;
        min-height: 100px;
        padding: 20px;
        box-sizing: border-box;
        width: 100%;
        position: relative;
        margin-top: -87px;
    }

    .shader-button {
        right: -9rem;
    }
}

#services {
	position: relative;
	width: 100vw;
	min-height: 184dvh;
	display: flex;
	justify-content: center;
	align-content: center;
	align-items: center;
}
.boat-night {
	position: absolute;
	width: 100vw;
	height: 100vh;
	z-index: 0;
	background-image: url('https://i-repair.ro/assets/bg-nav2.avif');
	background-size: 100% 100%;
	background-position: top;
	background-repeat: no-repeat;
}

@media (max-width: 768px) {
.boat-night {
	height: 120vh;
	top: 12%;
	transform: scale(1.3);
        background-size: unset;
}
}
/*
.faq-title {
	text-align: center;
	margin-bottom: 20px;
	margin-top: clamp(462px, 8vw, 111px);
}
*/
.video-boat {
	top: -100px;
	left: 0;
	width: var(--vw);
	height: var(--vh);
	display: flex;
	z-index: 1;
	overflow: hidden;
	position: relative;
	font-size: 10vw;
	transform: translateY(100%);
	background: linear-gradient(155deg, black, #2a4a8a, black);
	align-items: center;
	user-select: none;
	pointer-events: none;
	justify-content: center;
	object-fit: cover;
	transition: opacity 0.3s ease;
	z-index: -990000;
}
    .video-boat.loading {
      opacity: 0.7;
    }

    .video-boat.loaded {
      opacity: 1;
    }



    .loading-spinner.visible {
      display: block;
    }

    @keyframes spin {
      to { transform: translate(-50%, -50%) rotate(360deg); }
    }

    /* Center video on mobile */
    @media (max-width: 768px) {
      .video-boat {
        top: 50%;
        left: -1%;
        width: 100%;
        height: auto;
        max-height: 50vh;
      }
    }

    /* Landscape mode on mobile */
    @media (max-width: 768px) and (orientation: landscape) {


      .video-boat {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 80%;
        height: auto;
        max-height: 80vh;
      }
    }

/*------------------------------------------------------------
  ds-wrapper
--------------------------------------------------------------*/

.ds-wrapper {
	min-height: 100vh;
}
.ds-container {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
	/* background: #12161c; */
	border-radius: 2.5rem;
	padding: 2.5rem 2rem;
	box-shadow: 0 20px 40px rgba(0,0,0,0.7);
	/* top: 15%; */
	position: relative;
	background: linear-gradient(150deg, rgb(0, 0, 0) 0%, rgb(26, 36, 49) 50%, rgb(0, 0, 0) 100%);
	margin-top: 2.5%;
}
.ds-grid-two {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0rem;
	align-items: start;
	background: linear-gradient(149deg, rgb(0, 0, 0) 0%, rgb(26, 36, 49) 50%, rgb(0, 0, 0) 100%);
}
    .ds-col {
      max-width: 625px;
      width: 100%;
      justify-self: center;
    }

    /* ----- LEFT SIDE ----- */
    .ds-left-col {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
      position: relative;
    }

.ds-glow-title {
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: #fff;
	margin: 0 0 0.15rem 0;
	font-size: calc(1.941747572816vw + 2.071844660194rem);
	animation: 5s linear 0.75s infinite ds-lights;
	text-shadow: 0 0 0.3em rgba(255, 51, 187, 0.2);
	word-break: break-word;
	font-size: clamp(var(--dst--title-fsM,var(--dst--min-base-text-size)), var(--clamp-formula,3.5vw), var(--dst--title-fs));
	--dst--title-fs: 2.5rem;
	--dst--h2-clamp-formula: calc(1.941747572816vw + 2.071844660194rem);
	--dst--min-base-text-size: 16px;
	--dst--title-fsM: 11px;
	--clamp-formula: var(--dst--h2-clamp-formula);
}
    @keyframes ds-lights {
      0% {
        text-shadow: 0 0 1em #f0a3, 0 0 .125em #ff33bb4d, -1em -.125em .5em #fb30, 1em .125em .5em #3bf0;
      }
      30% {
        text-shadow: 0 0 1em #ff00aa80, 0 0 .125em #ff33bb80, -.5em -.125em .25em #fb33, .5em .125em .25em #3bf6;
      }
      40% {
        text-shadow: 0 0 1em #ff00aa80, 0 0 .125em #ffccee80, -.25em -.125em .125em #fb33, .25em .125em .125em #3bf6;
      }
      70% {
        text-shadow: 0 0 1em #ff00aa80, 0 0 .125em #ff33bb80, .5em -.125em .25em #fb33, -.5em .125em .25em #3bf6;
      }
      to {
        text-shadow: 0 0 1em #f0a3, 0 0 .125em #ff33bb4d, 1em -.125em .5em #fb30, -1em .125em .5em #3bf0;
      }
    }

    .ds-feature-list {
      list-style: none;
      padding: 0;
      margin: 0.5rem 0 1.25rem 0;
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
    }

    .ds-feature-list li {
      position: relative;
      padding-left: 2.4rem;
      font-size: 1.1rem;
      line-height: 1.4;
      color: #eaf0f5;
      font-weight: 450;
      letter-spacing: 0.01em;
      background: transparent;
    }

    .ds-bullet-icon {
      position: absolute;
      left: 0;
      top: 0.15rem;
      width: 22px;
      height: 16px;
      overflow: visible;
      filter: drop-shadow(0 0 2px #04e4ff55);
      will-change: transform, opacity;
    }

    .ds-bullet-icon path {
      fill: #04e4ff;
    }

    .ds-bullet-icon path.ds-tail {
      opacity: 0.6;
    }

    .ds-desc-text {
      font-size: 16px;
      text-align: left;
      color: #fff;
      line-height: 1.6;
      max-width: 100%;
      margin-top: 0.25rem;
      text-wrap: wrap;
      overflow-wrap: break-word;
      word-break: break-word;
      background: rgba(255,255,255,0.02);
      padding: 0.75rem 1rem 0.75rem 0;
      border-left: 2px solid #04e4ff33;
      padding-left: 1rem;
      font-weight: 600;
    }

    /* 3D Cube Canvas Styling */
#ds-cube-container {
	position: relative;
	width: 100%;
	max-width: 700px;
	height: 600px;
	margin: 1rem auto 0;
	border-radius: 12px;
	overflow: hidden;
	background: transparent;
}
    #ds-cube-container canvas {
      position: absolute;
      top: 0;
      left: -8%;
      width: 100%;
      height: 100%;
      display: block;
    }

    /* ----- RIGHT SIDE ----- */
    .ds-right-col {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }

    .ds-section-title {
      font-weight: 700;
      letter-spacing: -0.01em;
      line-height: 1.15;
      color: #fff;
      margin: 0 0 0.85rem 0;
      font-size: clamp(1.5rem, 1.3vw + 1.2rem, 2rem);
      padding-bottom: 0.6rem;
      border-bottom: 1px solid #04e4ff2e;
      display: flex;
      justify-content: center;
    }

    .ds-strategy-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1rem 1.4rem;
    }

.ds-strategy-item .ds-item-title {
	display: block;
	color: #04e4ff;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.01em;
	margin-bottom: 0.35rem;
	margin-left: 36px;
}
    .ds-strategy-item .ds-feature-list {
      margin: 0;
      gap: 0;
    }

.ds-strategy-item .ds-feature-list li {
	font-size: clamp(0.75rem, 0.6428571428571428rem + 0.4761904761904762vw, 0.8rem);
	line-height: 1.4;
	padding-left: 2.2rem;
	font-weight: 400;
}
.ds-feature-list a {
	color: #7fe3ff;
	text-decoration: unset;
}

    .ds-feature-list a:hover {
      color: #FFF;
    }

    @media (max-width: 700px) {
      .ds-strategy-grid {
        grid-template-columns: 1fr;
      }
      .ds-grid-two {
        grid-template-columns: 1fr;
        gap: 2.5rem;
      }
      .ds-col {
        max-width: 100%;
        justify-self: center;
      }
.ds-glow-title {
	font-size: calc(-3.058vw + 2.071844660194rem);
}
      .ds-container {
        padding: 1.8rem 1.2rem;
      }
      #ds-cube-container {
        height: 300px;
      }
    }

/* ===== CONTACT SECTION ===== */
#boat {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    padding: 80px 20px;
    overflow: hidden;
    background: #040508;
}

/* Video Background */
#boat .bg-video-wrap video {
	position: absolute;
	top: 50%;
	left: 50%;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	transform: translate(-50%, -50%);
	object-fit: cover;
	/* opacity: 1; */
	pointer-events: none;
	filter: brightness(2);
}
#boat .bg-video-wrap video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    opacity: 1;
    pointer-events: none;
}

/* FIX: this rule had no background value at all in the original file,
   so the dark scrim over the video was never actually painted. */
#boat .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background: rgba(4, 5, 8, 0.75);
    pointer-events: none;
}

/* ===== CONTAINER ===== */
#boat .contact-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
}

/* ===== HEADER ===== */
#boat .contact-header {
    text-align: center;
    margin-bottom: 115px;
    margin-top: 107px;
}

#boat .contact-subtitle {
    font-size: 1.125rem;
    font-weight: 400;
    color: #d8d8d8;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 12px;
    opacity: 0.8;
}

#boat .contact-title {
    letter-spacing: clamp(-0.06em, -0.056vw, -0.06em);
    font-size: clamp(2.5rem, 6.283vw, 5.938rem);
    line-height: clamp(2.2rem, 5.952vw, 5.625rem);
    font-weight: 700;
    color: #d8d8d8;
    margin-bottom: 16px;
}

#boat .contact-description {
    font-size: 1.125rem;
    font-weight: 400;
    color: #d8d8d8;
    opacity: 0.8;
    max-width: 600px;
    margin: 0 auto;
}

#boat .contact-description br {
    display: block;
}

/* ===== FORM ===== */
#boat .contact-form {
    max-width: 1250px;
    margin: 0 auto;
}

#boat .form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 30px;
    margin-bottom: 24px;
}

#boat .form-group {
    position: relative;
    display: flex;
    flex-direction: column;
}

#boat .form-group.full-width {
    grid-column: 1 / -1;
}

#boat .form-group.has-dropdown {
    position: relative;
    z-index: 50;
}

#boat .form-group label {
    position: absolute;
    top: 11px;
    left: 16px;
    font-size: 1.125rem;
    font-weight: 400;
    color: #d8d8d899;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: left top;
    background: transparent;
    padding: 0 4px;
}

#boat .form-group label.active {
    top: -8px;
    left: 12px;
    font-size: 0.75rem;
    color: #d8d8d8;
    background: #040508;
    padding: 0 6px;
}

#boat .form-group input,
#boat .form-group select,
#boat .form-group textarea {
    width: 100%;
    font-size: 1.125rem;
    font-family: 'Inter', sans-serif;
    color: #d8d8d8;
    background: transparent;
    border: 1px solid #d8d8d833;
    outline: none;
    transition: border-color 0.3s ease;
    border-radius: 0.5rem;
    padding: 18px 16px 10px 16px;
}

#boat .form-group textarea {
    resize: none;
    min-height: 120px;
    padding-top: 18px;
}

#boat .form-group input:focus,
#boat .form-group select:focus,
#boat .form-group textarea:focus {
    border-color: #d8d8d8;
}

#boat .form-group input:focus ~ label,
#boat .form-group input:not(:placeholder-shown) ~ label,
#boat .form-group textarea:focus ~ label,
#boat .form-group textarea:not(:placeholder-shown) ~ label {
    top: -8px;
    left: 12px;
    font-size: 0.75rem;
    color: #d8d8d8;
    background: #040508;
    padding: 0 6px;
}

#boat .form-group input::placeholder,
#boat .form-group textarea::placeholder {
    color: transparent;
}

/* ===== FORM VALIDATION ERROR ===== */
#boat .form-group input.error,
#boat .form-group select.error,
#boat .form-group textarea.error {
    border-color: #ff4b2f !important;
}

#boat .form-group input.error:focus,
#boat .form-group select.error:focus,
#boat .form-group textarea.error:focus {
    border-color: #ff4b2f !important;
    box-shadow: 0 0 0 3px rgba(255, 75, 47, 0.15);
}

/* ===== DROPDOWN CUSTOM ===== */
#boat .custom-select {
    position: relative;
    cursor: pointer;
    /* FIX: gives the dropdown its own stacking context so it always
       paints above the video/overlay layers underneath, regardless
       of what other stacking contexts exist elsewhere on the page. */
    isolation: isolate;
}

#boat .custom-select .selected {
	padding: 8px 23px 10px 20px;
	font-size: 1.125rem;
	color: #d8d8d8;
	border: 1px solid #d8d8d833;
	border-radius: 0.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: border-color 0.3s ease;
	/* font-family: 'Inter', sans-serif; */
	min-height: 51px;
	background-color: #04050800;
	position: relative;
	z-index: 5;
}
#boat .custom-select .selected .arrow {
    transition: transform 0.3s ease;
    font-size: 0.7rem;
    color: #d8d8d899;
}

#boat .custom-select .selected .arrow.open {
    transform: rotate(225deg);
}

#boat .custom-select .selected.active {
    border-color: #d8d8d8;
}

/* DROPDOWN - SOLID BACKGROUND, NO TRANSPARENCY */
#boat .custom-select .dropdown {
    position: absolute;
    left: 0;
    right: 0;
    top: calc(100% + 4px);
    z-index: 999;
    max-height: 240px;
    overflow-y: auto;
    border: 1px solid #d8d8d833;
    border-radius: 0.5rem;
    padding: 4px 0;
    background-color: #040508 !important;
    color: #d8d8d8;
    opacity: 1;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                visibility 0.3s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: none;
    overscroll-behavior: contain;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.8);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

#boat .custom-select .dropdown.open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

#boat .custom-select .dropdown button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 10px 16px;
    font-size: 0.95rem;
    font-family: 'Inter', sans-serif;
    color: #d8d8d8;
    background-color: transparent;
    border: none;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Hover effect on dropdown options */
#boat .custom-select .dropdown button:hover,
#boat .custom-select .dropdown button:focus-visible {
    background-color: #d8d8d8 !important;
    color: #272727 !important;
}

#boat .custom-select .dropdown button.selected-option {
    background-color: #d8d8d833;
    color: #d8d8d8;
}

/* ===== DROPDOWN SCROLLBAR STYLING ===== */
#boat .custom-select .dropdown::-webkit-scrollbar {
    width: 6px;
}

#boat .custom-select .dropdown::-webkit-scrollbar-track {
    background: #040508;
    border-radius: 0 4px 4px 0;
}

#boat .custom-select .dropdown::-webkit-scrollbar-thumb {
    background: #d8d8d833;
    border-radius: 4px;
}

#boat .custom-select .dropdown::-webkit-scrollbar-thumb:hover {
    background: #d8d8d866;
}

/* ===== SEND BUTTON ===== */
#boat .send-wrapper {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

#boat .send-btn {
    font-family: 'Inter', sans-serif;
    font-size: 1.125rem;
    font-weight: 600;
    color: #d8d8d8;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 12px 0;
    transition: all 0.3s ease;
    letter-spacing: 0.04em;
    position: relative;
}

#boat .send-btn::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: #d8d8d8;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#boat .send-btn:hover::after {
    width: 100%;
}

#boat .send-btn:hover {
    color: #ffffff;
}

/* ===== OR DIVIDER ===== */
#boat .or-divider {
    display: flex;
    align-items: center;
    gap: 20px;
    margin: 40px 0 30px;
    color: #d8d8d899;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

#boat .or-divider .line {
    flex: 1;
    height: 1px;
    background: #d8d8d833;
}

#boat .or-divider .or-text {
    flex-shrink: 0;
    padding: 0 10px;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    color: #d8d8d899;
}

/* ===== CONTACT METHODS ===== */
#boat .contact-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 40px;
    padding-top: 10px;
}

#boat .contact-method {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#boat .contact-method .label {
    font-size: 0.85rem;
    color: #d8d8d899;
    letter-spacing: 0.04em;
}

#boat .contact-method .value {
    font-size: 1.125rem;
    color: #d8d8d8;
    text-decoration: none;
    transition: color 0.3s ease;
    font-weight: 500;
}

#boat .contact-method .value:hover {
    color: #ffffff;
}

#boat .contact-method-right {
    text-align: right;
}

#boat .contact-method-right .value {
    display: inline-block;
}

/* ===== FORM STATUS MESSAGES ===== */
#boat .form-status {
    display: none;
    text-align: center;
    padding: 12px 20px;
    border-radius: 0.5rem;
    margin-top: 16px;
    font-weight: 500;
}

#boat .form-status.success {
    display: block;
    color: #4ade80;
    border: 1px solid #4ade8066;
    background: #4ade8010;
}

#boat .form-status.error {
    display: block;
    color: #ff4b2f;
    border: 1px solid #ff4b2f66;
    background: #ff4b2f10;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    #boat .contact-header {
        margin-bottom: 80px;
        margin-top: 70px;
    }
}

@media (max-width: 768px) {
    #boat {
        padding: 60px 16px;
        min-height: auto;
    }

    #boat .contact-header {
        margin-bottom: 60px;
        margin-top: 50px;
    }

    #boat .contact-title {
        font-size: clamp(2rem, 8vw, 3.5rem);
        line-height: 1.2;
    }

    #boat .form-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    #boat .form-group.full-width {
        grid-column: 1;
    }

    #boat .contact-methods {
        grid-template-columns: 1fr;
        gap: 16px;
        text-align: center;
    }

    #boat .contact-method-right {
        text-align: center;
    }

    #boat .send-wrapper {
        justify-content: center;
    }

    #boat .or-divider {
        margin: 30px 0 24px;
        gap: 12px;
    }

    #boat .custom-select .selected {
        font-size: 1rem;
        padding: 14px 14px 8px 14px;
        min-height: 48px;
    }

    #boat .custom-select .dropdown {
        max-height: 200px;
    }

    #boat .custom-select .dropdown button {
        padding: 8px 14px;
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    #boat .contact-subtitle {
        font-size: 0.9rem;
    }

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

    #boat .contact-header {
        margin-bottom: 40px;
        margin-top: 30px;
    }

    #boat .form-group input,
    #boat .form-group select,
    #boat .form-group textarea {
        font-size: 1rem;
        padding: 14px 12px 8px 12px;
    }

    #boat .custom-select .selected {
        font-size: 1rem;
        padding: 14px 12px 8px 12px;
        min-height: 44px;
    }

    #boat .form-group label {
        font-size: 1rem;
        top: 14px;
        left: 12px;
    }

    #boat .form-group label.active {
        top: -8px;
        left: 10px;
        font-size: 0.7rem;
    }

    #boat .contact-method .value {
        font-size: 1rem;
    }

    #boat .send-btn {
        font-size: 1rem;
    }

    #boat .custom-select .dropdown {
        max-height: 160px;
    }

    #boat .custom-select .dropdown button {
        padding: 6px 12px;
        font-size: 0.85rem;
    }

    #boat .form-status {
        font-size: 0.9rem;
        padding: 10px 16px;
    }
}

@media (max-width: 360px) {
    #boat .contact-title {
        font-size: 1.8rem;
    }

    #boat .contact-subtitle {
        font-size: 0.8rem;
    }

    #boat .contact-description {
        font-size: 0.9rem;
    }

    #boat .form-group input,
    #boat .form-group select,
    #boat .form-group textarea {
        font-size: 0.9rem;
        padding: 12px 10px 6px 10px;
    }

    #boat .custom-select .selected {
        font-size: 0.9rem;
        padding: 12px 10px 6px 10px;
        min-height: 40px;
    }

    #boat .form-group label {
        font-size: 0.9rem;
        top: 12px;
        left: 10px;
    }

    #boat .form-group label.active {
        top: -6px;
        left: 8px;
        font-size: 0.65rem;
    }

    #boat .send-btn {
        font-size: 0.9rem;
    }

    #boat .or-divider {
        gap: 8px;
        margin: 20px 0 16px;
    }

    #boat .or-divider .or-text {
        font-size: 0.7rem;
        padding: 0 6px;
    }

    #boat .contact-method .value {
        font-size: 0.9rem;
    }

    #boat .custom-select .dropdown button {
        padding: 5px 10px;
        font-size: 0.8rem;
    }
}
  
/* ===== QUESTIONS SECTION ===== */
#services {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow: hidden;
    background: #fefcfe;
    padding: 80px 20px;
}

/* ===== CONTAINER ===== */
#services .questions-container {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: flex-start;
}

/* ===== LEFT SIDE - STICKY ===== */
#services .questions-left {
	position: relative;
	/* top: 100px; */
	display: flex;
	flex-direction: column;
	/* align-self: flex-start; */
	top: -13%;
}
    #services .questions-video-wrapper {
        position: relative;
        width: 100%;
        max-height: 700px;
        overflow: hidden;
        border-radius: 16px;
        background: #fefcfe;
        transform: translateY(0);
        will-change: transform;
        top: -20%;
    }

    #services .questions-video-wrapper video {
        width: 100%;
        height: 650px;
        max-height: 700px;
        object-fit: cover;
        display: block;
    }
#services .questions-left .questions-title {
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    letter-spacing: clamp(-0.06em, -0.056vw, -0.06em);
    font-size: clamp(2.5rem, 6.283vw, 5.938rem);
    line-height: clamp(2.2rem, 5.952vw, 5.625rem);
    color: #000;
    margin-top: 20px;
}

#services .questions-left .questions-sub {
    font-size: 1.525rem;
    color: #333;
    opacity: 0.8;
    margin-top: 4px;
}

/* ===== RIGHT SIDE ===== */
#services .questions-right {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 0;
}

/* ===== ACCORDION ===== */
#services .questions-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
    overflow: hidden;
}

#services .questions-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0;
    cursor: pointer;
    user-select: none;
    transition: padding 0.3s ease;
}

#services .questions-header .title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #000;
    transition: color 0.3s ease;
    font-family: 'Inter', sans-serif;
}

#services .questions-header .icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    color: #000;
}

#services .questions-header .icon svg {
    width: 18px;
    height: 18px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#services .questions-item.active .questions-header .icon svg {
    transform: rotate(180deg);
}

#services .questions-item.active .questions-header {
    padding-bottom: 8px;
}

#services .questions-item.active .questions-header .title {
    color: #000;
}

#services .questions-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
    padding: 0;
}

#services .questions-body .content {
    padding: 0 0 20px 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #333;
    font-family: 'Inter', sans-serif;
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
    #services .questions-container {
        gap: 40px;
    }

    #services .questions-left .questions-title {
        font-size: clamp(2.2rem, 5vw, 4rem);
    }

    #services .questions-header .title {
        font-size: 1.1rem;
    }
}

@media (max-width: 900px) {
    #services .questions-container {
        grid-template-columns: 1fr;
        gap: 0px;
        align-items: stretch;
    }

    #services .questions-left {
        position: relative;
        top: 0;
        padding-top: 0;
        margin-bottom: 20px;
        align-self: stretch;
    }

    #services .questions-right {
        padding-top: 0;
    }

    #services .questions-video-wrapper {
        max-height: none;
        top: 0;
    }

    #services .questions-video-wrapper video {
        max-height: none;
        width: 100%;
        height: auto;
    }

    #services {
        padding: 40px 20px;
        min-height: auto;
        align-items: center;
    }

    #services .questions-left .questions-title {
        font-size: clamp(2rem, 6vw, 3.5rem);
        margin-top: 12px;
    }

    #services .questions-left .questions-sub {
        font-size: 1.2rem;
    }

    #services .questions-header .title {
        font-size: 1rem;
    }

    #services .questions-header {
        padding: 14px 0;
    }

    #services .questions-body .content {
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    #services {
        padding: 30px 16px;
    }

    #services .questions-left .questions-title {
        font-size: 1.8rem;
        line-height: 1.2;
    }

    #services .questions-left .questions-sub {
        font-size: 1rem;
    }

    #services .questions-header .title {
        font-size: 0.95rem;
    }

    #services .questions-header {
        padding: 12px 0;
    }

    #services .questions-body .content {
        font-size: 0.9rem;
        padding: 0 0 16px 0;
    }

    #services .questions-header .icon svg {
        width: 16px;
        height: 16px;
    }
}

/* ---------- the component ---------- */

  @keyframes shine{
    0%   { background-position:-120% 0; }
    100% { background-position: 220% 0; }
  }

  .contact-dock{
    position:fixed;
    left:50%;
    bottom:24px;
    transform:translateX(-50%);
    z-index:50;
    display:flex;
    gap:14px;
  }

  .drain-btn{
    /* tokens lifted straight from the site's existing gradient-border components
       (.modal / .form--cta) so this matches the rest of the UI */
    --color-primary: rgba(127,127,127,1);
    --color-primary-faded: rgba(127,127,127,0.1);
    --color-background: #000;
    --radius: 10px;
    --pad: 18px;

    position:relative;
    display:inline-block;
    height:42px;
    border:none;
    padding:1px;                 /* thickness of the gradient border ring */
    border-radius: var(--radius);
    cursor:pointer;
    background: linear-gradient(160deg, rgba(127,127,127,0), rgba(127,127,127,0) 60%);
    transition: background .6s ease;
    text-decoration:none;
    -webkit-tap-highlight-color: transparent;
  }

  .drain-btn:hover,
  .drain-btn:focus-within{
    background: linear-gradient(160deg, var(--color-primary), var(--color-primary-faded) 60%);
  }

  .drain-btn:focus-visible{
    outline:2px solid var(--color-primary);
    outline-offset:3px;
  }

  .drain-btn__inner{
    position:relative;
    display:block;
    width:100%;
    height:100%;
    border-radius: calc(var(--radius) - 1px);
    overflow:hidden;
    background: var(--color-background);
  }

  .drain-back{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 var(--pad);
  }

  .drain-dot{
    flex:0 0 auto;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#fff;              /* the last bit of the drained white surface */
    transform:scale(0);
  }

  .drain-back-label{
    position:relative;
    display:inline-block;
    font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight:700;
    font-size:14px;
    line-height:1;
    margin-bottom:6px;            /* optical centering against the dot */
    letter-spacing:.01em;
    white-space:nowrap;
    opacity:0;
  }

  .drain-back-label__base{
    color:var(--color-primary);   /* stays this exact color, always */
  }

  .drain-back-label__shine{
    position:absolute;
    inset:0;
    pointer-events:none;
    background-image:linear-gradient(
      90deg,
      transparent 0%,
      transparent 40%,
      rgba(255,255,255,.85) 50%,
      transparent 60%,
      transparent 100%
    );
    background-size:220% 100%;
    background-repeat:no-repeat;
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
    -webkit-text-fill-color:transparent;
    animation: shine 2.6s linear infinite;
    animation-play-state:paused;
  }

  .drain-btn:hover .drain-back-label__shine,
  .drain-btn:focus-within .drain-back-label__shine{
    animation-play-state:running;
  }

  .drain-front{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0 var(--pad);
    background:#ffffff;
    clip-path:circle(600px at 22px 50%);
    will-change:clip-path;
  }

  .drain-front-label{
    font-family: 'Montserrat', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    font-weight:700;
    font-size:14px;
    line-height:1;
    letter-spacing:.01em;
    color:#1b1d22;
    white-space:nowrap;
    pointer-events:none;
  }

@media screen and (width: 1366px) and (height: 768px) {
	.section-inner {
		top: clamp(8%, 12%, 20%);
	}

	.brain-video {
		top: -35%;
	}

	#whatwedo .container {
		bottom: clamp(80px, 18vh, 180px);
	}

	.ds-container {
		transform: scale(0.85);
		top: -8%;
	}

	#services .questions-right {
		top: -5%;
	}

	#services .questions-container {
		transform: scale(0.85);
	}

	#boat .contact-container {
		transform: scale(0.85);
		top: -10%;
	}
}

/* new teck */
  
  /* Override CSS variables */
  :root {
    --white: #e5e4e0 !important;
    --black: #000 !important;
    --light-grey: #3a3a3a !important;
    --gainsboro: #2a2a2a !important;
    --white-smoke: #1a1a1a !important;
  }
  
  /* Grid items */
  .home-client__grid-item {
    background-color: transparent !important;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: auto;
    padding: 1.5em 0.5em;
  }

.grid-main {
	grid-column-gap: 1.25em;
	grid-row-gap: 1.25em;
	grid-template-rows: auto;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	grid-auto-columns: 1fr;
	width: 100%;
	display: grid;
	/* background-color: black; */
	backdrop-filter: blur(3px);
}
  
  .home-client__grid-img {
    height: 4em;
    width: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 0.5em;
  }
  
  .home-client__grid-img img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
  }
  
.logo-description {
	font-size: clamp(0.875rem, 0.8214285714285714rem + 0.2380952380952381vw, 1rem) !important;
	text-align: center;
	line-height: 1;
	max-width: 90%;
	margin: 0 auto;
	opacity: 0.8;
	color: var(--black);
	transition: opacity 0.3s ease;
}  
  .dark .logo-description {
    color: var(--white);
    opacity: 1;
  }
  
  /* Corner SVG styling - replaced image imports */
  .home-client__corner-w {
    position: absolute;
    inset: 0;
    pointer-events: none;
  }
  
  .corner-svg {
    position: absolute;
    width: 12px;
    height: 12px;
    transition: all 0.3s ease;
  }
  
  .corner-svg.is-1 { top: -6px; left: -6px; }
  .corner-svg.is-2 { top: -6px; right: -6px; }
  .corner-svg.is-3 { bottom: -6px; left: -6px; }
  .corner-svg.is-4 { bottom: -6px; right: -6px; }
  
  /* Dark mode default - gray corners */
  .corner-svg path {
    fill: #3a3a3a;
    transition: fill 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  }
  
  /* Animation states */
  .corner-svg.active path {
    fill: #e5e4e0;
  }
  
  .corner-svg.pulse path {
    animation: pulseGlow 1.2s ease-in-out;
  }
  
  @keyframes pulseGlow {
    0%, 100% { fill: #3a3a3a; }
    50% { fill: #e5e4e0; }
  }
  
  @keyframes wavePulse {
    0% { fill: #3a3a3a; }
    40% { fill: #e5e4e0; }
    60% { fill: #e5e4e0; }
    100% { fill: #3a3a3a; }
  }
  
  /* Hover effect on entire item */
  .home-client__grid-item:hover .corner-svg path {
    fill: #e5e4e0;
  }
  
  .home-client__grid-item:hover .logo-description {
    opacity: 1;
  }
  
  /* Border */
  .home-client__border {
    position: absolute;
    inset: 0;
    opacity: 0.14;
    outline-offset: -1px;
    outline: 1px solid;
    outline-color: #e5e4e0 !important;
    transition: opacity 0.4s ease;
  }
  
  .home-client__grid-item:hover .home-client__border {
    opacity: 0.4;
  }
  
  @media screen and (max-width: 991px) {
    .home-client__grid-item {
      padding: 1.5em 0.5em;
      height: auto;
    }
    .home-client__grid-img {
      height: 3.5em;
    }
    .logo-description {
      font-size: 0.55em;
    }
    .corner-svg {
      width: 10px;
      height: 10px;
    }
    .corner-svg.is-1 { top: -5px; left: -5px; }
    .corner-svg.is-2 { top: -5px; right: -5px; }
    .corner-svg.is-3 { bottom: -5px; left: -5px; }
    .corner-svg.is-4 { bottom: -5px; right: -5px; }
  }
  
  @media screen and (max-width: 479px) {
    .home-client__grid-item {
      padding: 2em 0.5em;
      height: auto;
    }
    .home-client__grid-img {
      height: 4em;
    }
    .logo-description {
      font-size: 0.6em;
    }
    .corner-svg {
      width: 14px;
      height: 14px;
    }
    .corner-svg.is-1 { top: -7px; left: -7px; }
    .corner-svg.is-2 { top: -7px; right: -7px; }
    .corner-svg.is-3 { bottom: -7px; left: -7px; }
    .corner-svg.is-4 { bottom: -7px; right: -7px; }
  }

.eb-wrap.is--clients {
	grid-row-gap: .5rem;
	justify-content: flex-start;
	align-items: flex-start;
}

.eb-wrap {
	grid-row-gap: 2rem;
	flex-direction: column;
	display: flex;
}

.home-client__grid-w {
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	grid-auto-columns: 1fr;
	display: grid;

}




#w-node-a06d1c9c-7e13-6ac3-3db2-a3987fe5145a-cb3c54b7 {
  grid-area:span 1/span 2/span 1/span 2
}
.o-hidden {
  flex:none;
  overflow:hidden
}
  .o-hidden.t-flex {
    display:flex
  }


  .grid-main.t-flex {
    flex-direction:column;
    display:flex
  }
#w-node-ce855d03-aa01-eb94-5986-c56b2d5fc7f6-cb3c54b7 {
  grid-area:1/3/1/13
}

.home-client__grid-w {
	grid-column-gap: 0px;
	grid-row-gap: 0px;
	grid-template-rows: auto auto;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-auto-columns: 1fr;
	display: grid;
	max-width: 80%;
}
.grid-main.ft-nav-w.mbm-diff {
  grid-template-rows:auto auto
}
.h-eyebrow {
  letter-spacing:.05em;
  text-transform:uppercase;
  font-size:1em;
  font-weight:400;
  line-height:1;
  color:var(--white);  
}
.h-eyebrow.is--outline {
  border:1px solid var(--black);
  border-radius:.425em;
  padding:.2em .4em
}
  .h-eyebrow {
    font-size:1rem
  }
  .h-eyebrow.is--outline {
    border-radius:.425rem
  }
.eb-wrap.is--clients {
  grid-row-gap:.5rem;
  justify-content:flex-start;
  align-items:flex-start
}

.h-eyebrow.is--outline {
	border: 1px solid var(--white);
}


@media screen and (max-width: 767px) {
  .grid-main.is-home-client {
    flex-flow: column;
    display: flex;
    grid-column-gap: 1.25rem;
    grid-row-gap: 1.25rem;
    width: 100%;
  }
}
@media screen and (max-width: 991px) {
  .home-client__grid-w {
    grid-template-columns: 1fr 1fr;
  }
}