/* ===================================================================================

* Theme Name: Liko Child
* Theme URI: https://wp.hixstudio.net/liko/
* Author: fox-themes 
* Author URI: https://themeforest.net/user/fox-themes
* Description: Liko - Creative Agency & Portfolio WordPress Theme
* Version: 1.0.0
* Template: liko
* License: GNU General Public License version 3.0
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
* Tags: one-column, right-sidebar, left-sidebar, custom-menu, featured-images, post-formats, sticky-post, translation-ready

* We encourage you to create Child theme for any modifications you will want to do.

* Why use Child theme?

* Because of future updates we may provide for this theme that will overwrite your
* modifications and all your custom work.

* If you are not familiar with Child Themes, you can read about it here:
* http://codex.wordpress.org/Child_Themes
* http://wp.tutsplus.com/tutorials/theme-development/child-themes-basics-and-creating-child-themes-in-wordpress/

====================================================================================== */

/* Header navigation padding */
.tp-inner-header-menu > nav > ul > li > a {
    padding: 45px 6px !important;
}

/* Animated GIF Logo Styling & Overlay Text */
.liko-logo-wrapper {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    vertical-align: middle !important;
}

.liko-logo-video,
.liko-logo-img {
    max-height: 115px !important;
    max-width: 115px !important;
    width: 115px !important;
    height: 115px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    object-fit: contain !important;
    border-radius: 4px !important;
}

.liko-logo-overlay-text {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-weight: 700 !important; /* Geologica Bold */
    font-size: 58px !important;
    color: #eeaeae !important;
    pointer-events: none !important;
    text-shadow: 0px 2px 8px rgba(0,0,0,0.18) !important;
    line-height: 1 !important;
    user-select: none !important;
}

/* Mobile responsive logo scaling */
@media (max-width: 767px) {
    .liko-logo-video,
    .liko-logo-img {
        max-height: 65px !important;
        max-width: 65px !important;
        width: 65px !important;
        height: 65px !important;
    }
    .liko-logo-overlay-text {
        font-size: 32px !important;
    }
}

/* Header Navigation Alignment, Spacing & Marcellus Font */
.tp-inner-header-menu {
    margin-top: -15px !important;
}

.tp-inner-header-menu > nav > ul > li > a,
.tp-main-menu-content > ul > li > a {
    font-family: 'Marcellus', serif !important;
    font-size: 15px !important;
    font-weight: 400 !important; /* Marcellus has only 400 weight on Google Fonts */
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
}

/* Sticky Header Scroll Animation & Dynamic Hide/Show State */
.tp-inner-header-area {
    background: #FFFFFF !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.35s ease, box-shadow 0.35s ease !important;
}

.tp-inner-header-area.header-scroll-hide {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
    transform: translateY(-100%) !important;
}

.tp-inner-header-area.header-scroll-show {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 999 !important;
    transform: translateY(0) !important;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.06) !important;
}

.tp-inner-header-area.header-scroll-show .tp-inner-header-menu {
    margin-top: 0 !important;
}

/* Offcanvas Menu Background Color Swap: Left = White, Right = Greyish */
.tp-offcanvas-2-bg.is-left {
    background-color: #FFFFFF !important;
    background: #FFFFFF !important;
}

.tp-offcanvas-2-bg.is-right {
    background-color: #F5F5F5 !important;
    background: #F5F5F5 !important;
}

/* Showcase Carousel Text Font Size & Color Adjustments */
.tp-portfolio-9-title,
.tp-portfolio-9-title a {
    font-size: 45px !important;
    font-weight: 500 !important;
    color: #000000 !important;
}
.tp-portfolio-9-category {
    font-size: 18px !important;
    color: #000000 !important;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    .tp-portfolio-9-title,
    .tp-portfolio-9-title a {
        font-size: 38px !important;
    }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
    .tp-portfolio-9-title,
    .tp-portfolio-9-title a {
        font-size: 32px !important;
    }
}
@media only screen and (min-width: 576px) and (max-width: 767px) {
    .tp-portfolio-9-title,
    .tp-portfolio-9-title a {
        font-size: 28px !important;
    }
}
@media (max-width: 767px) {
    .tp-portfolio-9-title,
    .tp-portfolio-9-title a {
        font-size: 22px !important;
    }
    .tp-portfolio-9-category {
        font-size: 14px !important;
    }
}

.tp-image {
    position: relative !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

/* Homepage showcase carousel: use cover so the image fills the slide
   and the theme's :before/:after pill overlays create the barrel/lens shape */
.tp-perspective-slider .tp-slide-inner .tp-image {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

/* The slide box uses the theme default 90vh height so the image fills
   the container fully — required for the barrel/lens shape to work.
   Sized to 3:2, the native aspect ratio of the homepage carousel photos.
   Width is reduced from the plugin's full-bleed 100% and centered, so
   height (uncapped here) stays proportional at 3:2 — a max-height would
   clamp height while width stays fixed, distorting the ratio. */
.tp-perspective-slider .tp-slide {
    text-align: center;
}

/* Center the first slide within the initial viewport (hero-style landing).
   The negative margin cancels this slider's own 2vw top padding so the box
   starts right at the fixed header's clearance line (.tp-portfolio-9-area's
   80px padding-top), and the height subtracts that same 80px, so the image
   is centered in the actual visible space below the header, not clipped. */
.tp-perspective-slider .tp-slide:first-child {
    margin-top: -2vw;
    min-height: calc(100vh - 80px);
    display: flex;
    align-items: center;
    justify-content: center;
}
.tp-perspective-slider .tp-slide-inner {
    width: 88% !important;
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    min-height: 420px !important;
}

/* The homepage showcase carousel sits in a Bootstrap .container-1685
   (max-width: 1685px, plus up to 100px side padding), which caps the whole
   slider well short of full page width on wide screens — that's what was
   squeezing the "uncropped" image into a narrow column with big white
   margins on either side. Let this specific container go full width. */
.tp-portfolio-9-area > .container-1685 {
    max-width: none !important;
    padding-left: 3vw !important;
    padding-right: 3vw !important;
}

/* Push the carousel down so the fixed header doesn't overlap the first image */
.tp-portfolio-9-area {
    padding-top: 80px !important;
}

.tp-image-full-link {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 20 !important;
    display: block !important;
    pointer-events: auto !important;
}

/* Hide slide text overlay (title + category) on the homepage carousel */
.tp-perspective-slider .tp-slide-inner .tp-slider-content {
    display: none !important;
}

/* Per-item text color overrides — set via 'Text Color' field in Elementor repeater */
.tp-slide.text-white .tp-portfolio-9-title,
.tp-slide.text-white .tp-portfolio-9-title a,
.tp-slide.text-white .tp-portfolio-9-category {
    color: #ffffff !important;
}

.tp-slide.text-black .tp-portfolio-9-title,
.tp-slide.text-black .tp-portfolio-9-title a,
.tp-slide.text-black .tp-portfolio-9-category {
    color: #000000 !important;
}

/* Global Default Font: Geologica (Overridable by Elementor Typography settings) */
:root {
    --tp-ff-body: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --tp-ff-heading: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --tp-ff-p: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    --tp-ff-syne: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

body {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}


/* Body default font-weight fallback (only if not set by Elementor) */
body {
    font-weight: 300;
}

/* Ensure Elementor typography controls (font-weight, size, etc.) cascade into animated & split text elements */
.tp-el-animation-heading *,
.tp-el-text *,
.tp-el-content-title *,
.tp-animated-text-widget *,
.liko-animated-text-widget * {
    font-weight: inherit !important;
    font-size: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    color: inherit;
}

/* Chapter Hover Image Preview Floating Follower */
#chapter-hover-preview {
  position: fixed;
  top: 0;
  left: 0;
  width: 260px;
  height: 180px;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.3s ease, transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  overflow: hidden;
  border-radius: 12px;
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
  background: #000;
}

#chapter-hover-preview.active {
  opacity: 1;
  transform: scale(1);
}

#chapter-hover-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hide on touchscreen devices */
@media (pointer: coarse) {
  #chapter-hover-preview {
    display: none !important;
  }
}

