/* =========================================================
   AIC FESTIVAL 2027 — ABOUT PAGE
   Approved AIC gold palette
   ========================================================= */

.about-hero{
    min-height:70vh;
    display:flex;
    align-items:center;
    position:relative;
    background:
        linear-gradient(rgba(0,0,0,.72),rgba(0,0,0,.72)),
        url("../images/about/story.jpg") center/cover no-repeat;
    color:#fff;
    text-align:center;
}

.about-hero-content{
    max-width:900px;
    margin:auto;
    padding:110px 0 90px;
}

.about-hero-content span,
.section-kicker{
    color:#F4A300;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
}

.about-hero h1{
    margin:18px 0 15px;
    color:#fff;
    font-size:clamp(2.6rem,6vw,4.7rem);
}

.about-hero p{
    max-width:760px;
    margin:auto;
    color:#eee;
    font-size:clamp(1rem,2vw,1.2rem);
}

.story-section,
.vision-section,
.organizers-section{
    padding:100px 0;
}

.story-grid,
.vision-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}

.story-image img{
    width:100%;
    min-height:460px;
    object-fit:cover;
    border-radius:15px;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
}

.story-content h3,
.vision-content h2{
    margin-bottom:20px;
    font-size:clamp(2rem,4vw,2.8rem);
}

.story-content p,
.vision-content p{
    color:#555;
    line-height:1.8;
}

.story-highlight{
    display:flex;
    gap:18px;
    margin-top:35px;
    padding:24px;
    background:#FFF8EE;
    border-left:5px solid #F4A300;
    border-radius:12px;
}

.story-highlight>i{
    color:#F4A300;
    font-size:30px;
    padding-top:3px;
}

.story-highlight strong{
    display:block;
    margin-bottom:5px;
    color:#111;
}

.story-highlight p{
    margin:0;
    font-size:.94rem;
}

.purpose-section{
    padding:100px 0;
    background:#FFF8EE;
}

.purpose-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.purpose-card{
    padding:35px 25px;
    text-align:center;
    background:#fff;
    border-top:4px solid #F4A300;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s ease;
}

.purpose-card:hover{
    transform:translateY(-9px);
    box-shadow:0 25px 45px rgba(244,163,0,.18);
}

.purpose-icon{
    width:76px;
    height:76px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 22px;
    border-radius:50%;
    background:linear-gradient(135deg,#F4A300,#D88900);
    color:#fff;
    font-size:30px;
}

.purpose-card h3{
    margin-bottom:12px;
    font-size:1.35rem;
}

.purpose-card p{
    margin:0;
    color:#666;
    line-height:1.7;
}

.vision-section{
    background:#fff;
}

.vision-card{
    padding:45px;
    background:#111;
    color:#fff;
    border-radius:15px;
    box-shadow:0 20px 45px rgba(0,0,0,.14);
}

.vision-card>span{
    color:#F4A300;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.vision-card h3{
    margin:18px 0;
    color:#fff;
    font-size:clamp(1.6rem,3vw,2.4rem);
}

.vision-card p{
    color:#ccc;
}

.vision-line{
    width:60px;
    height:4px;
    margin:25px 0;
    background:#F4A300;
}

.timeline-section{
    padding:100px 0;
    background:#FFF8EE;
}

.timeline{
    position:relative;
    max-width:900px;
    margin:auto;
}

.timeline::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:3px;
    background:#F4A300;
    transform:translateX(-50%);
}

.timeline-item{
    position:relative;
    display:grid;
    grid-template-columns:1fr 120px 1fr;
    align-items:center;
    gap:25px;
    margin-bottom:45px;
}

.timeline-item:nth-child(odd) .timeline-card{
    grid-column:1;
    grid-row:1;
}

.timeline-item:nth-child(odd) .timeline-marker{
    grid-column:2;
    grid-row:1;
}

.timeline-item:nth-child(even) .timeline-marker{
    grid-column:2;
    grid-row:1;
}

.timeline-item:nth-child(even) .timeline-card{
    grid-column:3;
    grid-row:1;
}

.timeline-marker{
    width:100px;
    height:100px;
    display:flex;
    align-items:center;
    justify-content:center;
    justify-self:center;
    z-index:2;
    border-radius:50%;
    background:#F4A300;
    color:#fff;
    font-size:20px;
    font-weight:800;
    box-shadow:0 0 0 8px #FFF8EE;
}

