/*
Theme Name: SensoFarm
Theme URI: https://senso.farm/
Author: SensoFarm
Description: App-focused SensoFarm block theme with an editable homepage, native WordPress blog, photos and video.
Version: 1.0.3
Requires at least: 6.6
Tested up to: 7.1
WPVibe: yes
Update URI: false
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sensofarm
Tags: blog, block-patterns, full-site-editing, custom-colors, featured-images, editor-style
*/
html{scroll-behavior:smooth}body{margin:0}.wp-site-blocks{padding:0}img{max-width:100%;height:auto}button,summary{cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit}
    .sf-site { --sf-ink:#123c38; --sf-navy:#073b4b; --sf-green:#276a45; --sf-paper:#fcfaf2; --sf-muted:#536660; color:var(--sf-ink); background:var(--sf-paper); font-family:Arial,Helvetica,sans-serif; color-scheme:light; width:100%; overflow:clip; }
    .sf-site * { box-sizing:border-box; }
    .sf-site a { color:inherit; text-decoration:none; }
    .sf-site button { font:inherit; }
    .sf-site h1,.sf-site h2,.sf-site h3,.sf-site p { margin:0; }
    .sf-site .sf-header { min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 5%; border-bottom:1px solid #dce3d7; background:#fcfaf2; }
    .sf-site .sf-brand { display:flex; align-items:center; gap:10px; font-size:23px; letter-spacing:-.9px; font-weight:700; color:var(--sf-navy); }
    .sf-site .sf-mark { width:38px; height:35px; overflow:hidden; flex-shrink:0; }
    .sf-site .sf-mark img { display:block; width:48px; max-width:none; margin-left:-5px; }
    .sf-site .sf-nav { display:flex; align-items:center; gap:26px; font-size:14px; font-weight:500; }
    .sf-site .sf-nav a:hover { text-decoration:underline; text-underline-offset:5px; }
    .sf-site .sf-open { padding:11px 17px; border:1px solid #426c51; border-radius:7px; }
    .sf-site .sf-hero { position:relative; min-height:641px; isolation:isolate; display:grid; grid-template-columns:1.12fr 1fr; gap:14px; padding:61px 5% 56px; }
    .sf-site .sf-farm { position:absolute; z-index:-2; left:0; bottom:0; width:100%; height:100%; object-fit:cover; object-position:center bottom; }
    .sf-site .sf-shade { position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#fcfaf2 0%,#fcfaf2eb 33%,#fcfaf245 62%,#fcfaf200 100%); }
    .sf-site .sf-intro { padding-top:15px; max-width:478px; }
    .sf-site .sf-eyebrow { font-size:12px; letter-spacing:1.6px; font-weight:700; color:var(--sf-green); text-transform:uppercase; margin-bottom:21px; }
    .sf-site h1 { font-size:clamp(35px,5.5vw,58px); line-height:1.04; font-weight:600; letter-spacing:-2.8px; max-width:470px; }
    .sf-site .sf-intro > p { font-size:18px; line-height:1.65; color:#425b52; max-width:371px; margin-top:23px; }
    .sf-site .sf-actions { display:flex; flex-wrap:wrap; align-items:center; gap:11px; margin-top:28px; }
    .sf-site .sf-action { display:inline-flex; align-items:center; justify-content:center; min-height:47px; padding:13px 19px; border-radius:7px; font-size:14px; font-weight:600; border:1px solid var(--sf-green); transition:background .15s; }
    .sf-site .sf-primary { color:#fff; background:var(--sf-green); }
    .sf-site .sf-primary:hover { background:#174b30; }
    .sf-site .sf-secondary { background:#fffdf6; color:var(--sf-ink); }
    .sf-site .sf-secondary:hover { background:#e9efde; }
    .sf-site .sf-availability { display:flex; align-items:center; gap:7px; margin-top:17px; font-size:13px; color:#425a51; }
    .sf-site .sf-availability svg { width:15px; height:15px; }
    .sf-site .sf-product { display:flex; flex-direction:column; align-items:center; position:relative; min-width:0; }
    .sf-site .sf-phone { position:relative; width:252px; height:492px; background:#f1f1f1; border:7px solid #123b36; border-radius:30px; box-shadow:0 20px 50px #193b382e; overflow:hidden; }
    .sf-site .sf-phone img { position:absolute; width:686px; height:auto; max-width:none; left:-220px; top:3px; }
    .sf-site .sf-phone img[hidden] { display:none; }
    .sf-site .sf-tabs { display:flex; background:#fffdf8; border:1px solid #ccd7c9; border-radius:8px; margin-top:14px; padding:4px; gap:3px; box-shadow:0 4px 20px #173b3512; }
    .sf-site .sf-tabs button { border:0; background:transparent; color:#3c554a; padding:9px 14px; font-size:13px; border-radius:5px; }
    .sf-site .sf-tabs button[aria-selected="true"] { color:white; background:var(--sf-green); }
    .sf-site .sf-caption { font-size:12px; color:#2e4c3b; margin-top:9px; padding:3px 8px; background:#fcfaf2e8; border-radius:4px; }
    .sf-site .sf-ribbon { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px 36px; background:#143e34; color:#f9f7eb; padding:22px 5%; font-size:14px; }
    .sf-site .sf-ribbon span { display:flex; align-items:center; gap:9px; }
    .sf-site .sf-ribbon svg { width:18px; height:18px; color:#aad190; }
    .sf-site .sf-how { padding:67px 6% 64px; background:#fffef9; }
    .sf-site .sf-section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:37px; }
    .sf-site h2 { font-size:35px; letter-spacing:-1.3px; line-height:1.16; font-weight:500; }
    .sf-site .sf-section-heading > p { color:var(--sf-muted); font-size:15px; line-height:1.6; max-width:256px; }
    .sf-site .sf-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
    .sf-site .sf-step { border-top:1px solid #cdd9cb; padding-top:23px; }
    .sf-site .sf-step-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:21px; }
    .sf-site .sf-step-number { font-size:13px; color:#60775c; }
    .sf-site .sf-step-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:50%; background:#edf2df; color:#3b713e; }
    .sf-site .sf-step:nth-child(2) .sf-step-icon { background:#f7e7d1; color:#96662b; }
    .sf-site .sf-step:nth-child(3) .sf-step-icon { background:#e5efed; color:#28665d; }
    .sf-site .sf-step-icon svg { width:23px; height:23px; }
    .sf-site h3 { font-size:19px; letter-spacing:-.4px; line-height:1.25; font-weight:600; margin-bottom:12px; }
    .sf-site .sf-step p { font-size:16px; line-height:1.65; color:var(--sf-muted); }
    .sf-site .sf-features { padding:56px 6%; background:#f0f3e9; }
    .sf-site .sf-feature-grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:31px; }
    .sf-site .sf-feature-grid article { min-width:0; }
    .sf-site .sf-feature-grid article + article { padding-left:35px; border-left:1px solid #ced9c9; }
    .sf-site .sf-features h3 { font-size:23px; line-height:1.2; margin-bottom:15px; }
    .sf-site .sf-feature-grid p { color:#4c6256; font-size:16px; line-height:1.65; }
    .sf-site .sf-small-label { font-size:12px; font-weight:700; letter-spacing:1.3px; color:#3c6c44; text-transform:uppercase; margin-bottom:16px; }
    .sf-site .sf-stage-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px; }
    .sf-site .sf-stage-list span { padding:7px 11px; font-size:13px; color:#35593d; background:#e1e9d6; border-radius:4px; }
    .sf-site .sf-example { margin:20px 0 0; padding:17px 19px; border-radius:13px 13px 13px 2px; background:#fffef8; color:#244539; font-size:15px; line-height:1.6; }
    .sf-site .sf-demo-link { display:inline-flex; align-items:center; min-height:44px; padding:9px 0; margin-top:13px; background:transparent; border:0; color:#245939; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
    .sf-site .sf-faq { padding:59px 6% 61px; display:grid; grid-template-columns:.8fr 1.2fr; gap:45px; background:#fffef9; }
    .sf-site .sf-faq-intro p { max-width:280px; margin-top:17px; color:var(--sf-muted); font-size:16px; line-height:1.6; }
    .sf-site .sf-questions { border-top:1px solid #d4decf; min-width:0; }
    .sf-site .sf-questions details { border-bottom:1px solid #d4decf; }
    .sf-site .sf-questions summary { display:block; position:relative; padding:20px 31px 20px 0; color:#173e32; font-size:16px; line-height:1.4; font-weight:500; list-style:none; }
    .sf-site .sf-questions summary::-webkit-details-marker { display:none; }
    .sf-site .sf-questions summary::after { content:'+'; position:absolute; top:17px; right:2px; color:#406a4c; font-size:23px; font-weight:400; }
    .sf-site .sf-questions details[open] summary::after { content:'−'; }
    .sf-site .sf-questions details > p { padding:0 25px 20px 0; color:#4e6355; font-size:15px; line-height:1.7; }
    .sf-site .sf-questions a { text-decoration:underline; text-underline-offset:3px; }
    .sf-site .sf-questions summary:focus-visible { outline:3px solid #ebaf57; outline-offset:3px; }
    .sf-site .sf-footer-links { display:flex; flex-wrap:wrap; gap:16px; font-size:13px; }
    .sf-site .sf-start { background:#eaf0df; padding:39px 6%; display:flex; align-items:center; justify-content:space-between; gap:25px; }
    .sf-site .sf-start h2 { font-size:28px; }
    .sf-site .sf-start p { margin-top:10px; font-size:15px; color:#4b6351; line-height:1.55; }
    .sf-site .sf-start .sf-actions { margin-top:0; flex-shrink:0; }
    .sf-site .sf-footer { padding:25px 6%; background:#fcfaf2; display:flex; justify-content:space-between; gap:20px; align-items:center; color:#56655b; font-size:12px; }
    .sf-site .sf-footer p { line-height:1.6; }
    .sf-site .sf-footer a { text-decoration:underline; text-underline-offset:3px; }
    .sf-site a:focus-visible,.sf-site button:focus-visible { outline:3px solid #ebaf57; outline-offset:4px; }
    @media(max-width:760px) {
      .sf-site .sf-header { padding:17px 5%; }
      .sf-site .sf-nav { gap:14px; }
      .sf-site .sf-nav .sf-about-link { display:none; }
      .sf-site .sf-hero { grid-template-columns:1fr; padding-top:37px; gap:30px; }
      .sf-site .sf-intro { max-width:560px; padding-top:0; }
      .sf-site h1 { max-width:480px; font-size:46px; letter-spacing:-2px; }
      .sf-site .sf-intro > p { max-width:440px; }
      .sf-site .sf-farm { height:540px; object-position:65% bottom; }
      .sf-site .sf-shade { background:linear-gradient(180deg,#fcfaf2 0%,#fcfaf2 37%,#fcfaf250 70%,transparent 100%); }
      .sf-site .sf-product { padding-bottom:0; }
      .sf-site .sf-ribbon { font-size:13px; gap:14px 23px; }
      .sf-site .sf-how { padding-top:43px; padding-bottom:45px; }
      .sf-site .sf-section-heading { flex-direction:column; align-items:flex-start; gap:16px; }
      .sf-site .sf-section-heading > p { max-width:440px; }
      .sf-site .sf-steps { grid-template-columns:1fr; gap:25px; }
      .sf-site .sf-step-top { margin-bottom:12px; }
      .sf-site .sf-step p { max-width:440px; }
      .sf-site .sf-feature-grid { grid-template-columns:1fr; gap:30px; }
      .sf-site .sf-feature-grid article + article { border-left:0; border-top:1px solid #ced9c9; padding:30px 0 0; }
      .sf-site .sf-features { padding-top:40px; padding-bottom:42px; }
      .sf-site .sf-faq { grid-template-columns:1fr; gap:25px; padding-top:43px; padding-bottom:45px; }
      .sf-site .sf-faq-intro p { max-width:440px; }
      .sf-site .sf-start { flex-direction:column; align-items:flex-start; }
    }
    @media(max-width:420px) {
      .sf-site .sf-brand { font-size:20px; gap:5px; }
      .sf-site .sf-nav .sf-how-link { display:none; }
      .sf-site .sf-nav .sf-faq-link { display:none; }
      .sf-site .sf-nav { font-size:13px; }
      .sf-site .sf-open { padding:10px 12px; }
      .sf-site h1 { font-size:39px; letter-spacing:-1.8px; }
      .sf-site .sf-intro > p { font-size:16px; }
      .sf-site .sf-action { font-size:13px; padding:12px 15px; }
      .sf-site h2 { font-size:29px; }
      .sf-site .sf-ribbon { justify-content:flex-start; }
      .sf-site .sf-footer { flex-direction:column; align-items:flex-start; gap:9px; }
    }

.sf-site { max-width:1600px; margin:0 auto; }
.sf-site .sf-hero { min-height:650px; }
.sf-site .sf-product { gap:0; }
.sf-site .sf-phone [data-slot="tabs-content"] { margin:0; }
.sf-site .sf-tabs { height:auto; }
.sf-site .sf-tabs [data-state="active"] { color:#fff; background:#276a45; }
.sf-site .sf-tabs button { min-height:38px; }
.sf-site .sf-questions [data-slot="accordion-item"] { border-bottom:1px solid #d4decf; }
.sf-site .sf-questions h3 { margin:0; }
.sf-site .sf-questions [data-slot="accordion-trigger"] { font-size:16px; font-weight:500; line-height:1.4; padding:20px 0; color:#173e32; align-items:center; }
.sf-site .sf-questions [data-slot="accordion-content"] p { padding:0 25px 4px 0; color:#4e6355; font-size:16px; line-height:1.7; }
.sf-site .sf-questions svg { width:18px; height:18px; flex-shrink:0; }
.sf-site .sf-feature-grid { align-items:start; }
.sf-site .sf-demo-link { min-height:44px; }
@media(min-width:1200px) { .sf-site .sf-hero { padding-left:8%; padding-right:8%; } .sf-site h1 { font-size:64px; max-width:570px; } .sf-site .sf-intro { max-width:560px; } .sf-site .sf-intro > p { max-width:430px; font-size:19px; } }
@media(max-width:420px) { .sf-site .sf-header { gap:12px; } .sf-site .sf-action { font-size:14px; } .sf-site .sf-start .sf-actions { flex-shrink:1; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }
/* Blog: editorial typography, generous image space and the established farm palette. */
.sf-site .sf-socials{display:flex;gap:22px;margin-top:14px;font-size:14px}
.sf-site .sf-socials a{display:flex;align-items:center;gap:7px;text-decoration:none}
.sf-site .sf-socials svg{width:18px;height:18px}
.sf-site .sf-blog-section{padding:64px 6%;background:#fffef9;border-top:1px solid #dce3d7}
.sf-site .sf-blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.sf-site .sf-post-card{min-width:0}
.sf-site .sf-card-image{display:block;aspect-ratio:3/2;overflow:hidden;background:#eaf0df;border-radius:10px}
.sf-site .sf-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.sf-site .sf-post-card:hover .sf-card-image img{transform:scale(1.025)}
.sf-site .sf-post-category{font-size:13px;color:#356647;margin:20px 0 12px}
.sf-site .sf-post-card h3{font-size:24px;line-height:1.2;letter-spacing:-.65px;margin-bottom:13px}
.sf-site .sf-post-card h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.sf-site .sf-post-card p{font-size:16px;line-height:1.65;color:#536660}
.sf-site .sf-post-card time{display:block;margin-top:18px;color:#536660;font-size:13px}
.sf-site .sf-blog-page{max-width:1240px;margin:auto;padding:64px 5%}
.sf-site .sf-blog-intro{margin-bottom:54px}
.sf-site .sf-blog-intro h1{font-size:clamp(44px,6vw,76px);line-height:1.02;max-width:800px;font-weight:500}
.sf-site .sf-blog-intro>p{font-size:20px;line-height:1.6;max-width:480px;color:#536660;margin-top:23px}
.sf-site .sf-blog-app{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #bcccb9;margin-top:70px;padding:35px 0 0}
.sf-site .sf-blog-app h2{font-size:29px}
.sf-site .sf-blog-app p{font-size:16px;color:#536660;margin-top:12px;line-height:1.6}
.sf-site .sf-article{max-width:1190px;margin:auto;padding:35px 5% 70px}
.sf-site .sf-breadcrumb{display:flex;gap:12px;flex-wrap:wrap;font-size:14px;color:#536660;margin-bottom:42px}
.sf-site .sf-breadcrumb a{text-decoration:underline;text-underline-offset:4px}
.sf-site .sf-article-heading{max-width:870px;margin:0 auto 32px}
.sf-site .sf-article-heading h1{font-size:clamp(36px,5vw,58px);line-height:1.09;letter-spacing:-2px;max-width:none}
.sf-site .sf-deck{font-size:20px;line-height:1.6;color:#536660;margin-top:24px}
.sf-site .sf-byline{display:flex;flex-wrap:wrap;gap:9px;font-size:14px;color:#536660;margin-top:24px}
.sf-site .sf-article-cover{margin:0 0 48px}
.sf-site .sf-article-cover img{width:100%;max-height:580px;aspect-ratio:16/9;object-fit:cover;border-radius:10px}
.sf-site figcaption{font-size:13px;color:#536660;line-height:1.5;margin-top:10px}
.sf-site .sf-reading-layout{display:grid;grid-template-columns:220px minmax(0,710px);gap:55px;justify-content:center}
.sf-site .sf-contents{align-self:start;position:sticky;top:24px}
.sf-site .sf-contents>span{font-size:14px;font-weight:700}
.sf-site .sf-contents nav{display:flex;flex-direction:column;gap:16px;border-left:2px solid #d5decf;padding-left:18px;margin-top:20px}
.sf-site .sf-contents a{font-size:14px;line-height:1.5;color:#536660}
.sf-site .sf-contents a:hover{color:#276a45;text-decoration:underline}
.sf-site .sf-article-body p,.sf-site .sf-article-body li{font-size:18px;line-height:1.85;color:#344c43;margin-bottom:22px;white-space:pre-line}
.sf-site .sf-article-body h2{font-size:30px;line-height:1.25;letter-spacing:-.7px;margin:44px 0 20px;scroll-margin-top:28px}
.sf-site .sf-article-body ul{list-style:disc;padding-left:25px;margin:20px 0}
.sf-site .sf-article-body li{margin-bottom:10px}
.sf-site .sf-article-body a{color:#276a45;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.sf-site .sf-article-body figure{margin:32px 0}
.sf-site .sf-article-body img{width:100%;height:auto;border-radius:8px}
.sf-site .sf-video{width:100%;aspect-ratio:16/9;border:0;border-radius:8px;background:#123c38;max-height:650px;object-fit:contain}
.sf-site .sf-transcript{margin-top:16px;border:1px solid #ccd7c9;padding:14px;border-radius:6px}
.sf-site .sf-transcript summary{cursor:pointer;font-size:16px}
.sf-site .sf-transcript p{font-size:16px;margin-top:18px}
.sf-site .sf-article-cta{background:#eaf0df;padding:32px;border-radius:10px;margin-top:42px}
.sf-site .sf-article-cta h2{font-size:29px}
.sf-site .sf-article-cta p{font-size:17px;line-height:1.6;color:#536660;margin:15px 0 22px}
.sf-site .sf-related{border-top:1px solid #ccd7c9;margin-top:64px;padding-top:40px}
.sf-site .sf-related>h2{margin-bottom:30px;font-size:30px}
.sf-site .sf-related .sf-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.sf-site .sf-notice{padding:20px;background:#eaf0df;margin-bottom:28px;font-size:16px}
.sf-error{padding:80px 6%;min-height:60vh;max-width:900px;margin:auto}
.sf-site .sf-error h1{font-size:44px;max-width:700px}
.sf-site .sf-error p{font-size:18px;line-height:1.6;margin:25px 0;color:#536660}
.sf-site .sf-error .sf-action{margin:8px 12px 8px 0}
@media(max-width:900px){.sf-site .sf-reading-layout{grid-template-columns:1fr;gap:30px}.sf-site .sf-contents{position:static}.sf-site .sf-contents nav{flex-direction:row;flex-wrap:wrap;gap:12px 22px}}
@media(max-width:760px){.sf-site .sf-blog-grid,.sf-site .sf-related .sf-blog-grid{grid-template-columns:1fr;gap:38px}.sf-site .sf-blog-section{padding:45px 6%}.sf-site .sf-blog-page{padding:40px 6%}.sf-site .sf-blog-app{flex-direction:column;align-items:flex-start}.sf-site .sf-blog-intro{margin-bottom:38px}.sf-site .sf-blog-intro>p{font-size:18px}.sf-site .sf-article-heading h1{font-size:38px;letter-spacing:-1.3px}.sf-site .sf-article{padding:28px 6% 45px}.sf-site .sf-deck{font-size:18px}.sf-site .sf-article-body p,.sf-site .sf-article-body li{font-size:17px;line-height:1.8}.sf-site .sf-article-body h2{font-size:27px}.sf-site .sf-article-cta{padding:24px}.sf-site .sf-footer{flex-direction:column;align-items:flex-start;gap:25px}.sf-site .sf-nav .sf-how-link,.sf-site .sf-nav .sf-faq-link{display:none}}
@media(max-width:420px){.sf-site .sf-header{gap:10px;padding:14px 4%}.sf-site .sf-brand{font-size:18px;letter-spacing:-.6px}.sf-site .sf-mark{width:28px;height:26px}.sf-site .sf-mark img{width:40px;margin-left:-6px}.sf-site .sf-nav{gap:11px;font-size:13px}.sf-site .sf-open{padding:9px 10px}.sf-site .sf-article-heading h1{font-size:34px}.sf-site .sf-blog-intro h1{font-size:45px;letter-spacing:-2px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sf-site .sf-card-image img{transition:none}}
