.elementor-kit-9{--e-global-color-primary:#B13A40;--e-global-color-secondary:#161618;--e-global-color-text:#E6E9ED;--e-global-color-accent:#B13A40;--e-global-color-60da78b:#02010100;--e-global-color-c696dce:#FFFFFF;--e-global-color-14ef391:#C8D5DC;--e-global-color-764183d:#F9FAFD;--e-global-color-d6cea4e:#FFFFFF;--e-global-color-86b4fcd:#02010100;--e-global-color-57c8da2:#000000CC;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:60px;--e-global-typography-primary-font-weight:600;--e-global-typography-primary-text-transform:none;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-text-decoration:none;--e-global-typography-primary-line-height:1.2em;--e-global-typography-primary-letter-spacing:0px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:35px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:capitalize;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-text-decoration:none;--e-global-typography-secondary-line-height:1.1em;--e-global-typography-secondary-letter-spacing:0px;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-size:14px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-font-style:normal;--e-global-typography-text-text-decoration:none;--e-global-typography-text-line-height:1.5em;--e-global-typography-text-letter-spacing:0px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:400;--e-global-typography-accent-text-transform:capitalize;--e-global-typography-accent-font-style:normal;--e-global-typography-accent-text-decoration:none;--e-global-typography-accent-line-height:1em;--e-global-typography-accent-letter-spacing:0px;--e-global-typography-392b9e0-font-family:"Poppins";--e-global-typography-392b9e0-font-size:22px;--e-global-typography-392b9e0-font-weight:600;--e-global-typography-392b9e0-text-transform:capitalize;--e-global-typography-392b9e0-font-style:normal;--e-global-typography-392b9e0-text-decoration:none;--e-global-typography-392b9e0-line-height:1.2em;--e-global-typography-392b9e0-letter-spacing:0px;--e-global-typography-c05b693-font-family:"Poppins";--e-global-typography-c05b693-font-size:22px;--e-global-typography-c05b693-font-weight:300;--e-global-typography-c05b693-text-transform:none;--e-global-typography-c05b693-font-style:normal;--e-global-typography-c05b693-text-decoration:none;--e-global-typography-c05b693-line-height:1.5em;--e-global-typography-c05b693-letter-spacing:0px;--e-global-typography-6558fb1-font-family:"Poppins";--e-global-typography-6558fb1-font-size:16px;--e-global-typography-6558fb1-font-weight:300;--e-global-typography-6558fb1-text-transform:uppercase;--e-global-typography-6558fb1-font-style:normal;--e-global-typography-6558fb1-text-decoration:none;--e-global-typography-6558fb1-line-height:1.5em;--e-global-typography-6558fb1-letter-spacing:10px;--e-global-typography-92bce3b-font-family:"Poppins";--e-global-typography-92bce3b-font-size:16px;--e-global-typography-92bce3b-font-weight:400;--e-global-typography-92bce3b-text-transform:capitalize;--e-global-typography-92bce3b-font-style:italic;--e-global-typography-92bce3b-text-decoration:underline;--e-global-typography-92bce3b-line-height:1em;--e-global-typography-92bce3b-letter-spacing:0px;--e-global-typography-b2deeae-font-family:"Poppins";--e-global-typography-b2deeae-font-size:85px;--e-global-typography-b2deeae-font-weight:600;--e-global-typography-b2deeae-text-transform:none;--e-global-typography-b2deeae-font-style:normal;--e-global-typography-b2deeae-text-decoration:none;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-b2deeae-letter-spacing:0px;--e-global-typography-fb1a3e0-font-family:"Poppins";--e-global-typography-fb1a3e0-font-size:200px;--e-global-typography-fb1a3e0-font-weight:600;--e-global-typography-fb1a3e0-text-transform:none;--e-global-typography-fb1a3e0-font-style:normal;--e-global-typography-fb1a3e0-text-decoration:none;--e-global-typography-fb1a3e0-line-height:1.2em;--e-global-typography-fb1a3e0-letter-spacing:0px;--e-global-typography-397e168-font-family:"Poppins";--e-global-typography-397e168-font-size:16px;--e-global-typography-397e168-font-weight:400;--e-global-typography-397e168-text-transform:capitalize;--e-global-typography-397e168-font-style:italic;--e-global-typography-397e168-text-decoration:none;--e-global-typography-397e168-line-height:1.3em;--e-global-typography-397e168-letter-spacing:0px;background-color:var( --e-global-color-c696dce );}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-kit-9 a{color:var( --e-global-color-accent );}.elementor-kit-9 a:hover{color:var( --e-global-color-primary );}.elementor-kit-9 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-392b9e0-font-family ), Sans-serif;font-size:var( --e-global-typography-392b9e0-font-size );font-weight:var( --e-global-typography-392b9e0-font-weight );text-transform:var( --e-global-typography-392b9e0-text-transform );font-style:var( --e-global-typography-392b9e0-font-style );text-decoration:var( --e-global-typography-392b9e0-text-decoration );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1600px;}.e-con{--container-max-width:1600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-9{--e-global-typography-primary-font-size:45px;--e-global-typography-secondary-font-size:25px;--e-global-typography-text-font-size:14px;--e-global-typography-accent-font-size:14px;--e-global-typography-c05b693-font-size:14px;--e-global-typography-6558fb1-font-size:14px;--e-global-typography-92bce3b-font-size:14px;--e-global-typography-b2deeae-font-size:65px;--e-global-typography-fb1a3e0-font-size:145px;--e-global-typography-397e168-font-size:14px;}.elementor-kit-9 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-9{--e-global-typography-primary-font-size:28px;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-size:20px;--e-global-typography-392b9e0-font-size:18px;--e-global-typography-b2deeae-font-size:48px;--e-global-typography-b2deeae-line-height:1em;--e-global-typography-fb1a3e0-font-size:100px;--e-global-typography-fb1a3e0-line-height:1em;}.elementor-kit-9 h4{font-size:var( --e-global-typography-392b9e0-font-size );line-height:var( --e-global-typography-392b9e0-line-height );letter-spacing:var( --e-global-typography-392b9e0-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS */@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500&display=swap');

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.55);
    margin: 0;
}

