/* =============================================================
   2026 대구정원박람회 - main.css (메인페이지 전용)
   레퍼런스 스크롤형 비주얼 + Garden Green 섹션
   ============================================================= */

/* =========================================================
   SECTION: VISUAL HERO (scroll-driven clip-path)
   ========================================================= */
/* 가로 슬라이드 핀: 섹션 100vh, GSAP가 pin + 트랙을 좌로 이동 */
.sc-visual{position:relative;z-index:1;background:#0b1e12;height:100vh;overflow:hidden}
.vis-sticky{position:relative;height:100vh;overflow:hidden}
.vis-track{display:flex;height:100%;width:max-content;will-change:transform}
/* 풀스크린 패널 (각 100vw) */
.vis-panel{position:relative;flex:0 0 100vw;width:100vw;height:100vh;overflow:hidden}
.vis-pimg{position:absolute;inset:0;overflow:hidden}
.vis-pimg img{width:100%;height:100%;object-fit:cover;will-change:transform}
.vis-pimg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,24,14,.72) 0%,rgba(8,24,14,.4) 45%,rgba(8,24,14,.12) 100%)}
.vis-pcontent{position:absolute;inset:0;z-index:2;display:flex}
@media(max-width:1023.98px){.vis-pcontent{padding:6.8rem 1.6rem 5.5rem}}
@media(min-width:1024px){.vis-pcontent{padding:8rem}}
/* 인디케이터 */
.vis-indi{position:absolute;z-index:3;bottom:3rem;right:8rem;display:flex;align-items:center;gap:14px;color:#fff;font-family:var(--font-display)}
@media(max-width:1023.98px){.vis-indi{right:1.6rem;bottom:1.6rem}}
.vis-indi .cur{font-size:1.6rem;font-weight:700}
.vis-indi .tot{font-size:1rem;opacity:.6}
.vis-indi .line{width:60px;height:2px;background:rgba(255,255,255,.3);position:relative;overflow:hidden}
.vis-indi .line i{position:absolute;left:0;top:0;height:100%;width:0;background:var(--color-leaf);transition:width .15s linear}
.visual-panel{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:1.4rem;max-width:58rem}
.visual-eyebrow{font-family:var(--font-display);font-weight:700;letter-spacing:.24em;color:var(--color-leaf);text-transform:uppercase}
@media(max-width:1023.98px){.visual-eyebrow{font-size:.8rem}}
@media(min-width:1024px){.visual-eyebrow{font-size:1.05rem}}
.visual-en{color:#fff;font-family:var(--font-display);font-weight:700;text-transform:capitalize;line-height:.96}
@media(max-width:1023.98px){.visual-en{font-size:2.8rem;letter-spacing:-.12rem}}
@media(min-width:1024px){.visual-en{font-size:6.4rem;letter-spacing:-.3rem}}
.visual-ko{color:rgba(255,255,255,.92);font-weight:500;line-height:1.6}
@media(max-width:1023.98px){.visual-ko{font-size:.95rem;max-width:24rem}}
@media(min-width:1024px){.visual-ko{font-size:1.5rem;max-width:40rem}}
.visual-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:.6rem}
.visual-meta span{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);color:#fff;font-size:.95rem;font-weight:500}
.visual-meta span .ico{color:var(--color-leaf)}

/* 진행 인디케이터 */
.visual-dots{position:absolute;z-index:3;right:8rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px}
@media(max-width:1023.98px){.visual-dots{right:1.4rem;gap:9px}}
.visual-dots span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);transition:all .4s}
.visual-dots span.on{background:var(--color-leaf);height:26px;border-radius:999px}

.btn-scroll-next{z-index:2;position:absolute;display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;font-family:var(--font-display);font-size:.72rem;letter-spacing:.18em}
@media(max-width:1023.98px){.btn-scroll-next{bottom:1.4rem;left:50%;transform:translateX(-50%)}}
@media(min-width:1024px){.btn-scroll-next{bottom:3rem;left:8rem}}
.btn-scroll-next .mouse{width:24px;height:38px;border:2px solid rgba(255,255,255,.7);border-radius:14px;position:relative}
.btn-scroll-next .mouse::after{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:8px;border-radius:2px;background:#fff;animation:scrollWheel 1.6s infinite}
@keyframes scrollWheel{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}100%{opacity:0}}


/* =========================================================
   SECTION COMMON
   ========================================================= */