.timeline-card{
    padding:28px;
    background:#fff;
    border-left:5px solid #F4A300;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.timeline-card span{
    color:#F4A300;
    font-size:.76rem;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.timeline-card h3{
    margin:7px 0 12px;
    font-size:1.4rem;
}

.timeline-card p{
    margin:0;
    color:#666;
    line-height:1.7;
}

.organizers-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
    max-width:900px;
    margin:auto;
}

.organizer-card{
    padding:35px 30px;
    text-align:center;
    background:#fff;
    border-top:4px solid #F4A300;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.organizer-card img{
    width:auto;
    height:95px;
    max-width:180px;
    margin:0 auto 22px;
    object-fit:contain;
}

.organizer-card span{
    color:#F4A300;
    font-size:.75rem;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.organizer-card h3{
    margin:8px 0 12px;
    font-size:1.4rem;
}

.organizer-card p{
    margin:0;
    color:#666;
}

.about-cta{
    padding:100px 0;
    background:#FFF8EE;
    border-top:1px solid #F0E2C8;
    border-bottom:1px solid #E7D3AD;
    text-align:center;
}

.cta-content{
    max-width:850px;
    margin:auto;
}

.cta-content>span{
    color:#F4A300;
    font-weight:700;
    letter-spacing:3px;
    text-transform:uppercase;
}

.cta-content h2{
    margin:18px 0;
    color:#111;
    font-size:clamp(2.1rem,5vw,3.2rem);
}

.cta-content p{
    max-width:720px;
    margin:0 auto 30px;
    color:#666;
    line-height:1.8;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:15px;
}

@media(max-width:1050px){
    .purpose-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:900px){
    .story-grid,
    .vision-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .timeline::before{
        left:45px;
    }

    .timeline-item,
    .timeline-item:nth-child(even),
    .timeline-item:nth-child(odd){
        display:grid;
        grid-template-columns:90px 1fr;
        gap:25px;
        align-items:start;
    }

    .timeline-marker,
    .timeline-item:nth-child(even) .timeline-marker,
    .timeline-item:nth-child(odd) .timeline-marker{
        grid-column:1;
        grid-row:1;
        width:78px;
        height:78px;
        font-size:16px;
    }

    .timeline-card,
    .timeline-item:nth-child(even) .timeline-card,
    .timeline-item:nth-child(odd) .timeline-card{
        grid-column:2;
        grid-row:1;
    }

    .organizers-grid{
        grid-template-columns:1fr;
        max-width:600px;
    }
}

@media(max-width:600px){
    .story-section,
    .purpose-section,
    .vision-section,
    .timeline-section,
    .organizers-section,
    .about-cta{
        padding:75px 0;
    }

    .about-hero{
        min-height:65vh;
    }

    .about-hero-content{
        padding:120px 0 70px;
    }

    .story-image img{
        min-height:300px;
    }

    .purpose-grid{
        grid-template-columns:1fr;
    }

    .vision-card{
        padding:30px 24px;
    }

    .timeline::before{
        left:38px;
    }

    .timeline-item,
    .timeline-item:nth-child(even),
    .timeline-item:nth-child(odd){
        grid-template-columns:76px 1fr;
        gap:16px;
    }

    .timeline-marker,
    .timeline-item:nth-child(even) .timeline-marker,
    .timeline-item:nth-child(odd) .timeline-marker{
        width:64px;
        height:64px;
        font-size:13px;
    }

    .timeline-card{
        padding:22px 18px;
    }

    .cta-buttons{
        flex-direction:column;
        align-items:center;
    }

    .cta-buttons a{
        width:min(100%,320px);
    }
}


/* =========================================================
   ORGANIZERS & TEAM — REFINED
   ========================================================= */

.organizers-grid{
    grid-template-columns:repeat(2,1fr);
    max-width:1050px;
}

.featured-organizer{
    min-height:100%;
}

.partner-focus{
    margin-top:24px;
    padding:16px 18px;
    background:#FFF8EE;
    border-left:4px solid #F4A300;
    border-radius:10px;
    text-align:left;
}

.partner-focus strong{
    display:block;
    margin-bottom:4px;
    color:#111;
}

.partner-focus span{
    display:block;
    color:#666;
    font-size:.92rem;
    line-height:1.6;
}

.team-section{
    padding:100px 0;
    background:#fff;
}

.team-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    max-width:1100px;
    margin:auto;
}