.eyebrow__dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #c84a4f;
    flex-shrink: 0;
    animation: eyebrow-pulse 1.8s ease-in-out infinite;
}

@keyframes eyebrow-pulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
        box-shadow: 0 0 6px rgba(200, 74, 79, 0.55);
    }
    50% {
        opacity: 0.5;
        transform: scale(0.8);
        box-shadow: 0 0 14px rgba(200, 74, 79, 0.95);
    }
}

@media (prefers-reduced-motion: reduce) {
    .eyebrow__dot { animation: none; }
}


/* === Services grid wrapper === */
.services-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 1px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}
@media (max-width: 900px) {
    .services-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 600px) {
    .services-grid { grid-template-columns: 1fr !important; }
}

/* === Card === */
.svc-card {
    padding: 2.2rem 2rem !important;
    background: #161618 !important;
    position: relative !important;
    min-height: 280px !important;
    transition: background 0.3s ease;
}
.svc-card:hover { background: #1d1d20 !important; }
.svc-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: #c84a4f;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
    z-index: 3;
}
.svc-card:hover::before { transform: scaleX(1); }

.svc-card--featured { background: #1d1d20 !important; }
.svc-card--featured::after {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(200, 74, 79, 0.08), transparent 60%);
    pointer-events: none;
    z-index: 1;
}
.svc-card--featured > * { position: relative; z-index: 2; }

/* === "// 01" mono number === */
.svc-num .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.78rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    color: rgba(255, 255, 255, 0.35) !important;
    line-height: 1 !important;
    text-transform: none !important;
    font-style: normal !important;
}
.svc-num { margin: 0 0 0.7rem 0 !important; }