.sc{position:relative;z-index:10;padding:var(--section-py) 0;background:#fff}
.sc--paper{background:var(--color-bg-paper)}
.sc__inner{max-width:var(--container-max);margin:0 auto;padding:0 24px}
.sc-head{margin-bottom:54px}
.sc-head--center{text-align:center}
.sc-eyebrow{display:inline-block;font-family:var(--font-display);font-weight:700;font-size:.95rem;letter-spacing:.2em;color:var(--color-primary);text-transform:uppercase;margin-bottom:14px}
.sc-title{font-size:2.6rem;font-weight:800;color:var(--color-text);letter-spacing:-.03em;line-height:1.2}
@media(max-width:767.98px){.sc-title{font-size:1.8rem}}
.sc-lead{margin-top:18px;font-size:1.08rem;color:var(--color-text-sub);line-height:1.8;max-width:680px}
.sc-head--center .sc-lead{margin-inline:auto}
.sc-head--row{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}


/* =========================================================
   SECTION: ABOUT / INTRO + D-DAY 카운트
   ========================================================= */
.sc-about{overflow:hidden}
.about-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center}
@media(max-width:991.98px){.about-grid{grid-template-columns:1fr;gap:40px}}
.about-visual{position:relative;border-radius:var(--radius-card);overflow:hidden;aspect-ratio:5/4;box-shadow:var(--shadow-card)}
.about-visual img{width:100%;height:100%;object-fit:cover}
.about-visual__badge{position:absolute;left:24px;bottom:24px;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:18px;padding:16px 22px}
.about-visual__badge .dday{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-primary);line-height:1}
.about-visual__badge .lbl{font-size:.82rem;color:var(--color-text-sub);margin-top:4px}
.about-keywords{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 28px}
.about-keywords span{padding:7px 16px;border-radius:999px;background:var(--color-primary-light);color:var(--color-primary);font-size:.88rem;font-weight:600}
.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.about-stat{padding:22px;border-radius:18px;background:var(--color-bg-paper);border:1px solid var(--color-border)}
.about-stat .num{font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--color-primary-dark)}
.about-stat .num small{font-size:1rem}
.about-stat .lbl{margin-top:6px;font-size:.88rem;color:var(--color-text-sub)}


/* =========================================================
   SECTION: EXHIBIT (정원전시) - 확장 아코디언 카드
   ========================================================= */
.sc-exhibit{background:var(--color-forest);color:#fff}
.sc-exhibit .sc-title{color:#fff}
.sc-exhibit .sc-lead{color:rgba(255,255,255,.7)}
.exhibit-list{display:flex;gap:6px;width:100%;height:30rem}
@media(max-width:991.98px){.exhibit-list{flex-direction:column;height:auto}}
.exhibit-card{position:relative;flex:1 1 0%;overflow:hidden;border-radius:18px;transition:flex .55s cubic-bezier(.33,1,.68,1);min-height:140px}
.exhibit-card:hover{flex:2.6 1 0%}
@media(max-width:991.98px){.exhibit-card{flex:none;height:160px}.exhibit-card:hover{flex:none}}
.exhibit-card__bg{position:absolute;inset:0}
.exhibit-card__bg img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.exhibit-card:hover .exhibit-card__bg img{transform:scale(1.06)}
.exhibit-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,24,14,.05),rgba(8,24,14,.78))}
.exhibit-card__info{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;padding:26px}
.exhibit-card__no{font-family:var(--font-display);font-size:.85rem;color:var(--color-leaf);font-weight:700}
.exhibit-card__title{font-size:1.5rem;font-weight:700;margin-top:8px;white-space:nowrap}
.exhibit-card__desc{margin-top:12px;font-size:.95rem;color:rgba(255,255,255,.78);line-height:1.6;max-width:30rem;opacity:0;max-height:0;transition:all .5s}
.exhibit-card:hover .exhibit-card__desc{opacity:1;max-height:120px}
@media(max-width:991.98px){.exhibit-card__desc{opacity:1;max-height:none}}


