/* =========================
   About – Hero Section
========================= */

.about-hero {
    padding: 100px 40px 140px;
    background-color: #ffffff;
}

.about-hero-inner {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.about-title {
    font-family: 'Fraunces', serif;
    font-size: 36px;
    font-weight: 200;
    line-height: 1.2;
    margin-bottom: 50px;
    font-variation-settings: "wght" 200, "opsz" 60;
}

.about-text p {
    font-family: 'Lexend', sans-serif;
    font-size: 16px;
    line-height: 1.9;
    color: #4a4a4a;
    font-weight: 300;
    margin-bottom: 40px;
    font-variation-settings: "wght" 300;
}

.highlight-line {
    display: block;
    margin-top: 8px; /* controls spacing between lines */
}

.about-highlight strong {
    font-weight: 500;
    font-variation-settings: "wght" 500;
    color: #000;
}

/* =========================
   ABOUT – Problems Section
========================= */

.about-problems {
    padding: 0;
}

/* Heading aligned to red-line system */
.about-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: center;
}

.about-problems h2 {
    font-family: 'Fraunces', serif;
    font-size: 36px;
    font-weight: 200;
    line-height: 1.2;
    margin-bottom: 20px;
    font-variation-settings: "wght" 200, "opsz" 60;
}

.section-intro {
    font-family: 'Lexend', sans-serif;
    font-size: 16px;
    line-height: 1.9;
    color: #4a4a4a;
    font-weight: 300;
    margin-bottom: 40px;
    font-variation-settings: "wght" 300;
}

/* Grey Box */
.problems-box {
    background-color: #f4f4f4;
    max-width: 1250px;   /* slightly wider than 1200 */
    margin: 0 auto;
    padding: 50px 80px 120px;
}

/* Icons centered to page axis */
.problems-icon {
    text-align: center;
    margin: 40px 0 60px; 
}

.problems-icon img {
    width: 100px;
}

/* Rows */
/* Row */
.problem-row {
    display: flex;
    justify-content: center;
    margin-bottom: 140px;
    flex-direction: row;
}

/* Visual wrapper */
.problem-visual {
    position: relative;
    width: 100%;
    max-width: 1000px;   /* keeps red-line alignment */
    min-height: 620px;
}

.problem-row.reverse .problem-visual {
    left: 10px;   /* move entire image+card group left */
}

/* Image */
.problem-image img {
    width: 100%;
    max-width: 620px;   /* rectangular image */
    display: block;
}

.problem-image {
    z-index: 1;
    position: relative;
    display: flex;
    
}
/* Card box-shadow: 0 20px 60px rgba(0,0,0,0.06); */
.problem-card {
    position: absolute;
    
    transform: translateY(-50%);
    width: 540px;
    padding: 70px 80px;
    background: #f4f4f4;
    
    z-index: 2;
}
/* First block */
.problem-row:not(.reverse) .problem-card {
    left: -70px;
    top: 70%;
}

/* Default → push image to right */
.problem-row:not(.reverse) .problem-image {
    display: flex;
    justify-content: flex-end;
}
/* Second block */
.problem-row.reverse .problem-card {
    right: -80px;
    left: auto;
    top: 75%;
}

/* Reverse → push image to left */
.problem-row.reverse .problem-image {
    display: flex;
    justify-content: flex-start;
}
/* Reverse row */
.problem-row.reverse {
    flex-direction: row-reverse;
}

.problem-row.reverse .problem-image {
    order: 1;
}

.problem-row.reverse .problem-text {
    order: 2;
}

.problem-row.reverse .problem-card {
    left: auto;
    right: -60px;
}

/* Text */
.problem-card h3 {
    font-family: 'Fraunces', serif;
    font-size: 28px;
    font-weight: 200;
    line-height: 1.2;
    margin-bottom: 50px;
    font-variation-settings: "wght" 200, "opsz" 60;
}

.problem-card ul {
    list-style: none;
    padding: 0;
}

.problem-card li {
    font-family: 'Lexend', sans-serif;
    font-size: 16px;
    line-height: 1.9;
    color: #4a4a4a;
    font-weight: 300;
    margin-bottom: 40px;
    font-variation-settings: "wght" 300;
    position: relative;
    padding-left: 36px;   /* space for icon */
}

.problem-card li::before {
    content: "✦";
    position: absolute;
    left: 0;
    top: 4px;

    width: 18px;     /* control icon size */
    height: 18px;

    background-image: url("../assets/images/bullet-icon.png");
    background-size: contain;
    background-repeat: no-repeat;
}



/* =========================
   Founder's Note Section
========================= */

.founder-section {
    padding: 160px 40px;
    background-color: #ffffff;
}

.founder-container {
    max-width: 1200px;   /* Red-line alignment */
    margin: 0 auto;
}

