.floc-event-strip { position: relative; z-index: 5; margin-top: -1px; background: #fff; box-shadow: 0 20px 60px rgba(0,0,0,.08); }
.floc-event-strip__grid { min-height: 112px; display: grid; grid-template-columns: 1fr 1fr 1fr auto; align-items: center; gap: 35px; }
.floc-event-strip__grid > div { display: grid; gap: 5px; }
.floc-event-strip strong { font-size: 15px; }
.floc-label { margin-bottom: 4px; }
.floc-flow {
    display:grid;
    grid-template-columns:repeat(5,1fr);
    border-top:1px solid rgba(255,255,255,.2);
    border-bottom:1px solid rgba(255,255,255,.2);
}
.floc-flow-step {
    position:relative;
    padding:34px 28px 38px;
    border-right:1px solid rgba(255,255,255,.15);
}
.floc-flow-step:last-child { border-right:0; }
.floc-flow-step:not(:last-child)::after {
    content:"→";
    position:absolute;
    right:-10px;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    width:20px;
    height:20px;
    display:grid;
    place-items:center;
    background:var(--floc-green-deep);
    color:var(--floc-green-bright);
    font-size:13px;
}
.floc-flow-step span { display:block; margin-bottom:58px; color:var(--floc-orange); font-size:12px; font-weight:800; letter-spacing:.08em; }
.floc-flow-step strong { display:block; font-family:Georgia,serif; font-size:clamp(21px,2vw,29px); font-weight:400; line-height:1.05; }
.floc-flow-step small { display:block; margin-top:9px; color:rgba(255,255,255,.58); font-size:13px; }
.floc-ecosystem-note {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:30px;
    margin-top:30px;
    padding-top:25px;
    border-top:1px solid rgba(255,255,255,.12);
}
.floc-ecosystem-note span { color:var(--floc-green-bright); font-size:11px; font-weight:900; letter-spacing:.14em; }
.floc-ecosystem-note p { margin:0; color:rgba(255,255,255,.76); font-family:Georgia,serif; font-size:clamp(20px,2.4vw,30px); line-height:1.15; }
.floc-objectives {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--floc-border);
}

.floc-objectives article {
    position: relative;
    min-height: 250px;
    padding: 34px 42px 38px 0;
    border-bottom: 1px solid var(--floc-border);
    transition: background .25s ease, transform .25s ease;
}

.floc-objectives article:nth-child(even) {
    padding-left: 42px;
    border-left: 1px solid var(--floc-border);
}

.floc-objectives article:hover {
    background: rgba(0, 74, 28, .035);
}

.floc-objectives span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    margin-bottom: 24px;
    border: 1px solid rgba(214,93,38,.35);
    border-radius: 50%;
    color: var(--floc-orange);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
}

.floc-objectives h3 {
    margin: 0 0 13px;
    max-width: 560px;
    color: var(--floc-black);
    font-size: clamp(20px, 2vw, 25px);
    line-height: 1.18;
    letter-spacing: -.025em;
}

.floc-objectives p {
    max-width: 600px;
    margin: 0;
    color: var(--floc-grey);
    font-size: 14px;
    line-height: 1.75;
}

@media (max-width: 900px) {
    .floc-objectives article { min-height: 0; padding-right: 28px; }
    .floc-objectives article:nth-child(even) { padding-left: 28px; }
}

@media (max-width: 680px) {
    .floc-objectives { grid-template-columns: 1fr; }
    .floc-objectives article,
    .floc-objectives article:nth-child(even) {
        padding: 28px 0 30px;
        border-left: 0;
    }
    .floc-objectives article:first-child { border-top: 0; }
    .floc-objectives span { width: 40px; height: 40px; margin-bottom: 18px; }
    .floc-objectives h3 { font-size: 20px; line-height: 1.25; }
    .floc-objectives p { font-size: 14px; line-height: 1.7; }
}

