/* 치유농장 지금 — 공통(2026-10-09, 시안 Style·Header·Footer·Menu-Mobile 그대로). 화면별 모양은 각 화면 안 <style>(시안에서 옮김) */
:root{
  --paper:#F5F3EC; --sprout:#E6EBDF; --line:#DAD6CA; --ink:#1C2620; --forest:#1F3326; --sub:#3C4740; --muted:#55605A;
  --stamp:#226EA7; --lab-navy:#0F2F4C; --lab-sky:#E3EEF7; --lab-line:#B9D3EA; --lab-ink:#17507E; --foot:#16201A;
  --f-body:'IBM Plex Sans KR',system-ui,-apple-system,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;
  --f-serif:'Gowun Batang','Nanum Myeongjo',serif;
  --f-logo:'Gothic A1','Apple SD Gothic Neo','Malgun Gothic',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);word-break:keep-all;overflow-x:hidden}
img{max-width:100%}
a{color:var(--ink)}a:hover{color:var(--stamp)}
button{font-family:inherit}
.skip{position:absolute;left:-9999px;top:0}.skip:focus{left:16px;top:8px;z-index:100;background:#fff;padding:10px 16px;border-radius:8px}
:focus-visible{outline:3px solid var(--stamp);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* 머리줄 */
.gnb{position:sticky;top:0;z-index:40;background:rgba(245,243,236,.96);border-bottom:1px solid var(--line);backdrop-filter:saturate(1.2) blur(6px)}
.gnb-in{max-width:1280px;margin:0 auto;padding:0 24px;height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.gnb-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}
.gnb-logo img{height:54px;width:auto;display:block}
.gnb-logo span{font-family:var(--f-logo);font-weight:800;font-size:24px;letter-spacing:-.03em;color:var(--forest)}
.gnb-links{display:flex;align-items:center;gap:32px;font-size:17px;font-weight:500}
.gnb-links>a{text-decoration:none;padding:8px 0;border-bottom:2px solid transparent;color:var(--ink)}
.gnb-links>a.on{color:var(--forest);font-weight:700;border-bottom-color:var(--forest)}
a.gnb-lab{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;padding:12px 20px;border-radius:999px;background:var(--lab-sky);color:var(--lab-ink);border:1px solid var(--lab-line);text-decoration:none;white-space:nowrap}
a.gnb-lab:hover{background:#D3E5F4;color:var(--lab-ink)}
a.gnb-lab.on{background:var(--stamp);color:#fff;border-color:var(--stamp)}
.gnb-right{display:flex;align-items:center;gap:12px;flex:none}
.gnb-cta{background:var(--forest);color:#fff;text-decoration:none;font-size:16px;font-weight:600;padding:13px 22px;border-radius:999px}
.gnb-cta:hover{color:#fff;background:#2B4634}
.gnb-burger{display:none;width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
@media (max-width:1100px){.gnb-links{display:none}.gnb-right .gnb-lab{display:none}.gnb-burger{display:inline-flex}}
@media (max-width:767px){.gnb-in{height:64px;padding:0 16px}.gnb-logo img{height:42px}.gnb-logo span{font-size:20px}}

/* 꼬리줄 */
.ft{background:var(--foot);color:#B9C7B3}
.ft-in{max-width:1280px;margin:0 auto;padding:64px 24px 48px;display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between}
.ft-info{display:flex;flex-direction:column;gap:18px;flex:1 1 340px}
.ft-logos{display:flex;align-items:center;gap:14px}.ft-logos img{height:72px;width:auto}
.ft-cta{align-self:flex-start;background:var(--paper);color:var(--forest)!important;text-decoration:none;font-size:16px;font-weight:700;padding:13px 24px;border-radius:999px}
.ft-cta:hover{background:#fff}
.ft-name{font-family:var(--f-logo);font-weight:800;font-size:22px;color:var(--paper);letter-spacing:-.03em}
.ft-addr{font-size:15px;line-height:1.9}
.ft-nav{display:flex;flex-wrap:wrap;gap:56px;font-size:15px}
.ft-nav>div{display:flex;flex-direction:column;gap:12px}
.ft-nav span{color:var(--paper);font-weight:600}.ft-nav span.lab{color:#9CC3E4}
.ft a{color:#B9C7B3;text-decoration:none}.ft a:hover{color:#fff}
.ft-bottom{border-top:1px solid #2C3A30}
.ft-bottom-in{max-width:1280px;margin:0 auto;padding:20px 24px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:13px}
.ft-legal{display:flex;gap:20px}.ft-legal b{color:var(--paper)}
@media (max-width:767px){.ft-in{padding:48px 20px 36px;gap:36px}.ft-nav{gap:28px 40px}.ft{padding-bottom:84px}}

/* 휴대폰 아래 고정 문의 줄 */
.m-bar{display:none}
@media (max-width:767px){
  .m-bar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:35;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));background:rgba(245,243,236,.97);border-top:1px solid var(--line)}
  .m-bar a{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px}
  .m-bar-tel{flex:1;border:1px solid var(--ink);color:var(--ink)}
  .m-bar-cta{flex:2;background:var(--forest);color:#fff}.m-bar-cta:hover{color:#fff}
}

/* 전체 메뉴(태블릿·휴대폰) */
.m-menu{position:fixed;inset:0;z-index:60;background:var(--paper);display:flex;flex-direction:column;overflow-y:auto}
.m-menu[hidden]{display:none}
.m-menu-head{height:64px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);flex:none}
.m-menu-head .gnb-logo img{height:42px}.m-menu-head .gnb-logo span{font-size:20px}
.m-close{width:44px;height:44px;border:1px solid var(--line);background:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--ink)}
.m-menu-nav{flex:1;padding:16px;display:flex;flex-direction:column;max-width:640px;width:100%;margin:0 auto}
.m-row{text-decoration:none;padding:18px 4px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}
.m-row b{font-size:22px;font-weight:700}.m-row>span{font-size:14px;color:var(--muted);text-align:right}
.m-row.m-last{border-bottom:0}
.m-group{flex-direction:column;align-items:flex-start;gap:12px}
.m-group a{text-decoration:none;font-size:16px;color:var(--sub);padding:4px 0}
.m-lab{text-decoration:none;margin:14px 0;padding:18px 20px;border-radius:12px;background:#123A5C;color:#fff;display:flex;justify-content:space-between;align-items:center}
.m-lab:hover{color:#fff}.m-lab-t{display:flex;align-items:center;gap:10px}.m-lab-t b{font-size:21px}.m-lab>span:last-child{font-size:14px;color:#A9C3DB}
.m-menu-foot{padding:16px 16px 28px;display:flex;flex-direction:column;gap:10px;max-width:640px;width:100%;margin:0 auto}
.m-menu-cta{min-height:54px;display:flex;align-items:center;justify-content:center;background:var(--forest);color:#fff;border-radius:999px;text-decoration:none;font-weight:600;font-size:16px}
.m-menu-cta:hover{color:#fff}
.m-menu-foot>div{display:flex;justify-content:center;gap:20px;font-size:14px}.m-menu-foot>div a{text-decoration:none}
@keyframes jgSlide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.m-menu:not([hidden]) .jg-in{animation:jgSlide .5s cubic-bezier(.2,.7,.2,1) both}
.i1{animation-delay:.05s}.i2{animation-delay:.1s}.i3{animation-delay:.15s}.i4{animation-delay:.2s}.i5{animation-delay:.25s}.i6{animation-delay:.3s}
@media (prefers-reduced-motion:reduce){.m-menu .jg-in{animation:none!important}}
body.menu-open{overflow:hidden}

/* 시안 화면 공통 보정: 고정 폭 표·격자가 휴대폰에서 넘치지 않게 */
main{display:block}
@media (max-width:767px){
  main section{padding-left:16px!important;padding-right:16px!important}
}

/* 개인정보처리방침·이용약관 */
.doc{max-width:820px;margin:0 auto;padding:72px 24px 120px;font-size:17px;line-height:1.85;color:var(--sub)}
.doc h1{font-family:var(--f-serif);font-size:clamp(32px,4vw,44px);color:var(--ink);margin:16px 0 24px}
.doc h2{font-size:19px;color:var(--ink);margin:32px 0 8px}
.doc p{margin:0 0 8px}
.doc-back{font-size:15px;color:var(--muted);text-decoration:none}
.doc-date{margin-top:32px!important;font-size:15px;color:var(--muted)}

/* 휴대폰: 시안의 넓은 격자(칸 최소 300px 넘음)는 한 줄에 하나로 */
@media (max-width:767px){
  [style*="minmax(300px"],[style*="minmax(320px"],[style*="minmax(340px"],[style*="minmax(360px"],[style*="minmax(380px"],[style*="minmax(400px"]{grid-template-columns:minmax(0,1fr)!important}
  main [style*="flex: 1 1"],main [style*="flex: 1.2 1"],main [style*="flex: 1.3 1"],main [style*="flex: 1.4 1"],main [style*="flex: 1.6 1"]{min-width:0;flex-basis:100%!important}
  main [style*="padding: 44px"],main [style*="padding: 48px"]{padding:28px 20px!important}
}
@media (max-width:767px){
  .stat3>div{padding:14px 10px!important}
  .stat3>div>span:first-child{font-size:20px!important;line-height:1.3}
}

/* 넘기는 사진(관리 화면에서 장수가 바뀌어도 동작 — site.js 가 6초마다 넘김, 2026-10-09) */
@keyframes jgKenJS{0%{transform:scale(1.02)}100%{transform:scale(1.14) translate(-1.5%,-1%)}}
.jg-slides.jg-js>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s ease;animation:jgKenJS 12s ease-in-out infinite alternate}
.jg-slides.jg-js>img.on{opacity:1}
.jg-slides.jg-js>img:only-child{opacity:1}
@media (prefers-reduced-motion:reduce){.jg-slides.jg-js>img{animation:none!important;transition:none}}