/* === "SPECIALITY" tag — absolutely positioned top-right === */
.svc-tag {
    position: absolute !important;
    top: 2.0rem !important;
    right: 2.0rem !important;
    z-index: 4 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
}
.svc-tag .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.65rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #d05a5f !important;
    padding: 0.3rem 0.55rem !important;
    border: 1px solid #c84a4f !important;
    background: rgba(200, 74, 79, 0.08) !important;
    line-height: 1 !important;
    margin: 0 !important;
    display: inline-block !important;
    white-space: nowrap !important;
    font-style: normal !important;
}

/* === Title === */
.svc-title .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.85rem !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    font-style: normal !important;
    text-transform: none !important;
    margin: 0 !important;
}
.svc-title { margin: 0 !important; }

.svc-title--featured .elementor-heading-title {
    font-style: italic !important;
    color: #d05a5f !important;
}

/* === Body text === */
.svc-body .elementor-widget-container,
.svc-body p,
.svc-body {
    font-family: 'Montserrat', sans-serif !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.92rem !important;
    line-height: 1.65 !important;
}

/* === CTA link === */
.svc-link {
    margin-top: 0.5rem !important;
    padding-top: 0.8rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.svc-link .elementor-button,
.svc-link a.elementor-button-link {
    background: transparent !important;
    color: #d05a5f !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}
.svc-link .elementor-button-icon {
    font-family: 'JetBrains Mono', monospace !important;
    transition: transform 0.2s !important;
    margin-left: 0.5rem !important;
}
.svc-link:hover .elementor-button-icon { transform: translateX(4px); }


/* === Stats grid wrapper === */
.stats-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1px !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* === Cell === */
.stat {
    padding: 1.75rem 1.5rem !important;
    background: #161618 !important;
    position: relative !important;
}

/* The glowing red dot — pure CSS, no widget needed */
.stat::before {
    content: '';
    position: absolute;
    top: 2.2rem;
    left: 12.0rem;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c84a4f;
    box-shadow: 0 0 6px rgba(200, 74, 79, 0.6);
}

/* Top mono label */
.stat-label .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.65rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.35) !important;
    line-height: 1 !important;
    margin: 0 !important;
    font-style: normal !important;
}
.stat-label { margin: 0 0 0.85rem 0 !important; }

/* Big italic number/value */
.stat-num .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-style: italic !important;
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.025em !important;
    text-transform: none !important;
    margin: 0 !important;
}
.stat-num { margin: 0 0 0.5rem 0 !important; }

/* Sub-description text */
.stat-sub,
.stat-sub .elementor-widget-container,
.stat-sub p {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.78rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin: 0 !important;
    line-height: 1.4 !important;
}

/* === Showcase masonry grid === */
.showcase-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: 260px !important;
    gap: 1.25rem !important;
}
@media (max-width: 900px) {
    .showcase-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-auto-rows: 240px !important;
    }
}
@media (max-width: 540px) {
    .showcase-grid { grid-template-columns: 1fr !important; }
}

/* === Tile — no more background image, uses Image widget inside === */
.tile {
    position: relative !important;
    overflow: hidden !important;
    background: #1d1d20 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    transition: border-color 0.3s ease !important;
    min-height: 260px !important;
}
.tile:hover { border-color: #c84a4f !important; }

/* === Image widget that holds the photo === */
.tile-img,
.tile-img > .elementor-widget-container,
.tile-img a {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    z-index: 0 !important;
    display: block !important;
}
.tile-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    cursor: zoom-in !important;
    transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}
.tile:hover .tile-img img { transform: scale(1.04) !important; }

/* === Let clicks fall through text overlays to the image === */
.tile-cat, .tile-loc, .tile-name, .tile-year {
    pointer-events: none !important;
}

/* Gradient overlay sits above the image but below the text */
.tile::before { z-index: 1 !important; }