/* =========================================================
   SECTION: PROGRAM / INFO 카드 (3~4열)
   ========================================================= */
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
@media(max-width:991.98px){.info-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){.info-grid{grid-template-columns:1fr}}
.info-card{display:block;padding:34px 28px;border-radius:var(--radius-card);background:#fff;border:1px solid var(--color-border);transition:all .4s cubic-bezier(.22,1,.36,1)}
.info-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);border-color:transparent}
.info-card__ico{width:58px;height:58px;border-radius:16px;background:var(--color-primary-light);display:flex;align-items:center;justify-content:center;color:var(--color-primary);margin-bottom:22px}
.info-card__ico svg{width:30px;height:30px}
.info-card__title{font-size:1.25rem;font-weight:700;color:var(--color-text)}
.info-card__desc{margin-top:12px;font-size:.95rem;color:var(--color-text-sub);line-height:1.65}
.info-card__more{margin-top:18px;display:inline-flex;align-items:center;gap:6px;font-size:.88rem;font-weight:600;color:var(--color-primary);transition:gap .3s}
.info-card:hover .info-card__more{gap:12px}


/* =========================================================
   SECTION: NOTICE (공지) + 일정
   ========================================================= */
.notice-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:48px}
@media(max-width:991.98px){.notice-wrap{grid-template-columns:1fr;gap:36px}}
.notice-list li{border-top:1px solid var(--color-border)}
.notice-list li:last-child{border-bottom:1px solid var(--color-border)}
.notice-list a{display:flex;align-items:center;gap:18px;padding:22px 4px;transition:padding .3s}
.notice-list a:hover{padding-left:14px}
.notice-list .cat{flex:0 0 auto;font-size:.78rem;font-weight:600;color:var(--color-primary);padding:5px 12px;border-radius:999px;background:var(--color-primary-light)}
.notice-list .tit{flex:1;font-size:1.05rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-list a:hover .tit{color:var(--color-primary)}
.notice-list .date{flex:0 0 auto;font-family:var(--font-display);font-size:.85rem;color:var(--color-text-muted)}
.dday-board{border-radius:var(--radius-card);background:var(--color-primary-dark);color:#fff;padding:38px 34px;background-image:radial-gradient(circle at 100% 0%,rgba(123,182,97,.35),transparent 55%)}
.dday-board .lbl{font-family:var(--font-display);letter-spacing:.2em;font-size:.85rem;color:var(--color-leaf)}
.dday-board .big{font-family:var(--font-display);font-size:4.4rem;font-weight:700;line-height:1;margin:10px 0 6px}
.dday-board .period{font-size:1.05rem;color:rgba(255,255,255,.85)}
.dday-board .place{margin-top:6px;font-size:.95rem;color:rgba(255,255,255,.65)}
.dday-board .btn-pill{margin-top:26px}


/* =========================================================
   SECTION: GALLERY 슬라이더
   ========================================================= */
.gallery-slider{overflow:visible;position:relative}
.gallery-card{display:block}
.gallery-card__thumb{overflow:hidden;border-radius:18px;aspect-ratio:4/3;margin-bottom:16px}
.gallery-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.gallery-card:hover .gallery-card__thumb img{transform:scale(1.07)}
.gallery-card__cat{display:inline-block;font-size:.78rem;font-weight:600;color:var(--color-primary);margin-bottom:8px}
.gallery-card__title{font-size:1.08rem;font-weight:600;color:var(--color-text);line-height:1.5}
.gallery-card:hover .gallery-card__title{color:var(--color-primary)}
.gallery-card__date{margin-top:8px;font-size:.8rem;color:var(--color-text-muted);font-family:var(--font-display)}
.slider-nav{display:flex;gap:8px;justify-content:center;margin-top:36px}
.slider-nav button{width:46px;height:46px;border-radius:50%;border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-text-sub);transition:all .3s}
.slider-nav button:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff}


/* =========================================================
   SECTION: PARTNERS 마퀴
   ========================================================= */
.sc-partners{padding:64px 0;background:#fff;border-top:1px solid var(--color-border)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:60px;width:max-content;animation:marquee 28s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--color-text-muted);white-space:nowrap;transition:color .3s}
.marquee__track span:hover{color:var(--color-primary)}
@keyframes marquee{to{transform:translateX(-50%)}}


/* =========================================================
   HERO — 등장 모션 강화 (한화 hanwha.co.kr 스타일: 정제된 마스크/페이드업)
   활성 패널에서만 순차 등장, 비활성 시 초기화되어 재진입 시 재생
   공통 이징: cubic-bezier(.19,1,.22,1) (expo-out, 우아하게 감속)
   ========================================================= */
/* 활성 이미지 밝게 포커스(비활성은 어둡게) */
.vis-pimg::after{transition:opacity .9s cubic-bezier(.19,1,.22,1)}
.vis-panel:not(.is-active) .vis-pimg::after{opacity:1}
.vis-panel.is-active .vis-pimg::after{opacity:.7}

/* 콘텐츠 앞 액센트 라인 (0 → 64px 로 그려짐) */
.vis-pcontent .visual-panel::before{content:"";display:block;width:0;height:3px;border-radius:2px;background:var(--color-leaf);margin-bottom:1.6rem;transition:width .9s cubic-bezier(.19,1,.22,1)}
.vis-panel.is-active .vis-pcontent .visual-panel::before{width:64px;transition-delay:.08s}

/* 아이브로 */
.vis-panel .visual-eyebrow{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1)}
.vis-panel.is-active .visual-eyebrow{opacity:1;transform:none;transition-delay:.16s}

