/* ============================================================
   꼬마숲(littleforest) 테마 — 실서비스 디자인 시스템
   (Pretendard/Jua/Gaegu 자체호스팅 + forest·cream 팔레트)
   ============================================================ */
@font-face{font-family:'Jua';src:url('../fonts/jua-korean-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gaegu';src:url('../fonts/gaegu-korean-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Gaegu';src:url('../fonts/gaegu-korean-700-normal.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Pretendard';src:url('../fonts/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Pretendard';src:url('../fonts/Pretendard-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Pretendard';src:url('../fonts/Pretendard-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
:root{
  --g:#79c153; --g-d:#3f8a43; --g-dd:#2f5e34; --g-l:#eef7e2; --g-ll:#f7fbef;
  --y:#ffc94d; --o:#ff9a3d; --o-d:#f47b20;
  --ink:#4a4236; --gray:#7a7264; --line:#ece4d3; --bg:#fdfbf3; --cream-2:#f6f0e0;
  --r:22px; --r-lg:32px;
  --sh:0 14px 34px rgba(90,74,45,.12); --sh-sm:0 6px 16px rgba(90,74,45,.08);
  --font-body:'Pretendard',system-ui,-apple-system,sans-serif;
  --font-head:'Jua',system-ui,sans-serif;
  --font-hand:'Gaegu',cursive;
  /* 시안(index.html) 팔레트 — 섹션 CSS 이식용 */
  --forest-900:#2f5e34; --forest-700:#3f8a43; --forest-500:#79c153; --forest-300:#a8db7d; --leaf-100:#eef7e2;
  --cream:#fdfbf3; --paper:#fff; --ink-soft:#7a7264;
  --sky:#7ec9e6; --sky-soft:#d9f0f7; --sun:#ffc94d; --sun-soft:#fff2cf; --berry:#ff92ac; --berry-soft:#ffe1e8; --grape:#b79be0;
  --r-sm:14px; --r-md:22px; --r-xl:44px;
  --shadow-sm:0 6px 16px rgba(90,74,45,.08); --shadow-md:0 14px 34px rgba(90,74,45,.12); --shadow-lg:0 26px 60px rgba(76,105,50,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.65;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--font-head);font-weight:400;letter-spacing:-.01em}
.lf-container{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}
.lf-muted{color:var(--gray)} .lf-empty{color:var(--gray);text-align:center;padding:26px 0}

/* buttons */
.lf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--g);color:#fff;
  border:0;border-radius:999px;padding:11px 22px;font:inherit;font-weight:700;cursor:pointer;transition:.15s;box-shadow:0 6px 16px rgba(91,181,106,.28)}
.lf-btn:hover{background:var(--g-d);transform:translateY(-2px)}
.lf-btn--lg{padding:14px 30px;font-size:16px}
.lf-btn--ghost{background:#fff;color:var(--g-d);box-shadow:none;border:2px solid var(--g)}
.lf-btn--ghost:hover{background:var(--g-l);color:var(--g-dd)}
.lf-btn--white{background:#fff;color:var(--o-d);box-shadow:none}
.lf-btn--white:hover{background:#fff7ef}
.lf-btn--danger{background:#ef6b6b;box-shadow:none}
.lf-btn--danger:hover{background:#d94f4f}
.lf-inline-form{display:inline}

/* preview + topbar */
.lf-preview-bar{background:#222;color:var(--y);text-align:center;padding:6px;font-size:12.5px}
.lf-preview-bar code{background:#000;padding:1px 5px;border-radius:4px}
.lf-topbar{background:var(--g-dd);color:#dff0e2;font-size:12.5px}
.lf-topbar__inner{display:flex;align-items:center;justify-content:space-between;min-height:34px;flex-wrap:wrap;gap:4px 14px;padding-top:4px;padding-bottom:4px}
.lf-topbar__brand{opacity:.85}
.lf-topbar__tel{display:inline-flex;align-items:center;gap:7px;font-weight:600}
.lf-topbar__tel .lf-topbar__tel-label{opacity:.8}
.lf-topbar__tel b{color:#ffe08a;font-size:13.5px;letter-spacing:.02em}
.lf-topbar__tel:hover b{text-decoration:underline}
.lf-topbar__util{display:flex;align-items:center;gap:16px}
.lf-topbar__util a:hover{color:#fff;text-decoration:underline}
.lf-topbar__hi b{color:#fff}

/* 연락처·계좌 안내 밴드 (상·하 여백 대칭) */
.infoband{background:var(--cream);padding:40px 0}
.infoband__grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.info-card{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);
  border-radius:var(--r-md);padding:20px 24px;box-shadow:var(--shadow-sm);position:relative;transition:.2s}
a.info-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.info-card__ic{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;font-size:28px;flex-shrink:0}
.info-card__body{display:flex;flex-direction:column;line-height:1.35;min-width:0}
.info-card__body small{font-size:12.5px;color:var(--ink-soft)}
.info-card__body b{font-family:var(--font-head);font-size:22px;color:var(--forest-900);font-weight:400;letter-spacing:.01em}
.info-card__sub{font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.info-card__copy{position:absolute;top:16px;right:16px;background:var(--leaf-100);color:var(--forest-700);
  border:0;border-radius:999px;padding:6px 14px;font-size:12.5px;font-weight:700;cursor:pointer}
.info-card__copy:hover{background:var(--forest-300);color:#fff}
@media(max-width:760px){
  .lf-topbar__tel-label{display:none}
  .infoband__grid{grid-template-columns:1fr}
  .info-card__body b{font-size:19px}
}

/* header + GNB */
.lf-header{background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.lf-header__inner{display:flex;align-items:center;gap:24px;min-height:78px}
.lf-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}
.lf-logo__mark{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--forest-300),var(--forest-500));display:grid;place-items:center;font-size:30px;box-shadow:inset 0 -4px 8px rgba(0,0,0,.08);transition:transform .3s}
.lf-logo:hover .lf-logo__mark{transform:rotate(-8deg) scale(1.05)}
.lf-logo__name{line-height:1.05}
.lf-logo__name b{font-family:var(--font-head);font-size:25px;color:var(--forest-700);display:block;font-weight:400}
.lf-logo__name span{font-size:11px;color:var(--ink-soft);letter-spacing:.02em}
.lf-gnb{margin-left:auto}
.lf-gnb>ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.lf-gnb>ul>li{position:relative}
.lf-gnb>ul>li>a{display:block;padding:12px 18px;font-weight:700;border-radius:999px;transition:.15s;white-space:nowrap}
.lf-gnb>ul>li:hover>a{background:var(--g);color:#fff}
/* hover 브릿지: 메뉴↔서브메뉴 사이 간격을 투명하게 채워 hover 유지 */
.lf-gnb>ul>li:hover::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
.lf-gnb__sub{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);min-width:180px;background:#fff;
  border:1px solid var(--line);border-radius:16px;box-shadow:var(--sh);list-style:none;margin:0;padding:8px;display:none}
.lf-gnb__sub::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);width:12px;height:12px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line)}
.lf-gnb>ul>li:hover .lf-gnb__sub{display:block}
.lf-gnb__sub a{display:block;padding:10px 14px;border-radius:10px;font-weight:500;white-space:nowrap}
.lf-gnb__sub a:hover{background:var(--g-l);color:var(--g-dd)}
.lf-nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:auto}
.lf-nav-toggle span{width:26px;height:3px;background:var(--g-d);border-radius:3px}
/* 지점(원) 템플릿 전용 스타일은 branch.css 로 분리 (헤더 워드마크/메뉴아이콘/환영밴드/지점 홈) */

/* ===== PORTAL: hero ===== */
.lf-hero2{position:relative;overflow:hidden;background:linear-gradient(160deg,#eafaee 0%,#d7f0dd 60%,#f6f0d8 100%)}
.lf-hero2__inner{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:56px 22px 64px;position:relative;z-index:2}
.lf-hero2__eyebrow{display:inline-block;background:#fff;color:var(--g-d);font-weight:700;font-size:13px;padding:6px 15px;border-radius:999px;box-shadow:var(--sh-sm);margin-bottom:16px}
.lf-hero2__text h1{font-size:46px;line-height:1.2;margin:0 0 14px;color:var(--g-dd)}
.lf-hero2__text h1 b{color:var(--o-d)}
.lf-hero2__text p{font-size:17px;color:var(--ink);margin:0 0 26px}
.lf-hero2__cta{display:flex;gap:12px;flex-wrap:wrap}
.lf-hero2__art{display:flex;align-items:center;justify-content:center;min-height:260px}
.lf-hero2__emoji{font-size:96px;line-height:1.3;text-align:center;filter:drop-shadow(0 12px 20px rgba(0,0,0,.12))}
.lf-hero2 .lf-slider{width:100%;max-width:440px;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh)}
.lf-blob{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5;z-index:1}
.lf-blob--1{width:220px;height:220px;background:#bfe8c7;top:-60px;right:8%}
.lf-blob--2{width:150px;height:150px;background:#ffe39a;bottom:-40px;left:6%}
.lf-slider{position:relative}
.lf-slide{display:none} .lf-slide.is-active{display:block}
.lf-slide img{width:100%;height:auto;object-fit:cover}

/* franchise CTA */
.lf-fran{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:linear-gradient(120deg,var(--o),#ffb15e);color:#fff;border-radius:var(--r-lg);padding:28px 36px;margin-top:-28px;position:relative;z-index:3;box-shadow:0 16px 36px rgba(244,123,32,.28)}
.lf-fran__badge{display:inline-block;background:rgba(255,255,255,.25);font-weight:700;font-size:12px;letter-spacing:1px;padding:4px 12px;border-radius:999px;margin-bottom:8px}
.lf-fran__msg h2{margin:0 0 4px;font-size:24px;color:#fff}
.lf-fran__msg p{margin:0;opacity:.92}
.lf-fran__tel{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.lf-fran__tel span{font-size:13px;opacity:.9}
.lf-fran__tel b{font-size:30px;font-family:'Jua',sans-serif;line-height:1.1}
.lf-fran__tel .lf-btn{margin-top:8px}

/* sections */
.lf-section{padding:54px 0}
.lf-section--soft{background:var(--g-ll)}
.lf-section__head{text-align:center;margin-bottom:34px}
.lf-section__head h2{font-size:30px;margin:0 0 8px;color:var(--g-dd)}
.lf-section__head h2::after{content:"";display:block;width:44px;height:4px;background:var(--y);border-radius:4px;margin:12px auto 0}
.lf-section__head p{margin:0;color:var(--gray)}
.lf-section__more{text-align:center;margin-top:30px}

/* program cards */
.lf-progs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.lf-prog{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-lg);padding:30px 18px;box-shadow:var(--sh-sm);transition:.15s}
.lf-prog:hover{transform:translateY(-5px);box-shadow:var(--sh);border-color:var(--g)}
.lf-prog__emoji{font-size:44px;background:var(--g-l);width:78px;height:78px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.lf-prog strong{font-size:16.5px;color:var(--ink)}
.lf-prog__desc{font-size:13px;color:var(--gray)}

/* branches chips */
.lf-branches{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lf-branch-chip{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--sh-sm);transition:.15s}
.lf-branch-chip:hover{transform:translateY(-3px);border-color:var(--g);box-shadow:var(--sh)}
.lf-branch-chip__emoji{font-size:26px;flex-shrink:0}
.lf-branch-chip__name{font-weight:700;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-branch-chip__region{font-size:12px;color:var(--g-d);background:var(--g-l);padding:2px 9px;border-radius:999px;flex-shrink:0}

/* board columns (portal notice/talk) */
.lf-board-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}

/* ===== cards / list (공통 위젯) ===== */
.lf-widgets{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:44px 0 54px}
.lf-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:24px 26px}
.lf-card--full{grid-column:1/-1;text-align:center}
.lf-card__head{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid var(--g-l);padding-bottom:12px;margin-bottom:12px}
.lf-card__head h2{font-size:19px;margin:0;color:var(--g-dd)}
.lf-more{font-size:13px;color:var(--gray)}
.lf-more:hover{color:var(--g-d)}
.lf-list{list-style:none;margin:0;padding:0}
.lf-list li a{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px dashed var(--line)}
.lf-list li:last-child a{border-bottom:0}
.lf-list__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-list li a:hover .lf-list__title{color:var(--g-d)}
.lf-list__date{color:var(--gray);font-size:12.5px;flex-shrink:0}
.lf-badge{background:var(--y);color:#7a5b00;font-style:normal;font-size:11px;font-weight:700;padding:2px 9px;border-radius:999px}

/* branch main hero fallback */
.lf-hero{position:relative;background:var(--g-l)}
.lf-hero__empty{min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#eaf7ec,#d7f0dd)}
.lf-hero__empty h1{font-size:38px;margin:0 0 10px;color:var(--g-dd)}
.lf-hero__empty p{font-size:18px;margin:0 0 12px}
.lf-hero .lf-slider__dots{position:absolute;bottom:16px;left:0;right:0;display:flex;gap:8px;justify-content:center}
.lf-hero .lf-slider__dots button{width:11px;height:11px;border-radius:50%;border:0;background:rgba(255,255,255,.6);cursor:pointer}
.lf-hero .lf-slider__dots button.is-active{background:#fff}

/* subhead / breadcrumb */
.lf-subhead{background:linear-gradient(135deg,var(--g-l),#e2f3e6);padding:38px 0;margin-bottom:36px}
.lf-subhead h1{margin:0 0 6px;font-size:30px;color:var(--g-dd)}
.lf-breadcrumb{font-size:13px;color:var(--gray)}
.lf-breadcrumb a:hover{text-decoration:underline;color:var(--g-d)}

/* board list */
.lf-board{padding-bottom:60px}
.lf-board__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.lf-board__count b{color:var(--g-d)}
.lf-search{display:flex;gap:6px}
.lf-search input{border:1px solid var(--line);border-radius:999px;padding:9px 16px;min-width:200px;font:inherit}
.lf-search button{background:var(--g);color:#fff;border:0;border-radius:999px;padding:9px 20px;font:inherit;font-weight:700;cursor:pointer;transition:.15s;white-space:nowrap}
.lf-search button:hover{background:var(--g-d)}
.lf-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.lf-tab{display:inline-block;padding:8px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--g-d);font-weight:700;font-size:14px;text-decoration:none;transition:.15s}
.lf-tab:hover{border-color:var(--g);color:var(--g)}
.lf-tab.on{background:var(--g);border-color:var(--g);color:#fff}
/* [임시/DEV] 이미지 있는 원 바로가기 바 — 운영 전 제거 */
.dev-photobar{background:#1f2933;color:#cbd5e1;font-size:13px;padding:10px 0}
.dev-photobar .lf-container{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.dev-photobar strong{color:#fbbf24}
.dev-photobar a{color:#e2e8f0;text-decoration:none;background:#334155;border-radius:999px;padding:4px 12px}
.dev-photobar a:hover{background:#475569}
.dev-photobar a em{color:#94a3b8;font-style:normal;margin-left:5px;font-size:11px}
/* 지점 아이콘 보기 (전국 지점 찾기) */
.lf-branches__top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.lf-branches__count b{color:var(--g-d)}
.lf-branches__views{display:flex;gap:6px}
.lf-branches__views a{padding:6px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--g-d);font-size:13px;font-weight:700}
.lf-branches__views a.on{background:var(--g);border-color:var(--g);color:#fff}
.lf-region-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.lf-region-tabs a{padding:6px 13px;border:1px solid var(--line);border-radius:999px;text-decoration:none;color:var(--g-d);font-size:13px;font-weight:700}
.lf-region-tabs a:hover{border-color:var(--g);color:var(--g)}
.lf-region-tabs a em{color:var(--gray);font-style:normal;font-size:11px;margin-left:3px}
.lf-region{margin-bottom:28px;scroll-margin-top:80px}
.lf-region__title{font-size:18px;border-bottom:2px solid var(--g);padding-bottom:8px;margin:0 0 14px}
.lf-region__title span{color:var(--g);font-size:14px;margin-left:6px}
.lf-region__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 16px}
.lf-region__grid a{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;text-decoration:none;color:var(--ink);font-size:14px}
.lf-region__grid a:hover{background:var(--g-ll);color:var(--g-d)}
.lf-region__mark{font-size:13px}
@media(max-width:760px){.lf-region__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lf-table{width:100%;border-collapse:collapse;border-top:2px solid var(--g)}
.lf-table th,.lf-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:center;font-size:14px}
.lf-table th{background:var(--g-ll);color:var(--gray);font-weight:700}
.lf-table .t-title{text-align:left}
.lf-table .t-title a:hover{color:var(--g-d)}
.c-no{width:70px}.c-writer{width:120px}.c-date{width:110px}.c-hit{width:70px}
.lf-board__bottom{position:relative;margin-top:30px;min-height:42px}
.lf-board__write{position:absolute;right:0;top:0}

/* 원장님방 자료실 */
.lf-room{padding-bottom:64px}
.lf-room__lead{margin:0 0 26px;color:var(--ink);font-size:16px}
.lf-room__lead b{color:var(--forest-700)}
.lf-room__group{margin-bottom:30px}
.lf-room__gtitle{font-size:19px;color:var(--forest-900);margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--g-l)}
.lf-room__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lf-room__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:24px 16px;box-shadow:var(--shadow-sm);transition:.2s;position:relative}
a.lf-room__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.lf-room__card.is-soon{opacity:.6;pointer-events:none;background:var(--g-ll)}
.lf-room__ic{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:28px;margin-bottom:4px}
.lf-room__card b{font-size:15.5px;color:var(--forest-900)}
.lf-room__card>span{font-size:12.5px;color:var(--ink-soft)}
.lf-room__soon{font-style:normal;font-size:11px;background:var(--cream-2);color:var(--gray);padding:2px 10px;border-radius:999px;margin-top:4px}
@media(max-width:820px){.lf-room__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lf-room__grid{grid-template-columns:1fr}}

/* 카테고리 탭(자료실) */
.lf-cat-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 16px}
.lf-cat-tabs a{padding:7px 15px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--ink);border:1px solid var(--line);transition:.15s}
.lf-cat-tabs a:hover{background:var(--g-l)}
.lf-cat-tabs a.is-active{background:var(--forest-700);color:#fff;border-color:var(--forest-700)}

/* 구인 지역 탭 + 테이블 */
.lf-region-tabs{display:flex;flex-wrap:wrap;gap:6px;background:var(--sun-soft);border-radius:var(--r-md);padding:10px 12px;margin-bottom:18px}
.lf-region-tabs a{padding:7px 15px;border-radius:999px;font-size:14px;font-weight:600;color:var(--ink);transition:.15s}
.lf-region-tabs a:hover{background:#fff}
.lf-region-tabs a.is-active{background:var(--forest-500);color:#fff}
.lf-job-table .c-region{width:130px}
.lf-job-table .c-type{width:96px}
.lf-job-table .c-org{width:160px}
.lf-jobtype{display:inline-block;background:var(--g-l);color:var(--forest-700);font-size:12.5px;font-weight:700;padding:2px 10px;border-radius:999px}
@media(max-width:720px){
  .lf-job-table .c-org,.lf-job-table .c-type{display:none}
}

/* gallery */
.lf-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.lf-gallery__thumb{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--g-l);border-radius:16px;overflow:hidden;margin-bottom:9px}
.lf-gallery__thumb img{width:100%;height:100%;object-fit:cover}
.lf-gallery__noimg{font-size:40px}
.lf-gallery__title{display:block;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-gallery__date{color:var(--gray);font-size:12.5px}

/* post view */
.lf-post{padding-bottom:60px}
.lf-post__head{border-bottom:2px solid var(--g);padding-bottom:16px;margin-bottom:22px}
.lf-post__head h2{margin:0 0 8px;font-size:24px}
.lf-post__meta{display:flex;gap:16px;color:var(--gray);font-size:13px}
.lf-post__gallery{display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:22px}
.lf-post__gallery figure{margin:0;background:var(--g-l);border-radius:12px;overflow:hidden;width:100%;max-width:600px;display:flex;align-items:center;justify-content:center}
.lf-post__gallery figure img{width:100%;height:auto;display:block}
.lf-file-meta{padding:16px;color:var(--gray);font-size:13px}
.lf-post__body{min-height:120px;font-size:16px;line-height:1.85;padding:6px 0 30px}
.lf-post__files{background:var(--g-ll);border:1px solid var(--line);border-radius:14px;padding:14px 18px;margin-bottom:24px}
.lf-post__files ul{margin:8px 0 0;padding-left:2px;list-style:none}
.lf-post__files li{padding:4px 0}
.lf-post__nav{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:28px}
.lf-comments{border-top:1px solid var(--line);padding-top:22px;margin-top:12px}
.lf-comments h3{font-size:16px;margin:0 0 14px}
.lf-comment{position:relative;background:var(--g-ll);border:1px solid var(--line);border-radius:14px;padding:13px 16px;margin-bottom:10px}
.lf-comment__writer{font-weight:700;margin-right:10px}
.lf-comment__date{color:var(--gray);font-size:12.5px}
.lf-comment p{margin:6px 0 0}
.lf-comment__del{position:absolute;top:12px;right:14px}
.lf-comment__del button{background:none;border:0;color:var(--gray);font-size:12px;cursor:pointer;text-decoration:underline}
.lf-comment-form{display:flex;gap:8px;margin-top:14px}
.lf-comment-form textarea{flex:1;border:1px solid var(--line);border-radius:14px;padding:11px 14px;font:inherit;resize:vertical}
.lf-comment-login{margin-top:14px;color:var(--gray);font-size:13.5px}
.lf-comment-login a{color:var(--g-d);font-weight:700;text-decoration:underline}

/* 오시는 길 */
.lf-map{padding-bottom:64px}
.lf-map__frame{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md);border:6px solid #fff;line-height:0;margin-bottom:22px}
.lf-map__frame iframe{width:100%;height:420px;border:0;display:block}
.lf-map__info{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.lf-map__card{display:flex;align-items:center;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:20px 24px;box-shadow:var(--shadow-sm)}
.lf-map__ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:26px;flex-shrink:0}
.lf-map__card small{display:block;font-size:12.5px;color:var(--ink-soft)}
.lf-map__card b{font-family:var(--font-head);font-size:19px;color:var(--forest-900);font-weight:400}
.lf-map__sub{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:2px}
.lf-map__links{display:flex;gap:10px;justify-content:center}
@media(max-width:640px){.lf-map__info{grid-template-columns:1fr}.lf-map__frame iframe{height:320px}}

/* 원 인사말 */
.lf-greeting{max-width:820px;padding-bottom:64px}
.lf-greeting__hero{text-align:center;background:linear-gradient(135deg,var(--g-l),#e2f3e6);border-radius:var(--r-lg);padding:40px 24px;margin-bottom:30px}
.lf-greeting__leaf{font-size:48px;display:block;margin-bottom:10px}
.lf-greeting__hero h2{margin:0;font-size:clamp(22px,3.4vw,30px);color:var(--forest-900);line-height:1.4}
.lf-greeting__hero h2 b{color:var(--forest-500)}
.lf-greeting__body p{font-size:16.5px;line-height:1.9;color:var(--ink);margin:0 0 16px}
.lf-greeting__body b{color:var(--forest-700)}
.lf-greeting__sign{text-align:right;font-family:var(--font-head);color:var(--forest-700);font-size:17px;margin-top:24px!important}

/* 시설안내 */
.lf-facility{padding-bottom:64px}
.lf-facility__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lf-facility__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 20px;box-shadow:var(--shadow-sm);transition:.2s}
.lf-facility__card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.lf-facility__ic{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-size:32px;margin-bottom:4px}
.lf-facility__card b{font-size:16px;color:var(--forest-900)}
.lf-facility__card span{font-size:13.5px;color:var(--ink-soft);line-height:1.5}
@media(max-width:820px){.lf-facility__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.lf-facility__grid{grid-template-columns:1fr}}

/* DB 리치 콘텐츠 + 편집 안내 */
.lf-rich{font-size:16px;line-height:1.9}
.lf-rich img{max-width:100%;height:auto;border-radius:10px}
.lf-page__editnote{text-align:center;color:var(--ink-soft);font-size:12.5px;margin:30px 0 0;background:var(--g-ll);border:1px dashed var(--line);border-radius:10px;padding:10px}

/* 지점 지원사항 (6대 지원 카드) */
.lf-support{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lf-support__card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 26px 22px;box-shadow:var(--shadow-sm);transition:.2s}
.lf-support__card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.lf-support__head{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--g-l)}
.lf-support__ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:26px;flex-shrink:0}
.lf-support__head h3{margin:0;font-size:18px;color:var(--forest-900)}
.lf-support__card ul{margin:0;padding-left:0;list-style:none}
.lf-support__card li{position:relative;padding:5px 0 5px 16px;font-size:14.5px;color:var(--ink);line-height:1.5}
.lf-support__card li::before{content:"";position:absolute;left:0;top:.85em;width:5px;height:5px;border-radius:50%;background:var(--forest-300)}
@media(max-width:820px){.lf-support{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.lf-support{grid-template-columns:1fr}}

/* 지점 개설절차 (스텝) */
.lf-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.lf-step{position:relative;background:var(--paper);border:2px solid var(--line);border-radius:var(--r-md);padding:22px 18px;text-align:center;transition:.2s}
.lf-step:hover{border-color:var(--forest-300);box-shadow:var(--shadow-sm);transform:translateY(-3px)}
.lf-step__no{display:inline-block;font-family:var(--font-head);font-size:13px;color:var(--forest-500);background:var(--g-l);border-radius:999px;padding:3px 12px;margin-bottom:8px}
.lf-step b{display:block;font-size:15.5px;color:var(--forest-900);line-height:1.4}
.lf-step__desc{display:block;font-size:12.5px;color:var(--ink-soft);margin-top:5px;line-height:1.5}
@media(max-width:820px){.lf-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.lf-steps{grid-template-columns:1fr}}

/* 입소안내 등 가이드 페이지 */
.lf-guide{max-width:820px;padding-bottom:64px}
.lf-guide__block{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 32px;box-shadow:var(--shadow-sm);margin-bottom:22px}
.lf-guide__h{font-size:22px;color:var(--forest-900);margin:0 0 6px}
.lf-guide__law{color:var(--ink-soft);font-size:13px;margin:0 0 18px}
.lf-guide__txt{font-size:15.5px;line-height:1.8;margin:0 0 12px}
.lf-guide__txt b{color:var(--forest-700)}
.lf-tier{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-top:1px dashed var(--line)}
.lf-tier__no{flex-shrink:0;background:var(--forest-500);color:#fff;font-family:var(--font-head);font-size:14px;padding:6px 16px;border-radius:999px}
.lf-tier__no--2{background:var(--forest-300);color:var(--forest-900)}
.lf-tier ul{margin:0;padding-left:18px}
.lf-tier li{font-size:15px;line-height:1.75;color:var(--ink)}
.lf-guide__note{color:var(--ink-soft);font-size:13px;margin:14px 0 0;line-height:1.6}
.lf-guide__note a{color:var(--forest-700);text-decoration:underline}
.lf-guide__cta{text-align:center;background:linear-gradient(135deg,var(--g-l),#e2f3e6);border-radius:var(--r-lg);padding:34px 24px}
.lf-guide__cta h3{margin:0 0 6px;font-size:20px;color:var(--forest-900)}
.lf-guide__cta p{margin:0 0 18px;color:var(--ink-soft)}
.lf-guide__cta-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}

/* 프로그램 안내 */
.lf-prog-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lf-prog-card2{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 18px;box-shadow:var(--shadow-sm);transition:.2s}
.lf-prog-card2:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.lf-prog-card2__ic{width:66px;height:66px;border-radius:50%;display:grid;place-items:center;font-size:32px;margin-bottom:4px}
.lf-prog-card2 b{font-size:16px;color:var(--forest-900)}
.lf-prog-card2 span{font-size:13px;color:var(--ink-soft);line-height:1.5}
.lf-plan{padding-bottom:64px}
.lf-plan__table{overflow-x:auto;border-radius:var(--r-md);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.lf-plan__table table{width:100%;border-collapse:collapse;min-width:640px;background:#fff}
.lf-plan__table th,.lf-plan__table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:14.5px}
.lf-plan__table thead th{background:linear-gradient(135deg,var(--forest-500),var(--forest-700));color:#fff;font-family:var(--font-head);font-weight:400;text-align:center}
.lf-plan__table tbody tr:nth-child(even){background:var(--g-ll)}
.lf-plan__table .c-m{width:64px;text-align:center;font-family:var(--font-head);color:var(--forest-700);font-size:16px}
.lf-plan__table .c-t{width:230px;font-weight:700;color:var(--forest-900)}
.lf-plan__sub{display:block;padding-left:14px;position:relative;color:var(--ink);line-height:1.7}
.lf-plan__sub::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--forest-300)}
.lf-plan__note{text-align:center;color:var(--ink-soft);font-size:13px;margin:16px 0 0}
@media(max-width:820px){.lf-prog-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.lf-prog-cards{grid-template-columns:1fr}}

/* 소개/특징 페이지 (인트로 메시지) */
.lf-intro{max-width:820px;padding-bottom:64px}
.lf-intro__logo{text-align:center;margin:8px 0 30px}
.lf-intro__tree{font-size:60px;display:block;line-height:1}
.lf-intro__brand{font-family:var(--font-hand);font-size:34px;color:var(--forest-500);letter-spacing:1px}
.lf-intro__lead{font-size:18px;line-height:1.8;text-align:center;color:var(--ink);margin:0 0 26px}
.lf-intro__lead b{color:var(--forest-700)}
.lf-quote{margin:0 auto 30px;max-width:620px;text-align:center;background:var(--g-l);border-radius:var(--r-md);
  padding:24px 28px;font-family:var(--font-head);font-size:19px;color:var(--forest-700);line-height:1.6;border:0;
  position:relative}
.lf-quote::before{content:"“";position:absolute;left:14px;top:2px;font-size:40px;color:var(--forest-300);opacity:.6}
.lf-intro__body p{font-size:16px;line-height:1.85;color:var(--ink);margin:0 0 16px;text-align:center}
.lf-intro__body b{color:var(--forest-700)}
.lf-intro__points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.lf-point{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 18px;box-shadow:var(--shadow-sm)}
.lf-point__ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:32px;margin-bottom:6px}
.lf-point b{font-size:16px;color:var(--forest-900)}
.lf-point span{font-size:13px;color:var(--ink-soft)}
@media(max-width:640px){.lf-intro__points{grid-template-columns:1fr}}

/* 회사소개 — HISTORY 타임라인 */
.lf-history{padding-bottom:64px}
.lf-history__title{text-align:center;margin:8px 0 40px}
.lf-history__title h2{font-size:clamp(42px,7vw,68px);color:var(--forest-500);letter-spacing:3px;margin:0;line-height:1}
.lf-history__title p{color:var(--ink-soft);margin:8px 0 0;font-size:16px}
.lf-history__title p b{color:var(--forest-700)}
.lf-timeline{max-width:780px;margin:0 auto}
.lf-era{display:flex;align-items:center;gap:14px;margin:34px 0 14px}
.lf-era:first-child{margin-top:0}
.lf-era__badge{font-family:var(--font-head);font-size:22px;color:#fff;background:linear-gradient(135deg,var(--forest-500),var(--forest-700));border-radius:999px;padding:6px 22px;box-shadow:var(--shadow-sm);white-space:nowrap}
.lf-era__line{flex:1;height:2px;background:var(--line)}
.lf-tl__item{display:flex;gap:20px;padding:13px 6px;border-bottom:1px dashed var(--line);transition:background .15s}
.lf-tl__item:hover{background:var(--g-ll)}
.lf-tl__date{flex-shrink:0;width:74px;font-family:var(--font-head);color:var(--forest-700);font-size:16px;padding-top:1px}
.lf-tl__desc{flex:1}
.lf-tl__desc p{margin:0 0 3px;color:var(--ink);font-size:15px;line-height:1.55;position:relative;padding-left:14px}
.lf-tl__desc p::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--forest-300)}
.lf-tl__desc p:last-child{margin-bottom:0}
@media(max-width:560px){
  .lf-tl__item{flex-direction:column;gap:4px}
  .lf-tl__date{width:auto;color:var(--forest-500)}
}

/* static page */
.lf-page{padding-bottom:60px;min-height:200px}
.lf-page__body{font-size:16px;line-height:1.9}
.lf-page__empty{text-align:center;padding:60px 0;color:var(--gray)}
.lf-page__empty code{background:var(--g-l);padding:2px 6px;border-radius:5px}

/* forms (counsel/join) */
.lf-counsel{padding-bottom:60px;max-width:700px}
.lf-counsel__lead{margin:0 0 20px;color:var(--gray)}
.lf-alert{background:#fdecec;border:1px solid #f5c2c2;color:#c0392b;border-radius:12px;padding:12px 16px;margin-bottom:18px;font-size:14px}
.lf-form__row{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px}
.lf-form__row>label{width:130px;flex-shrink:0;padding-top:10px;font-weight:700}
.lf-form__row>label em{color:#e14b4b;font-style:normal}
.lf-form__row input[type=text],.lf-form__row input[type=password],.lf-form__row textarea{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 14px;font:inherit;width:100%}
.lf-form__row textarea{resize:vertical}
.lf-form__radios{display:flex;gap:18px;padding-top:9px;flex-wrap:wrap}
.lf-form__radios label{display:flex;align-items:center;gap:5px;font-weight:500;cursor:pointer}
.lf-form__submit{display:flex;gap:10px;justify-content:center;margin-top:26px}
.lf-form__submit .lf-btn{font-size:16px;padding:13px 40px}
.lf-counsel__done{text-align:center;padding:60px 0}
.lf-counsel__done-mark{font-size:56px;margin-bottom:10px}
.lf-counsel__done h2{margin:0 0 8px;color:var(--g-d)}
.lf-counsel__done p{color:var(--gray);margin:0 0 24px}

/* login */
.lf-login{padding:14px 0 64px;display:flex;justify-content:center}
.lf-login__box{width:100%;max-width:390px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh);padding:36px 32px}
.lf-login__field{margin-bottom:12px}
.lf-login__field input{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px 15px;font:inherit}
.lf-login__btn{width:100%;font-size:16px;padding:13px}
.lf-login__help{text-align:center;color:var(--gray);font-size:13px;margin:18px 0 0}
.lf-login__desc{text-align:center;color:var(--gray);font-size:14px;margin:0 0 18px}
.lf-topbar__op{color:#ffe08a!important}

/* 운영자 대시보드 */
.lf-manage{padding-bottom:64px}
.lf-manage__welcome{display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(135deg,var(--g-l),#e2f3e6);border-radius:var(--r-lg);padding:26px 30px;margin-bottom:26px;flex-wrap:wrap}
.lf-manage__badge{display:inline-block;background:var(--forest-500);color:#fff;font-size:12.5px;font-weight:700;padding:4px 14px;border-radius:999px;margin-bottom:8px}
.lf-manage__welcome h2{margin:0;font-size:24px;color:var(--forest-900)}
.lf-manage__welcome h2 b{color:var(--forest-500)}
.lf-manage__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lf-manage__card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:28px 26px;box-shadow:var(--shadow-sm);text-align:center;transition:.2s}
.lf-manage__card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.lf-manage__ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:32px;margin:0 auto 12px}
.lf-manage__card h3{margin:0 0 8px;font-size:19px;color:var(--forest-900)}
.lf-manage__card p{margin:0 0 16px;font-size:14px;color:var(--ink-soft);line-height:1.6;min-height:44px}
.lf-manage__soon{display:inline-block;background:var(--cream-2);color:var(--gray);font-size:12.5px;font-weight:700;padding:6px 16px;border-radius:999px}
@media(max-width:820px){.lf-manage__grid{grid-template-columns:1fr}}
.lf-login__help a{color:var(--g-d);font-weight:700}
.lf-login__sep{margin:0 8px;color:var(--line)}

/* find id/pw */
.lf-find{padding-bottom:60px}
.lf-find__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:6px}
.lf-find__box{padding:24px 26px}
.lf-form--tight .lf-form__row{gap:10px;margin-bottom:12px}
.lf-form--tight .lf-form__row>label{width:80px;padding-top:10px}
.lf-find__result p{margin:0 0 8px;font-weight:700}
.lf-find__result ul{list-style:none;padding:0;margin:0 0 16px}
.lf-find__result li{padding:9px 13px;background:var(--g-l);border-radius:10px;margin-bottom:6px}
.lf-find__ok{background:var(--g-l);border:1px solid #b8e0c0;border-radius:12px;padding:14px 18px;margin-bottom:18px;font-weight:700}
.lf-find__ok a{color:var(--g-d);text-decoration:underline;margin-left:8px}

/* 원 찾기 */
.lf-search-page{padding-bottom:60px}
.lf-search-page__form{display:flex;gap:8px;max-width:580px;margin:0 auto 8px}
.lf-search-page__form input{flex:1;border:1px solid var(--line);border-radius:999px;padding:13px 20px;font:inherit}
.lf-search-page__count{text-align:center;color:var(--gray);margin:14px 0 22px}
.lf-search-page__count b{color:var(--g-d)}
.lf-branch-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lf-branch a{display:block;height:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:22px 24px;transition:.15s}
.lf-branch a:hover{transform:translateY(-4px);border-color:var(--g);box-shadow:var(--sh)}
.lf-branch h3{margin:0 0 8px;font-size:18px;color:var(--g-d)}
.lf-branch__region{display:inline-block;background:var(--g-l);color:var(--g-d);font-size:12.5px;font-weight:700;padding:2px 11px;border-radius:999px;margin-bottom:8px}
.lf-branch__addr{margin:6px 0 2px;font-size:13.5px}
.lf-branch__tel{margin:0 0 10px;font-size:13px;color:var(--gray)}
.lf-branch__go{font-size:13px;font-weight:700;color:var(--g)}
.lf-branch-list .lf-empty{grid-column:1/-1}

/* pagination */
.lf-pagination{display:flex;justify-content:center;margin-top:28px}
.lf-pagination .pagination{display:flex;gap:5px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.lf-pagination .page-link{display:block;padding:8px 13px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:13px}
.lf-pagination .active .page-link{background:var(--g);color:#fff;border-color:var(--g)}
.lf-pagination .disabled .page-link{color:#c3ccc5}

/* footer (실서비스 시안 이식) */
.site-footer{background:var(--g-dd);color:#cfe3c4;padding:56px 0 30px;font-size:14px;margin-top:50px}
.site-footer .logo{display:flex;align-items:center;gap:10px}
.site-footer .logo .mark{width:48px;height:48px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--forest-300),var(--g));display:grid;place-items:center;font-size:26px}
.site-footer .logo .name b{font-family:var(--font-head);font-size:22px;color:#fff;display:block;line-height:1.1}
.site-footer .logo .name span{font-size:11px;color:#9fc48f}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-brand p{margin:16px 0 0;color:#9fc48f;line-height:1.7;max-width:26em}
.foot-col h4{font-family:var(--font-head);color:#fff;font-size:16px;margin:0 0 14px}
.foot-col a{display:block;padding:6px 0;color:#bcd6ae;transition:color .2s}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;color:#8fb682;font-size:12.5px;line-height:1.9}
.foot-bottom .biz b{color:#cfe3c4;font-weight:600}
.family-select{display:flex;gap:8px;align-items:flex-start;height:fit-content}
.family-select select{background:#25491f;color:#cfe3c4;border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:9px 12px;font-family:inherit;font-size:13px}
.family-select button{background:var(--g);color:#fff;border-radius:10px;padding:9px 16px;font-weight:700;font-size:13px;border:0;cursor:pointer}
.foot-branch{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.foot-branch__info{font-size:13px;color:#bcd6ae}
.foot-branch__info p{margin:2px 0}
.foot-branch__info .foot-copy{color:#8fb682;margin-top:6px!important}

/* floating buttons */
.floatpanel{position:fixed;right:20px;bottom:24px;z-index:55;display:flex;flex-direction:column;gap:10px}
.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:22px;box-shadow:var(--sh);transition:transform .2s,opacity .3s;border:0;cursor:pointer}
.fab:hover{transform:translateY(-4px) scale(1.05)}
.fab-call{background:var(--g);color:#fff;text-decoration:none}
.fab-top{background:#fff;color:var(--g-d);border:2px solid var(--forest-300);opacity:0;visibility:hidden;font-weight:700}
.fab-top.show{opacity:1;visibility:visible}

/* popups */
.lf-popup{position:fixed;z-index:80;background:#fff;border-radius:16px;box-shadow:0 12px 44px rgba(0,0,0,.28);overflow:hidden;max-width:92vw}
.lf-popup__body{max-height:70vh;overflow:auto}
.lf-popup__foot{display:flex;align-items:center;justify-content:space-between;background:var(--g-dd);color:#fff;padding:9px 13px;font-size:12.5px}
.lf-popup__foot label{display:flex;align-items:center;gap:5px;cursor:pointer}
.lf-popup__foot button{background:none;border:0;color:#fff;cursor:pointer;font-size:12.5px}

/* member area (legacy header slot, kept) */
.lf-member{display:flex;align-items:center;gap:12px;font-size:13.5px}
.lf-member a{padding:7px 14px;border:1px solid var(--g);border-radius:999px;color:var(--g-d);font-weight:700}
.lf-member a:hover{background:var(--g);color:#fff}

/* ===== responsive ===== */
@media (max-width:960px){
  .lf-hero2__inner{grid-template-columns:1fr;text-align:center}
  .lf-hero2__cta{justify-content:center}
  .lf-hero2__art{order:-1}
  .lf-progs{grid-template-columns:repeat(2,1fr)}
  .lf-branches{grid-template-columns:repeat(2,1fr)}
  .lf-board-cols,.lf-find__grid{grid-template-columns:1fr}
  .lf-branch-list{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .lf-topbar__brand{display:none}
  .lf-nav-toggle{display:flex}
  .lf-gnb{position:fixed;inset:78px 0 auto 0;background:#fff;border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:max-height .25s;margin:0;box-shadow:var(--sh)}
  body.lf-nav-open .lf-gnb{max-height:82vh;overflow:auto}
  .lf-gnb>ul{flex-direction:column;padding:10px}
  .lf-gnb>ul>li>a{border-radius:12px}
  .lf-gnb__sub{position:static;transform:none;display:block;box-shadow:none;border:0;padding:0 0 6px 14px}
  .lf-gnb__sub::before{display:none}
  .lf-widgets{grid-template-columns:1fr}
  .lf-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lf-fran{flex-direction:column;text-align:center}.lf-fran__tel{align-items:center;text-align:center}
  .lf-table .c-writer,.lf-table .c-hit{display:none}
  .foot-top{grid-template-columns:1fr;gap:22px}
  .foot-branch{flex-direction:column;align-items:flex-start;gap:14px}
}
@media (max-width:560px){
  .lf-hero2__text h1{font-size:36px}
  .lf-progs,.lf-branches,.lf-branch-list{grid-template-columns:1fr}
  .lf-form__row{flex-direction:column;gap:6px}.lf-form__row>label{width:auto;padding-top:0}
}

/* ============================================================
   시안(index.html) 홈 섹션 이식 — 포털 메인 전용
   ============================================================ */
.wrap{width:100%;max-width:1180px;margin:0 auto;padding:0 22px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:700;border-radius:999px;padding:12px 20px;font-size:15px;transition:transform .15s,box-shadow .2s,background .2s;white-space:nowrap;cursor:pointer;border:0}
.btn:active{transform:translateY(1px) scale(.99)}
.btn-primary{background:linear-gradient(135deg,var(--forest-500),var(--forest-700));color:#fff;box-shadow:0 8px 18px rgba(63,138,67,.32)}
.btn-primary:hover{box-shadow:0 12px 24px rgba(63,138,67,.4);transform:translateY(-2px)}
.btn-sun{background:linear-gradient(135deg,var(--sun),#ffb01f);color:#6b4a00;box-shadow:0 8px 18px rgba(255,176,31,.3)}
.btn-sun:hover{transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--forest-700);border:2px solid var(--forest-300)}
.btn-ghost:hover{background:var(--leaf-100)}
.btn-lg{padding:16px 30px;font-size:17px}

/* hero */
.hero{position:relative;padding:44px 0 64px;overflow:hidden;background:radial-gradient(1200px 500px at 80% -10%,var(--sky-soft),transparent 60%),radial-gradient(900px 500px at 0% 120%,var(--sun-soft),transparent 55%),linear-gradient(180deg,#eaf6fb 0%,var(--leaf-100) 60%,var(--cream) 100%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--forest-700);font-weight:700;font-size:13.5px;padding:8px 15px;border-radius:999px;box-shadow:var(--shadow-sm);margin-bottom:16px}
.hero h1{font-size:clamp(30px,4.4vw,48px);color:var(--forest-900);margin:0 0 16px;line-height:1.24}
.hero h1 .hl{color:var(--forest-500);position:relative;white-space:nowrap}
.hero h1 .hl::after{content:"";position:absolute;left:-2%;right:-2%;bottom:.08em;height:.32em;background:var(--sun);opacity:.55;border-radius:999px;z-index:-1}
.hero p.lead{font-size:clamp(15px,2vw,17.5px);color:var(--ink-soft);margin:0 0 24px;max-width:30em}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.hero-stats{display:flex;gap:26px;flex-wrap:wrap}
.hero-stats .st b{font-family:var(--font-head);font-size:28px;color:var(--forest-700);display:block;line-height:1}
.hero-stats .st span{font-size:13px;color:var(--ink-soft)}
.hero-stats .st .plus{color:var(--sun)}
.hero-art{position:relative;display:grid;place-items:center}
/* 숲 이미지 프레임 (fal.ai 생성) + 살아있는 장면 애니메이션 */
.hero-forest{position:relative;width:min(430px,92%);aspect-ratio:1/1;border-radius:var(--r-xl);overflow:hidden;
  box-shadow:var(--shadow-lg);border:6px solid #fff}
.hero-forest img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:60% 70%;
  animation:lfKenburns 26s ease-in-out infinite alternate}
.hero-forest__scene{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-forest__badge{position:absolute;left:14px;bottom:14px;z-index:3;background:rgba(255,255,255,.92);color:var(--forest-700);
  font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px;box-shadow:var(--shadow-sm);backdrop-filter:blur(4px)}

/* 전체 장면 은은한 켄번스(토끼·나무까지 미세하게 움직이는 느낌) */
@keyframes lfKenburns{0%{transform:scale(1.02) translate(0,0)}100%{transform:scale(1.08) translate(-1.5%,-1%)}}

/* 흘러가는 구름 (CSS 뭉게구름) */
.lf-cloud{position:absolute;background:#fff;border-radius:50%;opacity:.9;filter:blur(.3px)}
.lf-cloud::before,.lf-cloud::after{content:"";position:absolute;background:#fff;border-radius:50%}
.lf-cloud--1{width:46px;height:20px;top:14%;left:-30%;animation:lfDrift 34s linear infinite}
.lf-cloud--1::before{width:26px;height:26px;top:-12px;left:6px}
.lf-cloud--1::after{width:20px;height:20px;top:-8px;left:24px}
.lf-cloud--2{width:34px;height:15px;top:24%;left:-30%;opacity:.8;animation:lfDrift 48s linear infinite;animation-delay:-12s}
.lf-cloud--2::before{width:19px;height:19px;top:-9px;left:5px}
.lf-cloud--2::after{width:15px;height:15px;top:-6px;left:17px}
.lf-cloud--3{width:26px;height:12px;top:9%;left:-30%;opacity:.75;animation:lfDrift 60s linear infinite;animation-delay:-30s}
.lf-cloud--3::before{width:15px;height:15px;top:-7px;left:4px}
.lf-cloud--3::after{width:12px;height:12px;top:-5px;left:13px}
@keyframes lfDrift{0%{transform:translateX(0)}100%{transform:translateX(560px)}}

/* 날아가는 새 떼 */
.lf-birds{position:absolute;top:20%;left:-30%;width:64px;height:auto;opacity:.75;animation:lfFly 26s linear infinite}
.lf-bird{animation:lfFlap 1.6s ease-in-out infinite}
.lf-bird.b2{animation-delay:.2s}.lf-bird.b3{animation-delay:.4s}
@keyframes lfFly{0%{transform:translate(0,0)}100%{transform:translate(620px,-46px)}}
@keyframes lfFlap{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.55)}}

/* 나풀거리는 나비 */
.lf-butterfly{position:absolute;left:16%;top:60%;font-size:22px;animation:lfFlutter 9s ease-in-out infinite}
@keyframes lfFlutter{0%{transform:translate(0,0) rotate(-6deg)}25%{transform:translate(40px,-30px) rotate(8deg)}
  50%{transform:translate(90px,-8px) rotate(-4deg)}75%{transform:translate(50px,-40px) rotate(10deg)}100%{transform:translate(0,0) rotate(-6deg)}}

@media(prefers-reduced-motion:reduce){
  .hero-forest img,.lf-cloud,.lf-birds,.lf-bird,.lf-butterfly{animation:none}
}
.art-scene{position:relative;width:min(420px,90%);aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 50% 120%,#bfe79a,#9ad46f 45%,#7cc157 70%);box-shadow:var(--shadow-lg),inset 0 -20px 40px rgba(47,94,52,.18);display:grid;place-items:center}
.art-scene .sun-badge{position:absolute;top:6%;right:8%;font-size:60px;animation:lfspin 22s linear infinite}
.art-scene .cloud{position:absolute;font-size:48px}
.art-scene .big-tree{font-size:clamp(110px,24vw,170px);filter:drop-shadow(0 16px 20px rgba(47,94,52,.28));animation:lfsway 5s ease-in-out infinite;transform-origin:bottom center}
.floaty{position:absolute;font-size:42px;animation:lffloat 4.5s ease-in-out infinite}
.floaty.f1{top:2%;left:-2%}.floaty.f2{bottom:8%;left:-6%;font-size:48px;animation-delay:.9s}.floaty.f3{bottom:-2%;right:2%;animation-delay:1.5s}.floaty.f4{top:30%;right:-6%;font-size:38px;animation-delay:.5s}.floaty.f5{top:-4%;right:34%;font-size:36px;animation-delay:1.2s}
@keyframes lffloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(4deg)}}
@keyframes lfsway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes lfspin{to{transform:rotate(360deg)}}
.wave{position:absolute;left:0;right:0;bottom:-1px;line-height:0}
.wave svg{width:100%;height:60px;display:block}

/* section basics */
.section{padding:80px 0;position:relative}
.section-head{text-align:center;max-width:640px;margin:0 auto 44px}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);color:var(--forest-500);font-size:16px;background:var(--leaf-100);padding:6px 16px;border-radius:999px;margin-bottom:14px}
.section-head h2{font-size:clamp(27px,3.6vw,38px);color:var(--forest-900);margin:0 0 12px}
.section-head p{color:var(--ink-soft);font-size:16.5px;margin:0}

/* trust */
.trust{background:var(--paper)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-card{text-align:center;padding:30px 16px;border-radius:var(--r-md);background:var(--cream);border:2px solid var(--line);transition:.25s}
.trust-card:hover{transform:translateY(-6px);border-color:var(--forest-300);box-shadow:var(--shadow-md)}
.trust-card .ic{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto 14px;font-size:32px}
.trust-card b{font-family:var(--font-head);font-size:32px;color:var(--forest-700);display:block;line-height:1}
.trust-card span{font-size:14.5px;color:var(--ink-soft)}
.bg-green{background:var(--leaf-100)}.bg-sun{background:var(--sun-soft)}.bg-sky{background:var(--sky-soft)}.bg-berry{background:var(--berry-soft)}

/* features */
.features{background:var(--cream)}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feat-card{background:var(--paper);border-radius:var(--r-lg);padding:34px 28px;box-shadow:var(--shadow-sm);border:1px solid var(--line);position:relative;overflow:hidden;transition:.3s}
.feat-card::before{content:"";position:absolute;top:-40px;right:-40px;width:120px;height:120px;border-radius:50%;opacity:.5}
.feat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.feat-card .fic{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;font-size:38px;margin-bottom:20px}
.feat-card h3{font-size:22px;margin:0 0 10px;color:var(--forest-900)}
.feat-card p{color:var(--ink-soft);font-size:15.5px;margin:0}
.feat-card:nth-child(1)::before{background:var(--leaf-100)}.feat-card:nth-child(2)::before{background:var(--sky-soft)}.feat-card:nth-child(3)::before{background:var(--berry-soft)}

/* programs */
.programs{background:linear-gradient(180deg,var(--cream),var(--leaf-100))}
.prog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prog-card{background:var(--paper);border-radius:var(--r-lg);padding:30px 24px 26px;text-align:center;box-shadow:var(--shadow-sm);transition:.3s;border:2px solid transparent}
.prog-card:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:var(--shadow-lg);border-color:var(--forest-300)}
.prog-card .pic{width:92px;height:92px;border-radius:50%;margin:0 auto 18px;display:grid;place-items:center;font-size:48px}
.prog-card h3{font-size:20px;margin:0 0 8px;color:var(--forest-900)}
.prog-card p{font-size:14px;color:var(--ink-soft);margin:0 0 16px;min-height:44px}
.prog-card .more{display:inline-flex;align-items:center;gap:5px;font-weight:700;color:var(--forest-700);font-size:14.5px}

/* find branch CTA */
.findbar{background:var(--cream);padding:20px 0 70px}
.find-card{background:linear-gradient(120deg,var(--forest-700),var(--forest-500));border-radius:var(--r-xl);padding:46px 40px;color:#fff;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.find-card::after{content:"🌲";position:absolute;font-size:200px;right:-20px;bottom:-50px;opacity:.13;transform:rotate(-8deg)}
.find-card .fc-inner{position:relative;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.find-card h2{font-size:clamp(24px,3.4vw,32px);margin:0 0 8px;color:#fff}
.find-card p{margin:0;color:#e8f6dd;font-size:16px}
.find-form{display:flex;gap:10px;background:#fff;padding:8px;border-radius:999px;box-shadow:var(--shadow-md)}
.find-form input{border:0;background:transparent;font-family:inherit;font-size:15px;padding:10px 18px;color:var(--ink);outline:none;min-width:220px;flex:1}
.find-form button{background:var(--forest-500);color:#fff;border-radius:999px;padding:12px 24px;font-weight:700;border:0;cursor:pointer}
.find-form button:hover{background:var(--forest-700)}

/* openings */
.openings{background:var(--cream)}
.open-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.open-card{display:block;background:var(--paper);border-radius:var(--r-md);padding:22px 20px;border:1px solid var(--line);position:relative;transition:.25s;overflow:hidden}
.open-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--forest-300)}
.open-card .newtag{position:absolute;top:14px;right:14px;background:var(--berry);color:#fff;font-family:var(--font-head);font-size:12px;padding:3px 10px;border-radius:999px}
.open-card .oic{font-size:32px;margin-bottom:12px}
.open-card b{font-size:16.5px;color:var(--forest-900);display:block}
.open-card span{font-size:13px;color:var(--ink-soft);display:inline-flex;align-items:center;gap:4px;margin-top:4px}

/* community */
.community{background:linear-gradient(180deg,var(--leaf-100),var(--cream))}
.comm-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:26px}
.panel{background:var(--paper);border-radius:var(--r-lg);padding:30px 30px 26px;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.panel-head h3{font-size:22px;color:var(--forest-900);margin:0;display:flex;align-items:center;gap:9px}
.panel-head .more{font-size:13px;color:var(--ink-soft)}
.notice-list li{display:flex;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px dashed var(--line)}
.notice-list li:last-child{border-bottom:0}
.notice-list .dot{width:8px;height:8px;border-radius:50%;background:var(--forest-300);flex-shrink:0}
.notice-list .t{flex:1;font-size:15px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.notice-list .d{font-size:12.5px;color:var(--ink-soft);flex-shrink:0}
.notice-list li:hover .t{color:var(--forest-700)}
.quick-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.qlink{display:flex;flex-direction:column;gap:8px;padding:20px;border-radius:var(--r-md);background:var(--cream);border:2px solid var(--line);transition:.25s}
.qlink:hover{transform:translateY(-4px);border-color:var(--forest-300);box-shadow:var(--shadow-sm);background:#fff}
.qlink .qic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:26px}
.qlink b{font-size:16px;color:var(--forest-900)}
.qlink span{font-size:13px;color:var(--ink-soft)}

/* join CTA */
.join{padding:0 0 90px;background:var(--cream)}
.join-card{background:radial-gradient(760px 320px at 88% -10%,rgba(255,201,77,.28),transparent 60%),linear-gradient(135deg,#6bbf59,var(--forest-700));border-radius:var(--r-xl);padding:54px 48px;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow-lg)}
.join-card .deco{position:absolute;font-size:56px;opacity:.4}
.join-card .deco.d1{top:18px;left:26px}.join-card .deco.d2{bottom:14px;right:36px;font-size:70px}.join-card .deco.d3{top:40px;right:12%;font-size:42px}
.join-card h2{font-size:clamp(26px,3.8vw,40px);color:#fff;margin:0 0 10px;position:relative}
.join-card p{color:#eaf7dd;font-size:17px;margin:0 0 26px;position:relative}
.join-phone{display:inline-flex;align-items:center;gap:12px;background:#fff;padding:14px 28px;border-radius:999px;box-shadow:var(--shadow-md);position:relative;margin-bottom:22px}
.join-phone .num{font-family:var(--font-head);font-size:28px;color:var(--forest-900);line-height:1}
.join-phone .lbl{font-size:12px;color:var(--ink-soft);text-align:left}
.join-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative}
.join-card .btn-dark{background:var(--forest-900);color:#fff}
.join-card .btn-dark:hover{background:#284f2c}
.join-card .btn-white{background:#fff;color:var(--forest-700)}
.join-card .btn-white:hover{background:#f2f9ec}

/* home responsive */
@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;text-align:center}
  .hero-actions,.hero-stats{justify-content:center}
  .hero-art{order:-1;min-height:300px}
  .trust-grid,.feat-grid,.prog-grid,.open-grid{grid-template-columns:repeat(2,1fr)}
  .comm-grid{grid-template-columns:1fr}
  .find-card .fc-inner{grid-template-columns:1fr}
}
@media(max-width:560px){
  .section{padding:56px 0}
  .trust-grid,.prog-grid,.open-grid,.quick-links{grid-template-columns:1fr 1fr}
  .feat-grid{grid-template-columns:1fr}
  .find-form{flex-wrap:wrap;border-radius:24px}
  .find-form input{min-width:0;width:100%}.find-form button{width:100%}
  .join-card,.find-card{padding:34px 24px}
}
