
:root{--gnb-h:78px;--blue:#4472c4;--blue-dark:#315da9;--p-green:#063b2d;--p-green2:#0b4a38;--p-lime:#7edc42;--p-cream:#f4f5ed;--p-paper:#fafaf7;--p-ink:#1a211d;--p-muted:#68706b;--p-line:#d9ddd6;--p-white:#fff;--forest:#063b2d}
html{scroll-padding-top:var(--gnb-h)}
body{background:#fff}

.gnb{position:sticky;top:0;z-index:40;height:var(--gnb-h);padding:0 max(24px,calc((100% - 1240px) / 2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid rgba(0,0,0,.06);font-family:Inter,"Noto Sans KR",sans-serif}
.gnb-brand img{width:92px;height:auto}
.gnb-menu{flex:1;display:flex;align-items:center;margin-left:60px}
.gnb-links{flex:1;display:flex;justify-content:center;gap:38px;font-size:14px;font-weight:700;color:var(--p-ink)}
.gnb-links a{position:relative;padding:30px 0}
.gnb-links a:after{content:"";position:absolute;left:0;right:100%;bottom:22px;height:2px;background:var(--blue);transition:.25s}
.gnb-links a:hover:after,.gnb-links a[aria-current="page"]:after{right:0}
.gnb-actions{display:flex;gap:8px}
.gnb-pill{padding:10px 17px;border:1px solid #d9ddd8;border-radius:999px;background:#fff;font-size:13px;font-weight:800;color:var(--p-ink)}
.gnb-pill.blue{background:var(--blue);border-color:var(--blue);color:#fff}
.gnb-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:10px;color:var(--ink)}
.gnb-toggle span{display:block;height:2px;background:currentColor;margin:7px 0}

.page-intro{padding:clamp(80px,9vw,130px) clamp(22px,8vw,138px) clamp(60px,6vw,90px);background:var(--forest);color:#fff;position:relative;overflow:hidden}
.page-intro:after{content:"";position:absolute;width:620px;height:620px;border-radius:50%;background:rgba(120,214,75,.1);right:-200px;top:-220px}
.page-intro .kicker{color:var(--lime);margin-bottom:22px}
.page-intro h1{font-size:clamp(40px,5.4vw,80px);line-height:1.12;letter-spacing:-.06em;margin:0;position:relative;z-index:1;word-break:keep-all}
.page-intro h1 em{font-style:normal;color:var(--lime)}
.page-intro p{position:relative;z-index:1;max-width:640px;margin:26px 0 0;font-size:18px;line-height:1.85;color:rgba(255,255,255,.75);word-break:keep-all}

.home-hero{position:relative;height:min(88vh,860px);min-height:560px;overflow:hidden;color:#fff;display:grid;place-items:center;text-align:center}
.home-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-hero:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(5,23,17,.55),rgba(5,23,17,.15) 55%,rgba(5,23,17,.25))}
.home-hero-copy{position:relative;z-index:2;padding:0 22px}
.home-hero-copy .eyebrow{margin:0 0 18px}
.home-hero h1{margin:0;font-size:clamp(28px,3.6vw,54px);line-height:1.35;letter-spacing:-.05em;font-weight:700;word-break:keep-all;text-shadow:0 2px 24px rgba(0,0,0,.35)}

.services{background:var(--paper)}
.services-head{display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end;margin-bottom:56px}
.services-head h2{font-size:clamp(36px,4.2vw,62px);line-height:1.16;letter-spacing:-.06em;margin:0}
.services-head p{margin:0;color:var(--muted);font-size:17px;word-break:keep-all}
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{background:#fff;border:1px solid rgba(18,38,29,.1);padding:34px 30px;min-height:330px;display:flex;flex-direction:column;transition:.25s}
.service-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(13,45,33,.1);border-color:transparent}
.service-card svg{width:58px;height:58px;padding:12px;background:#eef4e8;color:var(--forest);fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.service-card small{margin-top:34px;font-size:14px;color:var(--muted);font-weight:600}
.service-card h3{margin:6px 0 10px;font-size:26px;letter-spacing:-.04em}
.service-card p{margin:0;color:#526057;word-break:keep-all}
.service-card .more{margin-top:auto;padding-top:26px;font-weight:700;color:#36752b}

.hub{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,96px);align-items:center;background:#fff}
.hub-logo{width:min(240px,60%);height:auto;margin-bottom:30px;mix-blend-mode:multiply}
.hub h2{font-size:clamp(32px,3.4vw,48px);line-height:1.25;letter-spacing:-.05em;margin:0 0 22px;word-break:keep-all}
.hub p{margin:0 0 14px;color:#526057;font-size:17px;word-break:keep-all}
.hub .hub-notice{color:var(--forest);font-weight:700}
.hub-address{margin-top:28px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:6px}
.hub-address strong{font-size:17px}
.hub-address a{color:#36752b;font-weight:700}
.hub-map{display:inline-flex;margin-top:18px;padding:12px 18px;border:1px solid var(--line);font-weight:700;font-size:14px}
.hub-map:hover{background:var(--forest);color:#fff}
.hub-visual img{width:100%;height:auto}

.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,6vw,96px);align-items:center}
.feature-split.reverse .feature-media{order:2}
.feature-split h2{font-size:clamp(30px,3.2vw,46px);line-height:1.3;letter-spacing:-.05em;margin:0 0 24px;word-break:keep-all}
.feature-split p{color:#526057;font-size:17px;line-height:1.9;margin:0 0 14px;word-break:keep-all}
.feature-media{margin:0}
.feature-media img{width:100%;height:auto}
.feature-media figcaption{font-size:13px;color:var(--muted);margin-top:10px}
.tech-banner{position:relative;color:#fff;min-height:440px;display:flex;align-items:flex-end;overflow:hidden}
.tech-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tech-banner:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(5,23,17,.85),rgba(5,23,17,.35) 60%,rgba(5,23,17,.1))}
.tech-banner div{position:relative;z-index:2}
.tech-banner h2{margin:0;font-size:clamp(28px,3.4vw,50px);line-height:1.3;letter-spacing:-.05em;word-break:keep-all}
.app-points{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:30px}
.app-points div{padding:16px;background:var(--paper)}
.app-points b{display:block;font-size:15px}
.app-points span{display:block;font-size:13px;color:var(--muted);word-break:keep-all}
.todo-note{display:inline-block;margin-top:14px;font-size:12px;color:#8a6d1f;background:#fff6db;padding:6px 10px}
.gallery{background:#eef2e9}

.farm-hero{background:#f3f5f4}
.farm-hero img{width:100%;height:auto;display:block}
.farm-hero-copy{text-align:center;padding:clamp(56px,6vw,90px) 22px}
.farm-hero-copy p{margin:0 auto;font-size:clamp(20px,2vw,28px);line-height:1.7;letter-spacing:-.03em;font-weight:600;max-width:760px;word-break:keep-all}
.farm-hero-copy p+p{margin-top:22px;color:#36752b}
.screens{display:grid;grid-template-columns:1fr 1.4fr;grid-template-rows:280px 280px;gap:14px}
.screen-slot{background:#e8eddf;border:1px dashed #9fb193;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#5d7869;font-weight:700}
.screen-slot small{display:block;font-weight:500;font-size:13px;margin-top:6px}
.screen-slot.tall{grid-row:1/3}
.why{background:var(--paper)}
.why h2,.center-title{text-align:center;font-size:clamp(32px,3.6vw,52px);letter-spacing:-.05em;margin:0 0 56px}
.quotes{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.quotes article{background:#fff;padding:36px 34px}
.quotes h3{margin:0 0 18px;font-size:21px;line-height:1.45;letter-spacing:-.03em;word-break:keep-all}
.quotes blockquote{margin:0;color:#526057;line-height:1.9;word-break:keep-all}
.balance{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
.balance div{padding:34px;display:flex;align-items:center;gap:30px}
.balance .minus{background:var(--forest);color:#fff}
.balance .plus{background:var(--leaf);color:var(--forest)}
.balance b{font:800 64px/1 Manrope,sans-serif}
.balance ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.balance li{padding:8px 14px;border:1px solid currentColor;font-weight:700}
.farm-count{background:var(--forest);color:#fff;text-align:center}
.farm-count p{margin:0;font-size:clamp(20px,2vw,26px);color:rgba(255,255,255,.8)}
.farm-count strong{display:block;margin-top:10px;font:800 clamp(64px,9vw,128px)/1 Manrope,sans-serif;color:var(--lime);letter-spacing:-.04em}
.farm-count strong span{font-family:"Noto Sans KR",sans-serif;font-size:.4em;margin-left:6px}
.system-visual{max-width:900px;margin:0 auto}
.system-visual img{width:100%;height:auto}
.system-cols{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);max-width:900px;margin:0 auto}
.system-cols article{padding:32px 30px;border-right:1px solid var(--line)}
.system-cols article:last-child{border-right:0}
.system-cols h3{margin:0 0 14px;font-size:22px;letter-spacing:-.03em}
.system-cols p{margin:0;color:#526057;line-height:1.85;word-break:keep-all}
.faq{background:var(--paper);text-align:center}
.faq h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.04em;margin:0 0 26px}
.faq p{font-size:18px;line-height:1.9;color:#526057;margin:0 0 40px;word-break:keep-all}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 24px;font-weight:700;background:var(--forest);color:#fff;border:0;transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:#fff;color:var(--forest);border:1px solid var(--line)}
.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed;transform:none}
.contact .btn-row{justify-content:flex-end}

.coming{min-height:60vh;display:grid;place-items:center;text-align:center;background:var(--paper)}
.coming h1{font-size:clamp(36px,4vw,56px);letter-spacing:-.05em;margin:0 0 14px}
.coming p{color:var(--muted);margin:0 0 30px}

.site-footer{display:block;padding:60px max(24px,calc((100% - 1240px) / 2)) 25px;background:var(--blue);color:#fff;font-family:Inter,"Noto Sans KR",sans-serif}
.footer-top{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand contact" "links biz";gap:32px 50px;align-items:start}
.footer-identity{grid-area:brand}
.footer-contact{grid-area:contact}
.footer-biz{grid-area:biz;align-self:center}
.site-footer .footer-biz p{margin:0;font-size:11px;line-height:1.5}
.footer-logo{width:94px;height:auto}
.site-footer p{margin:12px 0;font-size:12px;opacity:.78}
.site-footer p a:hover,.footer-bottom a:hover{text-decoration:underline}
.footer-links{grid-area:links;display:flex;flex-wrap:wrap;gap:8px;align-self:center}
.footer-links a{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:12px;font-weight:700;transition:background .2s,color .2s}
.footer-links a:hover{background:#fff;color:var(--blue)}
.footer-bottom{margin-top:18px;padding-top:18px;border-top:1px solid rgba(255,255,255,.25);font-size:11px;opacity:.7}

.float-dock{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:35;display:grid;gap:10px;width:78px}
.float-dock a{display:grid;justify-items:center;gap:4px;text-align:center;font-size:12px;font-weight:700;line-height:1.25;padding:12px 6px}
.float-dock svg{width:24px;height:24px}
.float-kakao{background:#fee500;color:#191600;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.14);cursor:pointer}
.float-kakao svg{fill:#191600}
.float-kakao[aria-disabled="true"]{cursor:default}
.float-apps{background:#fff;border-radius:16px;box-shadow:0 10px 24px rgba(0,0,0,.12);overflow:hidden}
.float-apps a+a{border-top:1px solid #eee}
.float-apps svg path:not([fill]){fill:#111}

@media(max-width:900px){
  :root{--gnb-h:68px}
  .gnb-toggle{display:block}
  .gnb-brand img{width:78px}
  .gnb-menu{position:absolute;top:var(--gnb-h);left:0;right:0;margin:0;display:none;flex-direction:column;align-items:stretch;padding:14px 20px 22px;background:#fff;border-bottom:1px solid var(--p-line);box-shadow:0 18px 30px rgba(0,0,0,.08)}
  .gnb-menu.open{display:flex}
  .gnb-links{flex-direction:column;gap:0}
  .gnb-links a{padding:14px 4px}
  .gnb-links a:after{display:none}
  .gnb-actions{margin-top:10px}
  .gnb-pill{flex:1;text-align:center}
  .footer-top{display:block}
  .footer-biz{margin-top:4px}
  .footer-links{margin-top:28px}
  .services-head,.hub,.feature-split,.quotes,.balance{grid-template-columns:1fr}
  .feature-split.reverse .feature-media{order:0}
  .service-cards{grid-template-columns:1fr}
  .service-card{min-height:0}
  .screens{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px}
  .screen-slot.tall{grid-row:auto;grid-column:1/3}
  .system-cols{grid-template-columns:1fr}
  .system-cols article{border-right:0;border-bottom:1px solid var(--line)}
  .contact .btn-row{justify-content:flex-start}
  .float-dock{top:auto;bottom:16px;transform:none;right:12px;width:64px}
  .float-apps{display:none}
}
@media(max-width:560px){
  .app-points{grid-template-columns:1fr}
  .balance div{flex-direction:column;align-items:flex-start;gap:16px}
  .screens{grid-template-columns:1fr;grid-template-rows:none}
  .screen-slot,.screen-slot.tall{grid-column:auto;min-height:180px}
}
.calc-equation.calc-five{grid-template-columns:auto auto auto auto 1fr}
@media(max-width:900px){.calc-equation.calc-five{grid-template-columns:1fr auto 1fr}}
@media(max-width:560px){.calc-equation.calc-five{grid-template-columns:1fr}}
.routine-head h2{word-break:keep-all}
.contact h2,.home-hero h1{word-break:keep-all}

.page-intro.has-aside{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(32px,6vw,96px);align-items:center}
.intro-location{position:relative;z-index:1;display:grid;justify-items:start;gap:6px;padding:28px 30px;background:#fff;color:var(--ink)}
.page-intro .intro-location-label{margin:0 0 8px;font-size:13px;font-weight:700;line-height:1.4;color:#36752b}
.intro-location strong{font-size:18px;word-break:keep-all}
.intro-location-tel{font-weight:700;color:#36752b}
.intro-location-map{margin-top:16px;padding:12px 18px;border:1px solid var(--line);font-size:14px;font-weight:700}
.intro-location-map:hover{background:var(--forest);color:#fff}

.garden-play{background:var(--p-cream)}
.garden-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:end;margin-bottom:42px}
.garden-intro .kicker{margin-bottom:0;font-size:11px;letter-spacing:.16em;font-weight:900}
.garden-intro h2{font-size:clamp(34px,4.5vw,58px);line-height:1.12;letter-spacing:-.055em;font-weight:900;margin:12px 0 12px;word-break:keep-all}
@media(min-width:901px){.garden-intro{display:flex;justify-content:space-between}.garden-intro>*{flex:1 1 0}.garden-intro h2{white-space:nowrap}}
.garden-desc{margin:0;font-size:15px;color:var(--p-muted);max-width:590px;word-break:keep-all}
.garden-size{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:25px}
.garden-size span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #d8ddd6;border-radius:999px;background:#fff;font-size:12px;font-weight:800}
.garden-size strong{font-size:14px;color:var(--blue-dark)}
.garden-help{margin:0;font-size:13px;line-height:1.7;color:#69736d;word-break:keep-all}
.garden-help b{color:inherit}
.garden-aside{display:flex;flex-direction:column;gap:16px}
.garden-aside .garden-size{margin-top:0}
.garden-stage{position:relative;padding:28px;background:#e9eee5;border:1px solid #d5ddd2;border-radius:4px;overflow:hidden;box-shadow:0 20px 55px rgba(25,50,39,.08)}
.garden-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.5),transparent 35%);pointer-events:none}
.garden-ratio{margin:0 0 12px;text-align:center;font-size:10px;font-weight:900;letter-spacing:.12em;color:#758078}
.garden-bed{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-height:300px;padding:15px;background:#7d5d3e;border:7px solid #8d6a47;box-shadow:inset 0 0 0 2px rgba(255,255,255,.14),0 14px 30px rgba(45,34,23,.18)}
.garden-bed:before{content:"";position:absolute;inset:10px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045) 0 2px,transparent 2px 15px);pointer-events:none}
.plot{position:relative;min-width:0;padding:0;border:1px dashed rgba(255,255,255,.27);background:rgba(70,45,27,.22);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .25s,transform .25s,box-shadow .25s}
.plot:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.plot:focus-visible{outline:3px solid var(--p-lime);outline-offset:2px}
.plot-label{position:absolute;left:10px;top:9px;z-index:5;font-size:10px;font-weight:800;color:rgba(255,255,255,.76)}
.plot-type{position:absolute;right:9px;bottom:9px;z-index:5;font-size:9px;font-weight:700;color:rgba(255,255,255,.58);text-shadow:0 1px 2px rgba(40,25,10,.6)}
.plant{position:relative;width:72%;height:78%;transform-origin:bottom center;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s}
.plot[data-stage="0"] .plant{transform:scale(.34);filter:saturate(.6)}
.plot[data-stage="1"] .plant{transform:scale(.62)}
.plot[data-stage="2"] .plant{transform:scale(.83)}
.plot[data-stage="3"] .plant{transform:scale(1)}
.stem{position:absolute;bottom:7%;left:50%;width:6px;height:68%;border-radius:10px;background:#3f7a42;transform:translateX(-50%) scaleY(0);transform-origin:bottom;transition:transform .55s ease}
.plot:not([data-stage="0"]) .stem{transform:translateX(-50%) scaleY(1)}
.leaf{position:absolute;width:31px;height:17px;background:#5fa84b;border-radius:100% 0 100% 0;opacity:0;transition:opacity .4s .08s,transform .5s}
.leaf.l1{left:17%;bottom:39%;transform:rotate(-32deg) scale(.5)}
.leaf.l2{right:17%;bottom:49%;transform:rotate(32deg) scale(.5) scaleX(-1)}
.leaf.l3{left:25%;bottom:59%;transform:rotate(-25deg) scale(.5)}
.leaf.l4{right:25%;bottom:68%;transform:rotate(25deg) scale(.5) scaleX(-1)}
.plot:not([data-stage="0"]) .leaf.l1{opacity:1;transform:rotate(-32deg) scale(1)}
.plot[data-stage="2"] .leaf.l2,.plot[data-stage="3"] .leaf.l2{opacity:1;transform:rotate(32deg) scale(1) scaleX(-1)}
.plot[data-stage="3"] .leaf.l3{opacity:1;transform:rotate(-25deg) scale(1)}
.plot[data-stage="3"] .leaf.l4{opacity:1;transform:rotate(25deg) scale(1) scaleX(-1)}
.fruit{position:absolute;width:17px;height:17px;border-radius:50%;background:#e75b4d;opacity:0;transform:scale(0);transition:opacity .35s .12s,transform .45s .12s}
.fruit.f1{left:28%;bottom:43%}.fruit.f2{right:27%;bottom:52%}.fruit.f3{left:42%;bottom:66%}
.plot[data-stage="3"] .fruit{opacity:1;transform:scale(1)}
.seed{position:absolute;left:50%;bottom:12%;width:14px;height:8px;margin-left:-7px;border-radius:50%;background:#d4b07b;transition:opacity .35s}
.plot:not([data-stage="0"]) .seed{opacity:0}
.plot.has-art .plant{transform:none;filter:none;width:86%;height:84%}
.crop-art{display:block;width:100%;height:100%;overflow:visible}
.crop-art .st{opacity:0;transform:scale(.6);transform-box:fill-box;transform-origin:50% 100%;transition:opacity .35s,transform .55s cubic-bezier(.2,.8,.2,1)}
.plot[data-stage="0"] .st0,.plot[data-stage="1"] .st1,.plot[data-stage="2"] .st2,.plot[data-stage="3"] .st3{opacity:1;transform:none}
.garden-caption{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:13px;text-align:center;font-size:10px;font-weight:700;color:#737d76}
.garden-growth{height:5px;margin-top:22px;background:#d8ded6;overflow:hidden}
.garden-growth span{display:block;width:0;height:100%;background:var(--p-lime);transition:width .45s ease}
.garden-complete{margin:20px 0 0;text-align:center;font-size:14px;font-weight:900;color:var(--blue-dark);opacity:0;transform:translateY(5px);transition:.4s}
.garden-complete.show{opacity:1;transform:none}
.garden-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:16px}
.garden-status{margin:0;font-size:13px;color:#5e6862}
.garden-status strong{color:var(--blue-dark)}
.garden-buttons{display:flex;gap:8px}
.garden-button{padding:10px 15px;border:1px solid #d3d9d1;border-radius:3px;background:#fff;font-size:12px;font-weight:800;color:var(--ink);cursor:pointer}
.garden-button.primary{background:var(--blue-dark);border-color:var(--blue-dark);color:#fff}
.garden-button:hover{filter:brightness(.97)}

.film-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.film-grid figure{margin:0;min-width:0}
.film-grid figcaption{margin-top:12px;font-size:15px;font-weight:700;color:rgba(255,255,255,.8)}

@media(max-width:900px){
  .page-intro.has-aside{grid-template-columns:1fr}
  .garden-intro{grid-template-columns:1fr;gap:20px}
  .garden-bed{min-height:260px}
  .film-grid{grid-template-columns:1fr}
}
@media(max-width:560px){
  .intro-location{padding:22px 20px}
  .garden-stage{padding:15px}
  .garden-bed{gap:4px;padding:8px;border-width:5px;min-height:180px}
  .plot-label{left:5px;top:5px;font-size:8px}
  .plot-type{right:5px;bottom:5px;font-size:7px}
  .leaf{width:21px;height:12px}.fruit{width:11px;height:11px}
  .garden-caption{gap:4px;font-size:8px}
  .garden-controls{display:block}.garden-buttons{margin-top:10px}
}

.fullpage main>section{height:calc(100vh - var(--gnb-h));min-height:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding-top:clamp(40px,7vh,96px);padding-bottom:clamp(40px,7vh,96px)}
.fullpage main>section:last-of-type{height:calc(100vh - var(--gnb-h) - var(--footer-h,0px))}
.fullpage main>section>:not(img){zoom:var(--fit,1)}
.fullpage main>section.fit-measuring{height:auto}
.fullpage .page-intro.has-aside,.fullpage .hub,.fullpage .farm-table,.fullpage .home-hero{display:grid;align-content:center}
.fullpage .contact{flex-direction:row;align-items:center}
.fullpage .tech-banner{flex-direction:row;justify-content:flex-start;align-items:flex-end}
.fullpage .home-hero{padding:0}
.fullpage .farm-hero img{height:48vh;object-fit:cover}
.fullpage .farm-hero-copy{padding:4vh 22px}
.fullpage .feature-media img,.fullpage .hub-visual img,.fullpage .farm-table-photo img,.fullpage .system-visual img{max-height:60vh;object-fit:contain}
.fullpage .film-grid video{max-height:48vh}
.fullpage .garden-play{padding-top:clamp(16px,3vh,48px);padding-bottom:clamp(16px,3vh,48px)}
.fullpage .garden-intro{margin-bottom:clamp(20px,3.5vh,42px)}
.fullpage .garden-play:not(.p-garden)>*{width:100%;max-width:1240px;margin-left:auto;margin-right:auto}
.fullpage .garden-bed{min-height:clamp(150px,calc(100vh - 605px),360px)}
.fullpage .garden-growth{margin-top:clamp(12px,2vh,22px)}
.fullpage .garden-complete{position:absolute;left:0;right:0;bottom:calc(28px + 12px);margin:0;pointer-events:none}
.fullpage .routine-grid{margin-top:4vh}
.fullpage .routine-image{height:clamp(150px,24vh,340px)}
.fullpage .hometown-pass h2{font-size:clamp(36px,min(5.1vw,7vh),78px)}
.fullpage .pass-benefits{margin-top:4vh}
.fullpage .pass-bottom{margin-top:3vh}
.fullpage .gallery-head{margin-bottom:4vh}
.fullpage .artist-led-grid{grid-template-rows:28vh 28vh}
.fullpage .story-collage{grid-template-rows:44vh 22vh}
.fullpage .steps{margin-top:4vh}
.fullpage .step-image{height:clamp(140px,24vh,270px)}
.fullpage .role-strip{margin-top:5vh}
.fullpage .screens{grid-template-rows:27vh 27vh}

.story-photos{padding-top:0}
.story-photos .story-collage{margin-top:0}
.pass-detail{padding-top:0}
.pass-detail .pass-bottom{margin-top:0}
.fullpage .pass-detail .pass-bottom{margin-top:0}

.p-garden{background:var(--p-cream);padding:110px 0}
.p-garden .garden-intro .p-title{margin-bottom:12px}
.p-store{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 16px;border-radius:8px;background:#fff;color:#111;font-size:15px;font-weight:700;line-height:1.1}
.p-store svg{width:22px;height:22px}
.p-store small{display:block;font-size:10px;font-weight:500;color:#555}
.p-hub-address{margin:30px 0 22px;font-size:14px;font-weight:700}
.p-hub-address a{color:var(--blue-dark)}
.p-title{word-break:keep-all}
.p-desc{word-break:keep-all}
.p-check b{display:block}
@media(max-width:560px){.p-garden{padding:75px 0}}

body:not(.p-home){font-family:Inter,"Noto Sans KR",sans-serif}
body:not(.p-home) .kicker:not(.bright),body:not(.p-home) .page-intro .kicker{letter-spacing:.16em}
body:not(.p-home) .kicker:not(.bright){color:var(--blue)}
body:not(.p-home) .page-intro .kicker{color:var(--p-lime)}
.page-intro h1 em,.kicker.bright{color:var(--p-lime)}
.btn{background:var(--blue);border-radius:4px}
.btn.ghost{background:#fff;color:var(--blue-dark)}
.contact{background:var(--p-lime)}

.fullpage main>section>.p-hero-bg{zoom:1}
.fullpage .p-hero{min-height:0}
.fullpage .p-hero-content{padding:0}
.fullpage .p-hub-photo{height:58vh}
.fullpage .p-smartfarm-hero .p-image{min-height:56vh}
.fullpage .p-city-image{min-height:56vh}
.fullpage #system{padding-top:clamp(16px,3vh,48px);padding-bottom:clamp(16px,3vh,48px)}
.fullpage .p-system-image,.fullpage .p-metrics{margin-top:clamp(20px,3.5vh,45px)}
#system .p-system-image{padding:0}
.fullpage .p-system-image img{max-height:clamp(150px,calc(100vh - 555px),500px)}
.p-system-wide .p-section-head{margin-bottom:0}
.p-system-wide .p-title{font-size:clamp(28px,2.8vw,40px);margin-bottom:0}
.p-system-wide .p-system-image{margin-top:24px;padding:0;background:none}
.p-system-wide .p-system-image img{display:block;width:100%;height:auto;max-height:none;margin:0 auto}
.p-system-wide .p-metrics{margin-top:16px}
.p-system-wide .p-metric{padding:12px 10px}
.p-system-wide .p-metric b{display:inline;font-size:18px;margin-right:6px}
.p-system-wide .p-metric span{font-size:13px;word-break:keep-all}
@media(max-width:560px){.p-system-wide .p-metric b{display:block}.p-system-wide .p-metric span{white-space:nowrap}}
.fullpage .p-system-wide .p-system-image,.fullpage .p-system-wide .p-metrics{margin-top:clamp(12px,2vh,20px)}
.fullpage .p-system-wide .p-system-image img{width:min(100%,calc((100vh - 345px) * 1.7917))}
@media(min-width:901px){.p-system-wide .p-system-image img{width:80%}.fullpage .p-system-wide .p-system-image img{width:min(80%,calc((100vh - 345px) * 1.7917 * .8))}}
.fullpage [aria-labelledby="field-title"]{padding-top:clamp(16px,3vh,48px);padding-bottom:clamp(16px,3vh,48px)}
.fullpage [aria-labelledby="field-title"] .p-section-head{margin-bottom:clamp(24px,4vh,48px)}
.fullpage .p-gallery img{height:clamp(110px,calc((100vh - 400px) * .44),260px)}
.fullpage .p-gallery .p-wide{height:clamp(140px,calc((100vh - 400px) * .56),330px)}
.fullpage .p-full-photo{min-height:0}
.fullpage .p-full-inner{padding:0}

