/* ==========================================================================
   TRIGUNATMIKA ATELIERR - POLISHED ENHANCEMENTS & RESPONSIVE SUITE
   File: assets/css/enhancements.css
   Pure Additive Enhancements Layer:
   1. Fluid Responsiveness & Zero Horizontal Overflow (320px - 1440px)
   2. Large Screen & 4K UHD Scaled Layer (1920px, 2560px, 3200px+)
   3. Accessible Touch Targets & Safe Areas
   4. Refined Scroll Reveals & Reduced Motion Protection
   5. Form & Media Performance Safeguards
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. CORE SAFEGUARDS & ROOT VARIABLES
   -------------------------------------------------------------------------- */
:root {
    --header-offset: 80px;
    --content-max-width: 1680px;
    --touch-min: 44px;
}

/* Prevent horizontal overflow on every page */
html,
body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Clean page fade-in on first paint */
@keyframes pageFadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

body {
    animation: pageFadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}


/* --------------------------------------------------------------------------
   1. ACCESSIBILITY & TOUCH TARGETS (>= 44x44px)
   -------------------------------------------------------------------------- */
.nav-lang,
.scroll-indicator,
.filter-btn,
.direction-btn,
.apply-btn,
.bento-arrow-btn,
.social-link,
.swiper-button-next,
.swiper-button-prev {
    min-width: var(--touch-min);
    min-height: var(--touch-min);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Touch accessibility for menu controls without rigid 44px box distorting icon dimensions */
.menu-icon,
.menu-close {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    cursor: pointer;
}

.menu-icon {
    position: relative;
}

.menu-icon::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: var(--touch-min, 44px);
    min-height: var(--touch-min, 44px);
    pointer-events: auto;
}

/* Focus visibility for keyboard navigation */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 2px solid var(--accent, #c9a96e);
    outline-offset: 3px;
}

/* Prevent iOS input auto-zoom by enforcing >= 16px font-size */
input,
textarea,
select {
    font-size: 16px !important;
}

/* Safe Area Insets for notched devices */
.navbar {
    padding-top: max(16px, env(safe-area-inset-top));
    padding-left: max(24px, env(safe-area-inset-left));
    padding-right: max(24px, env(safe-area-inset-right));
}

.site-footer,
.footer-container {
    padding-bottom: max(32px, env(safe-area-inset-bottom));
    padding-left: max(24px, env(safe-area-inset-left));
    padding-right: max(24px, env(safe-area-inset-right));
}

/* --------------------------------------------------------------------------
   2. ANCHOR SCROLL OFFSET CORRECTION
   -------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------
   3. REFINED SCROLL REVEAL ANIMATIONS (GPU-FRIENDLY & PROGRESSIVE)
   Content remains completely visible if JS fails to execute
   -------------------------------------------------------------------------- */
