.elementor-19479 .elementor-element.elementor-element-1ab4e06{--display:flex;}/* Start custom CSS for html, class: .elementor-element-d060e4e *//* 
   ABOVE + BEYOND CUSTOM WIDGET STYLES 
   Font Stack: Reckless Neue (or fallback), Inter (or fallback)
*/

.elementor-19479 .elementor-element.elementor-element-d060e4e {
    --ab-font-primary: 'Reckless Neue', 'Playfair Display', Georgia, serif;
    --ab-font-secondary: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --ab-color-accent: #eac892;
    --ab-color-text: #1a1a1a;
    --ab-color-text-light: #555555;
    --ab-color-bg-card: #f8f8f8;
    --ab-spacing-unit: 2rem;
}

/* Reset & Base */
.elementor-19479 .elementor-element.elementor-element-d060e4e * {
    box-sizing: border-box;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e *:focus {
    outline: none;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e *:focus-visible {
    outline: 1px solid var(--ab-color-accent);
    outline-offset: 2px;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-article-wrapper {
    max-width: 800px;
    margin: 0 auto;
    font-family: var(--ab-font-secondary);
    color: var(--ab-color-text);
    line-height: 1.7;
    padding: 0 20px; /* Desktop padding */
}

/* Typography */
.elementor-19479 .elementor-element.elementor-element-d060e4e h2.ab-main-title {
    font-family: var(--ab-font-primary);
    font-size: clamp(2rem, 4vw, 3.2rem);
    font-weight: 400;
    line-height: 1.15;
    color: #000;
    margin-bottom: 1rem;
    letter-spacing: -0.02em;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e h3.ab-sub-heading {
    font-family: var(--ab-font-primary);
    font-size: 1.75rem;
    font-weight: 400;
    margin-top: 3rem;
    margin-bottom: 1rem;
    color: #000;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e p {
    margin-bottom: 1.5rem;
    font-size: 1.05rem;
    color: var(--ab-color-text-light);
    font-weight: 300;
}

/* Header Meta */
.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-header {
    text-align: center;
    margin-bottom: 3rem;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-meta {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #888;
    font-weight: 500;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-divider {
    margin: 0 10px;
    color: var(--ab-color-accent);
}

/* Quick Summary Card */
.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-card {
    background-color: var(--ab-color-bg-card);
    border-top: 2px solid var(--ab-color-accent);
    padding: 2.5rem;
    margin-bottom: 3rem;
    position: relative;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-title {
    font-family: var(--ab-font-secondary);
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.15em;
    margin-bottom: 1.5rem;
    color: var(--ab-color-accent);
    font-weight: 600;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-list li {
    margin-bottom: 1rem;
    padding-left: 1.5rem;
    position: relative;
    font-size: 0.95rem;
    color: #333;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background-color: var(--ab-color-accent);
    border-radius: 50%;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-list strong {
    color: #000;
    font-weight: 600;
}

/* Editorial Elements */
.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-dropcap::first-letter {
    float: left;
    font-family: var(--ab-font-primary);
    font-size: 5.5rem;
    line-height: 0.85;
    margin-right: 1rem;
    margin-top: 0.2rem;
    color: #000;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-quote {
    margin: 3rem 0;
    padding: 1rem 0 1rem 2rem;
    border-left: 3px solid var(--ab-color-accent);
    font-family: var(--ab-font-primary);
    font-size: 1.4rem;
    font-style: italic;
    color: #222;
    background: transparent;
}

/* Luxury Promo Box */
.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-luxury-promo {
    margin: 4rem 0;
    padding: 3rem;
    background: #111; /* Dark luxury contrast */
    color: #fff;
    text-align: center;
    border: 1px solid #222;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-promo-title {
    font-family: var(--ab-font-primary);
    color: var(--ab-color-accent);
    font-size: 1.8rem;
    margin-bottom: 1rem;
    font-weight: 400;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-luxury-promo p {
    color: #ccc;
    font-size: 0.95rem;
    margin-bottom: 2rem;
}

/* Buttons & Links */
.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-btn-primary {
    display: inline-block;
    padding: 12px 30px;
    border: 1px solid var(--ab-color-accent);
    color: var(--ab-color-accent);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.15em;
    transition: all 0.4s ease;
    background: transparent;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-btn-primary:hover {
    background-color: var(--ab-color-accent);
    color: #000;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-contact-wrapper {
    text-align: center;
    margin-top: 1rem;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-link-subtle {
    color: #000;
    text-decoration: none;
    border-bottom: 1px solid var(--ab-color-accent);
    padding-bottom: 2px;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    transition: opacity 0.3s;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-link-subtle:hover {
    opacity: 0.6;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-text-center {
    text-align: center;
    font-size: 0.9rem;
    margin-top: 3rem;
}

/* Sources Toggle */
.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-wrapper {
    margin-top: 4rem;
    border-top: 1px solid #eee;
    padding-top: 1rem;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-trigger {
    cursor: pointer;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: #999;
    list-style: none; /* Remove default triangle */
    display: flex;
    align-items: center;
    gap: 10px;
    transition: color 0.3s;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-trigger::-webkit-details-marker {
    display: none;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-trigger:hover {
    color: var(--ab-color-accent);
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-icon {
    font-weight: bold;
    font-size: 1.2em;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e details[open] .ab-icon {
    transform: rotate(45deg);
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-content {
    padding-top: 1rem;
    padding-left: 1rem;
    animation: abFadeIn 0.5s ease;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-links li {
    margin-bottom: 0.5rem;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-links a {
    color: #bbb;
    font-size: 0.8rem;
    text-decoration: none;
    transition: color 0.3s;
}

.elementor-19479 .elementor-element.elementor-element-d060e4e .ab-sources-links a:hover {
    color: var(--ab-color-accent);
}

@keyframes abFadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Mobile Optimisation */
@media screen and (max-width: 767px) {
    .elementor-19479 .elementor-element.elementor-element-d060e4e .ab-article-wrapper {
        padding: 0; /* Removing padding as requested */
    }
    
    .elementor-19479 .elementor-element.elementor-element-d060e4e .ab-summary-card,
    .elementor-19479 .elementor-element.elementor-element-d060e4e .ab-luxury-promo {
        padding: 1.5rem;
        margin-left: 0;
        margin-right: 0;
        border-left: none;
        border-right: none;
    }
    
    .elementor-19479 .elementor-element.elementor-element-d060e4e h2.ab-main-title {
        font-size: 2.2rem;
    }
    
    .elementor-19479 .elementor-element.elementor-element-d060e4e .ab-dropcap::first-letter {
        font-size: 4rem;
    }
}/* End custom CSS */