.team-card{
    overflow:hidden;
    background:#fff;
    border-top:4px solid #F4A300;
    border-radius:15px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s ease;
}

.team-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 45px rgba(244,163,0,.16);
}

.team-card img{
    width:100%;
    height:300px;
    object-fit:cover;
    background:#FFF8EE;
}

.team-info{
    padding:26px 24px 30px;
    text-align:center;
}

.team-info h3{
    margin-bottom:8px;
    font-size:1.35rem;
}

.team-info span{
    display:block;
    margin-bottom:12px;
    color:#F4A300;
    font-size:.8rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
}

.team-info p{
    margin:0;
    color:#666;
    line-height:1.7;
}

@media(max-width:900px){
    .team-grid{
        grid-template-columns:1fr 1fr;
    }
}

@media(max-width:600px){
    .organizers-grid,
    .team-grid{
        grid-template-columns:1fr;
    }

    .team-card img{
        height:280px;
    }
}

/* Team photos */
.team-card > img{
    display:block;
    width:100%;
    height:300px;
    object-fit:cover;
    object-position:center top;
}
.team-card:nth-child(3) > img{
    width:100%;
    height:300px;
    object-fit:contain;
    object-position:center;
    background:#d9edda;
}


/* Mobile team photos */


/* =========================================================
   ABOUT PAGE PARTNERS — TWO-TIER HIERARCHY
   ========================================================= */

.about-partner-tier{
    width:100%;
}

.strategic-tier{
    max-width:900px;
    margin:0 auto 34px;
}

.about-tier-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
}

.strategic-organizer{
    padding:30px 28px 27px;
    border:1px solid #E8D7B8;
    border-top:1px solid #E8D7B8;
    box-shadow:0 10px 28px rgba(0,0,0,.06);
}

.organizer-logo-wrap{
    min-height:112px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
}

.organizer-logo-wrap img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:82px;
    object-fit:contain;
    margin:0;
}

.strategic-organizer span{
    color:#D88900;
}

.strategic-organizer h3{
    margin-top:8px;
}

.about-partner-divider{
    display:flex;
    align-items:center;
    gap:18px;
    margin:0 0 26px;
    color:#D88900;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}

.about-partner-divider::before,
.about-partner-divider::after{
    content:"";
    flex:1;
    height:1px;
    background:#E8D7B8;
}

.organizing-tier{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:30px;
    width:100%;
}

.organizing-tier .organizer-card{
    width:100%;
}

@media(max-width:700px){
    .about-tier-grid,
    .organizing-tier{
        grid-template-columns:1fr;
        gap:18px;
    }

    .strategic-tier{
        margin-bottom:30px;
    }

    .strategic-organizer{
        padding:25px 22px;
    }

    .organizer-logo-wrap{
        min-height:98px;
    }

    .organizer-logo-wrap img{
        max-height:72px;
    }

    .about-partner-divider{
        margin-bottom:20px;
        gap:12px;
        font-size:.68rem;
        letter-spacing:.09em;
    }
}

/* =========================================================
   PARTNERS SECTION — FINAL DESKTOP STRUCTURE
   Keep the institutional hierarchy clear and balanced:
   Crafting Change partners first, festival organizers second.
   ========================================================= */

.organizers-section .organizers-grid{
    display:block;
    width:100%;
    max-width:1040px;
    margin:0 auto;
}

.organizers-section .strategic-tier{
    width:100%;
    max-width:900px;
    margin:0 auto 34px;
}

.organizers-section .about-tier-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    width:100%;
}

.organizers-section .strategic-organizer{
    min-height:285px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:30px 28px;
    border:1px solid #E8D7B8;
    border-top:3px solid #F4A300;
    border-radius:15px;
    background:#fff;
    box-shadow:0 10px 28px rgba(0,0,0,.06);
}

.organizers-section .organizer-logo-wrap{
    width:100%;
    min-height:95px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 0 18px;
}

.organizers-section .organizer-logo-wrap img{
    display:block;
    width:auto;
    height:auto;
    max-width:230px;
    max-height:82px;
    object-fit:contain;
    margin:0;
}