/* 큰 타이틀: 마스크 아래에서 한 줄씩 솟아오름 (더 길고 우아하게) */
.visual-en .tline{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.08em}
.visual-en .tline > span{display:block;transform:translateY(120%);transition:transform 1.15s cubic-bezier(.19,1,.22,1)}
.vis-panel.is-active .visual-en .tline > span{transform:translateY(0)}
.vis-panel.is-active .visual-en .tline:nth-child(1) > span{transition-delay:.26s}
.vis-panel.is-active .visual-en .tline:nth-child(2) > span{transition-delay:.40s}

/* 본문: 페이드업 */
.vis-panel .visual-ko{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.19,1,.22,1),transform .9s cubic-bezier(.19,1,.22,1)}
.vis-panel.is-active .visual-ko{opacity:1;transform:none;transition-delay:.6s}

/* 메타: 항목별 stagger */
.vis-panel .visual-meta span{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.19,1,.22,1),transform .8s cubic-bezier(.19,1,.22,1)}
.vis-panel.is-active .visual-meta span:nth-child(1){opacity:1;transform:none;transition-delay:.74s}
.vis-panel.is-active .visual-meta span:nth-child(2){opacity:1;transform:none;transition-delay:.84s}

.visual-dots span{cursor:pointer}

/* =========================================================
   PHASE 2 — 관람안내 FAQ / 이용정보
   ========================================================= */
.visit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:48px}
@media(max-width:991.98px){.visit-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:575.98px){.visit-grid{grid-template-columns:1fr}}
.visit-card{padding:28px 24px;border-radius:18px;background:#fff;border:1px solid var(--color-border);text-align:center}
.visit-card .ico{width:52px;height:52px;border-radius:14px;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.visit-card .ico svg{width:26px;height:26px}
.visit-card .lbl{font-size:.85rem;color:var(--color-text-muted)}
.visit-card .val{font-size:1.2rem;font-weight:700;color:var(--color-text);margin-top:6px;line-height:1.4}
.visit-card .val small{display:block;font-size:.82rem;font-weight:400;color:var(--color-text-sub);margin-top:4px}

.faq-list{max-width:880px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--color-border)}
.faq-q{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:24px 4px;font-size:1.1rem;font-weight:600;color:var(--color-text)}
.faq-q .qmark{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--color-primary-light);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700}
.faq-q .qtxt{flex:1}
.faq-q .arw{flex:0 0 auto;transition:transform .35s}
.faq-item.open .faq-q .arw{transform:rotate(180deg)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a__inner{overflow:hidden}
.faq-a p{padding:0 4px 24px 58px;font-size:1rem;color:var(--color-text-sub);line-height:1.8}
@media(max-width:575.98px){.faq-a p{padding-left:4px}}


/* ============================================================
   OCEANEASE형 가로 풀페이지 슬라이드 덱 (메인)
   ============================================================ */
body.page-fp{overflow:hidden}
body.page-fp .to-top{display:none!important}

/* wrapper: 화면 고정 + 넘침 숨김 */
.fp{position:fixed;inset:0;overflow:hidden;background:#0b1e12;z-index:1}
/* 트랙: 가로 정렬 + 부드러운 이동 */
.fp-track{display:flex;height:100%;width:100%;transition:transform .7s ease-in-out;will-change:transform}
/* 슬라이드: 100vw × 100vh */
.fp-slide{position:relative;flex:0 0 100vw;width:100vw;height:100vh;overflow:hidden}
.fp-bg{position:absolute;inset:0;z-index:0}
/* 밝고 산뜻 + 자연스러운 웜톤 그레이딩 + 슬로우 줌 */
.fp-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 14s ease-out;
    filter:saturate(1.07) contrast(1.05) brightness(1.06) sepia(.06)}
.fp-slide.is-active .fp-bg img{transform:scale(1.13)}
/* 자연스러운 웜톤 그레이드 (soft-light, 은은) */
.fp-slide::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:soft-light;
    background:linear-gradient(160deg,rgba(255,225,178,.24) 0%,rgba(150,100,55,.16) 100%)}