/* Disable image zoom-on-hover in project masonry items (projects pages, e.g. bake-your-pain) */
.pm-project-masonary-item:hover img {
  transform: none !important;
}

/* Circular "About Us" button style override for visibility on light backgrounds */
.tp-btn-circle-2 {
    color: #000000 !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
}

.tp-btn-circle-2 .tp-btn-circle-dot {
    background-color: #000000 !important;
}

.tp-btn-circle-2:hover {
    border-color: transparent !important;
}

.tp-btn-circle-2:hover span {
    color: #ffffff !important;
}

/* Align project page "About Us" button container to the right to match bake-your-pain layout */
.elementor-element-01071cd {
    align-self: center !important;
    display: flex !important;
    justify-content: flex-end !important;
    width: 100% !important;
    max-width: 1200px !important;
}

.elementor-element-01071cd .elementor-widget-tp-button-3 {
    align-self: flex-end !important;
}

/* pm-project-masonary-item img has a blanket `transition: 0.9s` (for its hover
   zoom) that fights the GSAP anim-zoomin scroll-reveal, which writes
   transform/opacity inline every animation frame. The CSS transition re-eases
   each of those frame writes, making the reveal feel laggy/delayed when
   scrolled into normally (many other ScrollTrigger animations are running
   concurrently, so the extra easing compounds) but not when the page loads
   already scrolled to the section. GSAP's clearProps:"all" removes the
   inline styles once the reveal finishes, so the hover-zoom transition still
   applies normally afterward. */
.pm-project-masonary-item img.anim-zoomin,
body.postid-5968 .pm-project-masonary-item img.anim-zoomin,
body.post-name-cosmetic .pm-project-masonary-item img.anim-zoomin,
body[class*="cosmetic"] .pm-project-masonary-item img.anim-zoomin {
    transition: none;
}

/* Hide default static award thumbnail container on individual chapter/work
   pages (parent-pageid-15903 = children of "Chapters", e.g.
   /chapters/the-jinn-from-the-west/) — its Exhibitions section reuses the
   same single image for every list entry regardless of which item is
   hovered, so it reads as a meaningless static picture.
   Project pages (parent-pageid-15888) are NOT hidden: functions.php now
   populates their #tp-award-thumb with each chapter's real hero image (and
   the Exhibitions widget below it with each venue's real photo), so hovering
   there shows genuinely distinct, correct artwork per item. */
.parent-pageid-15903 #tp-award-thumb {
    display: none !important;
}

.parent-pageid-15903 .tp-award-list-thumb-wrap {
    display: none !important;
}