.organizers-section .strategic-organizer span,
.organizers-section .organizer-card span{
    color:#C97E00;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.12em;
    line-height:1.4;
    text-transform:uppercase;
    text-align:center;
}

.organizers-section .strategic-organizer h3{
    margin:8px 0 0;
    font-size:1.35rem;
    line-height:1.2;
    text-align:center;
}

.organizers-section .about-partner-divider{
    width:100%;
    display:flex;
    align-items:center;
    gap:20px;
    margin:0 0 28px;
    color:#C97E00;
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.13em;
    line-height:1.4;
    text-transform:uppercase;
    white-space:nowrap;
}

.organizers-section .about-partner-divider::before,
.organizers-section .about-partner-divider::after{
    content:"";
    flex:1 1 auto;
    height:1px;
    background:#E8D7B8;
}

.organizers-section .organizing-tier{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px;
    width:100%;
    max-width:1040px;
    margin:0 auto;
}

.organizers-section .organizing-tier .organizer-card{
    width:100%;
    min-height:430px;
    box-sizing:border-box;
    padding:32px 30px;
}

.organizers-section .organizing-tier .organizer-card img{
    max-width:210px;
    height:90px;
    margin:0 auto 20px;
}

@media(max-width:900px){
    .organizers-section .organizers-grid,
    .organizers-section .organizing-tier{
        max-width:700px;
    }
}

@media(max-width:700px){
    .organizers-section .about-tier-grid,
    .organizers-section .organizing-tier{
        grid-template-columns:1fr;
        gap:18px;
    }

    .organizers-section .strategic-tier{
        margin-bottom:28px;
    }

    .organizers-section .strategic-organizer{
        min-height:245px;
        padding:25px 22px;
    }

    .organizers-section .organizer-logo-wrap{
        min-height:82px;
    }

    .organizers-section .organizer-logo-wrap img{
        max-width:210px;
        max-height:72px;
    }

    .organizers-section .about-partner-divider{
        gap:12px;
        margin-bottom:20px;
        font-size:.66rem;
        letter-spacing:.09em;
    }

    .organizers-section .organizing-tier .organizer-card{
        min-height:0;
        padding:28px 22px;
    }
}


/* =========================================================
   ABOUT PAGE — UNIFORM PARTNERS PRESENTATION
   Four equal institutional tiles. No decorative card borders.
   ========================================================= */

.organizers-section .organizers-grid{
    display:block !important;
    width:100% !important;
    max-width:1100px !important;
    margin:0 auto !important;
}

.organizers-section .partner-group{
    width:100% !important;
}

.organizers-section .organizing-partner-group{
    margin-top:46px !important;
}

.organizers-section .partner-group-label{
    margin:0 0 20px !important;
    text-align:center !important;
    color:#C97E00 !important;
    font-size:.72rem !important;
    font-weight:900 !important;
    letter-spacing:.13em !important;
    line-height:1.4 !important;
    text-transform:uppercase !important;
}

.organizers-section .about-tier-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:28px !important;
    width:100% !important;
    max-width:none !important;
}

.organizers-section .uniform-partner-card{
    min-height:270px !important;
    box-sizing:border-box !important;
    padding:30px 32px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    background:#fff !important;
    border:0 !important;
    border-top:0 !important;
    border-radius:18px !important;
    box-shadow:0 8px 28px rgba(0,0,0,.055) !important;
}

.organizers-section .uniform-partner-card:hover{
    border:0 !important;
    border-top:0 !important;
    box-shadow:0 12px 32px rgba(0,0,0,.075) !important;
    transform:translateY(-2px);
}

.organizers-section .uniform-partner-card .organizer-logo-wrap{
    width:100% !important;
    min-height:96px !important;
    height:96px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 0 18px !important;
}

.organizers-section .uniform-partner-card .organizer-logo-wrap img{
    display:block !important;
    width:230px !important;
    height:auto !important;
    max-width:230px !important;
    max-height:none !important;
    object-fit:contain !important;
    margin:0 !important;
}

.organizers-section .uniform-partner-card span{
    margin:0 0 7px !important;
    color:#C97E00 !important;
    font-size:.70rem !important;
    font-weight:900 !important;
    letter-spacing:.11em !important;
    line-height:1.35 !important;
    text-transform:uppercase !important;
}