/* Variants */
.tile--tall { grid-row: span 2 !important; }
.tile--wide { grid-column: span 2 !important; }
@media (max-width: 540px) {
    .tile--tall, .tile--wide { grid-row: auto !important; grid-column: auto !important; }
}

/* Dark gradient overlay for text legibility on photos */
.tile::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom,
        rgba(0,0,0,0.35) 0%, transparent 30%,
        transparent 60%, rgba(0,0,0,0.55) 100%);
    pointer-events: none;
    z-index: 1;
}

/* === Top-left category tag === */
.tile-cat {
    position: absolute !important;
    top: 1rem !important;
    left: 1rem !important;
    z-index: 2 !important;
    margin: 0 !important;
}
.tile-cat .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.62rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #d05a5f !important;
    padding: 0.3rem 0.55rem !important;
    border: 1px solid #c84a4f !important;
    background: rgba(200, 74, 79, 0.18) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    margin: 0 !important;
    line-height: 1 !important;
    display: inline-block !important;
    white-space: nowrap !important;
    font-style: normal !important;
}

/* === Top-right location === */
.tile-loc {
    position: absolute !important;
    top: 1rem !important;
    right: 1rem !important;
    z-index: 2 !important;
    margin: 0 !important;
}
.tile-loc .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.62rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #ffffff !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6) !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-style: normal !important;
}

/* === Bottom-left project name === */
.tile-name {
    position: absolute !important;
    bottom: 1rem !important;
    left: 1rem !important;
    right: 5rem !important;
    z-index: 2 !important;
    margin: 0 !important;
}
.tile-name .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-style: italic !important;
    font-size: 1.3rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.7) !important;
    margin: 0 !important;
    line-height: 1.1 !important;
}

/* === Bottom-right year === */
.tile-year {
    position: absolute !important;
    bottom: 1.1rem !important;
    right: 1rem !important;
    z-index: 2 !important;
    margin: 0 !important;
}
.tile-year .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.7rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.14em !important;
    color: rgba(255, 255, 255, 0.6) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6) !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-style: normal !important;
}

/* Subtle grid background — apply CSS class "bg-grid" to any container */
.bg-grid {
    position: relative !important;
    overflow: hidden;
}

.bg-grid::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    background-image:
        linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
    background-size: 64px 64px;
    background-position: 0 0;
    mask-image: radial-gradient(ellipse at center, black, transparent 80%);
    -webkit-mask-image: radial-gradient(ellipse at center, black, transparent 80%);
}

/* Make sure widgets sit above the grid overlay */
.bg-grid > * {
    position: relative;
    z-index: 2;
}

/* === Form card wrapper === */
.aab-form-card {
    background: rgba(22, 22, 24, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 2rem !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}
@media (min-width: 768px) {
    .aab-form-card { padding: 2.5rem !important; }
}

/* === "// NEW ENQUIRY" header === */
.aab-form-header {
    padding-bottom: 1.2rem !important;
    margin-bottom: 0.6rem !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.aab-form-header .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    color: #c84a4f !important;
    text-transform: none !important;
    margin: 0 !important;
    line-height: 1 !important;
}

/* === Field labels === */
.aab-form .elementor-field-label {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.7rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.6) !important;
    margin-bottom: 0.5rem !important;
    margin-top: 1.0rem !important;
}

/* === Input + textarea — bottom border only, no boxed inputs === */
.aab-form .elementor-field-textual,
.aab-form input[type="text"],
.aab-form input[type="email"],
.aab-form input[type="tel"],
.aab-form input[type="url"],
.aab-form input[type="number"],
.aab-form textarea,
.aab-form select {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0 !important;
    color: #ffffff !important;
    padding: 0.55rem 0 !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color 0.2s !important;
    width: 100% !important;
}

.aab-form input:focus,
.aab-form textarea:focus,
.aab-form select:focus,
.aab-form .elementor-field-textual:focus {
    border-bottom-color: #c84a4f !important;
    outline: none !important;
    box-shadow: none !important;
}