.floc-format { display: grid; grid-template-columns: repeat(5,1fr); gap: 1px; background: rgba(255,255,255,.12); }
.floc-format article { min-height: 290px; padding: 30px 24px; background: #111D17; transition: background var(--floc-transition), transform var(--floc-transition); }
.floc-format article:hover { background: #173A28; transform: translateY(-5px); }
.floc-format span { color: var(--floc-green-bright); font-size: 12px; font-weight: 900; }
.floc-format h3 { margin: 100px 0 12px; font-family: Georgia,serif; font-size: 25px; font-weight: 400; }
.floc-format p { margin: 0; color: rgba(255,255,255,.62); font-size: 14px; }
.floc-questions { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.floc-questions div { display: grid; grid-template-columns: 60px 1fr; gap: 18px; align-items: start; padding: 24px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.035); transition: background var(--floc-transition), transform var(--floc-transition); }
.floc-questions div:hover { background: rgba(40,254,142,.08); transform: translateY(-3px); }
.floc-questions span { color: var(--floc-green-bright); font-size: 12px; font-weight: 900; }
.floc-questions p { margin: 0; font-family: Georgia,serif; font-size: 21px; line-height: 1.35; }
.floc-outcomes { display: grid; gap: 14px; }
.floc-outcomes p { margin: 0; padding: 16px 0 16px 22px; border-left: 3px solid var(--floc-orange); font-size: 17px; }
.floc-outcomes-banner { margin-top: 90px; padding: 40px 0; background: #FFD900; color: #151515; }
.floc-outcomes-banner .floc-container { display: flex; align-items: center; justify-content: space-between; gap: 25px; }
.floc-outcomes-banner strong { font-size: 18px; }
.floc-outcomes-banner span { font-family: Georgia,serif; font-size: 23px; }
.floc-stats { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin: 65px 0 90px; background: var(--floc-border); }
.floc-stats > div { padding: 35px; background: #fff; }
.floc-stats strong { display: block; font-family: Georgia,serif; font-size: clamp(48px,6vw,80px); line-height: .9; color: var(--floc-green-deep); }
.floc-stats span { display: block; max-width: 180px; margin-top: 15px; color: var(--floc-grey); font-size: 13px; }
.floc-timeline { position: relative; display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; }
.floc-timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 19px; height: 1px; background: var(--floc-border); }
.floc-timeline article { position: relative; padding-top: 50px; }
.floc-timeline article::before { content: ""; position: absolute; top: 14px; left: 0; width: 12px; height: 12px; border: 3px solid #fff; border-radius: 50%; background: var(--floc-green); box-shadow: 0 0 0 1px var(--floc-green); }
.floc-timeline article.is-current::before { background: var(--floc-orange); box-shadow: 0 0 0 1px var(--floc-orange); }
.floc-timeline span { color: var(--floc-orange); font-size: 12px; font-weight: 900; }
.floc-timeline h3 { margin: 12px 18px 0 0; font-size: 17px; line-height: 1.3; }
.floc-implementation { background: linear-gradient(135deg, #004A1C, #08743A); }
.floc-cta { padding: 125px 0; color: #fff; background: var(--floc-purple); text-align: center; position: relative; overflow: hidden; }
.floc-cta::after { content: ""; position: absolute; width: 520px; height: 520px; right: -220px; top: -240px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.02); }
.floc-cta__inner { position: relative; z-index: 2; max-width: 850px; }
.floc-cta h2 { margin: 0 auto 25px; font-family: Georgia,serif; font-size: clamp(55px,8vw,100px); line-height: .9; font-weight: 400; letter-spacing: -.06em; }
.floc-cta h2 em { color: var(--floc-green-bright); }
.floc-cta p:not(.floc-label) { max-width: 620px; margin: 0 auto 32px; color: rgba(255,255,255,.78); font-size: 17px; }
.floc-cta .floc-actions { justify-content: center; }

.floc-discussion-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--floc-border); }
.floc-discussion-grid article { min-height:260px; padding:30px; background:#fff; transition:transform var(--floc-transition), box-shadow var(--floc-transition); }
.floc-discussion-grid article:hover { position:relative; z-index:2; transform:translateY(-5px); box-shadow:var(--floc-shadow); }
.floc-discussion-grid span,.floc-audience-grid span,.floc-impact-grid span,.floc-implementation-grid span { color:var(--floc-orange); font-size:12px; font-weight:900; letter-spacing:.08em; }
.floc-discussion-grid h3 { margin:42px 0 12px; font-size:20px; line-height:1.25; }
.floc-discussion-grid p { margin:0; color:var(--floc-grey); font-size:14px; }
.floc-speaker-note { margin-bottom:35px; padding:18px 22px; border-left:3px solid var(--floc-orange); background:#f5f2ee; color:var(--floc-grey); font-size:14px; }
.floc-speaker-groups { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--floc-border); }
.floc-speaker-groups > div { padding:32px; background:#fff; }
.floc-speaker-groups h3 { margin:18px 0 10px; font-family:Georgia,serif; font-size:26px; font-weight:400; }
.floc-speaker-groups p { margin:0; color:var(--floc-grey); font-size:14px; line-height:1.6; }
.floc-audience-pillars { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:45px; }
.floc-audience-pillars > div { padding:30px; border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.05); }
.floc-audience-pillars strong { display:block; font-family:Georgia,serif; font-size:30px; font-weight:400; color:#fff; }
.floc-audience-pillars span { color:var(--floc-green-bright); font-size:13px; }
.floc-audience-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.12); }
.floc-audience-grid article { min-height:230px; padding:28px; background:rgba(0,0,0,.08); }
.floc-audience-grid h3 { margin:45px 0 10px; font-family:Georgia,serif; font-size:22px; font-weight:400; }
.floc-audience-grid p { margin:0; color:rgba(255,255,255,.65); font-size:13px; }
.floc-impact-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--floc-border); }
.floc-impact-grid article { min-height:230px; padding:30px; background:#fff; }
.floc-impact-grid h3 { margin:42px 0 10px; font-family:Georgia,serif; font-size:23px; font-weight:400; }
.floc-impact-grid p { margin:0; color:var(--floc-grey); font-size:14px; }
.floc-implementation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:70px; background:rgba(255,255,255,.14); }
.floc-implementation-grid > div { padding:30px; background:rgba(0,0,0,.08); }
.floc-implementation-grid h3 { margin:35px 0 12px; font-family:Georgia,serif; font-size:26px; font-weight:400; }
.floc-implementation-grid p { margin:0; color:rgba(255,255,255,.72); font-size:14px; }
.floc-action-transition { background:#F5F7F4; }
.floc-action-transition__grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:70px; align-items:start; }
.floc-action-transition__intro { position:sticky; top:120px; }
.floc-action-transition h2 { margin:0; font-family:Georgia,serif; font-size:clamp(55px,7vw,100px); font-weight:400; line-height:.9; letter-spacing:-.06em; }
.floc-action-transition h2 em { color:var(--floc-orange); }
.floc-action-transition__content { max-width:760px; font-size:18px; color:#454b46; }
.floc-action-transition__content > p { margin:0 0 22px; }
.floc-action-transition__lead { font-size:clamp(24px,2.4vw,34px); line-height:1.2; color:var(--floc-green); font-weight:600; letter-spacing:-.02em; }
.floc-action-transition__statement { display:flex; gap:20px; align-items:flex-start; margin-top:38px; padding:28px 30px; background:var(--floc-green); color:#fff; }
.floc-action-transition__statement p { margin:0; font-family:Georgia,serif; font-size:clamp(22px,2.3vw,30px); line-height:1.2; }
.floc-action-transition__icon { flex:0 0 42px; width:42px; height:42px; display:grid; place-items:center; border:1px solid rgba(40,254,142,.55); color:var(--floc-lime); }
.floc-action-transition__icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.floc-final-cta { padding:100px 0; background:var(--floc-green-deep); color:#fff; text-align:center; }
.floc-final-cta h2 { margin:0 auto 30px; max-width:900px; font-family:Georgia,serif; font-size:clamp(52px,7vw,92px); font-weight:400; line-height:.92; letter-spacing:-.055em; }
.floc-final-cta h2 em { color:var(--floc-orange); }
.floc-final-cta .floc-actions { justify-content:center; }


/* FLOC 2026 — introduction editorial treatment */
.floc-introduction__top {
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:90px;
    align-items:end;
    padding-bottom:55px;
    border-bottom:1px solid var(--floc-border);
}
.floc-introduction__top h2 { margin-bottom:0; }
.floc-introduction__lead { max-width:700px; }
.floc-introduction__lead p {
    margin:0;
    font-family:var(--floc-serif);
    font-size:clamp(25px,3vw,42px);
    line-height:1.15;
    letter-spacing:-.035em;
}
.floc-introduction__body {
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:90px;
    padding-top:55px;
    align-items:start;
}
.floc-lever-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.floc-lever-card {
    min-height:300px;
    padding:30px;
    border:1px solid var(--floc-border);
    background:#f8faf8;
    transition:transform var(--floc-transition), box-shadow var(--floc-transition), background var(--floc-transition);
}
.floc-lever-card:hover {
    transform:translateY(-5px);
    background:#fff;
    box-shadow:var(--floc-shadow);
}
.floc-lever-card span { color:var(--floc-orange); font-size:12px; font-weight:900; letter-spacing:.1em; }
.floc-lever-card h3 { margin:70px 0 14px; font-family:var(--floc-serif); font-size:clamp(25px,2.4vw,34px); font-weight:400; line-height:1.05; letter-spacing:-.025em; }
.floc-lever-card p { margin:0; color:var(--floc-grey); font-size:14px; line-height:1.65; }

@media (max-width:1050px) {
    .floc-introduction__top, .floc-introduction__body { grid-template-columns:1fr; gap:40px; }
}
@media (max-width:780px) {
    .floc-introduction__top { padding-bottom:38px; }
    .floc-introduction__body { padding-top:38px; gap:35px; }
    .floc-introduction__lead p { font-size:25px; }
    .floc-lever-grid { grid-template-columns:1fr; }
    .floc-lever-card { min-height:0; padding:24px; }
    .floc-lever-card h3 { margin-top:45px; }
}


/* Situation analysis — editorial problem map */
.floc-situation {
    overflow: hidden;
}
.floc-situation-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, .72fr);
    gap: clamp(40px, 8vw, 120px);
    align-items: end;
    margin-bottom: 56px;
}
.floc-situation-lead {
    max-width: 580px;
    margin: 0 0 4px;
    color: #3f4642;
    font-size: clamp(1.15rem, 1.8vw, 1.5rem);
    line-height: 1.6;
}
.floc-situation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    background: rgba(0, 74, 28, .16);
    border: 1px solid rgba(0, 74, 28, .16);
}
.floc-situation-card {
    position: relative;
    min-height: 270px;
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 24px;
    padding: clamp(28px, 4vw, 46px);
    background: #f7f7f4;
}
.floc-situation-card--wide {
    min-height: 300px;
}
.floc-situation-card--closing {
    background: #004a1c;
    color: #fff;
}
.floc-situation-card--closing p {
    color: rgba(255,255,255,.82);
}
.floc-situation-tag {
    margin: 2px 0 18px !important;
    color: #00501b !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    letter-spacing: .14em;
    line-height: 1.3 !important;
}
.floc-situation-card--closing .floc-situation-tag {
    color: #28fe8e !important;
}
.floc-situation-card > div > p:last-child {
    max-width: 680px;
    margin-bottom: 0;
    font-size: 1rem;
    line-height: 1.75;
}
@media (max-width: 800px) {
    .floc-situation-head {
        grid-template-columns: 1fr;
        gap: 22px;
        margin-bottom: 34px;
    }
    .floc-situation-grid {
        grid-template-columns: 1fr;
    }
    .floc-situation-card,
    .floc-situation-card--wide {
        min-height: 0;
    }
}
@media (max-width: 520px) {
    .floc-situation-card {
        grid-template-columns: 42px 1fr;
        gap: 16px;
        padding: 26px 20px;
    }
    .floc-situation-icon {
        width: 34px;
        height: 34px;
        padding-top: 8px;
        font-size: .65rem;
    }
    .floc-situation-card > div > p:last-child {
        font-size: .94rem;
        line-height: 1.65;
    }
}

@media (max-width: 1050px) {
    .floc-flow { grid-template-columns:repeat(3,1fr); }
    .floc-flow-step:nth-child(3) { border-right:0; }
    .floc-flow-step:nth-child(3)::after { display:none; }
    .floc-flow-step:nth-child(4), .floc-flow-step:nth-child(5) { border-top:1px solid rgba(255,255,255,.15); }
}
@media (max-width: 780px) {
    .floc-flow { grid-template-columns:1fr; border-bottom:0; }
    .floc-flow-step, .floc-flow-step:nth-child(3), .floc-flow-step:nth-child(4) {
        min-height:0;
        padding:22px 0;
        border-right:0;
        border-bottom:1px solid rgba(255,255,255,.14);
    }
    .floc-flow-step:not(:last-child)::after {
        right:auto;
        left:50%;
        top:auto;
        bottom:-10px;
        transform:translateX(-50%) rotate(90deg);
    }
    .floc-flow-step span { margin-bottom:18px; }
    .floc-flow-step strong { font-size:27px; }
    .floc-ecosystem-note { display:block; margin-top:24px; }
    .floc-ecosystem-note p { margin-top:9px; font-size:22px; }
}


/* Event format — editorial list */
.floc-format-section {
    background: #f7f7f4;
}

.floc-format-list {
    margin-top: 42px;
    border-top: 1px solid rgba(0, 74, 28, .18);
}

.floc-format-item {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 42px;
    align-items: center;
    gap: 28px;
    padding: 28px 0;
    border-bottom: 1px solid rgba(0, 74, 28, .18);
    transition: padding .25s ease, background .25s ease;
}

.floc-format-item:hover {
    padding-left: 16px;
    padding-right: 16px;
    background: #fff;
}

.floc-format-icon {
    color: #188d51;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.floc-format-item h3 {
    margin: 0 0 7px;
    color: #151515;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    line-height: 1.15;
}

.floc-format-item p {
    max-width: 760px;
    margin: 0;
    color: #5d625f;
    line-height: 1.65;
}

.floc-format-arrow {
    color: #188d51;
    font-size: 1.25rem;
    text-align: right;
}

@media (max-width: 767px) {
    .floc-format-list {
        margin-top: 28px;
    }

    .floc-format-item {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 14px;
        padding: 22px 0;
    }

    .floc-format-arrow {
        display: none;
    }

    .floc-format-item:hover {
        padding-left: 8px;
        padding-right: 8px;
    }

    .floc-format-item h3 {
        font-size: 1.25rem;
    }

    .floc-format-item p {
        font-size: .92rem;
        line-height: 1.55;
    }
}


/* FLOC visual system — icon markers, not numbered markers */
.floc-format-icon,
.floc-objective-icon,
.floc-section-icon,
.floc-card-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(24, 141, 81, .35);
    border-radius: 50%;
    background: rgba(40, 254, 142, .08);
    color: #188d51;
    font-size: 1rem;
    line-height: 1;
    font-weight: 700;
}

.floc-format-icon {
    align-self: start;
    margin-top: 2px;
}

.floc-objective-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
}