/* 은은한 햇살 블룸 (screen, 우상단 광원 + 아주 느린 호흡) */
.fp-slide::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;
    background:radial-gradient(46% 42% at 82% 6%,rgba(255,242,212,.26) 0%,rgba(255,236,190,.1) 34%,transparent 62%);
    animation:fpSun 14s ease-in-out infinite alternate}
@keyframes fpSun{from{opacity:.62}to{opacity:.85}}
@media(prefers-reduced-motion:reduce){.fp-slide::after{animation:none}}
/* 고급 그라데이션 — 딥 포레스트 그린 틴트 · 다단계 부드러운 전환 · 상/하단 시네마틱 프레임
   (텍스트/프레임 영역에만, 나머지는 완전 투명 → 밝게 유지) */
.fp-bg::after{content:"";position:absolute;inset:0;z-index:2;background:
    linear-gradient(95deg,rgba(6,22,14,.88) 0%,rgba(6,22,14,.68) 22%,rgba(6,22,14,.42) 42%,rgba(6,22,14,.18) 58%,rgba(6,22,14,0) 72%),
    linear-gradient(180deg,rgba(6,22,14,.42) 0%,rgba(6,22,14,0) 18%,rgba(6,22,14,0) 70%,rgba(6,22,14,.46) 100%)}
.fp-slide.align-center .fp-bg::after{background:
    radial-gradient(68% 70% at 50% 50%,rgba(6,22,14,.82) 0%,rgba(6,22,14,.6) 34%,rgba(6,22,14,.28) 60%,rgba(6,22,14,0) 82%),
    linear-gradient(180deg,rgba(6,22,14,.42) 0%,rgba(6,22,14,0) 16%,rgba(6,22,14,0) 66%,rgba(6,22,14,.52) 100%)}
.fp-slide.align-right .fp-bg::after{background:
    linear-gradient(265deg,rgba(6,22,14,.82) 0%,rgba(6,22,14,.6) 22%,rgba(6,22,14,.34) 42%,rgba(6,22,14,.12) 58%,rgba(6,22,14,0) 70%),
    linear-gradient(180deg,rgba(6,22,14,.38) 0%,rgba(6,22,14,0) 18%,rgba(6,22,14,0) 72%,rgba(6,22,14,.4) 100%)}

/* 콘텐츠 영역 */
.fp-inner{position:absolute;inset:0;z-index:2;display:flex;align-items:center;padding:0 8vw}
@media(max-width:767.98px){.fp-inner{padding:0 1.6rem}}
.fp-content{position:relative;z-index:1;max-width:60rem;color:#fff}
.fp-slide.align-center .fp-inner{justify-content:center;text-align:center}
.fp-slide.align-center .fp-content{margin-inline:auto}
.fp-slide.align-right .fp-inner{justify-content:flex-end;text-align:right}

/* 콘텐츠 등장 (활성 슬라이드에서 순차) */
/* soyo형 — 느리고 긴 우아한 등장 (1.4~1.6s, 큰 딜레이) */
.fp-content > *{opacity:0;transform:translateY(26px);transition:opacity 1.5s cubic-bezier(.19,1,.22,1),transform 1.5s cubic-bezier(.19,1,.22,1)}
.fp-slide.is-active .fp-content > *{opacity:1;transform:none}
.fp-slide.is-active .fp-content > *:nth-child(1){transition-delay:.5s}
.fp-slide.is-active .fp-content > *:nth-child(2){transition-delay:.75s}
.fp-slide.is-active .fp-content > *:nth-child(3){transition-delay:1s}
.fp-slide.is-active .fp-content > *:nth-child(4){transition-delay:1.2s}
.fp-slide.is-active .fp-content > *:nth-child(5){transition-delay:1.4s}

/* soyo-hannam 톤: Jost 영문 · 가벼운 weight · 넓은 자간 */
.fp-eyebrow{display:inline-block;font-family:var(--font-display);font-weight:400;font-size:1.05rem;letter-spacing:.4em;color:#fff;text-transform:uppercase;margin-bottom:2rem;opacity:.92;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.fp-eyebrow::before{content:"";display:inline-block;width:30px;height:1px;background:rgba(255,255,255,.7);vertical-align:middle;margin-right:16px;margin-bottom:5px}
.fp-slide.align-center .fp-eyebrow::before{display:none}
.fp-title{font-weight:600;color:#fff;line-height:1.16;letter-spacing:-.01em;margin-bottom:2rem;text-shadow:0 2px 30px rgba(0,0,0,.55),0 1px 4px rgba(0,0,0,.45)}
@media(min-width:1024px){.fp-title{font-size:4.6rem}}
@media(max-width:1023.98px){.fp-title{font-size:2.6rem}}
.fp-desc{font-size:1.2rem;line-height:1.75;color:rgba(255,255,255,.92);max-width:42rem;text-shadow:0 1px 18px rgba(0,0,0,.6),0 1px 2px rgba(0,0,0,.4)}
/* PC 전용 줄바꿈 (태블릿/모바일에서는 자연 줄바꿈) */
.br-pc{display:inline}
@media(max-width:991.98px){.br-pc{display:none}}
@media(max-width:767.98px){.fp-desc{font-size:1rem}}
.fp-slide.align-center .fp-desc{margin-inline:auto}
.fp-slide.align-right .fp-content .fp-desc{margin-left:auto}

.fp-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:2rem}
.fp-slide.align-center .fp-meta{justify-content:center}
.fp-meta span{display:inline-flex;align-items:center;padding:11px 22px;border-radius:999px;background:rgba(255,255,255,.13);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);font-size:1rem;font-weight:500}

.fp-info{display:flex;flex-wrap:wrap;gap:14px;margin-top:2rem;justify-content:center}
.fp-info__item{min-width:150px;padding:20px 26px;border-radius:16px;background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);text-align:center}
.fp-info__item .lbl{display:block;font-size:.85rem;color:var(--color-leaf);font-weight:600;margin-bottom:8px}
.fp-info__item .val{display:block;font-size:1.35rem;font-weight:700;font-family:var(--font-display)}