.organizers-section .uniform-partner-card h3{
    margin:0 !important;
    max-width:460px !important;
    color:#111 !important;
    font-size:1.28rem !important;
    line-height:1.25 !important;
    text-align:center !important;
}

/* No line-divider treatment in this section. */
.organizers-section .about-partner-divider{
    display:none !important;
}

@media (max-width:700px){
    .organizers-section .organizers-grid{
        max-width:600px !important;
    }

    .organizers-section .organizing-partner-group{
        margin-top:34px !important;
    }

    .organizers-section .about-tier-grid{
        grid-template-columns:1fr !important;
        gap:18px !important;
    }

    .organizers-section .uniform-partner-card{
        min-height:240px !important;
        padding:26px 22px !important;
        border-radius:16px !important;
    }

    .organizers-section .uniform-partner-card .organizer-logo-wrap{
        min-height:86px !important;
        height:86px !important;
        margin-bottom:15px !important;
    }

    .organizers-section .uniform-partner-card .organizer-logo-wrap img{
        width:210px !important;
        max-width:210px !important;
        max-height:none !important;
    }

    .organizers-section .uniform-partner-card h3{
        font-size:1.15rem !important;
    }
}

/* =========================================================
   AIC ABOUT PAGE — EDITORIAL REFINEMENT
   Final layer: reduce template-like symmetry and give the
   page a more human, institutional cultural-festival character.
   ========================================================= */

/* Correct the legacy declaration without disturbing the existing stylesheet. */
.story-section,
.vision-section,
.organizers-section{
    padding:88px 0;
}

/* Hero: a chapter opener, not a second homepage. */
.page-about .about-hero{
    min-height:38vh !important;
    background-position:center 45%;
}

.page-about .about-hero-content{
    max-width:880px;
    padding:64px 0 58px !important;
    margin-left:0;
}

.page-about .about-hero-content span{
    display:inline-block;
    font-size:.76rem;
    letter-spacing:.16em;
    padding-left:13px;
    border-left:3px solid #F4A300;
}

.page-about .about-hero-content h1{
    max-width:760px;
    margin:14px 0 14px;
    font-size:clamp(2.35rem,5.2vw,4.35rem);
    line-height:1.02;
}

.page-about .about-hero-content p{
    max-width:680px;
    margin:0;
    font-size:1.04rem;
    line-height:1.7;
}

/* Replace the generic centered intro with an editorial lead-in. */
.page-about .story-section .container{
    max-width:1120px;
}

.story-intro{
    display:grid;
    grid-template-columns:minmax(180px,.7fr) minmax(0,1.7fr);
    gap:70px;
    align-items:start;
    margin-bottom:58px;
}

.story-intro-label{
    padding-top:8px;
    border-top:2px solid #F4A300;
}

.story-intro-label span{
    display:block;
    margin-top:13px;
    color:#C97E00;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.story-intro-label small{
    display:block;
    margin-top:8px;
    color:#777;
    font-size:.86rem;
    line-height:1.5;
}

.story-intro-copy h2{
    max-width:760px;
    margin:0 0 16px;
    color:#111;
    font-size:clamp(2rem,4vw,3.25rem);
    line-height:1.08;
    letter-spacing:-.02em;
}

.story-intro-copy p{
    max-width:760px;
    margin:0;
    color:#5f5f5f;
    font-size:1.04rem;
    line-height:1.8;
}

/* Story image/content should feel like an article, not two floating cards. */
.page-about .story-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    gap:68px;
    align-items:start;
}

.page-about .story-image img{
    min-height:520px;
    border-radius:4px;
    box-shadow:none;
}

.page-about .story-content{
    padding-top:6px;
}

.page-about .story-content h3{
    max-width:560px;
    margin:0 0 20px;
    font-size:clamp(1.65rem,3vw,2.25rem);
    line-height:1.15;
}

.page-about .story-content p{
    font-size:.98rem;
    line-height:1.82;
}

.page-about .story-highlight{
    margin-top:28px;
    padding:20px 22px;
    background:#f7f3eb;
    border-left:3px solid #F4A300;
    border-radius:0;
}

.page-about .story-highlight>i{
    font-size:22px;
}

/* A small factual strip breaks the page rhythm and adds credibility. */
.story-facts{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    margin-top:54px;
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
}