.floc-format-item:hover .floc-format-icon,
.floc-objective-item:hover .floc-objective-icon {
    background: #188d51;
    color: #fff;
    border-color: #188d51;
}

@media (max-width: 767px) {
    .floc-format-icon {
        width: 38px;
        height: 38px;
        flex-basis: 38px;
    }

    .floc-objective-icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }
}


/* FLOC icon language — meaningful inline SVG icons */
.floc-format-icon,
.floc-objective-icon,
.floc-section-icon,
.floc-card-icon {
    overflow: hidden;
}

.floc-format-icon svg,
.floc-objective-icon svg,
.floc-section-icon svg,
.floc-card-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-icon-education { color: #188d51; }
.floc-icon-industry { color: #d65d26; }
.floc-icon-conversation { color: #5c2e77; }
.floc-icon-network { color: #188d51; }
.floc-icon-action { color: #d65d26; }
.floc-icon-target { color: #188d51; }

.floc-format-item:hover .floc-format-icon,
.floc-objective-item:hover .floc-objective-icon {
    color: #fff;
}


/* Unified meaningful icon markers */
.floc-item-icon, .floc-situation-icon {
    display:inline-grid; place-items:center; width:42px; height:42px; flex:0 0 42px;
    border:1px solid rgba(24,141,81,.35); border-radius:50%; background:rgba(40,254,142,.08); color:#188d51;
}
.floc-item-icon svg, .floc-situation-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.floc-situation-card--closing .floc-situation-icon { color:#28fe8e; border-color:rgba(40,254,142,.45); background:rgba(40,254,142,.06); }
.floc-format-icon { align-self:flex-start; margin-top:2px; }
.floc-question-icon { color:#d65d26; }
.floc-discussion-icon { color:#188d51; }
.floc-speaker-icon, .floc-audience-icon { color:#5c2e77; }
.floc-impact-icon { color:#d65d26; }
.floc-feica-icon { color:#188d51; }
@media(max-width:520px){ .floc-item-icon,.floc-situation-icon{width:36px;height:36px;flex-basis:36px;} .floc-item-icon svg,.floc-situation-icon svg{width:17px;height:17px;} }


/* Additional icon layouts */
.floc-lever-icon { position:absolute; top:28px; left:28px; }
.floc-lever-card { position:relative; }
.floc-flow-icon { margin-bottom:18px; }
.floc-impact-grid article > .floc-item-icon, .floc-implementation-grid > div > .floc-item-icon { margin-bottom:18px; }
.floc-flow-step > .floc-flow-icon { display:inline-grid; place-items:center; width:40px; height:40px; border:1px solid rgba(255,255,255,.28); border-radius:50%; color:#28fe8e; }
.floc-flow-step > .floc-flow-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.floc-lever-icon { border-color:rgba(24,141,81,.3); }
.floc-lever-icon svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:780px){ .floc-lever-icon{top:24px;left:24px;} }

/* Critical Questions — editorial treatment */
.floc-section--questions {
    position: relative;
    overflow: hidden;
    background: #003d19;
    color: #fff;
}

.floc-section--questions::before {
    content: "?";
    position: absolute;
    right: 4%;
    top: -80px;
    font-family: Georgia, serif;
    font-size: clamp(260px, 32vw, 520px);
    line-height: 1;
    color: rgba(40,254,142,.035);
    pointer-events: none;
}

.floc-section--questions .floc-container {
    position: relative;
    z-index: 1;
}

.floc-section--questions .floc-section-intro {
    max-width: 760px;
    margin-bottom: 52px;
}

.floc-section--questions .floc-section-intro h2 {
    color: #fff;
    max-width: 700px;
    font-size: clamp(46px, 6vw, 82px);
    line-height: .94;
}

.floc-section--questions .floc-section-intro h2 em {
    color: #28fe8e;
}

.floc-questions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.floc-questions > div {
    position: relative;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 20px;
    align-items: start;
    min-height: 145px;
    padding: 28px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.045);
    transition: transform .25s ease, background .25s ease, border-color .25s ease;
}

.floc-questions > div:hover {
    transform: translateY(-3px);
    border-color: rgba(40,254,142,.45);
    background: rgba(40,254,142,.075);
}

.floc-questions .floc-question-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(40,254,142,.4);
    border-radius: 50%;
    color: #28fe8e;
}

.floc-questions .floc-question-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-questions p {
    margin: 2px 0 0;
    color: rgba(255,255,255,.9);
    font-family: Georgia, serif;
    font-size: clamp(18px, 1.65vw, 22px);
    line-height: 1.4;
}

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

@media (max-width: 680px) {
    .floc-section--questions .floc-section-intro {
        margin-bottom: 32px;
    }

    .floc-section--questions .floc-section-intro h2 {
        font-size: clamp(40px, 12vw, 58px);
    }

    .floc-questions > div {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
        min-height: 0;
        padding: 21px 18px;
    }

    .floc-questions .floc-question-icon {
        width: 36px;
        height: 36px;
    }

    .floc-questions p {
        font-size: 17px;
        line-height: 1.45;
    }
}


/* Key Discussion Areas — editorial two-column index */
.floc-discussion-section {
    background: #fff;
}

.floc-discussion-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 44px;
    border-top: 1px solid rgba(0, 74, 28, .16);
    border-left: 1px solid rgba(0, 74, 28, .16);
}

.floc-discussion-item {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    min-height: 148px;
    padding: 28px 30px;
    border-right: 1px solid rgba(0, 74, 28, .16);
    border-bottom: 1px solid rgba(0, 74, 28, .16);
    transition: background .25s ease, transform .25s ease;
}

.floc-discussion-item:hover {
    background: #f7f7f4;
}

.floc-discussion-item h3 {
    margin: 3px 0 0;
    color: #151515;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 1.65vw, 1.45rem);
    line-height: 1.25;
}

.floc-discussion-icon {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(24, 141, 81, .32);
    border-radius: 50%;
    background: rgba(40, 254, 142, .08);
    color: #188d51;
}

.floc-discussion-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-discussion-item--accent {
    background: #004a1c;
}

.floc-discussion-item--accent h3 {
    color: #fff;
}

.floc-discussion-item--accent .floc-discussion-icon {
    background: #28fe8e;
    border-color: #28fe8e;
    color: #004a1c;
}

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

@media (max-width: 767px) {
    .floc-discussion-list {
        margin-top: 28px;
    }

    .floc-discussion-item {
        grid-template-columns: 38px minmax(0, 1fr);
        min-height: 0;
        gap: 14px;
        padding: 22px 18px;
    }

    .floc-discussion-icon {
        width: 36px;
        height: 36px;
    }

    .floc-discussion-item h3 {
        font-size: 1.12rem;
        line-height: 1.3;
    }
}


/* Expected Outcomes — outcome-led editorial layout */
.floc-outcomes-section {
    background: #f7f7f4;
}

.floc-outcomes-layout {
    display: grid;
    grid-template-columns: minmax(260px, .78fr) minmax(0, 1.22fr);
    gap: clamp(44px, 7vw, 100px);
    align-items: start;
}

.floc-outcomes-lead {
    position: sticky;
    top: 120px;
}

.floc-outcomes-lead h2 {
    max-width: 480px;
}

.floc-outcomes-statement {
    max-width: 480px;
    margin: 22px 0 0;
    color: #5d625f;
    font-size: 1.05rem;
    line-height: 1.75;
}

.floc-outcomes-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid rgba(0, 74, 28, .16);
    border-left: 1px solid rgba(0, 74, 28, .16);
}

.floc-outcome-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 17px;
    align-items: start;
    min-height: 190px;
    padding: 28px;
    border-right: 1px solid rgba(0, 74, 28, .16);
    border-bottom: 1px solid rgba(0, 74, 28, .16);
    background: #fff;
}

.floc-outcome-item h3 {
    margin: 2px 0 9px;
    color: #151515;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.35rem;
    line-height: 1.2;
}

.floc-outcome-item p {
    margin: 0;
    color: #5d625f;
    font-size: .94rem;
    line-height: 1.65;
}

.floc-outcome-icon {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(24, 141, 81, .32);
    border-radius: 50%;
    background: rgba(40, 254, 142, .08);
    color: #188d51;
}

.floc-outcome-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-outcome-item--accent {
    background: #004a1c;
}

.floc-outcome-item--accent h3,
.floc-outcome-item--accent p {
    color: #fff;
}

.floc-outcome-item--accent .floc-outcome-icon {
    background: #28fe8e;
    border-color: #28fe8e;
    color: #004a1c;
}

@media (max-width: 900px) {
    .floc-outcomes-layout {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .floc-outcomes-lead {
        position: static;
    }
}

@media (max-width: 650px) {
    .floc-outcomes-grid {
        grid-template-columns: 1fr;
    }

    .floc-outcome-item {
        min-height: 0;
        padding: 22px 18px;
    }

    .floc-outcome-item h3 {
        font-size: 1.2rem;
    }

    .floc-outcome-item p {
        font-size: .92rem;
        line-height: 1.58;
    }
}


/* Proposed Speakers — image-led editorial cards */
.floc-speakers-section {
    background: #f7f7f4;
}

.floc-speaker-category {
    margin-top: 58px;
}

.floc-speaker-category + .floc-speaker-category {
    padding-top: 52px;
    border-top: 1px solid rgba(0, 74, 28, .14);
}

.floc-speaker-category-head {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
}

.floc-speaker-category-head h3 {
    margin: 0;
    color: #151515;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.45rem, 2.3vw, 2rem);
}

.floc-speaker-category-icon {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(24, 141, 81, .32);
    border-radius: 50%;
    background: rgba(40, 254, 142, .08);
    color: #188d51;
}

.floc-speaker-category-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-speaker-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.floc-speaker-grid--government {
    grid-template-columns: repeat(2, minmax(0, 280px));
}

.floc-speaker-grid--governors {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.floc-speaker-card {
    position: relative;
    overflow: hidden;
    min-width: 0;
    background: #003b18;
    color: #fff;
}

.floc-speaker-card img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.95);
    transition: transform .45s ease;
}

.floc-speaker-card::after {
    content: "";
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(to bottom, transparent, rgba(0, 28, 13, .95) 75%);
    pointer-events: none;
}

.floc-speaker-card > div {
    position: absolute;
    z-index: 2;
    right: 18px;
    bottom: 17px;
    left: 18px;
}

.floc-speaker-card h4 {
    margin: 0 0 4px;
    color: #28fe8e;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
    line-height: 1.05;
}

.floc-speaker-card p {
    margin: 0;
    color: rgba(255,255,255,.84);
    font-size: .76rem;
    line-height: 1.4;
}

.floc-speaker-card:hover img {
    transform: scale(1.035);
}

.floc-speaker-institution-list {
    max-width: 900px;
    margin-top: 18px;
    padding: 18px 20px;
    border-left: 3px solid #d65d26;
    background: #fff;
}

.floc-speaker-institution-list p {
    margin: 0;
    color: #5d625f;
    font-size: .9rem;
    line-height: 1.65;
}

@media (max-width: 1000px) {
    .floc-speaker-grid,
    .floc-speaker-grid--governors {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .floc-speaker-grid--government {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .floc-speaker-category {
        margin-top: 42px;
    }

    .floc-speaker-category + .floc-speaker-category {
        padding-top: 38px;
    }

    .floc-speaker-grid,
    .floc-speaker-grid--government,
    .floc-speaker-grid--governors {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .floc-speaker-card > div {
        right: 11px;
        bottom: 11px;
        left: 11px;
    }

    .floc-speaker-card h4 {
        font-size: .98rem;
    }

    .floc-speaker-card p {
        font-size: .66rem;
    }

    .floc-speaker-category-head h3 {
        font-size: 1.35rem;
    }
}

@media (max-width: 420px) {
    .floc-speaker-grid,
    .floc-speaker-grid--government,
    .floc-speaker-grid--governors {
        grid-template-columns: 1fr;
    }

    .floc-speaker-card img {
        aspect-ratio: 5 / 4;
        object-position: center 20%;
    }
}


/* Target Audience — people-first editorial section */
.floc-audience {
    overflow: hidden;
}

.floc-audience-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .65fr);
    gap: 60px;
    align-items: end;
}

.floc-audience-intro h2 {
    max-width: 700px;
    margin: 10px 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 6vw, 6rem);
    line-height: .95;
    letter-spacing: -.045em;
}

.floc-audience-intro h2 em {
    color: #28fe8e;
    font-style: normal;
}

.floc-audience-intro > p {
    max-width: 510px;
    margin: 0 0 6px;
    color: rgba(255,255,255,.78);
    font-size: 1rem;
    line-height: 1.75;
}

.floc-audience-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 58px 0 1px;
    background: rgba(255,255,255,.16);
}

.floc-audience-pillar {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 106px;
    padding: 20px 22px;
    background: #004a1c;
}

.floc-pillar-icon,
.floc-audience-icon {
    display: inline-grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(40,254,142,.35);
    border-radius: 50%;
    background: rgba(40,254,142,.08);
    color: #28fe8e;
}

.floc-pillar-icon svg,
.floc-audience-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-audience-pillar strong {
    display: block;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
}

.floc-audience-pillar span {
    display: block;
    margin-top: 3px;
    color: rgba(255,255,255,.55);
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .09em;
}

.floc-audience-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1px;
    background: rgba(255,255,255,.16);
}

.floc-audience-grid article {
    min-height: 220px;
    padding: 26px;
    background: #00501b;
}

.floc-audience-grid article:nth-child(even) {
    background: #00461a;
}

.floc-audience-grid h3 {
    margin: 22px 0 9px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.25rem;
    line-height: 1.18;
}

.floc-audience-grid p {
    margin: 0;
    color: rgba(255,255,255,.7);
    font-size: .88rem;
    line-height: 1.6;
}

.floc-audience-card--wide {
    grid-column: span 2;
}

@media (max-width: 1000px) {
    .floc-audience-intro {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .floc-audience-pillars {
        grid-template-columns: 1fr;
    }

    .floc-audience-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 650px) {
    .floc-audience-intro h2 {
        font-size: clamp(2.7rem, 13vw, 4.2rem);
    }

    .floc-audience-pillars {
        margin-top: 36px;
    }

    .floc-audience-pillar {
        min-height: 84px;
        padding: 16px;
    }

    .floc-audience-grid {
        grid-template-columns: 1fr;
    }

    .floc-audience-grid article,
    .floc-audience-card--wide {
        grid-column: auto;
        min-height: 0;
        padding: 22px 18px;
    }
}


/* FLOC Journey / Impact — image-led timeline */
.floc-impact-journey {
    background: #f7f7f4;
    overflow: hidden;
}

.floc-impact-journey-head {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(300px, .7fr);
    gap: 60px;
    align-items: end;
}

.floc-impact-journey-head h2 {
    margin: 8px 0 0;
}

.floc-impact-journey-head > p {
    max-width: 560px;
    margin: 0 0 5px;
    color: #5d625f;
    line-height: 1.75;
}

.floc-impact-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin: 52px 0 58px;
    background: rgba(0,74,28,.15);
}

.floc-impact-stat {
    display: grid;
    grid-template-columns: 42px 1fr;
    column-gap: 15px;
    align-items: center;
    min-height: 120px;
    padding: 22px 24px;
    background: #fff;
}

.floc-impact-stat-icon {
    grid-row: span 2;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(40,254,142,.12);
    border: 1px solid rgba(24,141,81,.3);
    color: #188d51;
}

.floc-impact-stat-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-impact-stat strong {
    color: #004a1c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.3vw, 3.2rem);
    line-height: .95;
}

.floc-impact-stat > span:last-child {
    color: #5d625f;
    font-size: .8rem;
    line-height: 1.4;
}

.floc-edition-timeline {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.floc-edition-card {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: #003b18;
}

.floc-edition-image {
    aspect-ratio: 1 / 1.02;
    overflow: hidden;
}

.floc-edition-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .5s ease;
}

.floc-edition-card:hover .floc-edition-image img {
    transform: scale(1.035);
}

.floc-edition-copy {
    min-height: 154px;
    padding: 20px 20px 22px;
}

.floc-edition-meta {
    color: #28fe8e;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.floc-edition-copy h3 {
    margin: 10px 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.15rem;
    line-height: 1.25;
}

.floc-edition-card--current {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100%;
    background: #004a1c;
    border: 1px solid rgba(40,254,142,.35);
}

.floc-edition-card--current .floc-edition-copy {
    min-height: 0;
}

.floc-edition-card--current .floc-edition-copy h3 {
    font-size: clamp(1.55rem, 2.2vw, 2rem);
}

.floc-edition-card--current .floc-edition-copy p {
    max-width: 250px;
    margin: 14px 0 0;
    color: rgba(255,255,255,.7);
    font-size: .88rem;
    line-height: 1.55;
}

.floc-edition-link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 20px 20px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,.16);
    color: #28fe8e !important;
    font-size: .8rem;
    font-weight: 800;
    text-decoration: none !important;
}

@media (max-width: 1050px) {
    .floc-edition-timeline {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .floc-edition-card--current {
        min-height: 330px;
    }
}

@media (max-width: 800px) {
    .floc-impact-journey-head {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .floc-impact-stats {
        grid-template-columns: 1fr;
        margin: 38px 0 42px;
    }
}

@media (max-width: 560px) {
    .floc-edition-timeline {
        grid-template-columns: 1fr;
    }

    .floc-edition-image {
        aspect-ratio: 16 / 10;
    }

    .floc-edition-copy {
        min-height: 0;
    }

    .floc-edition-card--current {
        min-height: 250px;
    }
}


/* Cross-Cutting Impact Themes — editorial legacy framework */
.floc-impact-themes {
    background: #fff;
}

.floc-impact-themes-head {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(300px, .65fr);
    gap: 60px;
    align-items: end;
}

.floc-impact-themes-head h2 {
    max-width: 720px;
    margin: 8px 0 0;
}

.floc-impact-themes-head > p {
    max-width: 540px;
    margin: 0 0 5px;
    color: #5d625f;
    line-height: 1.75;
}

.floc-impact-theme-list {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 1px;
    margin-top: 52px;
    background: rgba(0,74,28,.15);
}

.floc-impact-theme {
    grid-column: span 2;
    min-height: 255px;
    padding: 28px;
    background: #f7f7f4;
}

.floc-impact-theme:nth-child(4),
.floc-impact-theme:nth-child(5) {
    grid-column: span 3;
}

.floc-theme-icon {
    display: inline-grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(24,141,81,.32);
    border-radius: 50%;
    background: rgba(40,254,142,.1);
    color: #188d51;
}

.floc-theme-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.floc-impact-theme h3 {
    max-width: 330px;
    margin: 8px 0 11px;
    color: #151515;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    line-height: 1.12;
}

.floc-impact-theme p {
    max-width: 390px;
    margin: 0;
    color: #5d625f;
    font-size: .91rem;
    line-height: 1.65;
}

.floc-impact-theme--accent {
    background: #004a1c;
}

.floc-impact-theme--accent .floc-theme-icon {
    background: #28fe8e;
    border-color: #28fe8e;
    color: #004a1c;
}


.floc-impact-theme--accent h3 {
    color: #fff;
}

.floc-impact-theme--accent p {
    color: rgba(255,255,255,.74);
}

@media (max-width: 900px) {
    .floc-impact-themes-head {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .floc-impact-theme-list {
        grid-template-columns: repeat(2, 1fr);
    }

    .floc-impact-theme,
    .floc-impact-theme:nth-child(4),
    .floc-impact-theme:nth-child(5) {
        grid-column: span 1;
    }
}

@media (max-width: 600px) {
    .floc-impact-theme-list {
        grid-template-columns: 1fr;
        margin-top: 34px;
    }

    .floc-impact-theme,
    .floc-impact-theme:nth-child(4),
    .floc-impact-theme:nth-child(5) {
        min-height: 0;
        padding: 22px 18px;
        grid-column: auto;
    }
}


/* FEICA — the implementation bridge */
.floc-feica-section {
    background: #004a1c;
    color: #fff;
    overflow: hidden;
}

.floc-feica-hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
    gap: clamp(45px, 8vw, 120px);
    align-items: end;
}

.floc-feica-title h2 {
    max-width: 760px;
    margin: 9px 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 6vw, 6.1rem);
    line-height: .95;
    letter-spacing: -.045em;
}

.floc-feica-title h2 em {
    color: #28fe8e;
    font-style: normal;
}

.floc-feica-lead {
    max-width: 550px;
}

.floc-feica-lead p {
    margin: 0 0 15px;
    color: rgba(255,255,255,.78);
    font-size: 1rem;
    line-height: 1.75;
}

.floc-feica-lead p:last-child {
    margin-bottom: 0;
}

.floc-feica-bridge {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 22px;
    align-items: center;
    margin: 65px 0 1px;
    padding: 26px 28px;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(40,254,142,.26);
}


.floc-feica-bridge-icon,
.floc-feica-answer-icon,
.floc-feica-icon {
    position: relative;
    z-index: 1;
    display: inline-grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    border-radius: 50%;
    background: #28fe8e;
    color: #004a1c;
}

.floc-feica-bridge-icon svg,
.floc-feica-answer-icon svg,
.floc-feica-icon svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-feica-name {
    position: relative;
    z-index: 1;
    color: #28fe8e;
    font-size: clamp(1.1rem, 1.8vw, 1.5rem);
    font-weight: 800;
    line-height: 1.25;
}

.floc-feica-bridge p {
    position: relative;
    z-index: 1;
    max-width: 720px;
    margin: 6px 0 0;
    color: rgba(255,255,255,.7);
    line-height: 1.6;
}

.floc-feica-answer {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 30px 0 0;
    padding: 20px 0;
}

.floc-feica-answer-icon {
    background: transparent;
    border: 1px solid rgba(40,254,142,.5);
    color: #28fe8e;
}

.floc-feica-answer-label {
    display: block;
    color: rgba(255,255,255,.48);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.floc-feica-answer h3 {
    margin: 4px 0 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.5rem, 2.7vw, 2.35rem);
}

.floc-feica-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    margin-top: 26px;
    background: rgba(255,255,255,.13);
}

.floc-feica-grid article {
    min-height: 300px;
    padding: 28px;
    background: #00501b;
}

.floc-feica-grid article:nth-child(2) {
    background: #005a23;
}

.floc-feica-grid article:nth-child(3) {
    background: #003f18;
}

.floc-feica-grid h3 {
    margin: 24px 0 10px;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 1.55rem;
}

.floc-feica-grid p {
    margin: 0;
    color: rgba(255,255,255,.72);
    font-size: .9rem;
    line-height: 1.68;
}

@media (max-width: 900px) {
    .floc-feica-hero {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .floc-feica-grid {
        grid-template-columns: 1fr;
    }

    .floc-feica-grid article {
        min-height: 0;
    }
}

@media (max-width: 600px) {
    .floc-feica-title h2 {
        font-size: clamp(2.7rem, 13vw, 4.4rem);
    }

    .floc-feica-bridge {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 14px;
        margin-top: 40px;
        padding: 20px 17px;
    }

    .floc-feica-bridge-icon,
    .floc-feica-answer-icon,
    .floc-feica-icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .floc-feica-grid article {
        padding: 23px 18px;
    }

    .floc-feica-answer {
        align-items: flex-start;
    }
}


/* Ogun State — contextual, not repetitive */
.floc-ogun-section {
    background: #f7f7f4;
    overflow: hidden;
}

.floc-ogun-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr);
    gap: 1px;
    background: rgba(0,74,28,.16);
}

.floc-ogun-story {
    padding: clamp(42px, 6vw, 82px) clamp(28px, 5vw, 76px);
    background: #fff;
}

.floc-ogun-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 150px;
    align-items: center;
    gap: 28px;
}

.floc-ogun-title-row h2 {
    margin: 8px 0 20px;
    color: #004a1c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(4rem, 8vw, 8rem);
    line-height: .82;
    letter-spacing: -.055em;
}

.floc-ogun-story h2 em {
    display: block;
    color: #188d51;
    font-style: normal;
}

.floc-ogun-seal {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 150px;
}

.floc-ogun-seal img {
    display: block;
    width: min(150px, 100%);
    height: auto;
    object-fit: contain;
}

.floc-ogun-lead {
    max-width: 620px;
    margin: 0 0 28px;
    color: #151515;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.35;
}

.floc-ogun-copy {
    max-width: 680px;
    padding-top: 25px;
    border-top: 1px solid rgba(0,74,28,.15);
}

.floc-ogun-copy p {
    margin: 0 0 15px;
    color: #5d625f;
    line-height: 1.75;
}

.floc-ogun-copy p:last-child {
    margin-bottom: 0;
}

.floc-ogun-context {
    padding: clamp(34px, 5vw, 62px) clamp(25px, 4vw, 54px);
    background: #004a1c;
    color: #fff;
}

.floc-ogun-context-head {
    display: flex;
    align-items: center;
    gap: 16px;
}

.floc-ogun-icon,
.floc-ogun-bottom-icon {
    display: inline-grid;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 50%;
    background: #28fe8e;
    color: #004a1c;
}

.floc-ogun-icon svg,
.floc-ogun-bottom-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.floc-ogun-kicker {
    display: block;
    margin-bottom: 4px;
    color: #28fe8e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.floc-ogun-context h3 {
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 2.2rem;
}

.floc-ogun-sectors {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 40px 0 30px;
}

.floc-ogun-sectors span {
    padding: 9px 12px;
    border: 1px solid rgba(40,254,142,.28);
    border-radius: 25px;
    color: rgba(255,255,255,.9);
    font-size: .72rem;
}

.floc-ogun-context-copy {
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.15);
}