/* ── 첫 슬라이드 : 좌측 인트로 문구 + 우측 행사개요 카드 (2단) ── */
.fp-slide.is-overview .fp-inner{justify-content:space-between;align-items:center;gap:5vw}
@media(max-width:991.98px){.fp-slide.is-overview .fp-inner{flex-direction:column;justify-content:center;gap:36px}}
/* 좌측 인트로(이미지 위 화이트 텍스트) — 양측 살짝 어둡게 */
.fp-slide.is-overview .fp-bg::after{background:
    linear-gradient(90deg,rgba(6,22,14,.72) 0%,rgba(6,22,14,.34) 30%,rgba(6,22,14,.12) 50%,rgba(6,22,14,.42) 100%),
    linear-gradient(180deg,rgba(6,22,14,.34) 0%,rgba(6,22,14,0) 18%,rgba(6,22,14,0) 74%,rgba(6,22,14,.4) 100%)}
.fp-lead{position:relative;flex:1 1 auto;max-width:34rem;color:#fff;align-self:center;margin:0}
/* 타이틀 우상단 — 흰색 선이 연필로 그리듯: 글자에서 줄기 → 잎 → 꽃잎 순으로 그려짐 (그리고 지우기 반복) */
/* 'u' 끝에 0 크기 마커로 삽입 → 글자 간격에 영향 없음. 꽃은 마커 기준 절대 배치 */
.fp-lead__draw{display:none;position:relative;width:0;height:0;vertical-align:baseline;pointer-events:none}
.fp-lead__draw svg{position:absolute;left:calc(.12em + var(--fx,0em));bottom:calc(-.12em + var(--fy,0em));
    height:calc(1.7em * var(--fs,1));width:auto;aspect-ratio:120/188;
    overflow:visible;transform:rotate(var(--fr,0deg));transform-origin:bottom center;
    filter:drop-shadow(0 2px 8px rgba(0,0,0,.35))}
.fp-lead__draw path,.fp-lead__draw circle{fill:none;stroke:#fff;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;
    stroke-dasharray:300;stroke-dashoffset:300}
/* 첫 슬라이드가 활성화될 때마다 줄기→잎→꽃잎 순으로 다시 그려짐 */
.fp-slide.is-active .fp-lead__draw .stem{animation:penDraw .9s ease .3s forwards}
.fp-slide.is-active .fp-lead__draw .leaf{animation:penDraw .9s ease .9s forwards}
.fp-slide.is-active .fp-lead__draw .bloom path{animation:penDraw .9s ease forwards;animation-delay:calc(1.3s + var(--i,0) * .07s)}
.fp-slide.is-active .fp-lead__draw .disk{animation:penDraw .9s ease 2.25s forwards}
.fp-slide.is-active .fp-lead__draw .core{animation:penDraw .9s ease 2.45s forwards}
@keyframes penDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.fp-lead__draw path,.fp-lead__draw circle{animation:none;stroke-dashoffset:0}}
.fp-lead__txt{display:none;font-size:clamp(1.05rem,1.5vw,1.35rem);font-weight:300;line-height:1.7;
    color:rgba(255,255,255,.92);margin-bottom:1.4rem;word-break:keep-all;text-shadow:0 1px 14px rgba(0,0,0,.5)}