.parent-pageid-15903 .tp-award-list-wrap {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

/* Make each chapter list item on project pages clickable to its chapter page.
   .tp-award-list-item is already position:relative in the theme; this link is
   injected as its first child by functions.php and stretched to fill it. */
.tp-award-list-link {
    position: absolute;
    inset: 0;
    z-index: 2;
}

/* /projects/ (page-id-6338) uses the tp-project-4 showcase-parallax widget.
   Show each panel's title as a white overlay bar in the top-left corner
   (matching the biennale-poster title-card treatment), set in Marcellus. */
.page-id-6338 .tp-project-4-content {
    padding: 0 !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    text-align: center !important;
    display: inline-block !important;
    max-width: calc(100% - 80px) !important;
    z-index: 3 !important;
}

.page-id-6338 .tp-project-4-title {
    display: inline-block !important;
    background-color: #fff !important;
    color: #111 !important;
    font-family: 'Marcellus', serif !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    font-size: 44px !important;
    line-height: 1.3 !important;
    padding: 18px 32px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

/* SplitText wraps each line in .tp-reveal-line-2, which carries a 40px
   padding-bottom sized for the original 300px display title. With our much
   smaller title font that padding shows up as empty space inside the white
   box, so it's zeroed out here. */
.page-id-6338 .tp-project-4-title .tp-reveal-line-2 {
    padding-bottom: 0 !important;
}

@media (max-width: 1024px) {
    .page-id-6338 .tp-project-4-title {
        font-size: 34px !important;
        padding: 14px 24px !important;
    }
}

@media (max-width: 767px) {
    .page-id-6338 .tp-project-4-content {
        top: 0 !important;
        max-width: calc(100% - 40px) !important;
    }
    .page-id-6338 .tp-project-4-title {
        font-size: 24px !important;
        padding: 12px 18px !important;
        white-space: normal !important;
    }
}

/* Homepage showcase carousel: cover ensures the image fills the slide
   so the theme's barrel/lens shape (:before/:after pills) works correctly. */
.tp-perspective-slider .tp-slide-inner .tp-image {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/* "Projects", "Works", "Studio Notes", and "Contact" hero title text: Marcellus font & standard hero sizing */
body.page-id-6338 .tm-hero-title,
body.page-id-40 .tm-hero-title,
body.page-id-10819 .tm-hero-title,
body.page-id-14283 .tm-hero-title {
    font-family: 'Marcellus', serif !important;
    font-size: 120px !important;
    font-weight: 400 !important;
    letter-spacing: -7.2px !important;
}

/* "About me" hero title text: sized to match the project detail pages (e.g. "Bake Your Pain")
   instead of the Works/Projects listing pages' 120px treatment. */
body.page-id-3381 .tm-hero-title,
body.page-id-3381 .tm-hero-title.fs-220 {
    font-family: 'Marcellus', serif !important;
    font-size: 67px !important;
    font-weight: 500 !important;
    letter-spacing: 2px !important;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    body.page-id-3381 .tm-hero-title,
    body.page-id-3381 .tm-hero-title.fs-220 {
        font-size: 60px !important;
    }
}

@media (max-width: 767px) {
    body.page-id-3381 .tm-hero-title,
    body.page-id-3381 .tm-hero-title.fs-220 {
        font-size: 40px !important;
    }
}

/* The real (visually hidden, screen-reader-only) <h1> that functions.php
   injects on every singular page — see the elementor/page_templates hook —
   still inherits the global Geologica heading font. It's not the visible
   headline, but its computed style should still match the site's heading
   font (Marcellus) rather than the body font. */
h1.page-title.screen-reader-text {
    font-family: 'Marcellus', serif !important;
    font-weight: 400 !important;
}

/* About page section titles ("Solo & Duo Exhibitions", "Selected Group
   Exhibitions"): Marcellus for headings, Geologica (the site default) stays
   on body/date text. Scoped to actual heading tags (h1-h6) only — the
   theme's "heading" widget is also reused for body copy (e.g. the artist
   statement), which renders as a <span> with the same .elementor-heading-title
   class, so it must be excluded here to keep it in Geologica. */
body.page-id-3381 h1.elementor-heading-title,
body.page-id-3381 h2.elementor-heading-title,
body.page-id-3381 h3.elementor-heading-title,
body.page-id-3381 h4.elementor-heading-title,
body.page-id-3381 h5.elementor-heading-title,
body.page-id-3381 h6.elementor-heading-title {
    font-family: 'Marcellus', serif !important;
    font-weight: 400 !important;
}

/* About page CV section headings ("Solo & Duo Exhibitions" and siblings) */
body.page-id-3381 h4.elementor-heading-title,
body.page-id-3381 .elementor-element-40138e1 .elementor-heading-title,
body.page-id-3381 .elementor-element-5c31684 .elementor-heading-title,
body.page-id-3381 .elementor-element-55ed1a3 .elementor-heading-title,
body.page-id-3381 .elementor-element-4af9c69 .elementor-heading-title {
    color: #000000 !important;
}

/* Project page section titles ("Chapters", "Exhibitions"): match Marcellus font styling */
.tp-about-3-title-box h2,
.tp-about-3-title-box .tp-section-title-90,
h2.tp-section-title-90 {
    font-family: 'Marcellus', serif !important;
    font-weight: 400 !important;
}

/* About page exhibition/residency/award entries (title line + year, e.g.
   "Serpents, Jinns, Chimeras and Other Wonders, Galerie Lalalande, Paris, FR"
   and its "2026" sibling): Geologica, matching the rest of the body copy. */
body.page-id-3381 .sv-service-title,
body.page-id-3381 .sv-service-subtitle {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
}

body.page-id-3381 .sv-service-title {
    font-size: 17px !important;
    font-weight: 300 !important;
    letter-spacing: 0px !important;
}

body.page-id-3381 .sv-service-subtitle {
    font-size: 14px !important;
    font-weight: 300 !important;
}

@media (max-width: 767px) {
    body.page-id-3381 .sv-service-title {
        font-size: 15px !important;
    }

    body.page-id-3381 .sv-service-subtitle {
        font-size: 13px !important;
    }
}

/* About page "Artist statement" body copy: force Geologica (the site's body
   font) and match the lead-paragraph typography used on the individual
   project pages (e.g. /projects/cosmetic/, element 9759593 .tp-el-animation-heading)
   — 23px / line-height 1.45 / letter-spacing 0.4px / weight 200 — instead of
   the widget's own defaults (18px, weight 500, line-height 1, capitalized). */
body.page-id-3381 .elementor-element-6f77e89 .elementor-heading-title {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 23px !important;
    font-weight: 200 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.4px !important;
    text-transform: none !important;
    color: #333333 !important;
}

@media (max-width: 767px) {
    body.page-id-3381 .elementor-element-6f77e89 .elementor-heading-title {
        font-size: 17px !important;
    }
}

/* Works Page masonry grid captions typography: use Marcellus font and make it larger */
.eskw-item .eskw-cap {
    font-family: 'Marcellus', serif !important;
    font-size: 32px !important;
    font-weight: 400 !important; /* Marcellus has only 400 weight on Google Fonts */
    letter-spacing: 0px !important;
    padding: 12px 22px !important;
}

@media (max-width: 1024px) {
    .eskw-item .eskw-cap {
        font-size: 24px !important;
        padding: 10px 18px !important;
    }
}

@media (max-width: 600px) {
    .eskw-item .eskw-cap {
        font-size: 20px !important;
        padding: 8px 14px !important;
    }
}

/* Projects page portfolio slider: the artist-statement image (item with no
   title) should fill the full viewport instead of using the slider's normal
   thumbnail size. */
img[src*="Esmeralda-kosmatopoulos-artist-statement"] {
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    object-fit: cover !important;
}

/* Projects page masonry cards: move the caption to the top of the image
   (default theme styling pins it to the bottom) and enlarge the text. */
.pm-project-masonary-title,
body.page-id-6338 .pm-project-masonary-title {
    font-size: 36px !important;
}

.pm-project-masonary-subtitle,
body.page-id-6338 .pm-project-masonary-subtitle {
    font-size: 16px !important;
}

body.page-id-6338 .pm-project-masonary-content {
    top: 40px !important;
    bottom: auto !important;
}

@media (max-width: 600px) {
    body.page-id-6338 .pm-project-masonary-content {
        top: 20px !important;
    }
    .pm-project-masonary-title,
    body.page-id-6338 .pm-project-masonary-title {
        font-size: 26px !important;
    }
}

/* ==========================================================================
   Project Pages Uncropped Masonry Grid (Full Screen Width)
   ========================================================================== */
.elementor-element-889c883,
.elementor-element-889c883 .e-con,
.elementor-element-889c883 .e-con-inner,
.elementor-element-889c883 .elementor-widget,
.elementor-element-889c883 .elementor-widget-container {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.elementor-element-889c883 .elementor-element-abaf11e {
    display: none !important;
}

/* Project/Chapter page masonry: 2 columns, full width */
.esm-project-gallery-masonry {
    display: block !important;
    column-count: 2 !important;
    column-gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .esm-project-gallery-masonry {
        column-count: 1 !important;
    }
}

.esm-project-gallery-masonry .pm-project-masonary-item {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 40px !important;
    display: inline-block !important;
    width: 100% !important;
    height: auto !important;
}

.esm-project-gallery-masonry .fix {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: hidden !important;
}

/* Unlike the Grass (page-id-15973): only 2 images, so force a single row of
   2 columns instead of CSS-column masonry (which can stack both into one
   column when their heights are uneven, leaving the other column empty). */
body.page-id-15973 .esm-project-gallery-masonry {
    column-count: unset !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px;
}

body.page-id-15973 .esm-project-gallery-masonry .pm-project-masonary-item {
    flex: 1 1 0;
    width: auto !important;
    margin-bottom: 0 !important;
}

@media (max-width: 767px) {
    body.page-id-15973 .esm-project-gallery-masonry {
        flex-wrap: wrap !important;
    }
    body.page-id-15973 .esm-project-gallery-masonry .pm-project-masonary-item {
        flex: 1 1 100%;
    }
}

.esm-project-gallery-masonry img,
.esm-project-gallery-masonry .pm-project-masonary-item img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    display: block !important;
}

/* Reduce lead text size by 3px on Works/Chapter and Project pages */
body.cosmetic .elementor-element-9759593 .tp-el-animation-heading,
body.cosmetic .elementor-element-d354359 .tp-el-animation-heading,
body.post-name-cosmetic .elementor-element-9759593 .tp-el-animation-heading,
body.post-name-cosmetic .elementor-element-d354359 .tp-el-animation-heading,
body[class*="cosmetic"] .elementor-element-9759593 .tp-el-animation-heading,
body[class*="cosmetic"] .elementor-element-d354359 .tp-el-animation-heading,
.project-details-1-title-box p {
    font-size: 23px !important;
    line-height: 1.45 !important;
}

@media (max-width: 767px) {
    body.cosmetic .elementor-element-9759593 .tp-el-animation-heading,
    body.cosmetic .elementor-element-d354359 .tp-el-animation-heading,
    body.post-name-cosmetic .elementor-element-9759593 .tp-el-animation-heading,
    body.post-name-cosmetic .elementor-element-d354359 .tp-el-animation-heading,
    body[class*="cosmetic"] .elementor-element-9759593 .tp-el-animation-heading,
    body[class*="cosmetic"] .elementor-element-d354359 .tp-el-animation-heading,
    .project-details-1-title-box p {
        font-size: 17px !important;
    }
}

/* Project and Works/Chapter pages "About" body text */
body.cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
body.cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 p,
body.post-name-cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
body.post-name-cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 p,
body[class*="cosmetic"] .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
body[class*="cosmetic"] .elementor-element-835c695 .elementor-element-49bcbe2 p,
body.esm-chapter-single .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
body.esm-chapter-single .elementor-element-835c695 .elementor-element-49bcbe2 p {
    font-size: 18px !important;
    line-height: 1.6 !important;
}

@media (max-width: 767px) {
    body.cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
    body.cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 p,
    body.post-name-cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
    body.post-name-cosmetic .elementor-element-835c695 .elementor-element-49bcbe2 p,
    body[class*="cosmetic"] .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
    body[class*="cosmetic"] .elementor-element-835c695 .elementor-element-49bcbe2 p,
    body.esm-chapter-single .elementor-element-835c695 .elementor-element-49bcbe2 .tp-el-animation-heading,
    body.esm-chapter-single .elementor-element-835c695 .elementor-element-49bcbe2 p {
        font-size: 15px !important;
        line-height: 1.6 !important;
        margin: 0 0 1.5em 0 !important;
    }
}

/* ==========================================================================
   Homepage Bottom Centered Enter Button
   ========================================================================== */
.homepage-enter-btn-wrap {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin-top: 18px !important;
    margin-bottom: 45px !important;
    text-align: center !important;
    z-index: 99 !important;
    pointer-events: auto !important;
}

.homepage-enter-btn-wrap .tp-btn-circle-2 {
    font-family: 'Marcellus', serif !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}

@media (max-width: 767px) {
    .homepage-enter-btn-wrap {
        margin-top: 12px !important;
        margin-bottom: 30px !important;
    }
    .homepage-enter-btn-wrap .tp-btn-circle-2 {
        width: 110px !important;
        height: 110px !important;
        font-size: 14px !important;
    }
}

/* About page "Download CV" button: now uses the exact same widget as the
   "Download Portfolio" button on the individual project pages (Button 3
   widget, layout-4 / .tp-btn-circle-2) - only the text differs. It picks up
   the shared .tp-btn-circle-2 override above (line 345) automatically, the
   same one every project page's button already uses, so no page-specific
   CSS is needed here. */

/* Individual Project/Work pages (e.g. /bake-your-pain/, /chapters/life-after-death/)
   share the same Elementor hero section (element ID f424967). Push it down so
   the fixed header doesn't overlap the hero image. */
.elementor-element-f424967 {
    padding-top: 120px !important;
}

@media (max-width: 767px) {
    .elementor-element-f424967 {
        padding-top: 90px !important;
    }
}

/* Hide footer on About me and Studio Notes pages */
body.page-id-3381 footer,
body.page-id-3381 .elementor-12019,
body.page-id-3381 .tp-footer-area,
body.page-id-3381 .tp-footer-shape-wrap,
body.page-id-10819 footer,
body.page-id-10819 .tp-footer-area,
body.page-id-10819 .tp-footer-shape-wrap {
    display: none !important;
}

/* ==========================================================================
   Studio Notes Single Pages: Typography, Spacing & Editorial Layout
   Matches the aesthetic of Work/Chapter pages (e.g. /chapters/life-after-death/)
   ========================================================================== */

/* Hero Post Title: Marcellus font matching Work page headings */
body.single-post .blog-details-title {
    font-family: 'Marcellus', serif !important;
    font-size: 90px !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
    text-transform: none !important;
    margin-bottom: 25px !important;
}

body.single-post .blog-details-top-author {
    display: none !important;
}

body.single-post .blog-details-meta {
    display: none !important;
}

@media only screen and (min-width: 992px) and (max-width: 1199px) {
    body.single-post .blog-details-title {
        font-size: 72px !important;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    body.single-post .blog-details-title {
        font-size: 58px !important;
    }
}

@media (max-width: 767px) {
    body.single-post .blog-details-title {
        font-size: 38px !important;
        letter-spacing: 0px !important;
        line-height: 1.15 !important;
    }
}

/* Center and constrain the reading column; remove blog sidebar */
body.single-post .postbox__sidebar,
body.single-post .tp-sidebar-wrapper,
body.single-post .sidebar__wrapper {
    display: none !important;
}

body.single-post .postbox__area .col-lg-8,
body.single-post .postbox__area .col-xl-8 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}

body.single-post .tp-postbox-details-main-wrapper {
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

/* Lead / Chapeau intro paragraph */
body.single-post .tp-postbox-details-article-inner > p.lead,
body.single-post .tp-postbox-details-content p.lead,
body.single-post .tp-postbox-details-article-inner > p:first-of-type {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 23px !important;
    font-weight: 200 !important;
    line-height: 1.45 !important;
    letter-spacing: 0.4px !important;
    color: #333333 !important;
    margin-bottom: 30px !important;
}

@media (max-width: 767px) {
    body.single-post .tp-postbox-details-article-inner > p.lead,
    body.single-post .tp-postbox-details-content p.lead,
    body.single-post .tp-postbox-details-article-inner > p:first-of-type {
        font-size: 17px !important;
        line-height: 1.45 !important;
    }
}

/* Section Headings within post content */
body.single-post .tp-postbox-details-article-inner h2,
body.single-post .tp-postbox-details-content h2 {
    font-family: 'Marcellus', serif !important;
    font-size: 43px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
    color: #000000 !important;
    margin-top: 60px !important;
    margin-bottom: 25px !important;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    body.single-post .tp-postbox-details-article-inner h2,
    body.single-post .tp-postbox-details-content h2 {
        font-size: 34px !important;
    }
}

@media (max-width: 767px) {
    body.single-post .tp-postbox-details-article-inner h2,
    body.single-post .tp-postbox-details-content h2 {
        font-size: 28px !important;
        letter-spacing: 1px !important;
        margin-top: 40px !important;
        margin-bottom: 18px !important;
    }
}

/* Body paragraphs */
body.single-post .tp-postbox-details-article-inner p,
body.single-post .tp-postbox-details-content p {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 20px !important;
    font-weight: 200 !important;
    line-height: 1.55 !important;
    letter-spacing: 0.4px !important;
    color: #111111 !important;
    margin-bottom: 1.5em !important;
}

@media (max-width: 767px) {
    body.single-post .tp-postbox-details-article-inner p,
    body.single-post .tp-postbox-details-content p {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }
}

/* Clean up meta/tag clutter, post navigation, and footer on single Studio Notes */
body.single-post .blog-details-share-wrap,
body.single-post #comments,
body.single-post .postbox__comment-form,
body.single-post .blog-details-navigation-style,
body.single-post footer,
body.single-post .footer__area,
body.single-post .tp-footer-area {
    display: none !important;
}

/* ==========================================================================
   Editorial Card Grid for Related Series & Related Studio Notes
   Matches the "Related Works" section on Work/Chapter pages
   ========================================================================== */

.esm-related-editorial-block {
    margin-top: 75px !important;
    margin-bottom: 50px !important;
    width: 100% !important;
}

.esm-related-editorial-block .esm-related-heading {
    font-family: 'Marcellus', serif !important;
    font-size: 43px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
    color: #000000 !important;
    margin-top: 0 !important;
    margin-bottom: 30px !important;
}

@media only screen and (min-width: 768px) and (max-width: 1024px) {
    .esm-related-editorial-block .esm-related-heading {
        font-size: 34px !important;
    }
}

@media (max-width: 767px) {
    .esm-related-editorial-block .esm-related-heading {
        font-size: 28px !important;
        letter-spacing: 1px !important;
        margin-bottom: 20px !important;
    }
}

.esm-related-cards-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
    gap: 28px !important;
    width: 100% !important;
}

@media (max-width: 600px) {
    .esm-related-cards-grid {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
    }
}

.esm-related-card {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    background: transparent !important;
}

.esm-related-card-thumb {
    position: relative !important;
    overflow: hidden !important;
    background: #e8e4de !important;
    width: 100% !important;
    aspect-ratio: 4 / 3 !important;
}

.esm-related-card-thumb a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

.esm-related-card-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

.esm-related-card:hover .esm-related-card-thumb img {
    transform: scale(1.08) !important;
}

.esm-related-card-content {
    padding-top: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
}

.esm-related-card-title {
    font-family: 'Marcellus', serif !important;
    font-size: 21px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.2px !important;
    margin: 0 0 8px 0 !important;
}

.esm-related-card-title a {
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.esm-related-card-title a:hover {
    color: #555555 !important;
}

.esm-related-read-more {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #19191a !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    transition: color 0.3s ease, transform 0.3s ease !important;
}

.esm-related-card:hover .esm-related-read-more {
    color: #000000 !important;
    transform: translateX(4px) !important;
}

/* ==========================================================================
   Related Series Swiper Carousel Slider
   Exact visual match to "Related Works" on /chapters/odysseia/
   ========================================================================== */

body.single-post .esm-related-series-slider-container {
    width: 100vw !important;
    position: relative !important;
    left: 50% !important;
    right: 50% !important;
    margin-left: -50vw !important;
    margin-right: -50vw !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
    margin-top: 85px !important;
    margin-bottom: 70px !important;
    overflow: hidden !important;
}

@media (min-width: 1600px) {
    body.single-post .esm-related-series-slider-container {
        padding-left: calc((100vw - 1500px) / 2) !important;
        padding-right: calc((100vw - 1500px) / 2) !important;
    }
}

@media (max-width: 767px) {
    body.single-post .esm-related-series-slider-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin-top: 50px !important;
        margin-bottom: 40px !important;
    }
}

body.single-post .esm-related-notes-slider-container {
    margin-top: 30px !important;
    margin-bottom: 85px !important;
}

@media (max-width: 767px) {
    body.single-post .esm-related-notes-slider-container {
        margin-top: 20px !important;
        margin-bottom: 50px !important;
    }
}

body.single-post .esm-related-series-slider-container .esm-related-heading {
    font-family: 'Marcellus', serif !important;
    font-size: 43px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
    color: #000000 !important;
    margin-top: 0 !important;
    margin-bottom: 35px !important;
    max-width: 900px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
}

@media (max-width: 767px) {
    body.single-post .esm-related-series-slider-container .esm-related-heading {
        font-size: 28px !important;
        letter-spacing: 1px !important;
        margin-bottom: 20px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-wrap {
    width: 100% !important;
    overflow: hidden !important;
}

body.single-post .esm-related-series-slider-container .swiper-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-thumb {
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    background: #e8e4de !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-thumb a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

body.single-post .esm-related-series-slider-container .swiper-slide:hover .pd-visual-slider-thumb img {
    transform: scale(1.04) !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-blog-content {
    padding-top: 16px !important;
    padding-bottom: 10px !important;
    display: block !important;
    text-align: left !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-blog-title {
    font-family: 'Marcellus', serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin-top: 4px !important;
    margin-bottom: 8px !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-blog-title a {
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-blog-title a:hover {
    color: #555555 !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-read-more {
    display: inline-block !important;
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #111111 !important;
    text-decoration: none !important;
    margin-top: 4px !important;
    transition: opacity 0.2s ease !important;
}

body.single-post .esm-related-series-slider-container .pd-visual-slider-read-more:hover {
    opacity: 0.7 !important;
}

/* ==========================================================================
   Chapter Pages Full-Width Container Overrides
   ========================================================================== */
body.parent-pageid-15903 .elementor-element.elementor-element-42c9c4e,
body.esm-chapter-single .elementor-element.elementor-element-42c9c4e {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.parent-pageid-15903 .elementor-element.elementor-element-818fc7a,
body.esm-chapter-single .elementor-element.elementor-element-818fc7a,
body.parent-pageid-15903 .elementor-element.elementor-element-835c695,
body.esm-chapter-single .elementor-element.elementor-element-835c695 {
    --width: 1200px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
}

/* ==========================================================================
   Chapter Works 8-Tile Staggered Collage (Full-Width)
   ========================================================================== */
.esm-chapter-collage {
    width: 100% !important;
    max-width: 100% !important;
    margin: 55px 0 65px 0 !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

.esm-collage-row {
    display: grid;
    width: 100%;
    box-sizing: border-box;
}

/* Row 1: Columns 19.18fr, 37.32fr (Hero), 24.33fr, 19.18fr */
.esm-collage-row-1 {
    grid-template-columns: 19.18fr 37.32fr 24.33fr 19.18fr;
    gap: 14px;
    align-items: end;
}

/* Row 2: Columns 19.18fr, 24.33fr, 37.32fr (Hero), 19.18fr */
.esm-collage-row-2 {
    grid-template-columns: 19.18fr 24.33fr 37.32fr 19.18fr;
    gap: 14px;
    align-items: start;
    margin-top: 14px;
}

.esm-collage-tile {
    position: relative;
    overflow: hidden;
    background: #f4f4f4;
    border-radius: 2px;
    width: 100%;
}

.esm-collage-tile img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

.esm-collage-tile:hover img {
    transform: scale(1.04);
}

/* Row 1 Tiles Aspect Ratios (Bottom Baseline Aligned) */
.esm-collage-tile.tile-1,
.esm-collage-tile.tile-4 {
    aspect-ratio: 186 / 103;
    align-self: end;
}

.esm-collage-tile.tile-2 {
    aspect-ratio: 362 / 191;
    align-self: end;
}

.esm-collage-tile.tile-3 {
    aspect-ratio: 236 / 120;
    align-self: end;
}

/* Row 2 Tiles Aspect Ratios (Top Baseline Aligned) */
.esm-collage-tile.tile-5,
.esm-collage-tile.tile-8 {
    aspect-ratio: 186 / 103;
    align-self: start;
}

.esm-collage-tile.tile-6 {
    aspect-ratio: 236 / 120;
    align-self: start;
}

.esm-collage-tile.tile-7 {
    aspect-ratio: 362 / 191;
    align-self: start;
}

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
    .esm-chapter-collage {
        margin: 40px 0 50px 0 !important;
        padding: 0 15px !important;
    }
    .esm-collage-row-1,
    .esm-collage-row-2 {
        gap: 10px;
    }
    .esm-collage-row-2 {
        margin-top: 10px;
    }
}

/* Mobile Breakpoint (< 768px): Fluid 2-column grid */
@media (max-width: 767px) {
    .esm-chapter-collage {
        margin: 30px 0 40px 0 !important;
        padding: 0 12px !important;
    }
    .esm-collage-row-1,
    .esm-collage-row-2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 8px !important;
    }
    .esm-collage-row-2 {
        margin-top: 8px !important;
    }
    .esm-collage-tile.tile-1,
    .esm-collage-tile.tile-2,
    .esm-collage-tile.tile-3,
    .esm-collage-tile.tile-4,
    .esm-collage-tile.tile-5,
    .esm-collage-tile.tile-6,
    .esm-collage-tile.tile-7,
    .esm-collage-tile.tile-8 {
        aspect-ratio: 16 / 10 !important;
        align-self: stretch !important;
    }
}

/* ==========================================================================
   Align "Related ..." Headings with "Exhibitions" and "Chapters"
   ========================================================================== */
.elementor-element-cbfb530.e-con-boxed,
.elementor-element-b4cabc6.e-con-boxed,
.e-con:has(> .e-con-inner > .elementor-element-0e03d85),
.e-con:has(> .elementor-element-0e03d85) {
    --margin-left: 0px !important;
    margin-left: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.elementor-element-cbfb530 > .e-con-inner,
.elementor-element-b4cabc6 > .e-con-inner,
.e-con:has(> .e-con-inner > .elementor-element-0e03d85) > .e-con-inner {
    --content-width: 1200px !important;
    max-width: 1200px !important;
}

.elementor-element-0e03d85 > .elementor-widget-container {
    margin-left: 0px !important;
}

@media (max-width: 1199px) {
    .elementor-element.elementor-element-b3eb870,
    .elementor-element.elementor-element-e933e16 {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    .elementor-element-cbfb530.e-con-boxed,
    .elementor-element-b4cabc6.e-con-boxed,
    .e-con:has(> .e-con-inner > .elementor-element-0e03d85),
    .e-con:has(> .elementor-element-0e03d85) {
        --padding-left: 15px !important;
        --padding-right: 15px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .elementor-element-cbfb530 > .e-con-inner,
    .elementor-element-b4cabc6 > .e-con-inner,
    .e-con:has(> .e-con-inner > .elementor-element-0e03d85) > .e-con-inner {
        max-width: 100% !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   Contact Page Typography & Styling (Page ID 14283)
   Matches the typography and aesthetic of Chapter/Works pages (e.g. /chapters/life-after-death/)
   ========================================================================== */

/* 1. Hero Title: Marcellus font matching Work/Chapter page title */
body.page-id-14283 .tm-hero-title,
body.page-id-14283 .tm-hero-title.fs-220,
body.page-id-14283 h1.page-title {
    font-family: 'Marcellus', serif !important;
    font-size: 120px !important;
    font-weight: 400 !important;
    letter-spacing: -7.2px !important;
    line-height: 0.8 !important;
    color: #000000 !important;
    text-transform: none !important;
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    body.page-id-14283 .tm-hero-title,
    body.page-id-14283 .tm-hero-title.fs-220 {
        font-size: 60px !important;
        letter-spacing: -1px !important;
    }
}

@media (max-width: 767px) {
    body.page-id-14283 .tm-hero-title,
    body.page-id-14283 .tm-hero-title.fs-220 {
        font-size: 45px !important;
        letter-spacing: -1px !important;
    }
}

/* 1-Column Layout Container - Aligned with Contact Header */
body.page-id-14283 .elementor-element-esm_contact_col {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* 2. Section Headings (Studios, Send a message, Follow): Marcellus 43px matching "About", "Exhibitions" */
body.page-id-14283 h2,
body.page-id-14283 h2.elementor-heading-title {
    font-family: 'Marcellus', serif !important;
    font-size: 43px !important;
    font-weight: 400 !important;
    letter-spacing: 1px !important;
    line-height: 1.2 !important;
    color: #000000 !important;
    margin-bottom: 20px !important;
}

@media (max-width: 767px) {
    body.page-id-14283 h2,
    body.page-id-14283 h2.elementor-heading-title {
        font-size: 30px !important;
        letter-spacing: 0.5px !important;
    }
}

/* 3. Lead / Introductory Paragraph: Geologica 23px light matching lead-chapeau on life-after-death */
body.page-id-14283 .esm-lead-intro,
body.page-id-14283 .esm-contact-single-col p.esm-lead-intro,
body.page-id-14283 .elementor-element-c02bdfe p.esm-lead-intro {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 23px !important;
    line-height: 1.45 !important;
    font-weight: 200 !important;
    color: #000000 !important;
    letter-spacing: 0.4px !important;
}

@media (max-width: 767px) {
    body.page-id-14283 .esm-lead-intro,
    body.page-id-14283 .esm-contact-single-col p.esm-lead-intro,
    body.page-id-14283 .elementor-element-c02bdfe p.esm-lead-intro {
        font-size: 17px !important;
        line-height: 1.45 !important;
    }
}

/* 4. Body Paragraphs & Email Link: Geologica 18px matching Works body text */
body.page-id-14283 .esm-contact-single-col p,
body.page-id-14283 .elementor-element-c02bdfe p,
body.page-id-14283 .esm-studios-text,
body.page-id-14283 .esm-contact-single-col a,
body.page-id-14283 .elementor-element-c02bdfe a,
body.page-id-14283 .esm-contact-email,
body.page-id-14283 .esm-social-links a {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #000000 !important;
}

body.page-id-14283 .esm-contact-single-col p,
body.page-id-14283 .elementor-element-c02bdfe p,
body.page-id-14283 .esm-studios-text {
    font-weight: 300 !important;
}

body.page-id-14283 .esm-contact-single-col a,
body.page-id-14283 .elementor-element-c02bdfe a,
body.page-id-14283 .esm-contact-email,
body.page-id-14283 .esm-social-links a {
    font-weight: 400 !important;
    text-decoration: underline !important;
    text-underline-offset: 4px !important;
    transition: opacity 0.2s ease !important;
}

body.page-id-14283 .esm-contact-single-col a:hover,
body.page-id-14283 .elementor-element-c02bdfe a:hover,
body.page-id-14283 .esm-contact-email:hover,
body.page-id-14283 .esm-social-links a:hover {
    opacity: 0.65 !important;
}

@media (max-width: 767px) {
    body.page-id-14283 .esm-contact-single-col p,
    body.page-id-14283 .elementor-element-c02bdfe p,
    body.page-id-14283 .esm-studios-text,
    body.page-id-14283 .esm-contact-single-col a,
    body.page-id-14283 .elementor-element-c02bdfe a,
    body.page-id-14283 .esm-contact-email,
    body.page-id-14283 .esm-social-links a {
        font-size: 15px !important;
    }
}

/* 5. Form Visible Labels: Geologica uppercase matching metadata labels */
body.page-id-14283 .cn-contactform-input label,
body.page-id-14283 .wpcf7-form label {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* 6. Form Inputs & Textarea: Full Width, Geologica 16px light */
body.page-id-14283 .tp-el-c-form,
body.page-id-14283 .wpcf7,
body.page-id-14283 .wpcf7-form,
body.page-id-14283 .cn-contactform-input,
body.page-id-14283 .cn-contactform-input span.wpcf7-form-control-wrap {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
}

body.page-id-14283 .cn-contactform-input input,
body.page-id-14283 .cn-contactform-input textarea,
body.page-id-14283 .wpcf7-form input[type="text"],
body.page-id-14283 .wpcf7-form input[type="email"],
body.page-id-14283 .wpcf7-form textarea {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: #000000 !important;
    border: 1px solid rgba(0, 0, 0, 0.2) !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    padding: 14px 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

body.page-id-14283 .cn-contactform-input input:focus,
body.page-id-14283 .cn-contactform-input textarea:focus,
body.page-id-14283 .wpcf7-form input[type="text"]:focus,
body.page-id-14283 .wpcf7-form input[type="email"]:focus,
body.page-id-14283 .wpcf7-form textarea:focus {
    border-color: #000000 !important;
    outline: none !important;
}

body.page-id-14283 .cn-contactform-input input::placeholder,
body.page-id-14283 .cn-contactform-input textarea::placeholder,
body.page-id-14283 .wpcf7-form input::placeholder,
body.page-id-14283 .wpcf7-form textarea::placeholder {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 200 !important;
    color: #888888 !important;
}

/* 7. Submit Button: Clean Marcellus button */
body.page-id-14283 .cn-contactform-btn {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.page-id-14283 .cn-contactform-btn button,
body.page-id-14283 .wpcf7-submit,
body.page-id-14283 button.tp-btn-black-md {
    font-family: 'Marcellus', serif !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #ffffff !important;
    background-color: #000000 !important;
    border: 1px solid #000000 !important;
    border-radius: 0 !important;
    padding: 16px 36px !important;
    height: auto !important;
    min-height: 52px !important;
    line-height: normal !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    text-align: center !important;
    box-sizing: border-box !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
}

body.page-id-14283 .cn-contactform-btn button:hover,
body.page-id-14283 .wpcf7-submit:hover,
body.page-id-14283 button.tp-btn-black-md:hover {
    color: #000000 !important;
    background-color: #ffffff !important;
    border-color: #000000 !important;
}

/* 8. Success / Error Feedback Alerts */
body.page-id-14283 .wpcf7-response-output {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    border-radius: 0 !important;
    margin-top: 20px !important;
    padding: 14px 18px !important;
}

/* 9. Minimalist Bottom Footer Bar */
.elementor-4428 .elementor-element-0dff6a8,
body.page-id-14283 .elementor-element-0dff6a8 {
    padding-top: 35px !important;
    padding-bottom: 35px !important;
    border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
}

/* Decreased size of "All rights reserved — 2024 © Themepure" */
.elementor-4428 .elementor-element-03e260d .elementor-heading-title,
.elementor-4428 .elementor-element-03e260d h2,
body.page-id-14283 .elementor-element-03e260d .elementor-heading-title,
body.page-id-14283 .elementor-element-03e260d h2 {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
    color: #777777 !important;
    margin: 0 !important;
}

/* "Follow us" label and pill buttons in footer bar */
.elementor-4428 .elementor-element-esm_footer_follow_txt .elementor-heading-title,
body.page-id-14283 .elementor-element-esm_footer_follow_txt .elementor-heading-title {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    color: #1E1E1E !important;
}

.elementor-4428 .tp-el-theme-btn,
body.page-id-14283 .elementor-4428 .tp-el-theme-btn {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
}

/* 10. Offcanvas Menu Styling */
.tp-offcanvas-title {
    font-family: 'Marcellus', serif !important;
    font-size: 32px !important;
    font-weight: 400 !important;
    letter-spacing: -0.5px !important;
    color: #000000 !important;
    line-height: 1.15 !important;
    margin-bottom: 12px !important;
}

.tp-offcanvas-title.sm {
    font-family: 'Marcellus', serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    color: #000000 !important;
    margin-bottom: 15px !important;
}

.tp-offcanvas-content p {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    color: #555555 !important;
    margin-bottom: 25px !important;
}

.tp-offcanvas-contact ul li {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 300 !important;
    color: #333333 !important;
    line-height: 1.6 !important;
}

.tp-offcanvas-contact ul li a {
    color: #111111 !important;
    font-size: 15px !important;
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 400 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    transition: color 0.2s ease !important;
}

.tp-offcanvas-contact ul li a:hover {
    color: #888888 !important;
}

.tp-offcanvas-social ul li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    border: 1px solid #000000 !important;
    color: #000000 !important;
    background: transparent !important;
    font-size: 16px !important;
    transition: all 0.25s ease !important;
}

.tp-offcanvas-social ul li a svg {
    display: block !important;
    width: 18px !important;
    height: 18px !important;
    stroke: currentColor !important;
    transition: stroke 0.25s ease !important;
}

.tp-offcanvas-social ul li a:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
    border-color: #000000 !important;
}

/* Studio Notes Archive - Cards Typography & Layout */
body.page-id-10819 .tp-blog-list-title-sm,
body.page-id-10819 .tp-blog-list-title-sm a,
.tp-blog-list-wrap .tp-blog-list-title-sm,
.tp-blog-list-wrap .tp-blog-list-title-sm a,
.studio-notes-archive .studio-note-item h2,
.studio-notes-archive .studio-note-item h2 a {
    font-family: 'Marcellus', serif !important;
    font-weight: 400 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.5px !important;
}

body.page-id-10819 .tp-blog-list-desc,
body.page-id-10819 .tp-blog-list-desc p,
.tp-blog-list-desc,
.tp-blog-list-desc p,
body.page-id-10819 .tm-hero-subtitle,
body.page-id-10819 .tp-page-subtitle,
.studio-notes-archive .studio-note-item .lead,
.studio-notes-archive p.lead {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
}

/* Studio Notes Archive: Hide date meta & column for clean 50/50 editorial layout */
body.page-id-10819 .tp-blog-list-meta,
.tp-blog-list-wrap .tp-blog-list-meta,
body.page-id-10819 .tp-blog-list-item .col-xl-2,
.tp-blog-list-wrap .tp-blog-list-item .col-xl-2 {
    display: none !important;
}

body.page-id-10819 .tp-blog-list-item .col-xl-5,
.tp-blog-list-wrap .tp-blog-list-item .col-xl-5 {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
}

@media only screen and (min-width: 992px) {
    body.page-id-10819 .tp-blog-list-content,
    .tp-blog-list-wrap .tp-blog-list-content {
        padding-left: 30px;
    }
}

.tp-blog-list-desc {
    margin-top: 14px;
    margin-bottom: 20px;
    max-width: 95%;
}

.tp-blog-list-desc p {
    font-size: 15px !important;
    font-weight: 300 !important;
    line-height: 1.6 !important;
    letter-spacing: 0.2px !important;
    color: #444444 !important;
    margin: 0 !important;
}

body.page-id-10819 .tp-blog-list-link,
body.page-id-10819 .tp-blog-list-link-wrap a,
.tp-blog-list-wrap .tp-blog-list-link,
.tp-blog-list-wrap .tp-blog-list-link-wrap a,
.studio-notes-archive .studio-note-item .read-more {
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

@media (max-width: 991px) {
    body.page-id-10819 .tp-blog-list-item .col-xl-5,
    .tp-blog-list-wrap .tp-blog-list-item .col-xl-5 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    body.page-id-10819 .tp-blog-list-content,
    .tp-blog-list-wrap .tp-blog-list-content {
        padding-top: 20px;
    }
}

@media (max-width: 767px) {
    body.page-id-10819 .tp-blog-list-title-sm,
    body.page-id-10819 .tp-blog-list-title-sm a,
    .tp-blog-list-wrap .tp-blog-list-title-sm,
    .tp-blog-list-wrap .tp-blog-list-title-sm a {
        font-size: 26px !important;
        line-height: 1.25 !important;
    }
    .tp-blog-list-desc {
        margin-top: 10px;
        margin-bottom: 16px;
        max-width: 100%;
    }
    .tp-blog-list-desc p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
}

/* Chapter Related Studio Notes: Match Related Works exactly */
.esm-chapter-notes-title,
.esm-chapter-notes-heading-widget .tp-el-text,
.esm-chapter-notes-header-con .tp-el-text,
.esm-chapter-notes-heading-widget h2,
.esm-chapter-notes-header-con h2,
.esm-chapter-related-studio-notes .tp-el-text,
.esm-chapter-related-studio-notes h2,
.elementor-element-0e03d85 .tp-el-text {
    font-family: 'Marcellus', serif !important;
    font-size: 43px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
}

@media (max-width: 1024px) {
    .esm-chapter-notes-title,
    .esm-chapter-notes-heading-widget .tp-el-text,
    .esm-chapter-notes-header-con .tp-el-text,
    .esm-chapter-notes-heading-widget h2,
    .esm-chapter-notes-header-con h2,
    .esm-chapter-related-studio-notes .tp-el-text,
    .esm-chapter-related-studio-notes h2,
    .elementor-element-0e03d85 .tp-el-text {
        font-size: 60px !important;
    }
}

@media (max-width: 767px) {
    .esm-chapter-notes-title,
    .esm-chapter-notes-heading-widget .tp-el-text,
    .esm-chapter-notes-header-con .tp-el-text,
    .esm-chapter-notes-heading-widget h2,
    .esm-chapter-notes-header-con h2,
    .esm-chapter-related-studio-notes .tp-el-text,
    .esm-chapter-related-studio-notes h2,
    .elementor-element-0e03d85 .tp-el-text {
        font-size: 30px !important;
        letter-spacing: 1px !important;
    }
}

/* Chapter Related Studio Notes: Layout and Spacing matching Related Works */
.esm-chapter-notes-header-con,
.esm-chapter-notes-spacer-1,
.esm-chapter-notes-spacer-2 {
    --display: flex !important;
    display: flex !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.esm-chapter-notes-header-con.e-con-boxed,
.esm-chapter-notes-spacer-1.e-con-boxed,
.esm-chapter-notes-spacer-2.e-con-boxed {
    justify-content: center !important;
}

.esm-chapter-notes-header-con > .e-con-inner,
.esm-chapter-notes-spacer-1 > .e-con-inner,
.esm-chapter-notes-spacer-2 > .e-con-inner {
    --display: flex !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 1199px) {
    .esm-chapter-notes-header-con > .e-con-inner,
    .esm-chapter-notes-spacer-1 > .e-con-inner,
    .esm-chapter-notes-spacer-2 > .e-con-inner {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

.esm-chapter-notes-spacer-1 .elementor-spacer-inner,
.esm-chapter-notes-spacer-1 .elementor-element-7152707,
.esm-chapter-notes-spacer-1 .elementor-spacer {
    --spacer-size: 100px !important;
    height: 100px !important;
}

.esm-chapter-notes-spacer-2 .elementor-spacer-inner,
.esm-chapter-notes-spacer-2 .elementor-element-c5173a7,
.esm-chapter-notes-spacer-2 .elementor-spacer {
    --spacer-size: 108px !important;
    height: 108px !important;
}

@media (max-width: 767px) {
    .esm-chapter-notes-spacer-1 .elementor-spacer-inner,
    .esm-chapter-notes-spacer-1 .elementor-element-7152707,
    .esm-chapter-notes-spacer-1 .elementor-spacer {
        --spacer-size: 50px !important;
        height: 50px !important;
    }
    .esm-chapter-notes-spacer-2 .elementor-spacer-inner,
    .esm-chapter-notes-spacer-2 .elementor-element-c5173a7,
    .esm-chapter-notes-spacer-2 .elementor-spacer {
        --spacer-size: 68px !important;
        height: 68px !important;
    }
}

.esm-chapter-related-studio-notes .tp-about-3-title-box,
.esm-chapter-notes-header-con .tp-about-3-title-box {
    margin-bottom: 0px;
}
.esm-chapter-related-studio-notes.esm-notes-single .tp-about-3-title-box,
.esm-chapter-related-studio-notes.esm-notes-single .tp-about-3-title-box h2,
.esm-chapter-notes-header-con.esm-notes-single .tp-about-3-title-box,
.esm-chapter-notes-header-con.esm-notes-single .tp-about-3-title-box h2 {
    text-align: center;
}

/* Base slider card styling matching Related Works */
.esm-chapter-related-studio-notes .esm-chapter-notes-slider {
    width: 100%;
    overflow: hidden;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap .swiper-slide {
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-thumb {
    aspect-ratio: 4 / 3 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
}
.esm-chapter-related-studio-notes .swiper-slide:hover .pd-visual-slider-thumb img {
    transform: scale(1.04) !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-blog-content {
    padding-top: 16px !important;
    padding-bottom: 10px !important;
    display: block !important;
    text-align: left !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-blog-title {
    font-family: 'Marcellus', serif !important;
    font-size: 24px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    margin-top: 4px !important;
    margin-bottom: 8px !important;
    text-align: left !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-blog-title a {
    color: #111111 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-blog-title a:hover {
    color: #555555 !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-read-more {
    display: inline-block !important;
    font-family: 'Geologica', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    color: #111111 !important;
    text-decoration: none !important;
    margin-top: 4px !important;
    transition: opacity 0.2s ease !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-read-more:hover {
    opacity: 0.7 !important;
}

/* Single Note Centered Layout: match card width (~642px) and position of text */
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .swiper-wrapper {
    display: flex !important;
    justify-content: center !important;
    transform: none !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .swiper-slide {
    max-width: 642px !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: left !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-thumb {
    aspect-ratio: 4 / 3 !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-blog-content {
    text-align: left !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-blog-title {
    text-align: left !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-blog-title a {
    font-size: 24px !important;
}
.esm-chapter-related-studio-notes .pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-read-more {
    display: inline-block !important;
    margin: 4px 0 0 0 !important;
}

/* Single Slide Centered Layout for Project Pages */
.pd-visual-slider-wrap.esm-single-note-slider .swiper-wrapper {
    display: flex !important;
    justify-content: center !important;
    transform: none !important;
}
.pd-visual-slider-wrap.esm-single-note-slider .swiper-slide {
    max-width: 642px !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: left !important;
}
.pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-thumb {
    aspect-ratio: 4 / 3 !important;
}
.pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-blog-content {
    text-align: left !important;
}
.pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-blog-title {
    text-align: left !important;
}
.pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-blog-title a {
    font-size: 24px !important;
}
.pd-visual-slider-wrap.esm-single-note-slider .pd-visual-slider-read-more {
    display: inline-block !important;
    margin: 4px 0 0 0 !important;
}