.reveal-init {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.reveal-init.revealed {
    opacity: 1;
    transform: translateY(0);
}

.reveal-scale-init {
    opacity: 0;
    transform: scale(0.96) translateY(20px);
    transition: opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.reveal-scale-init.revealed {
    opacity: 1;
    transform: scale(1) translateY(0);
}

/* Gentle image hover zoom on project & card images */
.project-img-wrapper img,
.home-project-image img,
.mm-card-img img,
.chapter-image img,
.office-card img,
.team-card-image img {
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-item:hover .project-img-wrapper img,
.home-project-card:hover .home-project-image img,
.mm-card:hover .mm-card-img img,
.history-chapter:hover .chapter-image img {
    transform: scale(1.035);
}

/* Smooth transitions on links and buttons */
a,
button,
.filter-btn,
.direction-btn,
.apply-btn {
    transition: color 0.3s ease,
        background-color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}

/* --------------------------------------------------------------------------
   4. FULL RESPONSIVENESS (MOBILE TO TABLET: 320px - 1024px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {

    /* Responsive navbar */
    .navbar {
        height: auto;
        min-height: 60px;
    }

    .navbar .logo img {
        max-width: 135px;
        height: auto;
    }

    /* Prevent awkward line wraps or overflow in editorial headings */
    .hero-title,
    .mm-layer-text h1,
    .mm-layer-text h2 {
        word-break: break-word;
        hyphens: auto;
    }

    /* Fullscreen menu responsive reflow */
    .menu-content {
        flex-direction: column;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        height: 100vh;
        height: 100dvh;
        gap: 0;
    }

    .menu-left {
        display: none !important;
    }

    .menu-divider1 {
        display: none !important;
    }

    .menu-right {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
    }

    /* Bento Stat cards reflow */
    .live-counts-bento {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    /* 3D Globe section reflow */
    .globe-layout {
        flex-direction: column;
        align-items: center;
    }

    .globe-canvas-wrap {
        width: 100%;
        max-width: 100%;
        height: 380px;
    }

    .globe-stats-panel {
        width: 100%;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
}

@media (max-width: 768px) {
    :root {
        --header-offset: 68px;
    }

    /* Mobile hero title fluidity */
    .hero-title {
        font-size: clamp(1.85rem, 7vw, 2.8rem) !important;
        line-height: 1.15 !important;
    }

    /* History timeline mobile line and cards */
    .history-timeline {
        padding-left: 8vw;
    }

    .history-chapter {
        flex-direction: column;
        gap: 16px;
    }

    .chapter-meta {
        width: 100%;
    }

    .chapter-content {
        width: 100%;
    }

    /* Office cards single column on phones */
    .office-card {
        flex-direction: column;
    }

    .office-info,
    .office-map {
        width: 100%;
    }

    .office-map {
        min-height: 260px;
    }

    /* Contact page layout reflow */
    .contact-container {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    /* Swiper carousel responsive sizes */
    .swiper-button-next,
    .swiper-button-prev {
        display: none !important;
        /* Touch swipe preferred on mobile */
    }

    .navbar {
        min-height: 56px;
    }

    .navbar.scrolled {
        min-height: 52px;
    }
}

@media (max-width: 480px) {

    .navbar {
        min-height: 52px;
    }

    .navbar.scrolled {
        min-height: 48px;
    }

    /* Tight mobile screen adjustments (320px - 390px) */
    .project-grid-section,
    .history-section,
    .offices-section,
    .services-section,
    .careers-section,
    .award-section,
    .team-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    .filter-btn {
        padding: 8px 16px;
        font-size: 0.75rem;
    }

    .hero-title {
        font-size: clamp(1.65rem, 8vw, 2.2rem) !important;
    }
}

/* --------------------------------------------------------------------------
   5. LARGE SCREEN, 4K UHD & ZOOM-OUT CONTAINMENT RULES (min-width: 1920px)
   Maintains centered luxury layout across 4K, ultrawide and 60% zoom
   DOES NOT ALTER ANYTHING BELOW 1920px
   -------------------------------------------------------------------------- */
@media (min-width: 1920px) {
    :root {
        --header-offset: 96px;
        --content-max-width: 1720px;
    }

    /* Fixed navbar & footer aligned with the content container grid */
    .navbar {
        height: 84px !important;
    }

    .navbar.scrolled {
        height: 68px !important;
    }

    .logo img {
        height: 48px !important;
        width: auto !important;
        transform: scale(1.15) !important;
    }

    .navbar.scrolled .logo img {
        height: 40px !important;
        transform: scale(1.08) !important;
    }

    .nav-actions {
        gap: 32px !important;
    }

    .nav-lang {
        font-size: 15px !important;
    }

    .nav-lang svg.globe-icon {
        width: 22px !important;
        height: 22px !important;
    }

    .menu-icon {
        width: 32px !important;
        height: 32px !important;
    }

    .menu-bars {
        width: 28px !important;
        height: 16px !important;
        gap: 5px !important;
    }

    .menu-bars span {
        width: 28px !important;
        height: 2px !important;
    }

    .site-footer {
        padding-left: max(32px, calc((100vw - var(--content-max-width)) / 2 + 28px)) !important;
        padding-right: max(32px, calc((100vw - var(--content-max-width)) / 2 + 28px)) !important;
    }

    /* Universal Content Container Centering (prevents lines stretching at 60% zoom) */
    .mm-section-inner,
    .project-grid-section,
    .project-grid,
    .history-timeline,
    .history-story,
    .history-hero,
    .offices-section,
    .offices-hero-content,
    .services-header .container,
    .services-list-section,
    .careers-section,
    .award-grid-section,
    .team-hero,
    .team-section,
    .contact-container,
    .footer-container,
    .live-counts-container,
    .globe-layout,
    .climate-parallax-content {
        max-width: var(--content-max-width) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    /* Paragraph & Typography Safeguards (Prevents microscopic or un-centered copy) */
    body p,
    .paragraph {
        font-size: clamp(16px, 1.1vw, 18px) !important;
        line-height: 1.65 !important;
        max-width: 720px;
    }

    /* Subtitles in all hero sections stay centered, proportional and legible */
    .team-hero .subtitle,
    .history-intro,
    .offices-hero .subtitle,
    .services-header .subtitle,
    .careers-hero .subtitle,
    .award-hero .subtitle,
    .contact-hero .subtitle,
    .project-subtitle,
    .about-hero-lead {
        font-size: clamp(17px, 1.15vw, 21px) !important;
        line-height: 1.6 !important;
        max-width: min(650px, 90%) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    /* Large editorial quotes and climate statements stay centered and prominent */
    .editorial-quote p,
    .climate-parallax-content p {
        font-size: clamp(22px, 1.9vw, 32px) !important;
        line-height: 1.45 !important;
        max-width: 960px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        text-align: center !important;
    }

    /* Long-form copy in story, about and history sections */
    .about-story-text p,
    .history-story p,
    .chapter-desc p,
    .service-desc,
    .job-desc {
        font-size: clamp(16px, 1.05vw, 19px) !important;
        line-height: 1.65 !important;
        max-width: 760px !important;
    }

    /* Proportional typography scaling */
    .hero-title {
        font-size: clamp(3.2rem, 3.2vw, 4.8rem);
        max-width: 1300px;
    }

    .project-hero h1,
    .history-hero h1,
    .offices-hero h1,
    .careers-hero h1,
    .services-hero h1,
    .contact-hero h1,
    .award-hero h1 {
        font-size: clamp(4.2rem, 4vw, 5.8rem);
    }

    /* Grids: balanced columns without card squishing */
    .project-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px;
    }

    .award-grid {
        grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
    }

    /* Team Page Zoom-Out & Large Screen Safeguards */
    body.team-page {
        padding-top: clamp(80px, 7vh, 110px) !important;
    }

    .team-hero .subtitle {
        max-width: min(580px, 90%) !important;
    }

    .team-divider {
        max-width: min(var(--content-max-width), 1400px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .team-group-wrapper {
        max-width: min(var(--content-max-width), 1400px) !important;
        margin: 0 auto !important;
    }

    .team-group-photo {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9;
        max-height: 75vh !important;
        min-height: 480px;
        object-fit: cover !important;
    }

    /* History Page Padding & Subtitle Safeguards */
    body.history-page {
        padding-top: clamp(80px, 7vh, 110px) !important;
    }

    .history-intro {
        max-width: 680px !important;
    }

    /* Offices Page Padding & Subtitle Safeguards */
    .offices-hero {
        padding: clamp(100px, 10vh, 150px) 5% clamp(40px, 5vh, 70px) !important;
    }

    .offices-hero .subtitle {
        max-width: min(580px, 90%) !important;
    }

    /* Menu Overlay Zoom-Out & Large Screen Safeguards */
    .menu-overlay {
        padding: 0 !important;
    }

    .menu-content {
        margin: 0 auto !important;
        height: 100dvh !important;
        box-sizing: border-box !important;
    }

    .menu-left {
        flex: 0 0 52% !important;
        padding: clamp(32px, 3.5vw, 64px) !important;
    }

    .menu-right {
        flex: 1 1 48% !important;
    }

    .menu-column a {
        font-size: clamp(1.2rem, 1.25vw, 1.65rem) !important;
        line-height: 1.25 !important;
    }

    .menu-column a.bold {
        font-size: clamp(1.3rem, 1.4vw, 1.85rem) !important;
    }

    .menu-column {
        gap: clamp(8px, 1.2vh, 14px) !important;
    }

    .menu-items {
        padding-top: clamp(18px, 2.5vh, 36px) !important;
        gap: clamp(32px, 3.5vw, 64px) !important;
    }

    .menu-right-up,
    .menu-column-panel {
        padding: clamp(20px, 3vh, 40px) clamp(24px, 2.5vw, 44px) !important;
        height: 60% !important;
        flex: 0 0 60% !important;
    }

    .menu-right-down,
    .menu-footer-panel {
        padding: clamp(16px, 2.5vh, 32px) clamp(24px, 2.5vw, 44px) !important;
        height: 40% !important;
        flex: 0 0 40% !important;
    }

    .menu-brand-display {
        max-width: 580px !important;
    }

    .menu-char {
        font-size: clamp(2.4rem, 3.2vw, 4.2rem) !important;
    }

    .menu-word--sub {
        font-size: clamp(1.6rem, 2.2vw, 2.8rem) !important;
    }

    .menu-email {
        font-size: clamp(1.1rem, 1.25vw, 1.5rem) !important;
    }

    /* Close button matches the navbar right margin on ultra-wide / zoom-out */
    .menu-close {
        top: 25px !important;
        right: max(28px, calc((100vw - var(--content-max-width, 1720px)) / 3)) !important;
        width: 32px !important;
        height: 32px !important;
    }

    body.navbar-is-scrolled .menu-close,
    .navbar.scrolled ~ .menu-overlay .menu-close,
    .navbar.scrolled + .menu-overlay .menu-close {
        top: 15px !important;
        right: max(28px, calc((100vw - var(--content-max-width, 1720px)) / 3)) !important;
    }
}

@media (min-width: 2560px) {
    :root {
        --content-max-width: 1780px;
        --header-offset: 104px;
    }

    .project-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 32px;
    }

    .hero-video {
        object-fit: cover;
        width: 100vw;
        height: 100vh;
    }
}

@media (min-width: 3200px) {
    :root {
        --content-max-width: 1840px;
        --header-offset: 110px;
    }

    .project-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 36px;
    }
}

/* --------------------------------------------------------------------------
   6. REDUCED MOTION SAFEGUARD (A11Y)
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .reveal-init,
    .reveal-scale-init {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }

    .project-item:hover .project-img-wrapper img,
    .home-project-card:hover .home-project-image img,
    .mm-card:hover .mm-card-img img {
        transform: none !important;
    }
}

/* --------------------------------------------------------------------------
   7. BENTO METRICS & MEASURABLE IMPACT (12-COLUMN UNIFIED BENTO MOSAIC)
   -------------------------------------------------------------------------- */
.bento-grid {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 1px !important;
    background: rgba(255, 255, 255, 0.22) !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5) !important;
}

/* Box 1: Master Hero Impact Box (Spans 8 columns) */
.bento-card--hero {
    grid-column: span 8 !important;
    grid-row: 1 / 2 !important;
    min-height: 310px !important;
    background: radial-gradient(120% 120% at 0% 0%, #141920 0%, #090b0d 100%) !important;
    padding: clamp(32px, 3.8vw, 48px) !important;
    position: relative;
    border-right: 1px solid rgba(255, 255, 255, 0.28) !important;
}

.bento-card--hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(90deg, var(--accent, #ee8500) 0%, rgba(238, 133, 0, 0.5) 60%, transparent 100%);
    z-index: 4;
}

/* Box 2: Hospitality (Spans 4 columns) */
.bento-card--hospitality {
    grid-column: span 4 !important;
    grid-row: 1 / 2 !important;
    min-height: 310px !important;
}

/* Sector Cards: Row 2 (Span 3 columns each) */
.bento-card--residential {
    grid-column: span 3 !important;
    grid-row: 2 / 3 !important;
    min-height: 240px !important;
    border-right: 1px solid rgba(255, 255, 255, 0.28) !important;
}

.bento-card--corporate {
    grid-column: span 3 !important;
    grid-row: 2 / 3 !important;
    min-height: 240px !important;
}

.bento-card--institution {
    grid-column: span 3 !important;
    grid-row: 2 / 3 !important;
    min-height: 240px !important;
}

.bento-card--industry {
    grid-column: span 3 !important;
    grid-row: 2 / 3 !important;
    min-height: 240px !important;
}

/* Hero Card Typography & Badges */
.bento-hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(11px, 0.85vw, 12px);
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--accent, #ee8500);
    background: rgba(238, 133, 0, 0.08);
    border: 1px solid rgba(238, 133, 0, 0.28);
    padding: 7px 16px;
    border-radius: 999px;
}

.bento-hero-badge::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--accent, #ee8500);
    box-shadow: 0 0 10px var(--accent, #ee8500);
    animation: bentoBadgePulse 2.4s ease-in-out infinite;
}

@keyframes bentoBadgePulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.4);
        opacity: 0.65;
    }
}

.bento-hero-stat-wrap {
    margin-bottom: 12px;
}

.bento-hero-number {
    font-size: clamp(3.8rem, 6.2vw, 5.8rem) !important;
    font-weight: 600 !important;
    letter-spacing: -0.04em !important;
    line-height: 1 !important;
    background: linear-gradient(180deg, #ffffff 30%, rgba(255, 255, 255, 0.72) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.bento-hero-unit {
    font-size: clamp(1.6rem, 2.4vw, 2.4rem) !important;
    font-weight: 500 !important;
    color: var(--accent, #ee8500) !important;
    letter-spacing: -0.02em !important;
}

.bento-hero-subtext {
    max-width: 620px;
    margin: 0 0 18px 0;
    font-size: clamp(0.95rem, 1.05vw, 1.1rem);
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.72);
}

/* Sub-Metric Bento Chips */
.bento-chips-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.bento-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 14px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    font-family: 'DM Sans', sans-serif;
    font-size: clamp(11.5px, 0.85vw, 13px);
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
    transition: background-color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.bento-chip:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(238, 133, 0, 0.45);
    transform: translateY(-1px);
}

.bento-chip .chip-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent, #ee8500);
    box-shadow: 0 0 6px rgba(238, 133, 0, 0.6);
}

.bento-chip .stat-number {
    font-size: inherit !important;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 1;
}

/* Graphic Enhancements */
.graphic-hero {
    opacity: 0.75;
    transition: opacity 0.4s ease;
}

.graphic-hero svg {
    width: 100%;
    height: 100%;
    transform: scale(1.08);
    transform-origin: center right;
}

.bento-card--hero:hover .graphic-hero {
    opacity: 0.95;
}

/* Responsive Layouts */
@media (max-width: 1024px) {
    .bento-grid {
        grid-template-columns: repeat(12, 1fr) !important;
    }

    .bento-card--hero {
        grid-column: span 12 !important;
        grid-row: auto !important;
        min-height: 280px !important;
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.28) !important;
    }

    .bento-card--hospitality {
        grid-column: span 12 !important;
        grid-row: auto !important;
        min-height: 230px !important;
    }

    .bento-card--residential,
    .bento-card--corporate,
    .bento-card--institution,
    .bento-card--industry {
        grid-column: span 6 !important;
        grid-row: auto !important;
        min-height: 220px !important;
    }
}

@media (max-width: 680px) {

    .bento-card--hero,
    .bento-card--hospitality,
    .bento-card--residential,
    .bento-card--corporate,
    .bento-card--institution,
    .bento-card--industry {
        grid-column: span 12 !important;
        grid-row: auto !important;
        min-height: auto !important;
        padding: 24px 20px !important;
    }

    .bento-card--residential {
        border-right: none !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.28) !important;
    }

    .bento-chips-row {
        gap: 8px;
    }

    .bento-chip {
        padding: 6px 11px;
        font-size: 11.5px;
    }
}

/* --------------------------------------------------------------------------
   8. EDITORIAL QUOTE CENTER ALIGNMENT SUITE (ALL BREAKPOINTS & ZOOM LEVELS)
   -------------------------------------------------------------------------- */
.editorial-quote {
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.editorial-quote .eq-inner {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: min(920px, 90%) !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.editorial-quote blockquote {
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

.editorial-quote blockquote p,
.eq-inner blockquote p {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    max-width: 860px !important;
}

.editorial-quote blockquote cite,
.eq-inner blockquote cite {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    width: 100% !important;
}