/* Hero photographs; the slide list is configured in hero-slides.js. */
.hero-carousel{isolation:isolate;position:relative;overflow:hidden;background:#1d3a2b;min-height:710px;display:flex;align-items:center}.hero-carousel:after{display:none}.hero-backdrop{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.13) translate3d(-1%,0,0);transition:opacity 1.7s ease,transform 8.5s cubic-bezier(.15,.45,.45,1);pointer-events:none}.hero-backdrop.is-active{will-change:opacity,transform;opacity:1;transform:scale(1.025) translate3d(0,0,0)}.hero-carousel:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,31,20,.8),rgba(8,31,20,.48) 50%,rgba(8,31,20,.11)),linear-gradient(0deg,rgba(5,25,15,.45),transparent 40%);pointer-events:none}.hero-content{position:relative;z-index:2;padding:110px 0 145px}.hero-copy{max-width:850px;color:#fff}.hero-copy .eyebrow{color:#a3d3af;font-size:11px;letter-spacing:2px;margin-bottom:26px}.hero-carousel h1{font-size:clamp(42px,4.2vw,67px);line-height:1.3;letter-spacing:-2.5px;margin:0 0 28px;font-weight:800;color:#fff;text-shadow:0 2px 18px #06180f22;word-break:keep-all}.hero-carousel h1 em{font-style:normal;color:#b3e5b9}.hero-carousel .hero-copy>p{font-size:17px;line-height:1.95;color:#e1ede4;max-width:650px;margin:0}.hero-signature{display:block;margin-top:28px;font-size:12px;color:#acc4b4;letter-spacing:.15px}.hero-controls{position:absolute;z-index:3;bottom:35px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:20px;color:#e1eee5;font-size:11px}.hero-slide-buttons{display:flex;gap:5px}.hero-slide-buttons button{padding:12px 3px;border:0;background:none;cursor:pointer;display:grid;place-items:center}.hero-slide-buttons span{height:3px;width:17px;border-radius:3px;background:#ffffff66;transition:width .45s,background .45s}.hero-slide-buttons button[aria-current=true] span{width:42px;background:#b5e4bd}#heroSlideName{font-size:11px;color:#d4e5d9;min-width:170px}#heroPause{width:29px;height:29px;border:1px solid #ffffff55;border-radius:50%;background:#ffffff12;color:#fff;cursor:pointer;font-family:inherit;font-size:11px}.hero-controls button:focus-visible{outline:3px solid #c4edce;outline-offset:4px}.journal-preview-grid img{height:125px!important;aspect-ratio:auto!important;width:100%;object-fit:cover;object-position:center;border-radius:7px}.journal-preview-grid>article{align-self:start}.system-product-photo figcaption>img{display:none}.cases>.container{width:min(1360px,calc(100% - 56px))}.cases .case-grid{grid-auto-columns:calc((100% - 44px)/3);gap:22px;padding:4px 0 30px}.cases .case-img{height:310px;aspect-ratio:auto;transition:transform .8s ease}.cases .case-card{border-radius:20px;transition:box-shadow .35s}.cases .case-card:hover .case-img{transform:scale(1.035)}.cases .case-body{padding:23px;position:relative;background:white}.cases .case-body small{font-size:12px}.cases .case-body h3{font-size:20px;margin-top:7px}.cases .case-card:hover{box-shadow:0 15px 32px #18472c18}.supply-resource{padding:8px 0 48px;background:#fff}.supply-resource-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #e1e9e4;padding-top:27px}.supply-resource-inner>div>span{font-size:9px;letter-spacing:1.5px;font-weight:700;color:#849b8b}.supply-resource h2{font-size:18px;letter-spacing:-.5px;color:#365743;margin:8px 0}.supply-resource p{font-size:12px;line-height:1.8;color:#839086}.supply-resource a{display:block;padding:12px 17px;border:1px solid #dae5dd;border-radius:8px;font-size:12px;color:#457252;white-space:nowrap;transition:background .2s,border-color .2s}.supply-resource a:hover{background:#f0f6f2;border-color:#9cbea7}.supply-resource a>span{margin-left:20px}.supply-resource a>small{font-size:9px;color:#8c9d92;display:block;margin-top:5px}.supply-resource a:focus-visible{outline:3px solid #4d9b64;outline-offset:3px}
@media(max-width:1000px){.hero-carousel{min-height:650px}.hero-content{padding:100px 0 135px}.hero-carousel h1{font-size:54px}.cases .case-grid{grid-auto-columns:calc((100% - 20px)/2);gap:20px}.cases .case-img{height:285px}}
@media(max-width:640px){.hero-carousel{min-height:570px;min-height:clamp(570px,80svh,730px);align-items:center}.hero-carousel:before{background:linear-gradient(90deg,rgba(8,31,20,.78),rgba(8,31,20,.5)),linear-gradient(0deg,rgba(5,25,15,.55),transparent 40%)}.hero-content{padding:65px 0 130px}.hero-copy .eyebrow{font-size:9px;letter-spacing:1.3px;margin-bottom:23px}.hero-carousel h1{font-size:clamp(31px,8.4vw,43px);letter-spacing:-1.5px;line-height:1.4;margin-bottom:22px}.hero-carousel .hero-copy>p{font-size:14px;line-height:1.95;max-width:355px}.hero-desktop-break{display:none}.hero-signature{font-size:10px;line-height:1.8;margin-top:22px}.hero-controls{bottom:26px;gap:12px;flex-wrap:wrap}.hero-slide-buttons{gap:3px}.hero-slide-buttons button{padding:9px 2px}.hero-slide-buttons span{width:10px}.hero-slide-buttons button[aria-current=true] span{width:27px}#heroSlideName{font-size:9px;min-width:0;flex:1;white-space:nowrap}#heroPause{width:25px;height:25px;font-size:9px}.cases>.container{width:calc(100% - 28px)}.cases .case-grid{grid-auto-columns:100%;gap:16px}.cases .case-img{height:270px}.cases .case-body{padding:20px}.cases .case-body h3{font-size:19px}.supply-resource{padding:0 0 35px}.supply-resource-inner{align-items:flex-start;flex-direction:column;gap:17px;padding-top:24px}.supply-resource h2{font-size:17px}.supply-resource p{font-size:11px}.supply-resource a{font-size:11px;width:100%;padding:12px 15px}.supply-resource a>span{float:right}.supply-resource a>small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-backdrop{transform:none!important;transition:none!important}.cases .case-img{transition:none!important;transform:none!important}}

.hero-carousel .hero-copy>p{word-break:keep-all;overflow-wrap:break-word}.hero-signature{word-break:keep-all}
@media(max-width:640px){.hero-signature{font-size:11px}}

/* Unified product overview and installation gallery state. */
.case-dot.active,.case-dot[aria-current="true"]{width:22px;border-radius:999px;background:#2e995d}
.case-dot:focus-visible{outline:2px solid #2e995d;outline-offset:5px}
.system-product-unified{margin-top:30px;align-items:stretch}
.system-product-unified>img{height:430px;min-height:0;object-position:center}
.system-product-unified figcaption{padding:40px}
.system-product-unified>.fm-capability-lists{grid-column:1/-1;padding:30px;margin:0;gap:18px;border-top:1px solid #e2eae4;background:#f6faf7;grid-template-columns:repeat(3,minmax(0,1fr))}
.system-product-unified .fm-capability-group{padding:24px;border:1px solid #dfe9e2;background:#fff;border-radius:15px}
.system-product-unified .fm-group-title{color:#298451}
.system-product-unified .fm-group-title.blue{color:#497a94}
.system-product-unified .fm-group-title.red{color:#97654e}
.system-product-unified .fm-capability-group li{color:#486252;line-height:1.65}
.footer-links{gap:26px;flex-wrap:wrap}.footer-shop{display:inline-flex;align-items:center;gap:9px}
@media(max-width:900px){.system-product-unified>img{height:370px}.system-product-unified figcaption{padding:28px}.system-product-unified>.fm-capability-lists{padding:22px;gap:12px}.system-product-unified .fm-capability-group{padding:18px 14px}}
@media(max-width:640px){.system-product-unified>img{height:320px}.system-product-unified figcaption{padding:27px 24px}.system-product-unified>.fm-capability-lists{grid-template-columns:1fr;padding:20px;gap:14px}.system-product-unified .fm-capability-group{padding:23px}.footer-links{justify-content:center;gap:24px}}

/* Product presentation: full photograph, layered detail, scroll motion. */
.account-entry{display:inline-flex;align-items:center;gap:10px;color:#245d3b;background:#eff6f1;border:1px solid #d6e5db;padding:12px 18px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;transition:background .25s,transform .25s}
.account-entry span{color:#a0b6a7;font-weight:400}.account-entry b{margin-left:5px}.account-entry:hover{background:#dfefe4;transform:translateY(-2px)}.account-entry:focus-visible{outline:3px solid #4d9b64;outline-offset:3px}
.system-product-unified{box-shadow:0 25px 75px #183f2810;grid-template-columns:1fr 1fr;border-color:#dce7df;isolation:isolate}
.system-product-unified>img{height:auto;min-height:0;max-height:none;width:100%;object-fit:contain;align-self:center;background:#f1f5f2}
.system-product-unified figcaption{position:relative;padding:48px;background:radial-gradient(ellipse at 100% 0,#eaf5ed,transparent 68%),#fff}
.system-product-unified h3{font-size:clamp(27px,2.6vw,39px);line-height:1.45;letter-spacing:-1.5px}.system-product-unified figcaption p{line-height:1.95;margin-top:20px}
.system-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-top:30px;margin-top:32px;border-top:1px solid #dce8df}.system-highlights strong{display:block;font-size:34px;letter-spacing:-1.5px;color:#26784a;line-height:1.3}.system-highlights strong span{font-size:12px;letter-spacing:0;margin-left:4px}.system-highlights small{display:block;font-size:11px;color:#78897e;margin-top:6px}
.system-product-unified>.fm-capability-lists{position:relative;background:radial-gradient(ellipse at 95% 15%,#326b4b66,transparent 55%),#143a29;padding:42px;gap:20px;border:0}
.capability-heading{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:12px 30px;margin-bottom:10px}.capability-heading>span{grid-column:1/-1;font-size:9px;color:#96c5a7;letter-spacing:2px;font-weight:700}.capability-heading h4{color:white;font-size:27px;line-height:1.5;letter-spacing:-.8px}.capability-heading p{font-size:12px;color:#aac3b3;text-align:right;padding-bottom:5px}
.system-product-unified .fm-capability-group{position:relative;overflow:hidden;border:1px solid #ffffff24;background:linear-gradient(145deg,#ffffff13,#ffffff05);padding:28px 25px;border-radius:17px;box-shadow:0 12px 30px #0000000c;transition:transform .45s,background .45s,border-color .45s}
.system-product-unified .fm-capability-group:hover{transform:translateY(-7px);background:#ffffff18;border-color:#a8d7b673}
.system-product-unified .fm-group-title{color:#9be1b3;font-size:16px;padding-bottom:18px;border-bottom:1px solid #ffffff1a}.system-product-unified .fm-group-title.blue{color:#a5d6ea}.system-product-unified .fm-group-title.red{color:#edc6a4}.system-product-unified .fm-capability-group li{color:#d7e7dc;font-size:13px;padding-top:2px;padding-bottom:2px}.system-product-unified .fm-capability-group li:before{box-shadow:0 0 10px #6ed29555}
@keyframes capabilityEnter{from{opacity:.3;transform:translateY(32px)}to{opacity:1;transform:none}}
@keyframes highlightEnter{from{opacity:.4;transform:translateY(15px)}to{opacity:1;transform:none}}
.system-product-unified .fm-capability-group.is-presented{animation:capabilityEnter .85s cubic-bezier(.2,.65,.25,1) both}
.system-product-unified .system-highlights.is-presented>div{animation:highlightEnter .8s both}.system-highlights.is-presented>div:nth-child(2){animation-delay:.15s}.system-highlights.is-presented>div:nth-child(3){animation-delay:.3s}
@media(max-width:900px){.system-product-unified figcaption{padding:28px}.system-product-unified>.fm-capability-lists{padding:27px;gap:14px}.system-highlights{gap:12px}.system-highlights strong{font-size:28px}.system-product-unified .fm-capability-group{padding:23px 17px}}
@media(max-width:640px){.account-entry{font-size:11px;padding:10px 12px;gap:6px}.account-entry b{display:none}.header-wrap{gap:12px}.brand{gap:7px}.brand-name{font-size:22px}.brand-sub{font-size:7px;letter-spacing:.6px}.brand img{width:36px;height:36px}.system-product-unified{grid-template-columns:1fr}.system-product-unified>img{height:auto;min-height:0;object-fit:contain}.system-product-unified figcaption{padding:32px 26px}.system-product-unified h3{font-size:27px}.system-product-unified>.fm-capability-lists{padding:30px 20px;gap:17px}.capability-heading{grid-template-columns:1fr;gap:10px}.capability-heading h4{font-size:25px}.capability-heading p{text-align:left;font-size:11px}.system-product-unified .fm-capability-group{padding:26px}.system-highlights strong{font-size:31px}}
@media(prefers-reduced-motion:reduce){.system-product-unified .fm-capability-group.is-presented,.system-product-unified .system-highlights.is-presented>div{animation:none}.account-entry,.system-product-unified .fm-capability-group{transition:none}}

/* Plain account text and a compact, two-location footer. */
.account-entry{padding:8px 0;background:none;border:0;border-radius:0;color:#345c43;font-size:13px;gap:11px;box-shadow:none}.account-entry:hover{background:none;transform:none;color:#23824a}.account-entry span{color:#a4b1a8}.account-entry b{display:none}
.footer{padding-top:45px;background:#12291e}.footer-inner{display:grid;grid-template-columns:1fr;gap:29px;padding-bottom:34px}.footer-brand{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px 30px}.footer-brand>p{display:none}.footer-logo{margin:0}.footer-contact{display:flex;align-items:center;gap:24px;margin:0}.footer-company{display:grid;grid-template-columns:1fr 1fr;gap:45px;padding-top:28px;border-top:1px solid #ffffff26}.company-block{padding:0}.company-block>strong{display:block;color:#89ba99;font-size:11px;font-weight:700;letter-spacing:.7px;margin-bottom:9px}.company-block h4{font-size:17px;color:#eff5f0;margin-bottom:10px}.company-block p{font-size:12px;line-height:1.9;color:#a0b3a6}.footer-bottom{border-top:1px solid #ffffff16}.footer-bottom .container{padding-top:19px;padding-bottom:19px}.footer-shop{color:#b1c5b8}
@media(max-width:640px){.account-entry{font-size:11px;gap:7px;padding:8px 0}.footer{padding-top:33px}.footer-brand{grid-template-columns:1fr;gap:22px}.footer-contact{gap:20px;flex-wrap:wrap}.footer-company{grid-template-columns:1fr;gap:25px;padding-top:24px}.footer-inner{gap:25px}.company-block p{font-size:11px}.footer-bottom .container{align-items:flex-start;text-align:left}.footer-links{justify-content:flex-start}}

/* Footer without the separate brand/contact row. */
.footer .footer-company{border-top:0;padding-top:0}.footer .footer-inner{gap:0}

/* WHY FARMMOS — generous cards with subtle, viewport-triggered motion. */
.fm-benefits{position:relative;padding-top:100px}.fm-benefits .fm-sub-head{margin-bottom:42px}.fm-benefits .fm-sub-head>span{font-size:11px;font-weight:800;letter-spacing:2.5px;display:inline-block;margin-bottom:14px}.fm-benefits .fm-sub-head h3{line-height:1.45;word-break:keep-all}.fm-benefits .fm-sub-head:after{content:'';display:block;width:48px;height:3px;background:#42965d;margin:22px auto 0;border-radius:4px}
.fm-benefit-grid{gap:23px}.fm-benefit{position:relative;isolation:isolate;overflow:hidden;min-height:200px;padding:34px;gap:22px;border-radius:22px;background:linear-gradient(125deg,#fff 52%,#eef6f0);border-color:#dbe8df;box-shadow:0 9px 28px #21462c05;transition:transform .4s cubic-bezier(.2,.65,.25,1),box-shadow .4s,border-color .4s}
.fm-benefit:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#3b9560,#a4d1af);transition:transform .6s}
.fm-benefit>strong{flex:0 0 54px;height:54px;border-radius:16px;background:#e7f2eb;color:#2a8350;font-size:21px;border:1px solid #d5e9dc;transition:background .4s,color .4s,transform .4s}
.fm-benefit>div{position:relative;z-index:1;max-width:420px}.fm-benefit h4{font-size:19px;line-height:1.55;letter-spacing:-.6px;margin:4px 0 12px}.fm-benefit p{font-size:13px;line-height:1.95;color:#728176}.benefit-index{position:absolute;right:22px;bottom:-20px;font-size:105px;line-height:1;font-weight:900;letter-spacing:-7px;color:#3b805009;z-index:-1;pointer-events:none;transition:transform .6s,color .6s}
.fm-benefit.show:hover{transform:translateY(-7px);border-color:#aad0b5;box-shadow:0 20px 40px #1e582317}.fm-benefit:hover:after{transform:scaleX(1)}.fm-benefit:hover>strong{background:#2c8751;color:white;transform:rotate(-5deg)}.fm-benefit:hover .benefit-index{transform:translateY(-6px);color:#3b805014}
@keyframes whyEnter{from{opacity:.25;transform:translateY(35px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.fm-benefit.why-enter{animation:whyEnter .8s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--why-delay,0s)}
@media(max-width:640px){.fm-benefits{padding-top:65px}.fm-benefits .fm-sub-head{margin-bottom:28px}.fm-benefits .fm-sub-head h3{font-size:26px}.fm-benefit-grid{grid-template-columns:1fr;gap:16px}.fm-benefit{padding:27px 24px;gap:17px;min-height:180px}.fm-benefit h4{font-size:17px}.fm-benefit>strong{flex-basis:45px;height:45px;border-radius:13px;font-size:18px}.fm-benefit p{font-size:12px}.benefit-index{font-size:90px;right:20px}}
@media(prefers-reduced-motion:reduce){.fm-benefit.why-enter{animation:none}.fm-benefit,.fm-benefit:after,.fm-benefit>strong,.benefit-index{transition:none}}

/* Final proportions: one service stage, consistent benefit cards, quiet footer. */
.service-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 23px;border-bottom:1px solid #dce7df;padding-bottom:14px}.service-tabs{display:flex;gap:28px}.service-tabs button{border:0;background:none;font-family:inherit;font-size:15px;font-weight:700;color:#849389;padding:12px 0;position:relative;cursor:pointer;white-space:nowrap}.service-tabs button:after{content:'';position:absolute;height:3px;bottom:-15px;left:0;right:0;border-radius:3px;background:#328955;transform:scaleX(0);transition:transform .35s}.service-tabs button[aria-selected=true]{color:#24623d}.service-tabs button[aria-selected=true]:after{transform:scaleX(1)}.service-playback{display:flex;gap:17px;align-items:center;font-size:11px;color:#789280;font-variant-numeric:tabular-nums}#servicePause{font-family:inherit;border:1px solid #d4e1d8;background:transparent;color:#426f50;width:29px;height:29px;border-radius:50%;cursor:pointer}.service-controls button:focus-visible{outline:3px solid #83b993;outline-offset:4px}
.service-stage.is-ready{display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate}.service-stage.is-ready>.tool-panel{grid-area:1/1;margin:0;min-width:0;visibility:hidden;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .55s,transform .55s,visibility .55s;display:flex;flex-direction:column}.service-stage.is-ready>.tool-panel.is-current{visibility:visible;opacity:1;transform:none;pointer-events:auto;z-index:1}.service-stage .tool-bottom{margin-top:auto;padding-top:20px}.service-stage .tool-screen{margin-bottom:0}.tools-showcase{padding-bottom:65px}.tools-heading{margin-bottom:35px}
.fm-benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:stretch}.fm-benefit{min-height:210px;height:100%;display:grid;grid-template-columns:48px minmax(0,1fr);align-content:start;align-items:start;gap:22px;padding:32px;box-sizing:border-box}.fm-benefit>strong.benefit-number{display:flex;align-items:center;justify-content:center;width:48px;height:48px;min-width:48px;min-height:48px;margin:0;padding:0;border-radius:14px;font-size:14px;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;box-sizing:border-box;transform:none}.fm-benefit>div{max-width:none;min-width:0}.fm-benefit h4{min-height:30px;word-break:keep-all}.fm-benefit:hover>strong.benefit-number{transform:none}.benefit-index{display:none}
.footer{background:#f3f6f3;color:#345340;padding:34px 0 0;border-top:1px solid #dce5df}.footer .footer-inner{padding:0 0 30px;display:block}.footer .footer-company{display:grid;grid-template-columns:1fr 1fr;gap:50px;max-width:none;padding:0;margin:0}.footer .company-block{padding:0 0 0 18px;border-left:2px solid #b3ccbc}.footer .company-block>strong{font-size:10px;letter-spacing:1px;color:#6d8c77;margin:0 0 8px}.footer .company-block h4{color:#284d36;font-size:17px;margin:0 0 9px;line-height:1.5}.footer .company-block p{color:#809086;font-size:11px;line-height:1.9;margin:0}.footer-bottom{border-top:1px solid #dfe7e1;background:transparent}.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;padding-top:16px;padding-bottom:16px;color:#8b9a90;font-size:10px}.footer-links a{color:#5e7a66;font-size:11px}.footer-links a:hover{color:#237a44}
@media(max-width:700px){.service-tabs{gap:19px}.service-tabs button{font-size:12px}.service-controls{gap:12px;margin-bottom:18px}.service-playback{gap:9px;font-size:9px}.tools-showcase{padding-bottom:40px}.service-stage .tool-panel{padding:21px 15px}.service-stage .tool-intro{min-height:135px}.service-stage .tool-bottom{display:block}.service-stage .tool-bottom p{margin-top:5px}}
@media(max-width:640px){.fm-benefit-grid{grid-template-columns:1fr;grid-auto-rows:1fr}.fm-benefit{min-height:190px;padding:26px;gap:18px;grid-template-columns:44px minmax(0,1fr)}.fm-benefit>strong.benefit-number{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:12px;font-size:13px}.fm-benefit h4{min-height:0;margin-top:0}.footer{padding-top:28px}.footer .footer-company{grid-template-columns:1fr;gap:24px}.footer .company-block{padding-left:15px}.footer .footer-inner{padding-bottom:25px}.footer-bottom .container{gap:15px;flex-wrap:wrap;font-size:9px}.service-tabs{gap:14px}.service-tabs button{font-size:11px}.service-playback{gap:7px}}
@media(prefers-reduced-motion:reduce){.service-stage.is-ready>.tool-panel{transition:none}}

/* Overview sections: sensor and device catalogs replace repeated badges and specs. */
.overview-section{padding:95px 0}.overview-section .split{gap:55px;align-items:center}.overview-section .copy{min-width:0}.overview-section .copy h2{line-height:1.27;letter-spacing:-1.7px;margin:16px 0 25px}.overview-section .copy p{font-size:15px;line-height:2;max-width:450px;word-break:keep-all}.overview-section .eyebrow{font-size:10px;letter-spacing:2px}.overview-section .section-visual{min-width:0}.overview-monitor .split,.overview-control .split,.overview-history .split{grid-template-columns:repeat(2,minmax(0,1fr))}
.sensor-overview,.device-overview{position:relative;background:linear-gradient(135deg,#fff,#f6faf7);border:1px solid #dbe8df;border-radius:23px;padding:28px;box-shadow:0 18px 48px #1d51340a;overflow:hidden}.overview-board-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.overview-board-top>small{color:#93a498;font-size:9px}.overview-live{display:flex;align-items:center;gap:9px;color:#42805a;font-size:9px;font-weight:700;letter-spacing:1.5px}.overview-live i{width:6px;height:6px;border-radius:50%;background:#4f9c69;box-shadow:0 0 0 4px #4f9c6910}.sensor-overview h3,.device-overview h3{font-size:20px;line-height:1.5;letter-spacing:-.6px;color:#2b533b;margin:22px 0 19px}
.sensor-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}.sensor-entry{display:flex;gap:9px;align-items:flex-start;padding:19px 0;border-top:1px solid #e0eae3;min-width:0}.sensor-order{font-size:9px;line-height:22px;color:#90af9b;font-variant-numeric:tabular-nums}.sensor-entry>div{min-width:0}.sensor-entry strong{font-size:13px;color:#335c41;display:block;font-weight:700;line-height:1.6;white-space:nowrap}.sensor-entry small{font-size:10px;color:#91a397;display:block;margin-top:4px;line-height:1.6}.overview-footnote{font-size:10px;line-height:1.8;color:#8b9e91;border-top:1px solid #e0eae3;padding-top:17px;margin:3px 0 0}
.device-overview{background:linear-gradient(140deg,#193f2d,#23583b);border-color:#27573d;box-shadow:0 18px 48px #1d513418}.device-overview .overview-live{color:#a3c9af}.device-overview .overview-live i{background:#9ee3b4;box-shadow:0 0 0 4px #9ee3b412}.device-overview .overview-board-top>small{color:#86ab95}.device-overview h3{color:#f2f7f3}.device-catalog{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.device-entry{display:flex;align-items:center;gap:9px;min-width:0;padding:15px 0;border-top:1px solid #ffffff17}.device-status{width:4px;height:4px;background:#77bd8c;border-radius:50%;flex-shrink:0}.device-entry>strong{font-size:12px;font-weight:500;color:#cfdfd4;white-space:nowrap}.device-quantity{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums}.device-quantity b{font-size:20px;font-weight:700;line-height:1;letter-spacing:-.5px;color:#d5efdd;display:inline-block;min-width:24px;text-align:right}.device-quantity small{font-size:9px;color:#81aa8f;margin-left:4px}.device-capacity{border-top:1px solid #ffffff24;margin:8px 0 0;padding:18px 0 0;font-size:10px;line-height:1.9;color:#99bca5;word-break:keep-all}.device-capacity b{font-weight:500;color:#c2ddca}.device-capacity>span{padding:0 7px;color:#648e72}
.overview-history .copy h2 em{color:#8dcca1}.overview-history .graph-panel{padding:25px}.overview-history .graph-panel h3{margin:0 0 22px;font-size:12px}.overview-history .graph-panel svg{display:block;width:100%;height:210px}.overview-history .graph-panel:after{content:'환경 변화 기록 · 예시 그래프';display:block;font-size:9px;color:#8ea296;text-align:right;margin-top:13px}
@keyframes overviewRow{from{opacity:.25;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes overviewPulse{0%,100%{box-shadow:0 0 0 3px #76c08b08}50%{box-shadow:0 0 0 7px #76c08b23}}
.overview-in-view .sensor-entry,.overview-in-view .device-entry{animation:overviewRow .75s both;animation-delay:var(--entry-delay,0s)}.overview-in-view .overview-live i{animation:overviewPulse 2.8s ease-in-out infinite}.overview-history.overview-in-view .graph-panel path{stroke-dasharray:1000;stroke-dashoffset:1000;animation:overviewDraw 2.4s ease forwards}@keyframes overviewDraw{to{stroke-dashoffset:0}}
@media(max-width:1000px){.overview-section .split{gap:30px}.sensor-overview,.device-overview{padding:23px}.sensor-catalog{gap:0 12px}.sensor-entry{gap:7px}.sensor-entry strong{font-size:12px}.device-catalog{gap:0 17px}.device-entry>strong{font-size:11px}.device-quantity b{font-size:18px}.overview-section .copy h2{font-size:35px}.overview-section .copy p{font-size:13px}}
@media(max-width:800px){.overview-section{padding:65px 0}.overview-monitor .split,.overview-control .split,.overview-history .split{grid-template-columns:1fr;gap:32px}.overview-section .copy{order:0!important}.overview-section .section-visual{order:1!important}.overview-section .copy p{max-width:600px}.overview-section .copy h2{font-size:35px;margin-bottom:20px}.overview-control .split.flip .copy{grid-column:auto;grid-row:auto}.overview-control .split.flip .section-visual{grid-column:auto;grid-row:auto}.sensor-catalog{gap:0 20px}.sensor-entry strong{font-size:13px}.device-entry>strong{font-size:12px}.device-quantity b{font-size:21px}}
@media(max-width:480px){.overview-section{padding:55px 0}.overview-section .copy h2{font-size:32px}.overview-section .copy p{font-size:13px;line-height:1.95}.overview-break{display:none}.sensor-overview,.device-overview{padding:22px 19px;border-radius:20px}.overview-board-top>small{font-size:8px}.overview-live{font-size:8px;letter-spacing:1px}.sensor-overview h3,.device-overview h3{font-size:18px;margin:19px 0 15px}.sensor-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 17px}.sensor-entry{padding:15px 0;gap:9px}.sensor-entry strong{font-size:12px}.sensor-entry small{font-size:9px}.sensor-entry:last-child{grid-column:1/-1}.device-catalog{gap:0 18px}.device-entry{gap:6px;padding:13px 0}.device-entry>strong{font-size:11px}.device-quantity b{font-size:18px;min-width:19px}.device-quantity small{font-size:8px;margin-left:2px}.device-quantity small:first-child{display:none}.device-capacity{font-size:9px}.device-capacity>span{padding:0 4px}.overview-history .graph-panel{padding:20px}.overview-history .graph-panel svg{height:170px}}
@media(prefers-reduced-motion:reduce){.overview-in-view .sensor-entry,.overview-in-view .device-entry,.overview-in-view .overview-live i,.overview-history.overview-in-view .graph-panel path{animation:none}.overview-history.overview-in-view .graph-panel path{stroke-dashoffset:0}}
.overview-section .section-visual{width:100%}.sensor-overview,.device-overview{width:100%;box-sizing:border-box}

/* One WHY FARMMOS story, followed by a two-tone consultation panel. */
.why-unified .fm-product-head{margin-bottom:35px}.why-unified .fm-product-head .section-desc{line-height:1.9}.why-unified .fm-benefits{padding-top:30px}.why-unified .system-product-unified{margin-top:0}.why-unified .fm-benefit{min-height:195px}
.contact-refined{padding:75px 0;background:#fff}.contact-refined .contact-shell{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;gap:0;padding:0;border:1px solid #dde8e0;border-radius:27px;overflow:hidden;background:#fff;box-shadow:0 22px 70px #173f2b0b}.contact-refined .contact-copy{padding:49px 40px;min-width:0;background:radial-gradient(ellipse at 0% 0%,#397b4c66,transparent 65%),#183f2c;position:relative;overflow:hidden}.contact-refined .contact-copy:after{content:'';position:absolute;width:270px;height:270px;right:-160px;bottom:-130px;border:1px solid #b0dcb926;border-radius:50%;box-shadow:0 0 0 36px #a1d5ad06,0 0 0 76px #a1d5ad04;pointer-events:none}.contact-refined .contact-copy>.eyebrow{color:#a8cbb3;font-size:10px;letter-spacing:2px}.contact-refined .contact-copy h2{font-size:clamp(25px,2.5vw,36px);line-height:1.55;letter-spacing:-1.2px;color:#f4faf5;margin:22px 0}.contact-refined .contact-copy h2 em{color:#ade0b8;font-style:normal}.contact-refined .contact-copy>p{font-size:13px;line-height:2;color:#aac5b4;word-break:keep-all}.contact-refined .contact-guide{display:grid;gap:0;margin:36px 0 24px}.contact-refined .contact-guide>button{display:flex;align-items:center;gap:15px;padding:21px 0;border:0;border-top:1px solid #ffffff20;border-radius:0;background:none;color:#fff;text-align:left;font-family:inherit;cursor:pointer;transition:padding .3s,background .3s}.contact-refined .contact-guide>button:last-child{border-bottom:1px solid #ffffff20}.contact-topic-number{font-size:10px;color:#77a489;font-variant-numeric:tabular-nums;min-width:18px;text-align:center}.contact-refined .contact-guide b{display:block;font-size:13px;font-weight:700;color:#e3eee6;line-height:1.6}.contact-refined .contact-guide small{display:block;font-size:10px;color:#89af97;margin-top:5px;line-height:1.7}.contact-refined .contact-guide i{font-style:normal;font-size:19px;margin-left:auto;flex-shrink:0;color:#93bca0;transition:transform .4s}.contact-refined .contact-guide>button:hover,.contact-refined .contact-guide>button[aria-pressed=true]{padding-left:10px;padding-right:10px;background:#ffffff08}.contact-refined .contact-guide>button[aria-pressed=true] i{transform:rotate(45deg);color:#c3ebcf}.contact-context{display:block;color:#8bb29a;font-size:10px;line-height:1.9;position:relative;z-index:1}.contact-refined .contact-shell>div:last-child{padding:44px 40px;min-width:0}
.contact-form-heading{margin-bottom:8px}.contact-form-heading>span{font-size:9px;letter-spacing:2px;color:#92ab99;font-weight:700}.contact-form-heading h3{font-size:23px;line-height:1.5;letter-spacing:-.7px;color:#254f35;margin:9px 0}.contact-form-heading p{font-size:11px;line-height:1.9;color:#8b9c91;margin:0 0 14px}.contact-refined .contact-form{display:grid;gap:17px}.contact-field{display:block;min-width:0}.contact-field>span,.contact-field>label{display:block;font-size:11px;font-weight:600;color:#486b54;line-height:1.6;margin-bottom:7px}.contact-field b{font-weight:400;color:#5b9e70}.contact-field small{font-size:9px;font-weight:400;color:#9bad9f;margin-left:5px}.contact-field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.contact-refined .contact-form input,.contact-refined .contact-form select,.contact-refined .contact-form textarea{width:100%;box-sizing:border-box;min-width:0;max-width:100%;background:#f8faf8;border-color:#dfe9e2;border-radius:9px;padding:12px 13px;font-size:12px;color:#365a43;font-family:inherit;transition:background .25s,border-color .25s,box-shadow .25s}.contact-refined .contact-form input:focus,.contact-refined .contact-form select:focus,.contact-refined .contact-form textarea:focus{outline:none;background:#fff;border-color:#69a17a;box-shadow:0 0 0 3px #5e9e7110}.contact-refined .contact-form input::placeholder,.contact-refined .contact-form textarea::placeholder{color:#a2afa6}.contact-refined .contact-form textarea{min-height:115px;resize:vertical}.contact-refined .email-group{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:9px;align-items:center}.contact-refined .email-group>span{font-size:12px;color:#97aa9c}.contact-refined #customDomain{margin-top:10px}.contact-refined .send-btn{position:relative;overflow:hidden;background:#2a8550;border:0;border-radius:10px;padding:16px;font-size:13px;letter-spacing:.3px;font-family:inherit;cursor:pointer;transition:transform .3s,background .3s,box-shadow .3s}.contact-refined .send-btn:hover{transform:translateY(-2px);background:#216e41;box-shadow:0 8px 18px #246b3c25}.contact-refined .send-btn:active{transform:translateY(0)}.contact-refined button:focus-visible{outline:3px solid #82b795;outline-offset:4px}
@keyframes contactGuideEnter{from{opacity:.25;transform:translateX(-18px)}to{opacity:1;transform:none}}
.contact-refined.contact-in-view .contact-guide>button{animation:contactGuideEnter .8s both}.contact-refined.contact-in-view .contact-guide>button:nth-child(2){animation-delay:.13s}.contact-refined.contact-in-view .contact-guide>button:nth-child(3){animation-delay:.26s}
@media(max-width:1000px){.contact-refined .contact-copy{padding:38px 29px}.contact-refined .contact-shell>div:last-child{padding:37px 29px}.contact-refined .contact-copy h2{font-size:27px}}
@media(max-width:800px){.contact-refined .contact-shell{grid-template-columns:1fr}.contact-refined .contact-copy{padding:32px}.contact-refined .contact-copy h2{font-size:29px;margin:18px 0}.contact-refined .contact-guide{margin-top:25px}.contact-refined .contact-guide>button{padding:16px 0}.contact-refined .contact-shell>div:last-child{padding:32px}}
@media(max-width:480px){.contact-refined{padding:50px 0}.contact-refined .contact-shell{border-radius:22px}.contact-refined .contact-copy{padding:29px 24px}.contact-refined .contact-copy h2{font-size:25px}.contact-refined .contact-copy>p{font-size:12px}.contact-refined .contact-shell>div:last-child{padding:29px 23px}.contact-refined .contact-field-row{grid-template-columns:1fr;gap:17px}.contact-refined .contact-form input,.contact-refined .contact-form select,.contact-refined .contact-form textarea{font-size:12px}.contact-refined .contact-guide b{font-size:12px}.why-unified .fm-benefits{padding-top:22px}.why-unified .fm-benefit{min-height:190px}}
@media(prefers-reduced-motion:reduce){.contact-refined.contact-in-view .contact-guide>button{animation:none}.contact-refined .contact-guide>button,.contact-refined .contact-guide i,.contact-refined .contact-form input,.contact-refined .contact-form select,.contact-refined .contact-form textarea,.contact-refined .send-btn{transition:none}}

/* Equal breathing room between copy and visuals in every overview. */
@media(min-width:801px){.overview-section .split{column-gap:clamp(48px,6vw,112px)}}

/* Shared overview columns keep the remote copy on the same right-hand axis. */
.overview-section .copy,.overview-section .section-visual{min-width:0}

/* Features share WHY FARMMOS's visual language and interaction. */
.features .feature-grid{gap:22px;grid-auto-rows:1fr}
.features .feature-card{position:relative;isolation:isolate;overflow:hidden;min-width:0;min-height:230px;padding:30px;border-radius:22px;border:1px solid #dbe8df;background:linear-gradient(125deg,#fff 48%,#eef6f0);box-shadow:0 9px 28px #21462c05;transition:transform .4s cubic-bezier(.2,.65,.25,1),box-shadow .4s,border-color .4s}
.features .feature-card:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#3b9560,#a4d1af);transition:transform .5s}
.features .feature-card>i{display:grid;place-items:center;width:50px;height:50px;margin:0 0 22px;border-radius:15px;border:1px solid #d5e9dc;background:#e7f2eb;color:#2a8350;font-size:21px;transition:background .4s,color .4s,transform .4s}
.features .feature-card h3{font-size:19px;line-height:1.5;letter-spacing:-.5px;margin-bottom:10px;word-break:keep-all}
.features .feature-card p{font-size:13px;line-height:1.95;color:#728176;word-break:keep-all}
@keyframes featureEnter{from{opacity:0;transform:translateY(34px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.features .feature-card.feature-enter{animation:featureEnter .8s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--feature-delay,0s)}
@media(hover:hover) and (pointer:fine){
 .features .feature-card:hover{transform:translateY(-7px);border-color:#aad0b5;box-shadow:0 20px 40px #1e582317}
 .features .feature-card:hover:after{transform:scaleX(1)}
 .features .feature-card:hover>i{background:#2c8751;color:#fff;transform:rotate(-5deg)}
}

/* Intentional hero lines; mobile copy shares one left edge. */
.hero-title-line,.hero-description-line{display:block}
.hero-title-line{white-space:nowrap}
@media(max-width:1000px){
 .hero-carousel .hero-copy{text-align:left;margin:0;padding-right:0}
 .hero-carousel .hero-copy>p{margin:0}
}
@media(max-width:640px){
 .hero-carousel .hero-content{padding:65px 0 115px}
 .hero-carousel h1{font-size:clamp(26px,8.2vw,43px);line-height:1.38;letter-spacing:-1.3px}
 .hero-carousel .hero-copy>p{max-width:100%;font-size:14px;line-height:1.9;text-wrap:pretty}
 .hero-mobile-line{display:block}
 .hero-description-line+.hero-description-line{margin-top:8px}
 .hero-copy .eyebrow{font-size:8px;letter-spacing:1.15px;white-space:nowrap}
 .hero-signature{font-size:11px;line-height:1.8;text-align:left}
 .hero-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}
 .hero-slide-buttons{grid-column:1;justify-content:flex-start;width:max-content;max-width:100%}
 #heroSlideName{grid-column:1;grid-row:2;font-size:10px}
 #heroPause{grid-column:2;grid-row:1 / span 2;width:30px;height:30px}
 .features .feature-grid{gap:16px}
 .features .feature-card{padding:26px;min-height:215px}
 .features .feature-card>i{width:46px;height:46px;border-radius:13px;margin-bottom:18px}
 .features .feature-card h3{font-size:18px}
}
@media(prefers-reduced-motion:reduce){
 .features .feature-card.feature-enter{animation:none}
 .features .feature-card,.features .feature-card:after,.features .feature-card>i{transition:none}
 .features .feature-card:hover,.features .feature-card:hover>i{transform:none}
}

@media(min-width:801px){.overview-control .split.flip .copy{order:2}.overview-control .split.flip .section-visual{order:0}}

/* Ten photo controls fit narrow screens without horizontal overflow. */
@media(max-width:640px){.hero-slide-buttons{gap:2px}.hero-slide-buttons span{width:9px}.hero-slide-buttons button[aria-current=true] span{width:23px}}

/* Anchor the remote-control copy to the right edge, like the other visuals. */
@media(min-width:801px){
 .overview-control .split.flip .copy{justify-self:end;width:max-content;max-width:100%}
}
