/* ============================================
   FEITER LANDWIRTSCHAFT
   Premium Agricultural Website
   ============================================ */

/* --- Lokale Fonts (DSGVO-konform) --- */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/nuFRD-vYSZviVYUb_rj3ij__anPXDTnCjmHKM4nYO7KN_qiTXtHA-Q.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgA.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/JTUSjIg1_i6t8kCHKm459Wlhyw.woff2') format('woff2')}

/* --- Reset --- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px;overflow-x:hidden}
body{font-family:'Montserrat',sans-serif;color:#2a2a28;line-height:1.75;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;width:100%;max-width:100vw}
img{max-width:100%;display:block}
section,.row,.strip,.hero,.locations,.cta,.contact-section,footer{max-width:100vw;overflow-x:hidden}
a{text-decoration:none;color:inherit;transition:.3s}

/* --- Typography --- */
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400;line-height:1.2;color:#1a1a18}
h2{font-size:clamp(1.7rem,3.2vw,2.6rem);margin-bottom:24px}
em{font-style:italic;color:#5a8f3c}
p{color:#555;margin-bottom:14px}
strong{color:#2a2a28}
.label{display:block;font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:#5a8f3c;margin-bottom:14px}
.label--light{color:#8bc66b}

/* --- NAV --- */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.4s}
#nav.solid{background:#fff;box-shadow:0 1px 0 rgba(0,0,0,.06)}
.nav-wrap{max-width:1200px;margin:0 auto;padding:16px 32px;display:flex;align-items:center;justify-content:space-between}
.logo img{height:80px;transition:.3s;background:rgba(255,255,255,.85);padding:6px 12px;border-radius:4px}
#nav.solid .logo img{height:60px}
.nav-menu{display:flex;gap:18px}
.nav-menu a{font-size:13px;font-weight:500;color:#fff;letter-spacing:.3px;transition:.3s}
#nav.solid .nav-menu a{color:#555}
.nav-menu a:hover{color:#8bc66b}
#nav.solid .nav-menu a:hover{color:#5a8f3c}
.burger{display:none;background:0;border:0;cursor:pointer;width:28px;height:20px;position:relative;flex-direction:column;justify-content:space-between}
.burger span{display:block;height:2px;background:#fff;border-radius:2px;transition:.3s}
#nav.solid .burger span{background:#2a2a28}
.burger.open span:first-child{transform:translateY(9px) rotate(45deg)}
.burger.open span:last-child{transform:translateY(-9px) rotate(-45deg)}

/* --- HERO --- */
.hero{height:100vh;min-height:600px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center 40%;transition:transform 12s ease-out}
.hero:hover .hero-img{transform:scale(1.04)}
.hero-fade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,20,18,.6) 0%,rgba(20,20,18,.25) 50%,rgba(20,20,18,.35) 100%)}
.hero-body{position:relative;text-align:center;color:#fff;padding:0 24px;max-width:780px}
.hero-pre{font-size:16px;letter-spacing:1.5px;margin-bottom:28px;background:rgba(255,255,255,.92);color:#2a2a28;display:inline-block;padding:12px 28px;border-radius:4px;font-weight:500;box-shadow:0 4px 20px rgba(0,0,0,.15)}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);color:#fff;margin-bottom:16px}
.hero h1 em{color:#c5e8a8}
.hero-sub{font-size:20px;font-weight:600;letter-spacing:3px;margin-bottom:40px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7),0 0 40px rgba(0,0,0,.4)}
.hero-btn{display:inline-block;padding:14px 42px;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-size:13px;font-weight:600;letter-spacing:2px;text-transform:uppercase;border-radius:2px;transition:.4s}
.hero-btn:hover{background:#fff;color:#2a2a28;border-color:#fff}

/* --- CONTENT ROWS (romansauer pattern) --- */
.row{display:grid;grid-template-columns:1fr 1fr}
.row--flip .row-img{order:2}
.row--flip .row-txt{order:1}
.row-img{overflow:hidden;min-height:480px}
.row-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.25,.46,.45,.94)}
.row-img:hover img{transform:scale(1.04)}
.row--full-img .row-img{min-height:auto;background:#f5f5f0;display:flex;align-items:center}
.row--full-img .row-img img{object-fit:contain}
.row-txt{padding:72px 64px;display:flex;flex-direction:column;justify-content:center;max-width:580px}

/* --- Crops --- */
.crops{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.crop{background:#f8faf6;border:1px solid #e8ede3;border-radius:4px;padding:14px;font-size:14px;font-weight:600;color:#2a2a28;transition:.3s;line-height:1.3}
.crop small{display:block;font-weight:400;color:#999;font-size:12px;margin-top:3px}
.crop:hover{border-color:#5a8f3c;background:#f2f8ec}

/* --- Checks --- */
.checks{list-style:none}
.checks li{padding:12px 0;border-bottom:1px solid #eee;color:#555;font-size:15px;position:relative;padding-left:24px}
.checks li::before{content:'✓';position:absolute;left:0;color:#5a8f3c;font-weight:700}
.checks li strong{color:#2a2a28;display:inline}

/* --- Offer Grid --- */
.offer-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0 8px}
.offer{background:#f8faf6;border-left:3px solid #5a8f3c;padding:16px 18px;border-radius:0 4px 4px 0}
.offer h4{font-family:'Montserrat',sans-serif;font-size:14px;font-weight:600;color:#2a2a28;margin-bottom:6px;letter-spacing:.3px}
.offer p{font-size:13px;color:#777;margin:0;line-height:1.6}

/* --- Jobs --- */
.jobs-grid{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.job{background:#f0f7ec;border:1px solid #d4e8c4;color:#3d6c28;font-size:13px;font-weight:600;padding:8px 16px;border-radius:20px;transition:.3s}
.job:hover{background:#5a8f3c;color:#fff;border-color:#5a8f3c}

/* --- Ausbildung --- */
.ausbildung-grid{display:grid;grid-template-columns:1fr;gap:16px;margin:20px 0 8px}
.ausbildung-card{background:#f8faf6;border:1px solid #e8ede3;border-radius:6px;padding:20px}
.ausbildung-card h4{font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;color:#2a2a28;margin-bottom:8px}
.ausbildung-card p{font-size:13px;color:#666;margin-bottom:8px;line-height:1.6}
.mini-list{list-style:none;padding:0;margin:0}
.mini-list li{font-size:12px;color:#888;padding:3px 0;padding-left:16px;position:relative}
.mini-list li::before{content:'→';position:absolute;left:0;color:#5a8f3c}

/* --- Link Arrow / CTA --- */
.link-arrow{display:inline-block;margin-top:24px;padding:12px 28px;font-size:14px;font-weight:600;color:#fff;background:#5a8f3c;border-radius:4px;letter-spacing:.5px;transition:all .3s}
.link-arrow:hover{background:#3d6c28;color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px rgba(90,143,60,.3)}

/* --- STRIP (parallax quote) --- */
.strip{height:45vh;min-height:320px;background-size:cover;background-position:center;background-attachment:fixed;position:relative;display:flex;align-items:center;justify-content:center}
.strip-over{position:absolute;inset:0;background:rgba(20,20,18,.6)}
.strip blockquote{position:relative;color:#fff;font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(1.2rem,2.8vw,2rem);text-align:center;padding:0 32px;max-width:700px;line-height:1.5}

/* --- LOCATIONS --- */
.locations{background:#1a1d21;padding:80px 0;color:#ccc}
.loc-inner{max-width:1200px;margin:0 auto;padding:0 32px;text-align:center}
.locations h2{color:#fff;margin-bottom:48px}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;text-align:left;margin-top:24px}
.loc-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:6px;padding:36px 32px;transition:border-color .4s}
.loc-card:hover{border-color:rgba(90,143,60,.4)}
.loc-region{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:#5a8f3c;font-weight:600;display:block;margin-bottom:16px}
.loc-card h3{font-size:17px;color:#fff;margin-bottom:6px}
.loc-card p{font-size:14px;color:#888;margin-bottom:0;line-height:1.5}
.loc-sep{height:1px;background:rgba(255,255,255,.08);margin:20px 0}

/* --- CTA --- */
.cta{background:linear-gradient(135deg,#4a7c2e 0%,#5a8f3c 50%,#6ba048 100%);padding:80px 0;text-align:center}
.cta-body{max-width:550px;margin:0 auto;padding:0 24px}
.cta h2{color:#fff;margin-bottom:10px}
.cta p{color:rgba(255,255,255,.8);font-size:16px;margin-bottom:32px}
.cta-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{padding:13px 32px;font-size:13px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;border-radius:2px;transition:.3s;border:1.5px solid transparent}
.btn:not(.btn--ghost){background:#fff;color:#3d6c28;border-color:#fff}
.btn:not(.btn--ghost):hover{background:transparent;color:#fff}
.btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12)}

/* --- CONTACT SECTION --- */
.contact-section{background:#1a1d21;padding:80px 0}
.contact-inner{max-width:1200px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.contact-info{color:#ccc}
.contact-info h2{color:#fff;margin-bottom:16px}
.contact-info p{color:#999;font-size:15px;margin-bottom:28px}
.contact-details{display:flex;flex-direction:column;gap:16px}
.contact-details div{font-size:14px;color:#888;line-height:1.5}
.contact-details strong{color:#ccc;display:block;margin-bottom:2px}
.contact-details a{color:#8bc66b}
.contact-details a:hover{color:#fff}
.contact-form-wrap form{display:flex;flex-direction:column;gap:12px}
.contact-form-wrap input[type="text"],.contact-form-wrap input[type="email"],.contact-form-wrap select,.contact-form-wrap textarea{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:4px;padding:14px 16px;color:#e2e8f0;font-size:15px;font-family:'Montserrat',sans-serif;transition:border-color .3s;outline:none;width:100%}
.contact-form-wrap input::placeholder,.contact-form-wrap textarea::placeholder{color:#666}
.contact-form-wrap input:focus,.contact-form-wrap select:focus,.contact-form-wrap textarea:focus{border-color:#5a8f3c}
.contact-form-wrap select{appearance:none;cursor:pointer}
.contact-form-wrap select option{background:#1a1d21;color:#e2e8f0}
.contact-form-wrap .btn{width:100%;text-align:center;background:#5a8f3c;color:#fff;border:none;padding:14px;cursor:pointer;font-size:14px}
.contact-form-wrap .btn:hover{background:#4a7c2e}
.contact-form-wrap .btn:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:900px){.contact-inner{grid-template-columns:1fr}}

/* --- FOOTER --- */
footer{background:#14161a;color:#777}
.ft-top{max-width:1200px;margin:0 auto;padding:48px 32px 32px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.ft-brand img{height:56px;margin-bottom:12px;background:#fff;padding:8px 14px;border-radius:4px}
.ft-brand p{font-size:13px;line-height:1.5;color:#555}
.ft-col h4{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#888;margin-bottom:14px;font-family:'Montserrat',sans-serif;font-weight:600}
.ft-col a,.ft-col p{display:block;font-size:13px;color:#666;margin-bottom:6px;line-height:1.5}
.ft-col a:hover{color:#8bc66b}
.ft-bottom{border-top:1px solid rgba(255,255,255,.04);padding:16px 32px;text-align:center}
.ft-bottom p{font-size:11px;color:#444;margin:0}

/* --- ANIMATIONS --- */
.row-txt,.row-img,.loc-card,.crop,[data-anim]{opacity:0;transform:translateY(36px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.row-img{transform:translateY(36px)}
.row--flip .row-img{transform:translateY(36px)}
.in{opacity:1!important;transform:none!important}
[data-anim]:nth-child(2){transition-delay:.1s}
[data-anim]:nth-child(3){transition-delay:.2s}
[data-anim]:nth-child(4){transition-delay:.3s}

/* --- RESPONSIVE --- */
@media(max-width:900px){
    .row{grid-template-columns:1fr}
    .row--flip .row-img{order:0}
    .row--flip .row-txt{order:0}
    .row-img{min-height:55vw}
    .row-txt{padding:48px 24px}
    .loc-grid{grid-template-columns:1fr}
    .ft-top{grid-template-columns:1fr 1fr}
    .strip{background-attachment:scroll}
}
@media(max-width:768px){
    .nav-menu{display:none;position:fixed;inset:0;background:rgba(20,20,18,.97);flex-direction:column;justify-content:center;align-items:center;gap:28px}
    .nav-menu.open{display:flex}
    .nav-menu a{color:#fff!important;font-size:22px;font-weight:300}
    .burger{display:flex}
    .crops{grid-template-columns:1fr}
    .hero h1{font-size:2rem}
    .ft-top{grid-template-columns:1fr}
}
