/* BOTANICAL GALLERY — 스마트팜카페 공통 디자인 시스템 */
:root{--forest:#102B22;--ivory:#F5F2E9;--sage:#9EAD91;--char:#202820;--bronze:#B19A75;--bronze-d:#7E6A47;--line:rgba(32,40,32,.16);
--serif:"Cormorant Garamond","Times New Roman",serif;--sans:Pretendard Variable,Pretendard,SUIT,"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif;--hh:64px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:72px}
body{font-family:var(--sans);font-size:16px;line-height:1.75;color:var(--char);background:var(--ivory);overflow-x:hidden;word-break:keep-all;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3{line-height:1.25;letter-spacing:-.025em;font-weight:700}
.wrap{width:min(1240px,100% - 40px);margin-inline:auto}
.lbl{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--bronze-d);font-weight:600}
.lbl b{font-weight:600;color:var(--char)}
.lbl:after{content:"";height:1px;width:56px;background:currentColor;opacity:.5}
.dark .lbl,.dark .lbl b{color:var(--bronze)}
.dark{background:var(--forest);color:#e7e5da}
.dark h2,.dark h3{color:var(--ivory)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;border-radius:999px;background:var(--forest);color:var(--ivory);font-weight:700;font-size:16px;letter-spacing:-.01em;border:1.5px solid var(--forest);transition:background .2s,color .2s}
.btn:hover{background:var(--bronze);border-color:var(--bronze);color:var(--forest)}
.btn.ghost{background:transparent;color:var(--forest)}
.btn.ghost:hover{background:var(--forest);color:var(--ivory);border-color:var(--forest)}
.dark .btn{background:var(--ivory);color:var(--forest);border-color:var(--ivory)}
.dark .btn:hover{background:var(--bronze);border-color:var(--bronze)}
.dark .btn.ghost{background:transparent;color:var(--ivory);border-color:rgba(245,242,233,.5)}
.dark .btn.ghost:hover{background:var(--ivory);color:var(--forest)}
.arrow:after{content:"→";font-family:var(--sans)}
/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:50;background:rgba(245,242,233,.97);border-bottom:1px solid var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:var(--hh)}
.logo{white-space:nowrap;font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.14em;color:var(--forest);line-height:1.1}
.logo small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:0;font-weight:500;color:var(--bronze-d);margin-top:3px}
.nav{display:none}
.hdr .cta{display:none;min-height:42px;padding:0 22px;font-size:14px}
#mt{position:absolute;opacity:0;pointer-events:none}
.burger{display:grid;place-items:center;width:46px;height:46px;cursor:pointer;gap:0}
.burger i{display:block;width:24px;height:1.6px;background:var(--forest);margin:3px 0;transition:transform .25s,opacity .25s}
#mt:checked~.wrap .burger i:nth-child(1){transform:translateY(4.6px) rotate(45deg)}
#mt:checked~.wrap .burger i:nth-child(2){opacity:0}
#mt:checked~.wrap .burger i:nth-child(3){transform:translateY(-4.6px) rotate(-45deg)}
.drawer{position:fixed;inset:var(--hh) 0 0;background:var(--ivory);padding:30px 24px;display:none;flex-direction:column;gap:2px;overflow:auto}
#mt:checked~.drawer{display:flex}
.drawer a{font-size:22px;font-weight:700;padding:14px 0;border-bottom:1px solid var(--line);color:var(--forest)}
.drawer .btn{margin-top:24px;color:var(--ivory);border-bottom:0;font-size:17px}
.drawer small{margin-top:auto;color:#667;font-size:14px}
/* 01 hero */
.hero{position:relative;padding-top:var(--hh);background:var(--ivory)}
.hero .ph{position:relative;height:65svh;min-height:440px;overflow:hidden}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 70%;animation:slow 16s ease-out both}
@keyframes slow{from{transform:scale(1.06)}to{transform:scale(1)}}
.hero .big{position:absolute;left:20px;right:20px;bottom:22px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(46px,14.5vw,70px);line-height:.92;color:var(--forest);letter-spacing:-.02em}
.hero .big span{display:block}
.hero .tx{padding:18px 20px 6px}
.hero h1{font-size:34px;letter-spacing:-.03em;color:var(--forest)}
.hero .tx p{margin:6px 0 16px;font-size:15px;line-height:1.65}
.scroll{display:flex;align-items:center;gap:16px;margin:28px 0 0;padding:0 20px;font-family:var(--serif);font-size:13px;letter-spacing:.3em;color:var(--bronze-d);font-weight:600}
.scroll:before{content:"";flex:0 0 56px;height:1px;background:var(--bronze-d)}
/* sections */
.sec{padding:60px 0}
h2.t{font-size:clamp(28px,7vw,44px);margin:16px 0 0}
h2.t em{font-style:normal;font-weight:800;color:var(--bronze-d)}
.dark h2.t em{color:var(--bronze)}
/* 02 */
.s2 .g{display:grid;gap:28px}
.s2 figure{overflow:hidden;border-radius:2px}
.s2 .a img{aspect-ratio:1/1;width:100%;object-fit:cover}
.s2 .msg p.q{font-family:var(--serif);font-size:clamp(34px,9vw,60px);font-style:italic;line-height:1.08;color:var(--forest);font-weight:500;letter-spacing:-.01em}
.s2 .msg p.ko{font-size:clamp(22px,5.4vw,30px);font-weight:700;color:var(--forest);margin:14px 0 14px;letter-spacing:-.03em}
.s2 .msg p.d{max-width:44ch}
.s2 .msg ul{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:18px;font-size:15px;color:#4a5348}
.s2 .msg li:before{content:"— ";color:var(--bronze-d)}
.s2 .pair{position:relative;padding-bottom:30px}
.s2 .b img{aspect-ratio:3/2;width:100%;object-fit:cover}
.s2 .c{width:52%;margin:-46px 0 0 auto;border:6px solid var(--ivory);position:relative}
.s2 .c img{aspect-ratio:1/1;width:100%;object-fit:cover}
/* 03 */
.s3 .sub{max-width:46ch;margin-top:14px;color:#c9cdbf}
.s3 .gr{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:40px}
.s3 figure{position:relative}
.s3 .chip{position:absolute;left:10px;top:10px;z-index:2;background:var(--ivory);color:var(--forest);font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;letter-spacing:-.01em}
.s3 .chip i{font-family:var(--serif);font-style:normal;margin-right:6px;color:var(--bronze-d);letter-spacing:.1em}
.s3 img{width:100%;object-fit:cover;background:#1b3a2e}
.s3 .t1{grid-column:1/3}.s3 .t1 img{aspect-ratio:6/7}
.s3 .t2 img,.s3 .t3 img{aspect-ratio:4/5}
.s3 .t4{grid-column:1/3}.s3 .t4 img{aspect-ratio:2/1}
.s3 figcaption{padding:12px 2px 0;font-size:14px;line-height:1.55;color:#c9cdbf}
.s3 figcaption a{display:inline-block;margin-top:6px;color:var(--bronze);font-weight:700;font-size:13px}
/* 04 */
.s4 .hd{display:flex;flex-direction:column;gap:14px}
.s4 .hd p{max-width:46ch;color:#4a5348}
.slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:34px -20px 0;padding:0 20px 10px;scrollbar-width:none}
.slider::-webkit-scrollbar{display:none}
.pj{flex:0 0 84%;scroll-snap-align:center}
.pj .im{overflow:hidden;border-radius:2px}
.pj img{width:100%;aspect-ratio:4/5;object-fit:cover}
.pj .n{font-family:var(--serif);font-size:15px;letter-spacing:.2em;color:var(--bronze-d);margin-top:14px;font-weight:600}
.pj h3{font-size:22px;color:var(--forest);margin:2px 0 2px}
.pj .m{font-size:13px;color:var(--bronze-d);font-weight:700;letter-spacing:.02em}
.pj p{font-size:15px;margin-top:6px;color:#4a5348;max-width:46ch}
.pj a{display:inline-block;margin-top:8px;font-size:14px;font-weight:700;color:var(--forest);border-bottom:1.5px solid var(--bronze)}
/* 05 */
.s5{position:relative;padding:0}
.s5 .ph{position:relative;height:64svh;min-height:420px}
.s5 .ph img{width:100%;height:100%;object-fit:cover}
.s5 .ph:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(transparent,rgba(16,43,34,.55));pointer-events:none}
.s5 .cap{z-index:2}
.s5 .cap{position:absolute;left:20px;right:20px;bottom:30px;color:var(--ivory);text-shadow:0 2px 18px rgba(0,0,0,.55)}
.s5 .cap .lbl,.s5 .cap .lbl b{color:var(--ivory)}
.s5 .cap p.q{font-family:var(--serif);font-style:italic;font-size:clamp(32px,8.6vw,64px);line-height:1.05;margin:12px 0 10px;font-weight:500}
.s5 .cap p.ko{font-size:clamp(20px,5vw,28px);font-weight:700;letter-spacing:-.03em;line-height:1.35}
.s5 .strip{background:var(--forest);color:#e7e5da;padding:26px 0}
.s5 .strip ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 18px;font-size:15px}
.s5 .strip li:before{content:"";display:inline-block;width:18px;height:1px;background:var(--bronze);margin-right:10px;vertical-align:middle}
.s5 .strip p{margin-top:16px;font-size:13px;color:#a9b3a2}
/* 06 */
.s6 .lead{max-width:46ch;margin-top:14px;color:#4a5348}
.tl{margin-top:40px;position:relative;padding-left:34px}
.tl:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--bronze)}
.tl li{position:relative;padding-bottom:30px}
.tl li:last-child{padding-bottom:0}
.tl li:before{content:"";position:absolute;left:-34px;top:9px;width:15px;height:15px;border-radius:50%;background:var(--ivory);border:1.5px solid var(--bronze-d)}
.tl .no{font-family:var(--serif);font-size:34px;line-height:1;color:var(--bronze-d);font-weight:500}
.tl h3{font-size:19px;color:var(--forest);margin:4px 0 4px}
.tl p{font-size:15px;color:#4a5348;max-width:42ch}
.s6 h3.tb{font-size:20px;margin-top:56px;color:var(--forest)}
.s6 .tbn{font-size:15px;margin:6px 0 14px;color:#4a5348}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:13px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--sans);font-size:13px;letter-spacing:.06em;color:var(--bronze-d);border-bottom:1.5px solid var(--forest)}
td:first-child{font-weight:700;color:var(--forest);width:38%}
/* 07 */
.s7 .cols{display:grid;gap:10px;margin-top:34px}
.s7 details{border-top:1px solid rgba(245,242,233,.22)}
.s7 summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:18px 0;min-height:56px;font-family:var(--serif);font-size:18px;letter-spacing:.22em;color:var(--bronze);font-weight:600;text-transform:uppercase}
.s7 summary::-webkit-details-marker{display:none}
.s7 summary:after{content:"+";font-size:24px;font-weight:300;font-family:var(--sans)}
.s7 details[open] summary:after{content:"−"}
.s7 summary span{font-family:var(--sans);letter-spacing:0;text-transform:none;font-size:15px;color:#a9b3a2;margin-left:12px;font-weight:400}
.s7 summary div{display:flex;align-items:baseline}
.s7 li a{display:flex;justify-content:space-between;align-items:center;min-height:56px;padding:6px 0;border-top:1px solid rgba(245,242,233,.12);font-size:18px;font-weight:600;color:var(--ivory);letter-spacing:-.02em}
.s7 li a:after{content:"→";color:var(--bronze);transition:transform .2s}
.s7 li a:hover{color:var(--bronze)}
.s7 li a:hover:after{transform:translateX(5px)}
.s7 .more{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
/* 08 */
.s8 .co{display:grid;gap:44px}
.s8 p.in{max-width:44ch;margin-top:14px}
dl.info{display:grid;grid-template-columns:104px 1fr;gap:8px 14px;font-size:15px;margin:22px 0;padding-top:18px;border-top:1px solid var(--line)}
dl.info dt{color:var(--bronze-d);font-weight:700}
.rel{font-size:15px}
.rel a{color:var(--forest);border-bottom:1.5px solid var(--bronze);font-weight:700}
.faq h2{font-size:22px;margin-bottom:6px;color:var(--forest)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 34px 18px 0;position:relative;font-weight:700;color:var(--forest);font-size:16px;line-height:1.5;min-height:56px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:2px;top:12px;font-size:26px;color:var(--bronze-d);font-weight:300}
.faq details[open] summary:after{content:"−"}
.faq h3{font-size:inherit;display:inline;font-weight:inherit;letter-spacing:-.02em}
.faq details p{padding:0 0 20px;font-size:15px;color:#3b453a}
.endcta{padding:84px 0;text-align:center}
.endcta .big{font-family:var(--serif);font-style:italic;font-size:clamp(34px,9vw,72px);line-height:1.05;color:var(--ivory);font-weight:500}
.endcta h2{font-size:clamp(22px,5.4vw,34px);margin:14px 0 28px;color:var(--ivory)}
.endcta .row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.ft{background:var(--char);color:#aab3a4;padding:34px 0 40px;font-size:13.5px;line-height:1.9}
.ft strong{color:var(--ivory)}
.ft a{color:var(--bronze)}
.ft .lg{font-family:var(--serif);letter-spacing:.16em;color:var(--ivory);font-size:18px;margin-bottom:8px;font-weight:600}
/* sub pages */
.ph-top{padding:calc(var(--hh) + 52px) 0 40px}
.ph-top h1{font-size:clamp(34px,8.6vw,64px);color:var(--forest);margin:16px 0 18px}
.ph-top .lead{font-size:clamp(17px,4.2vw,20px);max-width:52ch;color:#3b453a}
.ph-top .btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.strip-img{width:100%}
.strip-img img{width:100%;height:46svh;min-height:260px;max-height:560px;object-fit:cover}
.blk{padding:44px 0;border-top:1px solid var(--line)}
.blk h2{font-size:clamp(23px,5.6vw,32px);color:var(--forest);margin:10px 0 10px}
.blk p{max-width:60ch}
.gal{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0 0}
.gal img{width:100%;object-fit:cover}
.gal .g1{grid-column:1/3}.gal .g1 img{aspect-ratio:16/9}
.gal .g2 img,.gal .g3 img{aspect-ratio:4/5}
.gal .g4{grid-column:1/3}.gal .g4 img{aspect-ratio:16/9}
.gal figcaption{font-size:13px;color:#5c665a;margin-top:6px}
.rowlinks{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:16px;font-size:15px}
.rowlinks a{color:var(--forest);border-bottom:1.5px solid var(--bronze);font-weight:700}
/* tablet */
@media(min-width:768px){
 .wrap{width:min(1240px,100% - 64px)}
 .hero .ph{height:min(88vh,900px)}
 .hero .big{left:max(32px,calc((100vw - 1240px)/2));bottom:34px;font-size:clamp(70px,10vw,150px)}
 .hero{display:grid}
 .hero .ph{grid-area:1/1}
 .hero .tx{grid-area:1/1;align-self:end;justify-self:end;width:min(400px,42vw);margin:0 max(32px,calc((100vw - 1240px)/2)) 34px 0;padding:26px 28px 28px;background:var(--ivory);position:relative;z-index:2}
 .hero .tx p{font-size:16px;margin:8px 0 18px}
 .hero .scroll{grid-area:2/1}
 .scroll{padding:0 max(32px,calc((100vw - 1240px)/2));margin-top:0;height:64px;border-bottom:1px solid var(--line);align-items:center}
 .slider{display:grid;grid-template-columns:repeat(12,1fr);gap:28px 30px;overflow:visible;margin:56px 0 0;padding:0}
 .pj{flex:none}
 .pj img{aspect-ratio:auto}
 .pj:nth-child(1){grid-column:1/8}.pj:nth-child(1) img{aspect-ratio:3/2}
 .pj:nth-child(2){grid-column:9/13;margin-top:88px}.pj:nth-child(2) img{aspect-ratio:4/5}
 .pj:nth-child(3){grid-column:2/7;margin-top:-10px}.pj:nth-child(3) img{aspect-ratio:4/3}
 .pj:nth-child(4){grid-column:7/13;margin-top:64px}.pj:nth-child(4) img{aspect-ratio:16/10}
 .s2 .g{grid-template-columns:repeat(12,1fr);gap:0 24px;align-items:start}
 .s2 .a{grid-column:1/6;grid-row:1/4}
 .s2 .a img{aspect-ratio:4/5}
 .s2 .msg{grid-column:7/13;grid-row:1;padding-top:30px}
 .s2 .b{grid-column:6/12;grid-row:2;margin-top:30px}
 .s2 .c{grid-column:9/13;grid-row:2/4;width:auto;margin:300px 0 0;border:0}
 .s2 .pair{display:contents}
 .s3 .gr{grid-template-columns:repeat(12,1fr);gap:22px 24px}
 .s3 .t1{grid-column:1/8;grid-row:1/3}
 .s3 .t2{grid-column:8/13;grid-row:1}
 .s3 .t3{grid-column:8/13;grid-row:2}
 .s3 .t4{grid-column:1/13;grid-row:3}.s3 .t4 img{aspect-ratio:21/9}
 .s3 .t2 img,.s3 .t3 img{aspect-ratio:4/3}
 .s3 .chip{left:16px;top:16px;font-size:13px}
 .s5 .ph{height:min(92vh,880px)}
 .s5 .cap{left:max(32px,calc((100vw - 1240px)/2));right:auto;bottom:56px;max-width:720px}
 .s5 .strip ul{grid-template-columns:repeat(4,auto);justify-content:space-between}
 .tl{padding:30px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
 .tl:before{left:0;right:0;top:7px;bottom:auto;width:auto;height:1px}
 .tl li{padding:26px 0 0}
 .tl li:before{left:0;top:-1px}
 .s7 .cols{grid-template-columns:1fr 1fr;gap:0 80px}
 .s7 summary{pointer-events:none;cursor:default}
 .s7 summary:after{content:""!important}
 .s8 .co{grid-template-columns:1fr 1.15fr;gap:80px}
 .sec{padding:120px 0}
 .s5 .ph:after{height:45%;background:linear-gradient(transparent,rgba(16,43,34,.4))}
 .blk{display:grid;grid-template-columns:240px 1fr;gap:0 56px;padding:56px 0}
 .gal{grid-template-columns:repeat(12,1fr);gap:22px 24px}
 .gal .g1{grid-column:1/9}.gal .g2{grid-column:9/13;margin-top:60px}.gal .g2 img,.gal .g3 img{aspect-ratio:4/5}
 .gal .g3{grid-column:2/6}.gal .g4{grid-column:6/13;margin-top:50px}.gal .g4 img{aspect-ratio:16/10}
 .gal .g1 img{aspect-ratio:3/2}
}
@media(min-width:1000px){
 .nav{display:flex;gap:30px;font-size:15px;font-weight:600;color:var(--forest)}
 .nav a:hover{color:var(--bronze-d)}
 .hdr .cta{display:inline-flex}
 .burger,.drawer,#mt{display:none!important}
}
@media(min-width:1100px){.hero .ph{height:min(92vh,960px)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