/* Section Title */

.founder-section h2 {
    font-family: 'Fraunces', serif;
    font-size: 36px;
    font-weight: 200;
    line-height: 1.2;
    margin-bottom: 100px;
    font-variation-settings: "wght" 200, "opsz" 60;
    margin-left: 90px;
}

/* Layout */

.founder-row {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 100px;
    align-items: start;
}

/* Image */

.founder-image img {
    width: 100%;
    max-width: 220px;
    display: block;
    margin-left: 90px;
}

/* Text Container */

.founder-text {
    max-width: 620px;
    margin-left: -50px;
}

/* Founder Name (Only bold element) */

.founder-name {
    font-family: 'Lexend', sans-serif;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 6px;
}

/* Founder Title */

.founder-title {
    font-family: 'Lexend', sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: #4a4a4a;
    margin-bottom: 40px;
    font-variation-settings: "wght" 300;
}

/* Body Paragraphs */

.founder-text p {
    font-family: 'Lexend', sans-serif;
    font-size: 16px;
    line-height: 1.9;
    color: #4a4a4a;
    font-weight: 300;
    margin-bottom: 40px;
    font-variation-settings: "wght" 300;
}

/* =========================
   ABOUT CTA SECTION
========================= */

.about-cta {
    padding: 40px 40px 0px;
    margin-top: -120px;
}


.cta-container {
    max-width: 1200px;   /* red-line alignment */
    margin: 0 auto;
}

/* Image Wrapper */
.cta-image {
    position: relative;
    overflow: hidden;
}

/* Image */
.cta-image img {
    width: 100%;
    display: block;
    filter: brightness(1.08); /* slight bright */
}

/* Optional soft overlay for readability */
.cta-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.15);
}

/* Content */
.cta-content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 40px;
    color: #fff;

    opacity: 0;
    transform: translateY(30px);
    transition: all 1.2s ease;
}

/* Heading */
.cta-content h2 {
    font-family: 'Fraunces', serif;
    font-size: 42px;
    font-weight: 200;
    line-height: 1.3;
    margin-bottom: 40px;
    font-variation-settings: "wght" 200, "opsz" 60;
}

/* Button */
.cta-button {
    padding: 20px 50px;
    background-color: #29b6f6;
    color: #000;
    text-decoration: none;
    font-family: 'Lexend', sans-serif;
    font-size: 16px;
    font-weight: 400;
    transition: all 0.3s ease;
}

.cta-button:hover {
    background-color: #1ea6df;
}

/* Fade-in active */
.about-cta.show .cta-content {
    opacity: 1;
    transform: translateY(0);
}

/* About Page Footer Adjustment */
.site-footer {
    margin-top: 0;
    padding-top: 0px;   /* slightly tighter than homepage */
}

/* Mobile */

@media (max-width: 768px) {

/* =========================
   🔥 HARD RESET (CRITICAL)
========================= */

.problem-row,
.problem-visual,
.problem-image,
.problem-card {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

/* =========================
   HERO
========================= */

.about-hero {
    padding: 60px 20px;
    padding-bottom: 20px !important;
}

.about-title {
    font-size: 36px;
}

.about-text p {
    font-size: 14px;
}


/* =========================
   PROBLEMS SECTION
========================= */

.about-container {
    padding: 0 20px;
}

.problems-box {
    padding: 40px 20px;
}

/* STACK */

.problem-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    gap: 20px;
    margin-bottom: 60px;
}

/* IMAGE */

.problem-image {
    display: flex !important;
    justify-content: center !important;
}

.problem-image img {
    width: 90%;
    max-width: 400px;
}

/* CARD */

.problem-card {
    width: 90% !important;
    max-width: 400px;
    margin: 0 auto;
    padding: 20px;
    background: #f4f4f4;
}

/* TEXT */

.problem-card h3 {
    font-size: 20px;
}

.problem-card li {
    font-size: 14px;
    margin-bottom: 16px;
}


/* =========================
   FOUNDER SECTION
========================= */

.founder-section {
    padding-top: 100px;   /* was probably 80px+ */
}

.founder-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center;
    gap: 30px;
}

.founder-section h2 {
    text-align: center;
    margin-left: 0 !important;
}

.founder-image img {
    margin: 0 auto !important;
}

.founder-text {
    margin-left: 0 !important;
}


/* =========================
   CTA
========================= */

.about-cta {
    margin-top: clamp(-200px, -18vw, -130px);
    padding: 40px 20px;
}

.cta-content {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 16px;   /* 🔥 guarantees inner spacing */
    text-align: center;
}

.cta-content h2 {
    font-size: 18px;     /* was too large */
    line-height: 1.3;
}

.cta-container {
    padding-top: 0 !important;
}

}