/* BFC txtSplit 형: 대형 볼드 영문 + 글자 단위 등장 */
/* 굵고 강렬한 영문 타이틀 — Montserrat 대문자 + 넓은 자간 + 그림자 */
.fp-lead .fp-title{font-family:'Poppins',var(--font-display);font-weight:700;text-transform:none;
    letter-spacing:-.025em;font-size:4.8rem;line-height:1.04;color:#fff;
    text-shadow:0 2px 26px rgba(0,0,0,.5),0 1px 3px rgba(0,0,0,.4);opacity:1;transform:none}
@media(max-width:991.98px){.fp-lead .fp-title{font-size:3rem}}
@media(max-width:575.98px){.fp-lead .fp-title{font-size:2.2rem}}
@media(max-width:991.98px){.fp-lead{display:none}
    .fp-slide.is-overview .fp-inner{flex-direction:column;justify-content:center;align-items:center;padding:calc(var(--header-h) + 18px) 1.4rem 3.2rem}}
/* 글자별 무작위 등장 — 각 글자가 랜덤 타이밍(--d)으로 부드럽게 페이드인+제자리 정착 */
.fp-lead .fp-title .wd{display:inline-block;white-space:nowrap}
/* "2026"(첫 단어)만 얇게, 나머지(Daegu Garden Show)는 굵게 */
.fp-lead .fp-title .wd:first-child{font-weight:300}
.fp-lead .fp-title .ch{display:inline-block;opacity:0;transform:translateX(-.55em);will-change:opacity,transform}
.fp-slide.is-active .fp-lead .fp-title .ch{animation:fpCharRand 1.25s cubic-bezier(.22,1,.36,1) both;
    animation-delay:var(--d, 0s)}
@keyframes fpCharRand{from{opacity:0;transform:translateX(-.55em)}to{opacity:1;transform:none}}
/* 인트로 문구는 한 번에 페이드업 */
.fp-slide.is-active .fp-lead__txt{animation:leadUp 1s cubic-bezier(.19,1,.22,1) .35s both}
@keyframes leadUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
/* 우측 행사개요 카드 — 우측에서 부드럽게 밀려 들어오며 등장 */
.fp-ovw{flex:0 0 auto;width:min(44rem,52%);max-width:44rem;padding:clamp(34px,3.4vw,54px);
    background:rgba(255,255,255,.95);color:var(--color-text);
    border-radius:26px;box-shadow:0 40px 100px rgba(0,0,0,.42)}
/* PC: 카드를 조금 더 아래로 */
@media(min-width:992px){.fp-slide.is-overview .fp-ovw{margin-top:clamp(50px,6vh,140px)}}
@media(max-width:991.98px){.fp-ovw{width:100%;max-width:42rem}}
/* 카드 내부 요소는 정적(카드 전체가 슬라이드인) */
.fp-ovw > *{opacity:1;transform:none;transition:none}
.fp-slide.is-overview .fp-ovw{opacity:0;transform:translateX(64px);will-change:opacity,transform}
.fp-slide.is-active.is-overview .fp-ovw{animation:ovwIn 1.2s cubic-bezier(.22,1,.36,1) .35s both}
@keyframes ovwIn{from{opacity:0;transform:translateX(64px)}to{opacity:1;transform:none}}
.fp-ovw__eyebrow{font-family:var(--font-display);font-weight:600;font-size:.82rem;letter-spacing:.3em;
    text-transform:uppercase;color:var(--color-primary)}
.fp-ovw__title{font-size:clamp(2rem,3vw,2.5rem);font-weight:700;letter-spacing:-.02em;color:var(--color-text);
    margin:14px 0 26px;text-shadow:none}