/* === Placeholder text === */
.aab-form input::placeholder,
.aab-form textarea::placeholder {
    color: rgba(255, 255, 255, 0.25) !important;
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.85rem !important;
    opacity: 1 !important;
}

/* === Textarea sizing === */
.aab-form textarea {
    min-height: 120px !important;
    resize: vertical !important;
}

/* === Submit button === */
.aab-form .elementor-button {
    background: #c84a4f !important;
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    padding: 0.85rem 1.75rem !important;
    border: none !important;
    border-radius: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    transition: background 0.2s, box-shadow 0.2s !important;
    cursor: pointer !important;
    margin-top: 1.5rem; !important;
}
.aab-form .elementor-button:hover {
    background: #d05a5f !important;
    box-shadow: 0 0 24px rgba(200, 74, 79, 0.45) !important;
}
.aab-form .elementor-button-icon {
    font-family: 'JetBrains Mono', monospace !important;
    transition: transform 0.2s !important;
    margin-left: 0.5rem !important;
}
.aab-form .elementor-button:hover .elementor-button-icon {
    transform: translateX(3px);
}

/* === Success / error messages === */
.aab-form .elementor-message {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.9rem !important;
    margin-top: 1rem !important;
    padding: 1rem !important;
}
.aab-form .elementor-message-success {
    background: rgba(200, 74, 79, 0.1) !important;
    border: 1px solid rgba(200, 74, 79, 0.3) !important;
    color: rgba(255, 255, 255, 0.9) !important;
}
.aab-form .elementor-message-danger {
    color: #c84a4f !important;
    background: transparent !important;
}

/* === Select dropdowns — closed control === */
.aab-form select,
.aab-form .elementor-field-type-select select {
    background-color: transparent !important;
    color: #ffffff !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    /* Custom brick-red dropdown arrow as inline SVG */
    background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3e%3cpath fill='%23c84a4f' d='M3 4.5l3 3 3-3z'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0 center !important;
    background-size: 12px !important;
    padding-right: 1.5rem !important;
    cursor: pointer !important;
}

/* Select options inside the open dropdown */
.aab-form select option {
    background-color: #161618 !important;
    color: #ffffff !important;
    padding: 0.5rem !important;
}
.aab-form select option:checked {
    background-color: #c84a4f !important;
    color: #ffffff !important;
}

/* === File upload field === */
.aab-form input[type="file"] {
    color: rgba(255, 255, 255, 0.4) !important;
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.8rem !important;
    background: transparent !important;
    border: 1px dashed rgba(255, 255, 255, 0.15) !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.15) !important;
    padding: 1rem !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    width: 100% !important;
    transition: border-color 0.2s !important;
}
.aab-form input[type="file"]:hover {
    border-color: rgba(200, 74, 79, 0.4) !important;
}

/* The "Choose Files" button — modern browsers */
.aab-form input[type="file"]::file-.elementor-kit-9-button {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.65rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    background: rgba(200, 74, 79, 0.1) !important;
    color: #d05a5f !important;
    border: 1px solid #c84a4f !important;
    padding: 0.5rem 0.85rem !important;
    margin-right: 1rem !important;
    cursor: pointer !important;
    border-radius: 0 !important;
    transition: background 0.2s !important;
}
.aab-form input[type="file"]::file-.elementor-kit-9-button:hover {
    background: rgba(200, 74, 79, 0.2) !important;
}

/* Older WebKit prefix (older Chrome/Safari) */
.aab-form input[type="file"]::-webkit-file-upload-button {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.65rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    background: rgba(200, 74, 79, 0.1) !important;
    color: #d05a5f !important;
    border: 1px solid #c84a4f !important;
    padding: 0.5rem 0.85rem !important;
    margin-right: 1rem !important;
    cursor: pointer !important;
    border-radius: 0 !important;
}

