/* ============================================================
   0. FOUNDATION
   ============================================================ */
   .moa-about__body { width: 100%; margin: 0; padding: 0; position: relative; overflow-x: clip; }

   .moa-about__body > * {
       max-width: 800px;
       margin-left: auto;
       margin-right: auto;
       padding-left: 1.2rem;
       padding-right: 1.2rem;
       margin-bottom: 2rem;
   }
   .moa-about__body > .alignwide { max-width: 1200px; }
   .moa-about__body > .alignfull { max-width: none; width: 100%; padding-left: 0; padding-right: 0; }
   .moa-about__body p { font-family: var(--wp--preset--font-family--noir-pro); color: var(--wp--preset--color--black); }
   .moa-about__body img,
   .moa-about__body figure { max-width: 100%; height: auto; }
   
   .moa-about .screen-reader-text {
       position: absolute !important;
       width: 1px; height: 1px;
       padding: 0; margin: -1px;
       overflow: hidden; clip: rect(0, 0, 0, 0);
       white-space: nowrap; border: 0;
   }
   
   .about-word { display: inline-block; will-change: opacity, transform; }
   
   /* ============================================================
      1. HERO — featured photo + absolute About/portrait lockup
      ============================================================ */
   .moa-about .about-hero {
       position: relative;
       width: 100%;
       height: 85vh;
       min-height: 600px;
       margin: 0;
       overflow: visible;
       background-color: #1a1a1a;
   }
   .about-hero__img {
       position: absolute;
       inset: 0;
       z-index: 1;
       width: 100%;
       height: 100%;
       object-fit: cover;
       object-position: center;
   }
   .about-hero::after {
       content: "";
       position: absolute;
       inset: 0;
       z-index: 2;
       background: #000;
       opacity: 0.2;
       pointer-events: none;
   }
   .about-hero__lockup {
       position: absolute;
       left: 50%;
       bottom: -60px;
       transform: translateX(-50%);
       z-index: 3;
       display: flex;
       flex-direction: column;
       align-items: center;
       text-align: center;
       width: max-content;
       max-width: 92vw;
       pointer-events: none;
   }
   .about-hero__display {
       font-family: var(--wp--preset--font-family--lora);
       font-weight: 400;
       font-size: clamp(140px, 93px + 5.5vw, 240px);
       line-height: 1;
       letter-spacing: 3px;
       text-transform: uppercase;
       color: #fff;
       text-shadow: 0 2px 24px rgba(0,0,0,0.35);
       position: relative;
       z-index: 2;
       margin: 0 0 -0.3em;
   }
   .about-hero__portrait { width: 379px; margin: 0; position: relative; z-index: 1; }
   .about-hero__portrait img {
       display: block;
       width: 100%;
       height: auto;
       box-shadow: 0 18px 50px rgba(0,0,0,0.15);
   }
   
   /* ============================================================
      2. BIO
      ============================================================ */
   .moa-about__body > .about-bio {
       max-width: 1200px;
       margin: 0 auto clamp(4rem, 8vw, 8rem) !important;
       padding: clamp(7rem, 8vw, 9rem) 0 0;
       position: relative;
   }
   
   .about-bio__intro {
       font-family: var(--wp--preset--font-family--lora);
       font-weight: 400;
       font-size: max(1.2rem, 1.5vw);
       line-height: 1.4;
       text-align: center;
       width: max(320px, 45.83vw);
       max-width: 100%;
       margin: 0 auto clamp(3rem, 7vw, 6rem) !important;
       color: var(--wp--preset--color--black);
   }
   
   .about-bio__cols {
       max-width: 1200px;
       margin: 0 auto !important;
       gap: clamp(2rem, 4vw, 6rem) !important;
       align-items: flex-start;
   }
   .about-bio__cols > .wp-block-column { min-width: 0 !important; padding: 0 !important; }
   .about-bio__col-left  { flex: 1 1 58% !important; }
   .about-bio__col-right { flex: 1 1 42% !important; padding-top: clamp(2rem, 5vw, 5rem) !important; }
   
   .about-bio__lead {
       font-family: var(--wp--preset--font-family--noir-pro);
       font-size: max(1rem, 1.05vw);
       line-height: 1.75;
       margin: 0 0 clamp(2rem, 4vw, 3rem);
   }
   .about-bio__lead::first-letter {
       float: left;
       font-family: var(--wp--preset--font-family--lora);
       font-size: 3.6em;
       line-height: 0.78;
       padding: 0.05em 0.14em 0 0;
       color: var(--wp--preset--color--black);
   }
   
   .about-bio__img { margin: 0 !important; }
   .about-bio__img img { display: block; width: 100%; height: auto; }
   
   .about-bio__img--sub {
       width: 100%;
       margin: clamp(3rem, 6vw, 6rem) 0 0 53px !important;
       max-width: 88%;
   }
   
   .about-bio__closing {
       position: relative;
       max-width: none;
       margin: clamp(2.5rem, 5vw, 4.5rem) 0 0 !important;
       width: 108%;
   }
   .about-bio__decor {
       font-family: var(--wp--preset--font-family--lora) !important;
       font-weight: 400;
       font-size: 5rem;
       line-height: 0.9;
       text-transform: uppercase;
       color: var(--wp--preset--color--black);
       opacity: 0.07;
       margin: 0 !important;
       position: absolute;
       left: 1em;
       bottom: 0.1em;
       z-index: 0;
       pointer-events: none;
   }
   .about-bio__closing p.about-reveal {
       position: relative;
       z-index: 1;
       font-family: var(--wp--preset--font-family--noir-pro);
       font-size: max(1rem, 1.05vw);
       line-height: 1.75;
       margin: 0 0 1.5em;
   }
   .about-bio__closing p.about-reveal:last-child { margin-bottom: 0; }
   
   .about-bio__quote {
       position: relative;
       background: #F2EAE3;
       padding: clamp(2rem, 4vw, 3.25rem) clamp(1.6rem, 3vw, 2.75rem);
       margin: 0 !important;
   }
   .about-bio__quote::after {
       content: "";
       position: absolute;
       top: 0;
       bottom: 0;
       left: calc(100% - 2px);
       width: 100vw;
       background: #F2EAE3;
       pointer-events: none;
   }
   .about-bio__quote .about-bio__quote-text:first-child { margin-bottom: 20px; }
   .about-bio__quote-text {
       font-family: var(--wp--preset--font-family--noir-pro);
       font-size: max(0.9rem, 1.05vw);
       letter-spacing: 0.12em;
       line-height: 2;
       text-transform: uppercase;
       margin: 0;
       color: var(--wp--preset--color--black);
       max-width: max(230px, 14.1vw);
   }
   
   /* ============================================================
      3. PARALLAX  (GSAP-driven — image centred via top/height, NOT transform)
      ============================================================ */
   .moa-about__body > .about-parallax {
       position: relative;
       width: 100%;
       height: clamp(420px, 90vh, 1000px);
       margin: clamp(4rem, 8vw, 8rem) 0 !important;
       overflow: hidden;
       display: flex;
       align-items: center;
       justify-content: center;
   }
   .about-parallax__img { position: absolute; inset: 0; margin: 0 !important; z-index: 0; }
   .about-parallax__img img {
       position: absolute;
       left: 0;
       top: -25%;
       width: 100%;
       height: 150%;
       object-fit: cover;
       object-position: center;
       will-change: transform;
       max-width: none !important;
   }
   .about-parallax::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(255,255,255,0.52); pointer-events: none; }
   .about-parallax__inner {
       position: relative;
       z-index: 2;
       max-width: 760px !important;
       padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 5vw, 3rem);
       text-align: center;
   }
   .about-parallax__mark {
       display: block;
       width: clamp(30px, 4vw, 60px);
       margin: 0 auto clamp(0.5rem, 1.5vw, 1rem) !important;
       line-height: 0;
   }
   .about-parallax__mark svg { display: block; width: 100%; height: auto; }
   .about-parallax__mark svg text { fill: var(--wp--preset--color--black); }
   .about-parallax__text {
       font-family: var(--wp--preset--font-family--lora);
       font-weight: 400;
       font-size: max(1rem, 1.55vw);
       line-height: 1.55;
       color: var(--wp--preset--color--black);
       margin: 0 !important;
   }
   .about-parallax__signature { width: clamp(140px, 16vw, 200px); margin: 1.75rem auto 0 !important; }
   .about-parallax__signature img { display: block; width: 100%; height: auto; }
   
   /* ============================================================
      4. CTA
      ============================================================ */
   .moa-about__body > .about-cta { max-width: 1200px; margin: clamp(4rem, 8vw, 8rem) auto !important; padding: 0; }
   .about-cta__cols { gap: clamp(2.5rem, 6vw, 6rem) !important; margin: 0 !important; }
   .about-cta__cols > .wp-block-column { padding: 0 !important; }
   
   .about-cta__eyebrow {
       font-family: var(--wp--preset--font-family--noir-pro);
       font-weight: 400;
       font-size: max(0.85rem, 0.95vw);
       letter-spacing: 0.14em;
       text-transform: uppercase;
       color: var(--wp--preset--color--black);
       opacity: 0.75;
       margin: 0 0 1.25rem !important;
   }
   .about-cta__title {
       font-family: var(--wp--preset--font-family--lora);
       font-weight: 400;
       font-size: clamp(2.4rem, 5vw, 4rem);
       line-height: 1.05;
       letter-spacing: 0.04em;
       text-transform: uppercase;
       color: var(--wp--preset--color--black);
       margin: 0 0 1.5rem;
   }
   .about-cta__title::after { content: ""; display: block; width: 3.5rem; height: 1px; background: var(--wp--preset--color--black); opacity: 0.4; margin: 1.5rem 0 0; }
   .about-cta__statement {
       font-family: var(--wp--preset--font-family--lora);
       font-weight: 400;
       font-size: clamp(1.6rem, 3.4vw, 2.9rem);
       line-height: 1.2;
       color: var(--wp--preset--color--black);
       margin: 0 0 1.5rem;
   }
   .about-cta__text {
       font-family: var(--wp--preset--font-family--noir-pro);
       font-size: max(1rem, 1.02vw);
       line-height: 1.7;
       color: var(--wp--preset--color--black);
       margin: 0 0 2.25rem;
       max-width: 42ch;
   }
   
   .about-cta__button {
       display: inline-block;
       font-family: var(--wp--preset--font-family--noir-pro);
       font-weight: 400;
       font-size: max(0.72rem, 0.8vw);
       letter-spacing: 0.14em;
       text-transform: uppercase;
       color: var(--wp--preset--color--black);
       text-decoration: none;
       padding: 0.95em 2.4em;
       border: 1px solid var(--wp--preset--color--black);
       border-radius: 999px;
       transition: background-color 0.45s cubic-bezier(0.16, 1, 0.3, 1),
                   color 0.45s cubic-bezier(0.16, 1, 0.3, 1);
   }
   .about-cta__button:hover,
   .about-cta__button:focus-visible { background: var(--wp--preset--color--black); color: var(--wp--preset--color--white); }
   
   .about-cta__media { margin: 0; }
   .about-cta__img { margin: 0 !important; }
   .about-cta__img img { display: block; width: 100%; height: auto; }
   
   .about-cta--contact .about-cta__cluster { position: relative; min-height: clamp(340px, 40vw, 520px); }
   .about-cta__cluster-img { margin: 0 !important; position: absolute; }
   .about-cta__cluster-img img { display: block; width: 100%; height: auto; }
   .about-cta__cluster-img--1 { width: 62%; top: 0; left: 0; z-index: 2; }
   .about-cta__cluster-img--2 { width: 52%; right: 0; bottom: 0; z-index: 1; }

   /* CTA weddings — κείμενο αριστερά, όλο κεντραρισμένο· φωτό δεξιά */
    .about-cta--weddings .about-cta__body {
        display: flex;
        flex-direction: column;
        align-items: center;      /* κεντράρει τα στοιχεία οριζόντια */
        text-align: center;       /* κεντράρει το κείμενο μέσα τους */
    }
    .about-cta--weddings .about-cta__title::after {
        margin-left: auto;
        margin-right: auto;       /* κεντράρει τη γραμμή κάτω από τον τίτλο */
    }

    /* CTA contact — cluster αριστερά (overlap), κείμενο δεξιά κεντραρισμένο */
    .about-cta--contact .about-cta__body {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    /* το ζευγάρι εικόνων με επικάλυψη */
    .about-cta--contact .about-cta__cluster {
        position: relative;
        min-height: clamp(360px, 42vw, 560px);
    }
    .about-cta__cluster-img { position: absolute; margin: 0 !important; }
    .about-cta__cluster-img img { display: block; width: 100%; height: auto; }

    /* πίσω/μεγάλη (B&W silhouette) — πάνω αριστερά */
    .about-cta__cluster-img--1 {
        width: 62%;
        top: 0;
        left: 0;
        z-index: 1;
    }
    /* μπροστά/μικρή (έγχρωμη) — κάτω δεξιά, επικαλύπτει */
    .about-cta__cluster-img--2 {
        width: 52%;
        right: 0;
        bottom: 0;
        z-index: 2;
        box-shadow: 0 20px 50px rgba(0,0,0,0.15);   /* «σηκώνει» τη μπροστινή */
    }
   
   /* ============================================================
      5. SECTION PADDING BREAKPOINTS
      ============================================================ */
   @media (min-width: 999px) and (max-width: 1300px) {
       .moa-about__body > .about-bio { padding-left: 50px; padding-right: 0; }
   }
   @media (max-width: 998px) {
       .moa-about__body > .about-bio { padding-left: 20px; padding-right: 0; }
   }
   
   /* ============================================================
      6. MOBILE  (≤768)
      ============================================================ */
   @media (max-width: 768px) {
       .moa-about .about-hero { height: 78vh; min-height: 520px; }
       .about-hero__portrait { width: 80vw; }
       .about-hero__lockup { bottom: -12vw; }
       .about-hero__display { font-size: max(3rem, 9vw); }
   
       .moa-about__body > .about-bio { padding-top: clamp(6rem, 22vw, 9rem); }
       .moa-about__body > .about-bio,
       .moa-about__body > .about-cta {
           padding-left: 20px !important;
           padding-right: 20px !important;
       }
       .about-parallax__inner { padding-left: 20px; padding-right: 20px; }
   
       .about-bio__intro { max-width: 100%; text-align: left; }
   
       .about-bio__cols {
           display: flex !important;
           flex-direction: column;
           gap: 0 !important;
           max-width: none;
       }
       .about-bio__col-left,
       .about-bio__col-right { display: contents !important; }
   
       .about-bio__lead      { order: 1; margin: 0 0 clamp(2rem, 7vw, 2.75rem) !important; }
       .about-bio__quote     { order: 2; }
       .about-bio__img--main { order: 3; }
       .about-bio__closing   { order: 4; }
   
       .about-bio__img--sub  { display: none !important; }
       .about-bio__decor     { display: none !important; }
   
       .about-bio__quote {
           position: relative;
           z-index: 2;
           width: auto;
           max-width: none;
           margin: 0 -20px -14% 0 !important;
           padding: 3.1rem clamp(1.4rem, 6vw, 2rem);
           box-shadow: 0 24px 40px -12px rgba(0,0,0,0.18);
       }
       .about-bio__quote::after { display: none; }
       .about-bio__quote-text { max-width: none; }
   
       .about-bio__img--main {
           position: relative;
           z-index: 1;
           width: 100vw !important;
           max-width: 100vw !important;
           margin: 0 -20px !important;
       }
       .about-bio__img--main img { width: 100%; height: auto; display: block; }
   
       .about-bio__closing {
           width: 100%;
           max-width: none;
           margin: clamp(2.5rem, 9vw, 4rem) 0 0 !important;
       }
   
       .moa-about__body > .about-parallax { height: clamp(360px, 70vw, 480px); }
   
       .about-cta__cols { display: flex !important; flex-direction: column; gap: clamp(2.5rem, 9vw, 4rem) !important; }
       .about-cta--contact .about-cta__cluster { min-height: 0; aspect-ratio: 1 / 0.9; }
       .about-cta__cluster-img--1 { width: 60%; }
       .about-cta__cluster-img--2 { width: 52%; }
       .about-cta__title { font-size: clamp(2.2rem, 12vw, 3rem); }

       /* CTA contact — κείμενο πάνω, cluster κάτω· ιεραρχία εικόνων αντεστραμμένη */
       .about-cta--contact .about-cta__cols {
        flex-direction: column-reverse!important;
       }
       .about-cta--contact .about-cta__cluster {
            min-height: 0;
            aspect-ratio: 1 / 1.15;
            margin-top: clamp(2rem, 8vw, 3rem);
        }

        /* ΠΙΣΩ/ΜΕΓΑΛΗ (έγχρωμη, --2): πάνω-δεξιά, μεγαλύτερη */
        .about-cta__cluster-img--2 {
            width: 66%;
            top: 0;
            right: 0;
            left: auto;
            bottom: auto;
            z-index: 2;
            box-shadow: none;
        }

        /* ΜΠΡΟΣΤΑ/ΜΙΚΡΗ (B&W, --1): κάτω-αριστερά, επικαλύπτει διαγώνια */
        .about-cta__cluster-img--1 {
            width: 60%;
            bottom: 0;
            left: 0;
            top: auto;
            right: auto;
            z-index: 1;
            box-shadow: 0 20px 50px rgba(0,0,0,0.15);
        }
   }