.story-fact{
    min-height:108px;
    padding:22px 28px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.story-fact + .story-fact{
    border-left:1px solid #ddd;
}

.story-fact strong{
    color:#111;
    font-size:1.65rem;
    line-height:1;
}

.story-fact span{
    margin-top:8px;
    color:#666;
    font-size:.84rem;
    line-height:1.45;
}

/* Purpose: fewer “AI card” cues, more institutional structure. */
.page-about .purpose-section{
    padding:88px 0;
    background:#f7f3eb;
}

.page-about .purpose-section .container{
    max-width:1120px;
}

.page-about .section-heading-editorial{
    max-width:760px;
    margin:0 0 42px;
    text-align:left;
}

.page-about .section-heading-editorial span{
    display:inline-block;
    color:#C97E00;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
    border-left:3px solid #F4A300;
    padding-left:12px;
}

.page-about .section-heading-editorial h2{
    margin:13px 0 12px;
    font-size:clamp(2rem,4vw,3rem);
    line-height:1.08;
    letter-spacing:-.02em;
}

.page-about .section-heading-editorial p{
    max-width:700px;
    margin:0;
    color:#666;
    line-height:1.75;
}

.page-about .purpose-grid{
    gap:0;
    background:#fff;
    border:1px solid #e4ddd0;
    box-shadow:none;
}

.page-about .purpose-card{
    min-height:250px;
    padding:32px 28px;
    text-align:left;
    background:#fff;
    border:0;
    border-radius:0;
    box-shadow:none;
}

.page-about .purpose-card + .purpose-card{
    border-left:1px solid #e4ddd0;
}

.page-about .purpose-icon{
    width:auto;
    height:auto;
    margin:0 0 20px;
    justify-content:flex-start;
    background:none;
    color:#C97E00;
    font-size:22px;
}

.page-about .purpose-card:hover{
    transform:none;
    box-shadow:none;
    background:#fcfaf6;
}

.page-about .purpose-card h3{
    margin-bottom:10px;
    font-size:1.2rem;
}

.page-about .purpose-card p{
    font-size:.92rem;
    line-height:1.7;
}

/* Keep the remaining sections polished but less rounded/template-heavy. */
.page-about .vision-card,
.page-about .timeline-card,
.page-about .organizer-card,
.page-about .team-card{
    border-radius:4px;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
}

.page-about .team-card{
    border-top:0;
}

.page-about .team-info{
    text-align:left;
}

.page-about .organizer-card{
    border-top:0;
}

@media (max-width:900px){
    .story-intro{
        grid-template-columns:1fr;
        gap:18px;
        margin-bottom:42px;
    }

    .story-intro-label{
        max-width:300px;
    }

    .page-about .story-grid{
        grid-template-columns:1fr;
        gap:40px;
    }

    .page-about .story-image img{
        min-height:380px;
    }

    .story-facts{
        grid-template-columns:1fr;
    }

    .story-fact + .story-fact{
        border-left:0;
        border-top:1px solid #ddd;
    }

    .page-about .purpose-grid{
        grid-template-columns:1fr 1fr;
    }

    .page-about .purpose-card:nth-child(odd){
        border-left:0;
    }

    .page-about .purpose-card:nth-child(n+3){
        border-top:1px solid #e4ddd0;
    }
}

@media (max-width:600px){
    .page-about .about-hero{
        min-height:0 !important;
    }

    .page-about .about-hero-content{
        padding:52px 0 46px !important;
    }

    .page-about .about-hero-content h1{
        font-size:clamp(2.1rem,10vw,3rem);
        margin-top:12px;
    }

    .page-about .about-hero-content p{
        font-size:.96rem;
        line-height:1.65;
    }

    .story-intro{
        margin-bottom:34px;
    }

    .story-intro-copy h2{
        font-size:2rem;
    }

    .page-about .story-image img{
        min-height:300px;
    }

    .story-fact{
        min-height:94px;
        padding:19px 20px;
    }

    .page-about .purpose-section{
        padding:70px 0;
    }

    .page-about .purpose-grid{
        grid-template-columns:1fr;
    }

    .page-about .purpose-card + .purpose-card{
        border-left:0;
        border-top:1px solid #e4ddd0;
    }

    .page-about .team-info{
        text-align:left;
    }
}