/* === Post card === */
.post-card {
    background: #161618 !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    position: relative !important;
    overflow: hidden !important;
    transition: border-color 0.3s ease;
    display: flex !important;
    flex-direction: column !important;
}
.post-card:hover { border-color: #c84a4f !important; }

/* Featured image */
.post-card-img {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    margin: 0 !important;
    display: block !important;
}
.post-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
    display: block !important;
}
.post-card:hover .post-card-img img { transform: scale(1.04); }

/* Card body padding wrapper */
.post-card-body {
    padding: 0.25rem 1.5rem 1.75rem 1.5rem !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
}

/* Meta row: category + date */
.post-card-meta {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 0.1rem !important;
    gap: 1rem !important;
}

.post-card-cat .elementor-heading-title,
.post-card-cat a {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.62rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #d05a5f !important;
    padding: 0.3rem 0.55rem !important;
    border: 1px solid #c84a4f !important;
    background: rgba(200, 74, 79, 0.1) !important;
    line-height: 1 !important;
    margin: 0 !important;
    text-decoration: none !important;
    display: inline-block !important;
    white-space: nowrap !important;
}

.post-card-date .elementor-heading-title {
    font-family: 'JetBrains Mono', ui-monospace, monospace !important;
    font-size: 0.65rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: rgba(255, 255, 255, 0.35) !important;
    margin: 0 !important;
    line-height: 1 !important;
    font-style: normal !important;
}

/* Title */
.post-card-title .elementor-heading-title,
.post-card-title a {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 1.45rem !important;
    line-height: 1.0 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 0.25rem 0 !important;
    text-decoration: none !important;
    transition: color 0.2s !important;
    font-style: normal !important;
}
.post-card-title a:hover { color: #d05a5f !important; }

/* Excerpt */
.post-card-excerpt,
.post-card-excerpt .elementor-widget-container,
.post-card-excerpt p {
    font-family: 'Montserrat', sans-serif !important;
    color: rgba(255, 255, 255, 0.6) !important;
    font-size: 0.92rem !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Read more link */
.post-card-link {
    margin-top: auto !important;
    padding-top: 0.8rem !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}
.post-card-link .elementor-button,
.post-card-link a.elementor-button-link {
    background: transparent !important;
    color: #d05a5f !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    padding: 1.0rem 0 0 0 !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
}
.post-card-link .elementor-button-icon {
    font-family: 'JetBrains Mono', monospace !important;
    transition: transform 0.2s !important;
    margin-left: 0.5rem !important;
}
.post-card-link:hover .elementor-button-icon {
    transform: translateX(4px);
}

/* Pagination (used on blog archive page) */
.elementor-pagination {
    margin-top: 3rem !important;
    text-align: center !important;
}
.elementor-pagination .page-numbers {
    font-family: 'JetBrains Mono', monospace !important;
    font-size: 0.85rem !important;
    color: rgba(255, 255, 255, 0.6) !important;
    background: transparent !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    padding: 0.6rem 0.85rem !important;
    margin: 0 0.25rem !important;
    text-decoration: none !important;
    transition: all 0.2s !important;
}
.elementor-pagination .page-numbers:hover,
.elementor-pagination .page-numbers.current {
    color: #d05a5f !important;
    border-color: #c84a4f !important;
    background: rgba(200, 74, 79, 0.08) !important;
}

/* =====================================================================
   AAB v5 — Additional CSS for cool features
   PASTE this into: WP Admin → Elementor → Site Settings → Custom CSS
   (Append to your existing CSS — don't replace it.)
   ===================================================================== */


/* ---------- 1. MARQUEE TICKER ---------- */

.aab-marquee {
  overflow: hidden;
  position: relative;
  padding: 28px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  /* Soft fade on the edges so items don't pop on/off abruptly */
  mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, black 8%, black 92%, transparent);
  background: linear-gradient(180deg, transparent, rgba(176, 58, 63, 0.04), transparent);
}

.aab-marquee-track {
  display: flex;
  align-items: center;
  gap: 48px;
  width: max-content;
  animation: aab-marquee-scroll 50s linear infinite;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 18px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  white-space: nowrap;
}

.aab-marquee-track .mq-item {
  font-weight: 500;
}

.aab-marquee-track .mq-dot {
  color: #c84a4f;
  font-size: 10px;
  line-height: 1;
}

@keyframes aab-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .aab-marquee-track { animation: none; }
}

