.iac-foodsafe-section{
    position:relative;
    padding:48px 0;
    background:var(--ls-bg, #f6f8fc);
    overflow:hidden;
}

.iac-foodsafe-section::before,
.iac-foodsafe-section::after{
    content:"";
    position:absolute;
    border-radius:999px;
    pointer-events:none;
    z-index:0;
    filter:blur(10px);
}

.iac-foodsafe-section::before{
    width:280px;
    height:280px;
    top:-70px;
    right:-80px;
    background:radial-gradient(circle, rgba(0,64,151,.12) 0%, rgba(0,64,151,0) 70%);
}

.iac-foodsafe-section::after{
    width:240px;
    height:240px;
    bottom:-80px;
    left:-60px;
    background:radial-gradient(circle, rgba(10,94,211,.08) 0%, rgba(10,94,211,0) 70%);
}

.iac-foodsafe-shell{
    max-width:1280px;
    margin:0 auto;
    padding:0 18px;
    position:relative;
    z-index:2;
}

.iac-foodsafe-head{
    max-width:900px;
    margin:0 auto 28px;
    text-align:center;
}

.iac-foodsafe-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-radius:999px;
    background:rgba(255,255,255,.86);
    border:1px solid var(--ls-border, #dbe4f0);
    box-shadow:0 8px 20px rgba(15,23,42,.05);
    color:var(--ls-primary, #004097);
    font-size:14px;
    font-weight:700;
    margin-bottom:14px;
}

.iac-foodsafe-badge__icon,
.iac-foodsafe-card__icon,
.iac-foodsafe-sectionhead__icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.iac-foodsafe-badge__icon svg,
.iac-foodsafe-card__icon svg,
.iac-foodsafe-sectionhead__icon svg{
    width:20px;
    height:20px;
    display:block;
}

.iac-foodsafe-title{
    margin:0 0 12px;
    color:var(--ls-ink, #0f172a);
    font-size:clamp(30px, 4vw, 46px);
    line-height:1.14;
    letter-spacing:-0.02em;
    font-weight:800;
}

.iac-foodsafe-subtitle{
    margin:0 0 12px;
    color:var(--ls-muted, #64748b);
    font-size:16px;
    line-height:1.85;
}

.iac-foodsafe-intro{
    color:var(--ls-text, #1e293b);
    font-size:16px;
    line-height:1.8;
}

.iac-foodsafe-content p:last-child{
    margin-bottom:0;
}

.iac-foodsafe-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:20px;
    margin-bottom:24px;
}

.iac-foodsafe-card{
    position:relative;
    padding:40px;
    border-radius:26px;
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.98) 100%);
    border:1px solid var(--ls-border, #dbe4f0);
    box-shadow:0 14px 36px rgba(15,23,42,.07);
    transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
    overflow:hidden;
}

.iac-foodsafe-card::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(135deg, rgba(0,64,151,.06), rgba(10,94,211,.05));
    opacity:0;
    transition:opacity .35s ease;
    pointer-events:none;
}

.iac-foodsafe-card:hover{
    transform:translateY(-8px);
    box-shadow:0 24px 54px rgba(15,23,42,.12);
    border-color:rgba(0,64,151,.20);
}

.iac-foodsafe-card:hover::before{
    opacity:1;
}

.iac-foodsafe-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
    position:relative;
    z-index:2;
}

.iac-foodsafe-card__icon{
    width:58px;
    height:58px;
    border-radius:18px;
    background:linear-gradient(135deg, rgba(0,64,151,.10), rgba(10,94,211,.12));
    color:var(--ls-primary, #004097);
}

.iac-foodsafe-card__title{
    margin:0 0 10px;
    color:var(--ls-ink, #0f172a);
    font-size:24px;
    line-height:1.3;
    font-weight:800;
    position:relative;
    z-index:2;
}

.iac-foodsafe-card__desc{
    color:var(--ls-text, #1e293b);
    font-size:15px;
    line-height:1.8;
    position:relative;
    z-index:2;
}

.iac-foodsafe-gallery-wrap{
    margin-bottom:24px;
    padding:24px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(248,251,255,.98) 100%);
    border:1px solid var(--ls-border, #dbe4f0);
    box-shadow:0 14px 36px rgba(15,23,42,.07);
}

.iac-foodsafe-sectionhead{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:18px;
}

.iac-foodsafe-sectionhead h3{
    margin:0;
    font-size:24px;
    line-height:1.3;
    color:var(--ls-ink, #0f172a);
    font-weight:800;
}

.iac-foodsafe-sectionhead__icon{
    width:44px;
    height:44px;
    border-radius:14px;
    background:linear-gradient(135deg, rgba(0,64,151,.10), rgba(10,94,211,.12));
    color:var(--ls-primary, #004097);
}

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

.iac-foodsafe-gallery__item{
    position:relative;
    display:block;
    width:100%;
    border:none;
    padding:0;
    background:#dfe8f5;
    border-radius:22px;
    overflow:hidden;
    aspect-ratio:4/3;
    cursor:pointer;
    box-shadow:0 10px 24px rgba(15,23,42,.06);
}

.iac-foodsafe-gallery__item img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    transition:transform .65s ease, filter .4s ease;
}

.iac-foodsafe-gallery__overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-end;
    justify-content:flex-start;
    padding:18px;
    background:linear-gradient(to top, rgba(15,23,42,.48), rgba(15,23,42,.08), rgba(15,23,42,0));
    color:#fff;
    font-size:13px;
    font-weight:800;
    opacity:0;
    transition:opacity .35s ease;
}

.iac-foodsafe-gallery__item:hover img{
    transform:scale(1.08);
    filter:saturate(1.06);
}

.iac-foodsafe-gallery__item:hover .iac-foodsafe-gallery__overlay{
    opacity:1;
}

.iac-foodsafe-cta{
    display:grid;
    grid-template-columns:minmax(0, 1.5fr) auto;
    gap:18px;
    align-items:center;
    padding:26px;
    border-radius:28px;
    background:linear-gradient(135deg, #004097 0%, #0a5ed3 100%);
    color:#fff;
    box-shadow:0 18px 42px rgba(0,64,151,.22);
}

.iac-foodsafe-cta__title{
    margin:0 0 10px;
    font-size:clamp(24px, 3vw, 34px);
    line-height:1.2;
    font-weight:800;
    color:#fff;
}

.iac-foodsafe-cta__desc{
    font-size:15px;
    line-height:1.8;
    color:rgba(255,255,255,.88);
}

.iac-foodsafe-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:54px;
    padding:12px 22px;
    border-radius:16px;
    background:#fff;
    color:#004097;
    text-decoration:none;
    font-weight:800;
    box-shadow:0 10px 24px rgba(0,0,0,.12);
    transition:transform .25s ease, box-shadow .25s ease;
}

.iac-foodsafe-btn:hover{
    transform:translateY(-3px);
    box-shadow:0 18px 32px rgba(0,0,0,.16);
}

.iac-foodsafe-lightbox{
    position:fixed;
    inset:0;
    z-index:99999;
    background:rgba(7,15,30,.9);
    opacity:0;
    visibility:hidden;
    transition:opacity .25s ease, visibility .25s ease;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.iac-foodsafe-lightbox.is-open{
    opacity:1;
    visibility:visible;
}

.iac-foodsafe-lightbox__stage{
    max-width:min(1120px, calc(100vw - 80px));
    max-height:calc(100vh - 80px);
}

.iac-foodsafe-lightbox__stage img{
    max-width:100%;
    max-height:calc(100vh - 80px);
    display:block;
    border-radius:20px;
    box-shadow:0 28px 60px rgba(0,0,0,.35);
}

.iac-foodsafe-lightbox__close{
    position:absolute;
    top:18px;
    right:18px;
    width:52px;
    height:52px;
    border:none;
    border-radius:50%;
    background:rgba(255,255,255,.14);
    color:#fff;
    font-size:28px;
    cursor:pointer;
    backdrop-filter:blur(10px);
}

.js-iac-foodsafe-anim{
    opacity:0;
    transform:translateY(28px) scale(.98);
    transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1);
}

.js-iac-foodsafe-anim.iac-foodsafe-inview{
    opacity:1;
    transform:translateY(0) scale(1);
}

@media (max-width: 991px){
    .iac-foodsafe-grid{
        grid-template-columns:1fr;
    }

    .iac-foodsafe-gallery{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .iac-foodsafe-cta{
        grid-template-columns:1fr;
    }
}

@media (max-width: 767px){
	.iac-foodsafe-section ul {
		padding-left: 30px;
	}
    .iac-foodsafe-section{
        padding:34px 0;
    }
	.iac-foodsafe-cta__title {
		font-size: 20px;
	}
    .iac-foodsafe-shell{
        padding:0 14px;
    }

    .iac-foodsafe-title{
        font-size:22px;
    }

    .iac-foodsafe-subtitle,
    .iac-foodsafe-intro,
    .iac-foodsafe-content,
    .iac-foodsafe-content p,
    .iac-foodsafe-content li{
        font-size:15px;
        line-height:1.75;
    }

    .iac-foodsafe-card,
    .iac-foodsafe-gallery-wrap,
    .iac-foodsafe-cta{
        border-radius:22px;
    }

    .iac-foodsafe-card,
    .iac-foodsafe-gallery-wrap,
    .iac-foodsafe-cta{
        padding:18px;
    }

    .iac-foodsafe-card__title,
    .iac-foodsafe-sectionhead h3{
        font-size:18px;
    }

    .iac-foodsafe-gallery{
        grid-template-columns:1fr;
        gap:12px;
    }

    .iac-foodsafe-gallery__item{
        border-radius:18px;
    }

    .iac-foodsafe-btn{
        width:100%;
    }

    .iac-foodsafe-lightbox{
        padding:14px;
    }

    .iac-foodsafe-lightbox__stage{
        max-width:calc(100vw - 28px);
    }

    .iac-foodsafe-lightbox__stage img{
        max-height:calc(100vh - 120px);
        border-radius:16px;
    }

    .iac-foodsafe-lightbox__close{
        top:10px;
        right:10px;
        width:44px;
        height:44px;
        font-size:24px;
    }
}
.iac-foodsafe-accordion{
    display:grid;
    gap:20px;
}

.iac-foodsafe-acc-item{
    padding:0;
    overflow:hidden;
}

.iac-foodsafe-card__toggle{
    width:100%;
    border:none;
    background:transparent;
    padding:24px;
    text-align:left;
    cursor:pointer;
    display:block;
}

.iac-foodsafe-card__left{
    display:flex;
    align-items:center;
    gap:16px;
    min-width:0;
    flex:1;
}

.iac-foodsafe-card__headtext{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:8px;
}

.iac-foodsafe-card__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    margin-bottom:0;
    position:relative;
    z-index:2;
}

.iac-foodsafe-card__title{
    margin:0;
    color:var(--ls-ink, #0f172a);
    font-size:24px;
    line-height:1.3;
    font-weight:800;
}

.iac-foodsafe-card__num{
    display:inline-flex;
    align-items:center;
    width:max-content;
    font-size:13px;
    font-weight:800;
    color:var(--ls-primary, #004097);
    background:rgba(0,64,151,.08);
    border:1px solid rgba(0,64,151,.10);
    border-radius:999px;
    padding:7px 12px;
}

.iac-foodsafe-card__arrow{
    width:42px;
    min-width:42px;
    height:42px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(0,64,151,.08);
    color:var(--ls-primary, #004097);
    transition:transform .3s ease, background .3s ease;
}

.iac-foodsafe-card__arrow svg{
    width:20px;
    height:20px;
    display:block;
}

.iac-foodsafe-card__content{
    display:grid;
    grid-template-rows:0fr;
    transition:grid-template-rows .38s ease;
}

.iac-foodsafe-card__content > *{
    overflow:hidden;
}

.iac-foodsafe-card__desc{
	padding: 0 40px 40px 40px;
    opacity:0;
    transform:translateY(-6px);
    transition:opacity .28s ease, transform .28s ease;
}

.iac-foodsafe-acc-item.is-open .iac-foodsafe-card__content{
    grid-template-rows:1fr;
}

.iac-foodsafe-acc-item.is-open .iac-foodsafe-card__desc{
    opacity:1;
    transform:translateY(0);
}

.iac-foodsafe-acc-item.is-open .iac-foodsafe-card__arrow{
    transform:rotate(180deg);
    background:rgba(0,64,151,.12);
}

.iac-foodsafe-card__toggle:focus{
    outline:none;
}

.iac-foodsafe-card__toggle:focus-visible{
    box-shadow:0 0 0 3px var(--ls-ring, rgba(0,64,151,.22));
    border-radius:20px;
}

@media (max-width:767px){
    .iac-foodsafe-card__toggle{
        padding:18px;
    }

    .iac-foodsafe-card__desc{
        padding:0 18px 18px 18px;
    }

    .iac-foodsafe-card__title{
        font-size: 18px;
    }

    .iac-foodsafe-card__arrow{
        width:38px;
        min-width:38px;
        height:38px;
    }
}