/* 행사개요 메인 리스트 — 크게 */
.fp-ovw__list{display:block;margin:0 0 0rem}
.fp-ovw__list > div{display:flex;align-items:baseline;gap:22px;padding:16px 2px;border-top:1px solid var(--color-border)}
.fp-ovw__list dt{flex:0 0 86px;color:var(--color-primary);font-weight:700;font-size:1.08rem}
.fp-ovw__list dd{margin:0;font-size:1.22rem;font-weight:600;color:var(--color-text);line-height:1.45;letter-spacing:-.01em}
@media(max-width:767.98px){.fp-ovw__list dd{font-size:1.05rem}}
.fp-ovw__list dd em{font-style:normal;font-weight:500;color:var(--color-secondary)}
.fp-ovw__list dd span{display:block;margin-top:3px;font-size:.86rem;font-weight:400;color:var(--color-text-muted)}
/* 주최 · 행사대행 — 작게 */
.fp-ovw__foot{margin-top:0px;padding-top:18px;border-top:1px solid var(--color-border);
    font-size:.8rem;line-height:1.85;color:var(--color-text-sub)}
.fp-ovw__foot p{margin:0}
.fp-ovw__foot b{color:var(--color-text);font-weight:700;margin-right:4px}
.fp-ovw__foot .en{letter-spacing:.06em}
@media(max-width:767.98px){.fp-ovw{max-width:none;padding:26px 22px;border-radius:18px}.fp-ovw__list dt{flex-basis:64px}}

.fp-cta{display:inline-flex;align-items:center;gap:10px;margin-top:2.4rem;height:56px;padding:0 32px;border-radius:999px;background:var(--color-primary);color:#fff;font-size:1.05rem;font-weight:600;transition:all .35s cubic-bezier(.22,1,.36,1)}
.fp-cta:hover{background:#fff;color:var(--color-primary-dark);gap:16px}
.fp-cta svg{transition:transform .35s}
.fp-cta:hover svg{transform:translateX(3px)}

.fp-foot{display:none;margin-top:2.4rem;font-size:.92rem;color:rgba(255,255,255,.7);line-height:1.9}
.fp-foot p{margin-bottom:0rem}
.fp-foot b{color:#fff}
.fp-foot .copy{font-size:.82rem;color:rgba(255,255,255,.45);margin-top:6px}

/* 인덱스 (현재/전체) */
.fp-index{position:absolute;left:8vw;bottom:3rem;z-index:6;display:flex;align-items:center;gap:12px;color:#fff;font-family:var(--font-display);font-weight:700}
@media(max-width:767.98px){.fp-index{left:1.6rem;bottom:1.6rem}}
.fp-index #fpCur{font-size:1.5rem}
.fp-index .bar{width:48px;height:1px;background:rgba(255,255,255,.4)}
.fp-index .tot{font-size:.9rem;opacity:.55}

/* 닷 네비 (우측 세로) */
.fp-dots{position:absolute;right:3rem;top:50%;transform:translateY(-50%);z-index:6;display:flex;flex-direction:column;gap:18px}
@media(max-width:767.98px){.fp-dots{right:1rem;gap:12px}}
.fp-dot{position:relative;width:10px;height:10px;display:flex;align-items:center;justify-content:center}
.fp-dot::after{content:"";width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4);transition:all .35s}
.fp-dot.on::after{background:var(--color-leaf);transform:scale(1.5)}
.fp-dot:hover::after{background:#fff}
.fp-dot__lbl{display:none !important}

/* 진행 힌트 */
/* soyo형 — 바닥 중앙의 가느다란 세로 스크롤 라인 (흰 채움이 흘러내림) */
/* 가로 슬라이드 방향 힌트 (좌→우 진행 바) */
.fp-hint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:6;display:flex;flex-direction:row;align-items:center;gap:14px;color:#fff}
@media(max-width:767.98px){.fp-hint{display:none}}
.fp-hint__txt{font-family:var(--font-display);font-size:.66rem;letter-spacing:.35em;opacity:.7}
.fp-hint__arrow{display:flex;align-items:center;color:#fff}
.fp-hint__arrow svg{display:block;animation:fpArrow 1.7s ease-in-out infinite}
@keyframes fpArrow{0%,100%{transform:translateX(0);opacity:.55}50%{transform:translateX(7px);opacity:1}}

/* 모바일 세로 전환 (가로 슬라이드는 좁은 화면에서 부담 → 세로 스택 스냅 느낌 유지) */
@media(max-width:767.98px){
  .fp-title{margin-bottom:1.2rem}
}