@media (max-width: 768px) {
  .aab-marquee-track { font-size: 14px; gap: 32px; }
  .aab-marquee { padding: 20px 0; }
}


/* ---------- 2. PROCESS TIMELINE ---------- */

.process-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.process-step {
  position: relative;
  background: #1d1d20;
  padding: 36px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: background 0.3s ease;
}

.process-step:hover {
  background: #232328;
}

/* Connecting arrow between steps */
.process-step::after {
  content: '';
  position: absolute;
  top: 56px;
  right: -1px;
  width: 24px;
  height: 1px;
  background: linear-gradient(to right, #c84a4f, transparent);
  z-index: 2;
}

.process-step:last-child::after { display: none; }

.process-num {
  display: inline-block;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: #c84a4f;
  text-transform: uppercase;
  padding-bottom: 14px;
  margin-bottom: 4px;
  border-bottom: 1px solid rgba(200, 74, 79, 0.3);
  width: fit-content;
}

.process-title {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #ffffff;
  line-height: 1.15;
  margin: 0;
}

.process-body {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.65;
  margin: 0;
}

@media (max-width: 1024px) {
  .process-timeline { grid-template-columns: repeat(2, 1fr); }
  .process-step::after { display: none; }
}

@media (max-width: 600px) {
  .process-timeline { grid-template-columns: 1fr; }
}


/* ---------- 3. FAQ ACCORDION ---------- */

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.08);
  max-width: 880px;
  margin: 0 auto;
}

.faq-item {
  background: #1d1d20;
}

.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 26px 32px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 17px;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  transition: color 0.2s ease, background 0.2s ease;
}

.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { display: none; }

.faq-item summary::after {
  content: '+';
  color: #c84a4f;
  font-size: 32px;
  font-weight: 300;
  line-height: 0.6;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.faq-item[open] summary::after {
  transform: rotate(45deg);
}

.faq-item summary:hover {
  color: #c84a4f;
}

.faq-item[open] summary {
  color: #c84a4f;
}

.faq-answer {
  padding: 0 32px 28px 32px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 16px;
  line-height: 1.7;
  animation: faq-reveal 0.3s ease-out;
}

@keyframes faq-reveal {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
  .faq-item summary { padding: 22px 22px; font-size: 16px; }
  .faq-answer { padding: 0 22px 24px 22px; font-size: 15px; }
}


/* ---------- 4. WORKSHOP GALLERY ---------- */

.workshop-gallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 8px;
}

.wg-item {
  position: relative;
  overflow: hidden;
  background: #1d1d20;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.wg-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease, filter 0.4s ease;
  filter: brightness(0.85);
}

.wg-item:hover img {
  transform: scale(1.04);
  filter: brightness(1);
}

.wg-item figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 14px 18px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  background: linear-gradient(to top, rgba(0, 0, 0, 0.75), transparent);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.wg-item:hover figcaption {
  opacity: 1;
  transform: translateY(0);
}

.wg-large {
  grid-column: span 2;
  grid-row: span 2;
}

.wg-wide {
  grid-column: span 2;
}

@media (max-width: 900px) {
  .workshop-gallery { grid-template-columns: repeat(2, 1fr); }
  .wg-large, .wg-wide { grid-column: span 2; grid-row: span 1; }
}

@media (max-width: 500px) {
  .workshop-gallery { grid-template-columns: 1fr; }
  .wg-large, .wg-wide { grid-column: span 1; }
}/* End custom CSS */