.floc-ogun-context-copy p {
    margin: 0 0 14px;
    color: rgba(255,255,255,.72);
    line-height: 1.7;
}

.floc-ogun-context-copy p:last-child {
    margin-bottom: 0;
}

.floc-ogun-bottom {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 1px;
    padding: 28px clamp(22px, 4vw, 48px);
    background: #00501b;
}

.floc-ogun-bottom-icon {
    background: transparent;
    border: 1px solid rgba(40,254,142,.55);
    color: #28fe8e;
}

.floc-ogun-bottom p {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.15rem, 2vw, 1.55rem);
    line-height: 1.35;
}

.floc-ogun-bottom strong {
    color: #28fe8e;
}

@media (max-width: 850px) {
    .floc-ogun-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .floc-ogun-story {
        padding: 42px 20px;
    }

    .floc-ogun-story h2 {
        font-size: clamp(4rem, 20vw, 6rem);
    }

    .floc-ogun-context {
        padding: 34px 20px;
    }

    .floc-ogun-bottom {
        align-items: flex-start;
        padding: 22px 20px;
    }
}


/* Partnership / sponsorship */
.floc-partnership {
    padding: 120px 0;
    background: var(--floc-purple);
    color: #fff;
    position: relative;
    overflow: hidden;
}
.floc-partnership::before {
    content: "";
    position: absolute;
    width: 620px;
    height: 620px;
    right: -330px;
    top: -270px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 50%;
    box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 160px rgba(255,255,255,.018);
}
.floc-partnership__grid {
    display: grid;
    grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr);
    gap: clamp(55px,8vw,120px);
    align-items: start;
    position: relative;
    z-index: 1;
}
.floc-partnership__intro { position: sticky; top: 120px; }
.floc-partnership__intro h2 {
    margin: 0;
    font-family: Georgia, serif;
    font-size: clamp(58px,7vw,96px);
    line-height: .9;
    letter-spacing: -.055em;
    font-weight: 400;
}
.floc-partnership__intro h2 em { color: var(--floc-green-bright); }
.floc-partnership__content { max-width: 760px; }
.floc-partnership__content > p {
    margin: 0 0 24px;
    color: rgba(255,255,255,.78);
    font-size: 17px;
    line-height: 1.8;
}
.floc-partnership__content .floc-partnership__lead {
    color: #fff;
    font-size: clamp(22px,2.2vw,29px);
    line-height: 1.42;
    letter-spacing: -.015em;
}
.floc-partnership__signals {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    border-top: 1px solid rgba(255,255,255,.16);
    border-bottom: 1px solid rgba(255,255,255,.16);
    margin: 46px 0 34px;
}
.floc-partnership__signals article {
    display: flex;
    gap: 16px;
    padding: 27px 22px 27px 0;
    border-right: 1px solid rgba(255,255,255,.12);
}
.floc-partnership__signals article + article { padding-left: 22px; }
.floc-partnership__signals article:last-child { border-right: 0; }
.floc-partnership__icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(40,254,142,.45);
    border-radius: 50%;
    color: var(--floc-green-bright);
}
.floc-partnership__icon svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.floc-partnership__signals h3 { margin: 2px 0 7px; color: #fff; font-size: 16px; line-height: 1.25; }
.floc-partnership__signals p { margin: 0; color: rgba(255,255,255,.62); font-size: 13px; line-height: 1.55; }
.floc-partnership__close { padding-top: 5px; }
.floc-partnership__close > p { max-width: 650px; margin: 0 0 26px; color: rgba(255,255,255,.88); font-size: 17px; line-height: 1.7; }
.floc-partnership__close .floc-actions { justify-content: flex-start; }

@media (max-width: 980px) {
    .floc-partnership { padding: 95px 0; }
    .floc-partnership__grid { grid-template-columns: 1fr; gap: 45px; }
    .floc-partnership__intro { position: static; }
}
@media (max-width: 760px) {
    .floc-partnership { padding: 75px 0; }
    .floc-partnership__intro h2 { font-size: clamp(55px,16vw,78px); }
    .floc-partnership__signals { grid-template-columns: 1fr; }
    .floc-partnership__signals article,
    .floc-partnership__signals article + article { padding: 22px 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
    .floc-partnership__signals article:last-child { border-bottom: 0; }
    .floc-partnership__close .floc-actions { flex-direction: column; align-items: stretch; }
    .floc-partnership__close .floc-button { width: 100%; }
}

/* About FLOC */
.floc-about-principles{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--floc-border);margin-top:48px;border:1px solid var(--floc-border)}
.floc-about-principle{background:#fff;padding:38px 34px;min-height:250px}
.floc-about-principle h3{font-size:1.3rem;margin:24px 0 12px}
.floc-about-principle p{margin:0;color:var(--floc-muted);line-height:1.75}
.floc-about-identity{background:var(--floc-green);color:#fff}
.floc-about-identity-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;align-items:center}
.floc-about-identity-copy h2{font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.02;margin:16px 0 28px;max-width:760px}
.floc-about-identity-copy p:not(.floc-label){color:rgba(255,255,255,.78);max-width:650px;line-height:1.8}
.floc-about-identity-panel{background:#fff;color:var(--floc-ink);padding:46px;border-radius:var(--floc-radius);box-shadow:0 20px 60px rgba(0,0,0,.14)}
.floc-about-panel-label{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--floc-green);font-weight:700;margin-bottom:22px}
.floc-about-identity-panel strong{display:block;font-family:var(--floc-display);font-size:2rem;line-height:1.1;margin-bottom:14px}
.floc-about-identity-panel p{color:var(--floc-muted);line-height:1.7;margin:0 0 28px}
.floc-button--light{background:var(--floc-green);color:#fff}
.floc-about-years{border-top:1px solid var(--floc-border);margin-top:36px}
.floc-about-years>div{display:grid;grid-template-columns:120px 1fr;gap:30px;padding:25px 0;border-bottom:1px solid var(--floc-border);align-items:center}
.floc-about-years strong{font-family:var(--floc-display);font-size:2rem;color:var(--floc-green)}
.floc-about-years span{font-size:1.05rem;line-height:1.5}
.floc-about-years-current{background:var(--floc-green);color:#fff;padding-left:24px!important;padding-right:24px!important}
.floc-about-years-current strong{color:#fff}
.floc-actions--center{justify-content:center;margin-top:36px}

/* Speakers page */
.floc-speakers-page-intro { padding-bottom: 34px; }
.floc-section-heading--split { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.8fr); gap:70px; align-items:end; }
.floc-section-intro-wrap { max-width:560px; }
.floc-speaker-directory { padding-top:35px; }
.floc-speaker-directory .floc-speaker-category { margin-bottom:76px; }
.floc-speaker-directory .floc-speaker-category:last-child { margin-bottom:0; }
.floc-speaker-card > div span { display:block; margin-bottom:7px; font-size:10px; line-height:1; text-transform:uppercase; letter-spacing:.13em; color:var(--floc-grey); }
.floc-speaker-card h4 { margin-bottom:0; }
.floc-section--soft { background:#f5f2ee; }
.floc-button--dark { background:var(--floc-green); color:#fff; }
.floc-button--outline-dark { border-color:var(--floc-green); color:var(--floc-green); }
.floc-button--outline-dark:hover { background:var(--floc-green); color:#fff; }

@media (max-width: 900px) {
    .floc-section-heading--split { grid-template-columns:1fr; gap:24px; align-items:start; }
}

/* FLOC 2026 — Partnership & Sponsorship page */
.floc-partnership-hero { background:linear-gradient(125deg,#003D18,#005520 58%,#5C2E77); }
.floc-partner-intro-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:end; }
.floc-partner-intro h2,.floc-partner-implementation h2 { margin:0; max-width:700px; font-family:var(--floc-serif); font-size:clamp(45px,5.5vw,76px); line-height:.96; font-weight:400; letter-spacing:-.055em; }
.floc-partner-intro h2 em,.floc-partner-implementation h2 em { color:var(--floc-orange); font-style:normal; }
.floc-partner-paths { background:#f5f7f4; }
.floc-partner-path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:70px; background:var(--floc-border); }
.floc-partner-path-card { min-height:370px; padding:34px; background:#fff; transition:transform var(--floc-transition),box-shadow var(--floc-transition); }
.floc-partner-path-card:hover { transform:translateY(-5px); box-shadow:var(--floc-shadow); position:relative; z-index:2; }
.floc-partner-icon { width:48px; height:48px; display:grid; place-items:center; margin-bottom:70px; border:1px solid var(--floc-border); color:var(--floc-green); }
.floc-partner-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.floc-partner-path-card h3 { margin:8px 0 15px; font-family:var(--floc-serif); font-size:32px; line-height:1; font-weight:400; letter-spacing:-.025em; }
.floc-partner-path-card > p:last-child { margin:0; max-width:420px; color:var(--floc-grey); font-size:14px; line-height:1.7; }
.floc-partner-ecosystem { background:#fff; }
.floc-partner-audience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:38px; background:var(--floc-border); }
.floc-partner-audience-grid > div { min-height:130px; padding:24px; background:#f8faf8; }
.floc-partner-audience-grid strong { display:block; margin-bottom:8px; font-family:var(--floc-serif); font-size:22px; font-weight:400; color:var(--floc-black); }
.floc-partner-audience-grid span { display:block; color:var(--floc-grey); font-size:13px; line-height:1.5; }
.floc-partner-implementation { background:var(--floc-green-deep); color:#fff; }
.floc-partner-implementation-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; align-items:start; }
.floc-partner-implementation .floc-eyebrow { color:var(--floc-green-bright); }
.floc-partner-implementation .floc-copy--light { color:rgba(255,255,255,.76); }
.floc-feica-points { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:42px; background:rgba(255,255,255,.14); }
.floc-feica-points > div { min-height:210px; padding:25px; background:rgba(0,0,0,.08); }
.floc-feica-points span { display:block; margin-bottom:35px; color:var(--floc-green-bright); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.floc-feica-points p { margin:0; color:rgba(255,255,255,.72); font-size:13px; line-height:1.65; }
.floc-partner-sector-list { display:grid; grid-template-columns:repeat(6,1fr); margin-top:55px; border-top:1px solid var(--floc-border); border-bottom:1px solid var(--floc-border); }
.floc-partner-sector-list span { padding:25px 18px; border-right:1px solid var(--floc-border); color:var(--floc-green-deep); font-size:13px; font-weight:700; text-align:center; }
.floc-partner-sector-list span:last-child { border-right:0; }
.floc-partner-statement { max-width:950px; margin:55px 0 0; font-family:var(--floc-serif); font-size:clamp(25px,3vw,40px); line-height:1.12; letter-spacing:-.03em; color:var(--floc-green-deep); }
.floc-final-cta-copy { max-width:650px; margin:0 auto 30px; color:rgba(255,255,255,.7); font-size:17px; line-height:1.65; }
@media(max-width:1050px){
 .floc-partner-intro-grid,.floc-partner-implementation-grid{grid-template-columns:1fr;gap:45px}
 .floc-partner-path-grid{grid-template-columns:1fr 1fr}
 .floc-partner-path-card:last-child{grid-column:1/-1}
 .floc-feica-points{grid-template-columns:1fr}
 .floc-partner-sector-list{grid-template-columns:repeat(3,1fr)}
 .floc-partner-sector-list span:nth-child(3){border-right:0}
 .floc-partner-sector-list span:nth-child(n+4){border-top:1px solid var(--floc-border)}
}
@media(max-width:780px){
 .floc-partner-intro-grid,.floc-partner-implementation-grid{gap:32px}
 .floc-partner-path-grid{grid-template-columns:1fr}
 .floc-partner-path-card,.floc-partner-path-card:last-child{grid-column:auto;min-height:0;padding:28px}
 .floc-partner-icon{margin-bottom:45px}
 .floc-partner-audience-grid{grid-template-columns:1fr}
 .floc-partner-audience-grid > div{min-height:0}
 .floc-partner-sector-list{grid-template-columns:1fr 1fr}
 .floc-partner-sector-list span{border-right:1px solid var(--floc-border)!important;border-top:1px solid var(--floc-border)}
 .floc-partner-sector-list span:nth-child(-n+2){border-top:0}
 .floc-partner-sector-list span:nth-child(even){border-right:0!important}
 .floc-partner-statement{margin-top:38px;font-size:25px}
 .floc-final-cta-copy{font-size:15px}
}

/* ==========================================================
   CONTACT PAGE
========================================================== */
.floc-contact-event{background:var(--floc-cream,#f5f0e8)}
.floc-contact-theme{font-size:clamp(20px,2vw,28px);line-height:1.35;max-width:720px}
.floc-contact-event-card{display:grid;gap:0;border-top:1px solid rgba(12,42,31,.18)}
.floc-contact-event-item{display:flex;gap:18px;align-items:flex-start;padding:25px 0;border-bottom:1px solid rgba(12,42,31,.18)}
.floc-contact-event-item small{display:block;font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:5px;color:var(--floc-green,#174c39)}
.floc-contact-event-item strong{display:block;font-size:18px;line-height:1.4}
.floc-contact-icon,.floc-contact-action-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.floc-contact-icon{width:42px;height:42px;border:1px solid rgba(12,42,31,.22);border-radius:50%}
.floc-contact-icon svg,.floc-contact-action-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.floc-contact-actions{background:#fff}
.floc-contact-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:50px}
.floc-contact-action-card{padding:34px;border:1px solid rgba(12,42,31,.13);background:#fff;min-height:330px;display:flex;flex-direction:column;align-items:flex-start}
.floc-contact-action-icon{width:50px;height:50px;background:var(--floc-green,#174c39);color:#fff;border-radius:50%;margin-bottom:30px}
.floc-contact-action-card h3{font-size:25px;margin:4px 0 13px}
.floc-contact-action-card p:not(.floc-eyebrow){color:rgba(20,32,27,.72);line-height:1.7}
.floc-contact-action-card .floc-eyebrow{margin:0}
.floc-text-link{margin-top:auto;padding-top:28px;color:var(--floc-green,#174c39);font-weight:700;text-decoration:none}
.floc-text-link span{display:inline-block;margin-left:8px;transition:transform .2s ease}
.floc-text-link:hover span{transform:translateX(4px)}
.floc-contact-principle{background:var(--floc-green,#174c39)}
.floc-contact-principle h2{color:#fff}
.floc-contact-principle .floc-copy--light p{color:rgba(255,255,255,.78)}
.floc-contact-faq{background:var(--floc-soft,#f8f8f5)}
.floc-contact-links{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(12,42,31,.18);margin-top:45px}
.floc-contact-links a{padding:25px 0;border-bottom:1px solid rgba(12,42,31,.18);text-decoration:none;color:inherit;display:flex;justify-content:space-between;gap:20px;align-items:center}
.floc-contact-links a:nth-child(odd){padding-right:35px;border-right:1px solid rgba(12,42,31,.18)}
.floc-contact-links a:nth-child(even){padding-left:35px}
.floc-contact-links span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--floc-green,#174c39);font-weight:700}
.floc-contact-links strong{font-size:17px;font-weight:600}
.floc-contact-links b{font-weight:400;margin-left:10px}
@media(max-width:900px){.floc-contact-action-grid{grid-template-columns:1fr 1fr}.floc-contact-action-card{min-height:300px}.floc-contact-links{grid-template-columns:1fr}.floc-contact-links a:nth-child(odd){padding-right:0;border-right:0}.floc-contact-links a:nth-child(even){padding-left:0}}
@media(max-width:640px){.floc-contact-action-grid{grid-template-columns:1fr}.floc-contact-action-card{min-height:0;padding:28px}.floc-contact-links a{align-items:flex-start;flex-direction:column;gap:8px}.floc-contact-event-item{padding:20px 0}}

/* FLOC 2026 — FAQ page */
.floc-faq-intro { background:#f7f7f4; }
.floc-faq-section { background:#fff; }
.floc-faq-list { max-width:980px; margin:55px auto 0; border-top:1px solid var(--floc-border); }
.floc-faq-list details { border-bottom:1px solid var(--floc-border); }
.floc-faq-list summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:1fr 42px; gap:25px; align-items:center; padding:27px 0; color:var(--floc-black); font-family:var(--floc-serif); font-size:clamp(21px,2.2vw,30px); line-height:1.15; letter-spacing:-.02em; }
.floc-faq-list summary::-webkit-details-marker { display:none; }
.floc-faq-list summary b { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--floc-border); color:var(--floc-green); font-family:Arial,sans-serif; font-size:22px; font-weight:400; line-height:1; transition:transform var(--floc-transition), background var(--floc-transition), color var(--floc-transition); }
.floc-faq-list details[open] summary b { transform:rotate(45deg); background:var(--floc-green); color:#fff; }
.floc-faq-answer { max-width:820px; padding:0 70px 30px 0; color:var(--floc-grey); font-size:15px; line-height:1.75; }
.floc-faq-answer p { margin:0 0 15px; }
.floc-faq-answer p:last-child { margin-bottom:0; }
.floc-faq-answer strong { color:var(--floc-black); }
.floc-faq-answer ul { margin:10px 0 0 20px; padding:0; display:grid; gap:7px; }
.floc-faq-answer-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.floc-faq-action h2 { max-width:720px; }
.floc-faq-action h2 em { color:var(--floc-orange); }
.floc-text-link--light { color:#fff; }
@media(max-width:780px){
    .floc-faq-list { margin-top:38px; }
    .floc-faq-list summary { grid-template-columns:1fr 36px; gap:15px; padding:22px 0; font-size:21px; }
    .floc-faq-list summary b { width:34px; height:34px; }
    .floc-faq-answer { padding:0 0 25px; font-size:14px; }
    .floc-faq-answer-actions { display:grid; }
    .floc-faq-answer-actions .floc-button { width:100%; }
}
