:root {
  --green-950: #07351a;
  --green-900: #08451f;
  --green-800: #0d5728;
  --green-700: #167038;
  --green-600: #238848;
  --lime: #b8df70;
  --lime-soft: #eaf6d3;
  --gold: #d3a22e;
  --ink: #172019;
  --muted: #637067;
  --line: #dfe7df;
  --paper: #fff;
  --mist: #f4f7f3;
  --cream: #fbfaf3;
  --shadow: 0 24px 70px rgba(8, 69, 31, .13);
  --radius: 22px;
  --container: min(1180px, calc(100% - 40px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
svg { width: 1.2em; height: 1.2em; fill: currentColor; }
.container { width: var(--container); margin-inline: auto; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 999; padding: 12px 18px; color: #fff; background: var(--green-950); border-radius: 10px; }
.skip-link:focus { top: 16px; }

.topbar { background: var(--green-950); color: #fff; font-size: .83rem; }
.topbar-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar-inner > span { color: var(--lime); font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.topbar-contact { display: flex; align-items: center; gap: 24px; }
.topbar-contact a { display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.9); }
.topbar-contact svg { color: var(--lime); }

.site-header { position: sticky; z-index: 100; top: 0; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(12,87,40,.11); backdrop-filter: blur(14px); }
.nav-wrap { min-height: 86px; display: flex; align-items: center; gap: 30px; }
.brand { width: 224px; flex: 0 0 auto; }
.brand img { width: 224px; height: 72px; object-fit: contain; object-position: left center; }
.main-nav { display: flex; justify-content: flex-end; align-items: center; gap: clamp(18px, 2.5vw, 34px); margin-left: auto; }
.main-nav a { position: relative; font-size: .94rem; font-weight: 750; color: #243329; }
.main-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; background: var(--green-700); transition: right .2s ease; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { right: 0; }
.menu-button { display: none; width: 44px; height: 44px; place-items: center; border: 1px solid var(--line); border-radius: 12px; color: var(--green-800); background: #fff; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 23px; border: 1px solid var(--green-700); border-radius: 13px; color: #fff; background: var(--green-700); font-weight: 850; box-shadow: 0 11px 25px rgba(22,112,56,.18); transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover, .button:focus-visible { background: var(--green-800); border-color: var(--green-800); transform: translateY(-2px); }
.button-small { min-height: 44px; padding-inline: 18px; font-size: .91rem; }
.button-ghost { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.52); box-shadow: none; }
.button-ghost:hover, .button-ghost:focus-visible { background: #fff; color: var(--green-900); border-color: #fff; }
.button-light { color: var(--green-950); background: #fff; border-color: #fff; box-shadow: none; }
.button-light:hover, .button-light:focus-visible { color: var(--green-950); background: var(--lime-soft); border-color: var(--lime-soft); }
.button-whatsapp { background: #168542; border-color: #168542; }

.hero { position: relative; min-height: 720px; display: flex; align-items: center; overflow: hidden; color: #fff; }
.hero-bg, .hero-shade { position: absolute; inset: 0; }
.hero-bg { background-image: url("assets/hero-garten.webp"); background-size: cover; background-position: center; transform: scale(1.01); }
.hero-shade { background: linear-gradient(90deg, rgba(5,37,17,.93) 0%, rgba(5,47,21,.82) 38%, rgba(5,47,21,.32) 66%, rgba(5,47,21,.08) 100%); }
.hero-content { position: relative; z-index: 2; padding-block: 95px 125px; }
.eyebrow { margin: 0 0 15px; color: var(--green-700); font-size: .78rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow.light { color: var(--lime); }
.hero h1, .section h2 { margin: 0; line-height: 1.03; letter-spacing: -.045em; }
.hero h1 { max-width: 790px; font-size: clamp(3.4rem, 7vw, 6.55rem); }
.hero h1 span, .section h2 span { color: var(--lime); }
.hero-copy { max-width: 660px; margin: 25px 0 30px; color: rgba(255,255,255,.86); font-size: clamp(1.05rem, 1.5vw, 1.27rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 13px; }
.hero-points { display: flex; flex-wrap: wrap; gap: 26px; margin: 34px 0 0; padding: 0; list-style: none; }
.hero-points li { display: flex; align-items: center; gap: 8px; color: rgba(255,255,255,.88); font-weight: 700; font-size: .9rem; }
.hero-points svg { color: var(--lime); }
.hero-card { position: absolute; z-index: 3; right: max(28px, calc((100vw - 1180px)/2)); bottom: 34px; min-width: 300px; padding: 20px 22px; background: rgba(255,255,255,.95); color: var(--ink); border-radius: 17px; box-shadow: var(--shadow); }
.hero-card span { display: block; color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.hero-card strong { display: block; margin: 2px 0 8px; color: var(--green-900); font-size: 1.35rem; }
.hero-card a { display: inline-flex; align-items: center; gap: 8px; color: var(--green-700); font-weight: 850; }

.trust-strip { position: relative; z-index: 5; border-bottom: 1px solid var(--line); background: #fff; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.trust-grid > div { min-height: 105px; padding: 25px 26px; border-right: 1px solid var(--line); }
.trust-grid > div:first-child { border-left: 1px solid var(--line); }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { margin-bottom: 3px; color: var(--green-800); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.trust-grid span { color: #39463e; font-weight: 750; }

.section { padding-block: 110px; }
.services-section { background: var(--mist); }
.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 60px; margin-bottom: 46px; }
.section-heading.compact { margin-bottom: 58px; }
.section h2 { font-size: clamp(2.6rem, 5vw, 4.7rem); }
.section h2 span { color: var(--green-700); }
.section-heading > p { max-width: 500px; margin: 0 0 8px; color: var(--muted); font-size: 1.07rem; }
.service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.service-card { position: relative; min-height: 335px; padding: 32px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.service-card:hover { transform: translateY(-6px); border-color: rgba(22,112,56,.35); box-shadow: var(--shadow); }
.service-card.featured { color: #fff; background: var(--green-900); border-color: var(--green-900); }
.service-icon { width: 56px; height: 56px; display: grid; place-items: center; color: var(--green-700); background: var(--lime-soft); border-radius: 16px; }
.service-icon svg { width: 29px; height: 29px; fill: none; }
.service-card.featured .service-icon { color: var(--green-950); background: var(--lime); }
.service-number { position: absolute; right: 28px; top: 30px; color: #cad4cc; font-size: 1rem; font-weight: 900; }
.service-card.featured .service-number { color: rgba(255,255,255,.35); }
.service-card h3 { margin: 52px 0 11px; font-size: 1.34rem; }
.service-card p { margin: 0 0 25px; color: var(--muted); font-size: .96rem; }
.service-card.featured p { color: rgba(255,255,255,.72); }
.service-card a { position: absolute; left: 32px; bottom: 29px; display: inline-flex; align-items: center; gap: 8px; color: var(--green-700); font-size: .91rem; font-weight: 850; }
.service-card.featured a { color: var(--lime); }

.calculator-section { overflow: hidden; color: #fff; background: var(--green-950); }
.calculator-layout { display: grid; grid-template-columns: .86fr 1.14fr; gap: 70px; align-items: center; }
.calculator-intro h2 { font-size: clamp(2.8rem, 5vw, 4.8rem); }
.calculator-intro > p:not(.eyebrow) { margin: 23px 0; max-width: 540px; color: rgba(255,255,255,.72); }
.check-list { margin: 32px 0 0; padding: 0; list-style: none; }
.check-list li { display: flex; align-items: center; gap: 10px; margin: 12px 0; color: rgba(255,255,255,.88); font-weight: 700; }
.check-list svg { color: var(--lime); }
.calculator-card { padding: clamp(24px,4vw,42px); color: var(--ink); background: #fff; border-radius: 26px; box-shadow: 0 30px 80px rgba(0,0,0,.24); }
.calculator-title { display: flex; align-items: center; gap: 16px; margin-bottom: 28px; }
.calculator-title .service-icon { flex: 0 0 auto; }
.calculator-title span, .calculator-title strong { display: block; }
.calculator-title span { color: var(--muted); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.calculator-title strong { color: var(--green-900); font-size: 1.25rem; }
label { display: block; margin: 0 0 7px; color: #344039; font-size: .87rem; font-weight: 800; }
input, select, textarea { width: 100%; border: 1px solid #cfd9d1; border-radius: 11px; color: var(--ink); background: #fff; outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
input, select { min-height: 50px; padding: 0 13px; }
textarea { padding: 12px 13px; resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--green-600); box-shadow: 0 0 0 4px rgba(35,136,72,.11); }
input[readonly] { color: var(--muted); background: #f1f4f1; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.calculator-card form > label, .calculator-card form > select { margin-top: 0; }
.calculator-button { width: 100%; margin-top: 22px; border: 0; }
.calculator-result { margin-top: 25px; padding: 25px; color: #fff; background: var(--green-800); border-radius: 18px; }
.calculator-result > span { display: block; color: var(--lime); font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.calculator-result > strong { display: block; margin: 3px 0; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; }
.calculator-result > small { color: rgba(255,255,255,.72); }
.calculator-result p { margin: 12px 0 15px; color: rgba(255,255,255,.7); font-size: .78rem; line-height: 1.5; }
.text-button { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; color: var(--lime); background: transparent; font-weight: 850; }

.process-section { background: #fff; }
.process-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; padding: 0; list-style: none; counter-reset: process; }
.process-grid li { min-height: 235px; padding: 28px; border-top: 3px solid var(--green-700); background: var(--mist); border-radius: 0 0 18px 18px; }
.process-grid li > span { width: 42px; height: 42px; display: grid; place-items: center; color: #fff; background: var(--green-700); border-radius: 50%; font-weight: 900; }
.process-grid h3 { margin: 30px 0 8px; font-size: 1.22rem; }
.process-grid p { margin: 0; color: var(--muted); font-size: .93rem; }

.shop-teaser { padding-block: 0; color: #fff; background: var(--cream); }
.shop-teaser-inner { display: grid; grid-template-columns: .8fr 1.2fr; min-height: 510px; overflow: hidden; border-radius: 30px; background: linear-gradient(135deg, var(--green-900), var(--green-950)); }
.shop-visual { display: grid; place-items: center; align-content: center; gap: 18px; padding: 50px; background: radial-gradient(circle at 35% 35%, rgba(184,223,112,.32), transparent 48%), rgba(255,255,255,.045); }
.shop-visual svg { width: min(260px,80%); height: min(260px,80%); color: var(--lime); fill: none; stroke-width: .85; }
.shop-visual span { text-align: center; color: var(--lime); font-size: 1.2rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.shop-copy { align-self: center; padding: 65px clamp(35px,7vw,95px); }
.shop-copy h2 { font-size: clamp(2.8rem,5vw,4.8rem); }
.shop-copy > p:not(.eyebrow) { max-width: 620px; margin: 23px 0 30px; color: rgba(255,255,255,.72); }

.contact-section { background: var(--cream); }
.contact-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 70px; align-items: start; }
.contact-copy { position: sticky; top: 130px; }
.contact-copy > p:not(.eyebrow) { max-width: 480px; margin: 22px 0 30px; color: var(--muted); }
.contact-cards { display: grid; gap: 10px; }
.contact-cards > a, .contact-cards > div { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid var(--line); background: #fff; border-radius: 13px; }
.contact-cards svg { flex: 0 0 auto; color: var(--green-700); }
.contact-cards small, .contact-cards strong { display: block; }
.contact-cards small { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; }
.contact-cards strong { color: var(--green-900); font-size: .94rem; }
.inquiry-card { padding: clamp(24px,4vw,42px); background: #fff; border: 1px solid var(--line); border-radius: 25px; box-shadow: var(--shadow); }
.form-tabs { display: grid; grid-template-columns: repeat(4,1fr); gap: 7px; margin-bottom: 28px; padding: 6px; background: var(--mist); border-radius: 13px; }
.form-tab { min-height: 40px; padding: 5px 9px; border: 0; color: var(--muted); background: transparent; border-radius: 9px; font-size: .81rem; font-weight: 850; }
.form-tab.active { color: #fff; background: var(--green-700); }
.inquiry-card form > label, .inquiry-card form > select, .inquiry-card form > textarea { margin-top: 16px; }
.inquiry-card .form-row:first-of-type { margin-top: 0; }
.privacy-check { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px !important; font-size: .78rem; font-weight: 600; line-height: 1.45; }
.privacy-check input { width: 19px; min-height: 19px; margin: 2px 0 0; accent-color: var(--green-700); }
.privacy-check a { color: var(--green-700); text-decoration: underline; }
.form-error { margin: 15px 0 0; padding: 11px 13px; color: #8d1d1d; background: #fff0f0; border: 1px solid #efc5c5; border-radius: 9px; font-size: .82rem; }
.form-actions { display: flex; gap: 10px; margin-top: 20px; }
.form-actions .button { flex: 1 1 0; border: 0; }
.form-note { margin: 13px 0 0; color: var(--muted); font-size: .74rem; }

.site-footer { padding: 65px 0 22px; color: rgba(255,255,255,.75); background: #052b15; }
.footer-grid { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 45px; }
.footer-brand img { width: 230px; padding: 10px; background: #fff; border-radius: 14px; }
.footer-brand p { max-width: 300px; margin: 18px 0 0; }
.site-footer h3 { margin: 0 0 14px; color: var(--lime); font-size: .92rem; text-transform: uppercase; letter-spacing: .08em; }
.site-footer a, .site-footer span { display: block; margin: 8px 0; }
.site-footer a:hover { color: #fff; }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-top: 50px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.13); font-size: .78rem; }

.floating-contact { position: fixed; z-index: 90; right: 19px; width: 50px; height: 50px; display: grid; place-items: center; color: #fff; border-radius: 50%; box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.floating-contact.phone { bottom: 80px; background: var(--green-800); }
.floating-contact.whatsapp { bottom: 20px; background: #21a956; font-weight: 950; }

/* Shop */
.subpage-hero { padding: 82px 0 75px; color: #fff; background: linear-gradient(125deg, var(--green-950), var(--green-700)); }
.subpage-hero .breadcrumbs { margin-bottom: 22px; color: rgba(255,255,255,.65); font-size: .84rem; }
.subpage-hero h1 { max-width: 820px; margin: 0; font-size: clamp(3rem,7vw,6rem); line-height: 1; letter-spacing: -.05em; }
.subpage-hero h1 span { color: var(--lime); }
.subpage-hero p { max-width: 680px; margin: 24px 0 0; color: rgba(255,255,255,.76); font-size: 1.12rem; }
.shop-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 25px; margin-bottom: 30px; }
.shop-toolbar h2 { font-size: clamp(2.2rem,4vw,3.6rem); }
.shop-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.filter-button { min-height: 40px; padding: 0 15px; border: 1px solid var(--line); color: var(--muted); background: #fff; border-radius: 999px; font-size: .83rem; font-weight: 800; }
.filter-button.active { color: #fff; background: var(--green-700); border-color: var(--green-700); }
.product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.product-card { overflow: hidden; border: 1px solid var(--line); background: #fff; border-radius: 20px; transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.product-image { position: relative; aspect-ratio: 16/10; display: grid; place-items: center; overflow: hidden; color: var(--green-700); background: linear-gradient(145deg,#edf4e8,#dce9d8); }
.product-image svg { width: 42%; height: 42%; fill: none; }
.product-badge { position: absolute; left: 14px; top: 14px; padding: 6px 9px; color: var(--green-950); background: var(--lime); border-radius: 8px; font-size: .7rem; font-weight: 900; text-transform: uppercase; letter-spacing: .05em; }
.product-content { padding: 22px; }
.product-category { color: var(--green-700); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.product-card h3 { margin: 5px 0 7px; font-size: 1.3rem; }
.product-card p { min-height: 50px; margin: 0 0 18px; color: var(--muted); font-size: .89rem; }
.product-meta { display: flex; justify-content: space-between; gap: 10px; align-items: flex-end; padding-top: 16px; border-top: 1px solid var(--line); }
.product-price small, .product-price strong { display: block; }
.product-price small { color: var(--muted); font-size: .7rem; }
.product-price strong { color: var(--green-900); font-size: 1.15rem; }
.add-to-cart { width: 44px; height: 44px; display: grid; place-items: center; border: 0; color: #fff; background: var(--green-700); border-radius: 12px; }
.shop-notice { display: flex; align-items: flex-start; gap: 13px; margin-bottom: 28px; padding: 17px 19px; color: #6b5512; background: #fff8d9; border: 1px solid #eedb8e; border-radius: 14px; font-size: .87rem; }
.shop-notice strong { display: block; }
.shop-sell { padding: 70px; color: #fff; background: var(--green-900); border-radius: 28px; }
.shop-sell h2 { font-size: clamp(2.5rem,4vw,4rem); }
.shop-sell p { max-width: 670px; color: rgba(255,255,255,.72); }
.cart-button { position: relative; display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 0 15px; color: #fff; background: var(--green-800); border: 0; border-radius: 11px; font-weight: 850; }
.cart-count { min-width: 22px; height: 22px; display: grid; place-items: center; color: var(--green-950); background: var(--lime); border-radius: 50%; font-size: .72rem; }
.cart-drawer { position: fixed; z-index: 300; inset: 0; display: grid; grid-template-columns: 1fr min(440px,100%); visibility: hidden; }
.cart-drawer.open { visibility: visible; }
.cart-backdrop { opacity: 0; background: rgba(0,0,0,.5); transition: opacity .25s ease; }
.cart-drawer.open .cart-backdrop { opacity: 1; }
.cart-panel { display: flex; flex-direction: column; transform: translateX(100%); padding: 26px; background: #fff; transition: transform .25s ease; }
.cart-drawer.open .cart-panel { transform: translateX(0); }
.cart-head { display: flex; justify-content: space-between; align-items: center; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.cart-head h2 { font-size: 1.45rem; }
.icon-button { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--line); background: #fff; border-radius: 11px; }
.cart-items { flex: 1; overflow: auto; padding-block: 10px; }
.cart-empty { padding: 50px 10px; text-align: center; color: var(--muted); }
.cart-item { display: grid; grid-template-columns: 54px 1fr auto; gap: 12px; align-items: center; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cart-item-icon { width: 54px; height: 54px; display: grid; place-items: center; color: var(--green-700); background: var(--lime-soft); border-radius: 12px; }
.cart-item-icon svg { width: 28px; height: 28px; fill: none; }
.cart-item strong, .cart-item small { display: block; }
.cart-item small { color: var(--muted); }
.remove-item { border: 0; color: #9a3131; background: transparent; font-size: .78rem; }
.cart-foot { padding-top: 20px; border-top: 1px solid var(--line); }
.cart-foot p { color: var(--muted); font-size: .8rem; }
.cart-foot .button { width: 100%; }

/* Legal */
.legal-page { padding: 75px 0 110px; background: var(--mist); }
.legal-card { max-width: 900px; margin: 0 auto; padding: clamp(25px,6vw,65px); background: #fff; border: 1px solid var(--line); border-radius: 24px; }
.legal-card h1 { margin: 0 0 30px; color: var(--green-900); font-size: clamp(2.6rem,6vw,4.5rem); line-height: 1; }
.legal-card h2 { margin: 38px 0 10px; font-size: 1.35rem; }
.legal-card p, .legal-card li { color: #526057; }

@media (max-width: 1050px) {
  .header-cta { display: none; }
  .brand { width: 200px; }
  .brand img { width: 200px; }
  .main-nav { gap: 18px; }
  .service-grid { grid-template-columns: repeat(2,1fr); }
  .calculator-layout, .contact-layout { grid-template-columns: 1fr; }
  .calculator-intro { max-width: 750px; }
  .contact-copy { position: static; }
  .process-grid { grid-template-columns: repeat(2,1fr); }
  .product-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  .topbar-inner > span { display: none; }
  .topbar-inner { justify-content: center; }
  .topbar-contact { gap: 14px; }
  .topbar-contact a:last-child { display: none; }
  .nav-wrap { min-height: 74px; }
  .brand, .brand img { width: 175px; height: 60px; }
  .menu-button { display: grid; margin-left: auto; }
  .main-nav { position: fixed; inset: 112px 0 0; z-index: 98; display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; gap: 0; transform: translateX(100%); padding: 32px 28px; background: #fff; transition: transform .25s ease; }
  .main-nav.open { transform: translateX(0); }
  .main-nav a { padding: 17px 0; border-bottom: 1px solid var(--line); font-size: 1.12rem; }
  .main-nav a::after { display: none; }
  .hero { min-height: 680px; align-items: flex-end; }
  .hero-shade { background: linear-gradient(90deg,rgba(5,37,17,.92),rgba(5,47,21,.58)),linear-gradient(0deg,rgba(5,37,17,.9),transparent 65%); }
  .hero-content { padding-block: 85px 145px; }
  .hero h1 { font-size: clamp(3.1rem,13vw,5rem); }
  .hero-card { left: 20px; right: 20px; bottom: 24px; min-width: 0; }
  .hero-points { display: none; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-grid > div { border-bottom: 1px solid var(--line); }
  .section { padding-block: 80px; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }
  .shop-teaser-inner { grid-template-columns: 1fr; }
  .shop-visual { min-height: 270px; }
  .shop-visual svg { width: 180px; height: 150px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .shop-toolbar { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 600px) {
  :root { --container: min(100% - 28px, 1180px); }
  .hero { min-height: 730px; }
  .hero-content { padding-top: 72px; }
  .hero h1 { font-size: clamp(2.8rem,14vw,4rem); }
  .hero-copy { font-size: 1rem; }
  .hero-actions, .form-actions { flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-card { padding: 16px 18px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-grid > div { min-height: auto; padding: 18px 14px; border-left: 0 !important; }
  .service-grid, .process-grid, .product-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 320px; }
  .form-row { grid-template-columns: 1fr; }
  .form-tabs { grid-template-columns: 1fr 1fr; }
  .calculator-card, .inquiry-card { padding: 20px; border-radius: 18px; }
  .shop-copy { padding: 45px 24px; }
  .shop-sell { padding: 38px 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; }
  .floating-contact { width: 46px; height: 46px; right: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* R. HOTI IONOS: additions for image galleries and theme selection */
.theme-toolbar{background:#151515;border-bottom:1px solid #383838;padding:8px 0;color:#d5d5d5}.theme-controls{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:12px}.theme-controls button{background:#242424;border:1px solid #555;color:#eaeaea;border-radius:10px;padding:10px 15px;cursor:pointer;font-weight:700}.theme-controls button.selected{border-color:#dcb966;color:#f5d184;background:#2c271b}.showcase-section,.wf-section{background:#141414;color:#f4f1eb}.showcase-section h2,.wf-section h2{font-size:clamp(2rem,5vw,3.7rem);margin:12px 0}.showcase-section h2 span,.wf-section h2 span{color:#e5c47b}.showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}.showcase-tile{margin:0;background:#242424;border:1px solid #51442b;border-radius:18px;overflow:hidden}.showcase-tile img{width:100%;height:290px;object-fit:cover;display:block}.showcase-tile figcaption{padding:13px 17px;color:#e5c47b}.wf-section{background:#1b1b1b}.wf-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}.wf-gallery img{width:100%;height:280px;object-fit:contain;background:#f5f5f5;border-radius:14px}.product-image img{width:100%;height:100%;object-fit:cover;display:block}.product-image:has(img){padding:0}.product-image:has(img) .product-badge{z-index:2}.main-nav{gap:clamp(8px,1.1vw,18px)}.main-nav a{white-space:nowrap}
html[data-theme=light] body{background:#f5f7fb;color:#102441}html[data-theme=light] .site-header,html[data-theme=light] .topbar,html[data-theme=light] .theme-toolbar{background:#edf3ff;color:#12284b;border-color:#c5d7ef}html[data-theme=light] .main-nav a,html[data-theme=light] .topbar a,html[data-theme=light] .topbar span{color:#12284b}html[data-theme=light] .theme-controls button{background:#fff;color:#173d79;border-color:#9ab5df}html[data-theme=light] .theme-controls button.selected{background:#1457b8;color:#fff}html[data-theme=light] .subpage-hero{background:linear-gradient(120deg,#e9f1ff,#f9fbff);color:#142b52}html[data-theme=light] .subpage-hero h1{color:#102a54}html[data-theme=light] .subpage-hero h1 span{color:#2365c6}html[data-theme=light] .showcase-section,html[data-theme=light] .wf-section{background:#eef4ff;color:#18365d}html[data-theme=light] .showcase-section h2 span,html[data-theme=light] .wf-section h2 span{color:#2868c1}html[data-theme=light] .showcase-tile{background:#fff;border-color:#c6d6ed}html[data-theme=light] .showcase-tile figcaption{color:#1e5ab2}
@media(max-width:850px){.showcase-grid,.wf-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav a{white-space:normal}}@media(max-width:580px){.showcase-grid,.wf-gallery{grid-template-columns:1fr}.theme-controls{flex-wrap:wrap;justify-content:center}.showcase-tile img{height:260px}}

/* Maschinenverkauf: vollständige Inseratsbilder ohne Zuschnitt */
.product-image:has(img){aspect-ratio:3/4;background:var(--surface,#1b1b1b)}
.product-image img{object-fit:contain;width:100%;height:100%}

/* Neue Materialübersicht, ergänzend zum bestehenden Maschinen-Shop */
.material-section{background:#111310;color:#f4f2e9}.material-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:22px}.material-heading h2{font-size:clamp(2rem,4vw,3.6rem);margin:0 0 15px}.material-heading h2 span{color:#e6c67a}.material-heading p{max-width:780px;line-height:1.7;color:#c8c6bd}.material-benefits{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 28px}.material-benefits span{border:1px solid #635638;border-radius:40px;padding:10px 18px;color:#e8cc86;background:#242219}.material-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.material-card{overflow:hidden;border:1px solid #514b37;background:#22211d;border-radius:15px;display:flex;flex-direction:column}.material-card img{width:100%;aspect-ratio:1.5;object-fit:cover;display:block}.material-card-body{padding:17px;display:flex;flex-direction:column;flex:1}.material-card h3{margin:8px 0;font-size:1.14rem;color:#fff}.material-card p{font-size:.88rem;line-height:1.5;color:#c7c7be;flex:1}.material-label{font-size:.72rem;color:#c7ec86;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.material-card a{color:#e7c77d;font-weight:700;text-decoration:none;margin-top:12px}.material-filter-link{display:inline-flex;align-items:center;text-decoration:none}.theme-controls{flex-wrap:wrap}html[data-theme=green] body{background:#101b16;color:#eaf0e7}html[data-theme=green] .site-header,html[data-theme=green] .topbar,html[data-theme=green] .theme-toolbar{background:#0b241a;border-color:#28533a;color:#f4e9ca}html[data-theme=green] .main-nav a,html[data-theme=green] .topbar a{color:#f4e9ca}html[data-theme=green] .subpage-hero{background:linear-gradient(120deg,#0b2319,#1e4832);color:#f4ead5}html[data-theme=green] .subpage-hero h1 span{color:#d9bd76}html[data-theme=green] .material-section{background:#10291e}html[data-theme=green] .material-card{background:#173527;border-color:#406449}html[data-theme=green] .theme-controls button.selected{border-color:#9cba79;color:#dcf2bc;background:#1b4630}html[data-theme=light] .material-section{background:#edf4ff;color:#17315a}html[data-theme=light] .material-heading h2 span{color:#2464ba}html[data-theme=light] .material-heading p{color:#405d82}html[data-theme=light] .material-card{background:white;border-color:#c9d9ed}html[data-theme=light] .material-card h3{color:#193861}html[data-theme=light] .material-card p{color:#536981}html[data-theme=light] .material-card a{color:#1d5db6}html[data-theme=light] .material-benefits span{color:#2257a1;background:white;border-color:#b9cee7}html[data-theme=light] .material-label{color:#287243}@media(max-width:1150px){.material-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.material-heading{display:block}}@media(max-width:450px){.material-grid{grid-template-columns:1fr}}


/* 2026 update: larger desktop layout, dark/gold as the standard theme. */
:root { --container: min(1480px, calc(100% - 56px)); }
@media (min-width: 1100px) {
  body { font-size: 17px; }
  .section { padding-top: 100px; padding-bottom: 100px; }
  .section-heading h2 { font-size: clamp(2.7rem, 4.2vw, 4.8rem); }
  .material-grid { gap: 22px; }
  .material-card-body { padding: 21px; }
}
@media (max-width: 650px) { :root { --container: calc(100% - 30px); } }
html[data-theme=dark] body { background:#101113; color:#f4f1e9; }
html[data-theme=dark] .site-header,html[data-theme=dark] .topbar,html[data-theme=dark] .theme-toolbar {background:#111214;color:#f2e4c1;border-color:#40382a;}
html[data-theme=dark] .main-nav a,html[data-theme=dark] .topbar a,html[data-theme=dark] .topbar span {color:#f5f1e9;}
html[data-theme=dark] .theme-controls button.selected {background:#d9b86a;color:#171510;border-color:#ebd08c;}
html[data-theme=dark] .subpage-hero {background:linear-gradient(115deg,#121315,#25221b);color:#f7f5ed;}
html[data-theme=dark] .subpage-hero h1 {color:#fff;}
html[data-theme=dark] .subpage-hero h1 span {color:#e6c67a;}
html[data-theme=dark] .showcase-section,html[data-theme=dark] .wf-section {background:#151619;color:#f4f1e9;}
html[data-theme=dark] .showcase-section h2 span,html[data-theme=dark] .wf-section h2 span {color:#e6c67a;}
html[data-theme=dark] .showcase-tile {background:#22221e;border-color:#514631;}
html[data-theme=dark] .showcase-tile figcaption {color:#e6c67a;}
html[data-theme=dark] .material-section {background:#111310;color:#f4f2e9;}
html[data-theme=dark] .material-card {background:#22211d;border-color:#514b37;}
html[data-theme=dark] .material-card h3 {color:#fff;}
html[data-theme=dark] .material-card p {color:#c7c7be;}
html[data-theme=dark] .material-card a {color:#e7c77d;}
html[data-theme=dark] .material-benefits span {color:#e8cc86;background:#242219;border-color:#635638;}
html[data-theme=dark] .section-heading h2,html[data-theme=dark] .section-heading h3 {color:#f5f2e9;}
html[data-theme=dark] .section-heading h2 span {color:#e6c67a;}

/* Dezente animierte Goldlinien, nur im dunklen Standarddesign */
html[data-theme="dark"] body{position:relative;isolation:isolate}
html[data-theme="dark"] body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 80% 20%,rgba(209,159,63,.10),transparent 50%),radial-gradient(ellipse at 10% 85%,rgba(201,151,47,.08),transparent 55%)}
.gold-live-lines{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.48;overflow:hidden}
.gold-live-lines svg{width:100%;height:100%;display:block}
.gold-live-lines path{fill:none;stroke:url(#goldline);stroke-width:1.3;stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(245,190,76,.5));stroke-dasharray:18 16 90 24;animation:gold-flow 24s linear infinite}
.gold-live-lines path:nth-child(2){animation-duration:31s;animation-direction:reverse;opacity:.7}
.gold-live-lines path:nth-child(3){animation-duration:37s;opacity:.55}
@keyframes gold-flow{to{stroke-dashoffset:-800}}
html[data-theme="light"] .gold-live-lines,html[data-theme="green"] .gold-live-lines{display:none}
body>.gold-live-lines~*{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.gold-live-lines path{animation:none}}

/* Original IONOS service-card look — black/gold default only */
html[data-theme="dark"] .services-section{background:#101113;color:#f5f3ee}
html[data-theme="dark"] .services-section .eyebrow{color:#e8c576}
html[data-theme="dark"] .services-section .section-heading>p{color:#d0cbc2}
html[data-theme="dark"] .services-section .section-heading h2{color:#f8f7f4;font-weight:850;letter-spacing:-.045em;line-height:1.07}
html[data-theme="dark"] .services-section .section-heading h2 span{color:#dcb968}
html[data-theme="dark"] .services-section .service-card{background:#202123;border:1px solid #393a3a;color:#f8f8f7;border-radius:21px;box-shadow:none}
html[data-theme="dark"] .services-section .service-card.featured{background:#25231e;border-color:#3e3a30}
html[data-theme="dark"] .services-section .service-card h3{color:#fff}
html[data-theme="dark"] .services-section .service-card p{color:#d4d0c9}
html[data-theme="dark"] .services-section .service-card a{color:#e9c572}
html[data-theme="dark"] .services-section .service-icon{background:#302b21;color:#d8b55e}
html[data-theme="dark"] .services-section .service-card.featured .service-icon{background:#e8c779;color:#12233a}
html[data-theme="dark"] .services-section .service-number{color:#999999}
html[data-theme="dark"] .services-section .service-card:hover{border-color:#d6b365;box-shadow:0 14px 36px rgba(0,0,0,.3)}

/* Maschinen-Shop Hauptbild */
.shop-visual.shop-visual-photo{position:relative;display:block;min-height:440px;padding:0;overflow:hidden;background:#1a1a1a}
.shop-visual-photo img{width:100%;height:100%;min-height:440px;object-fit:cover;object-position:center;display:block}
.shop-visual-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 48%);pointer-events:none}
.shop-visual-photo span{position:absolute;bottom:25px;left:30px;z-index:1;color:#e9c575;text-align:left;text-shadow:0 2px 8px #000;font-size:1.3rem}
@media(max-width:750px){.shop-visual.shop-visual-photo,.shop-visual-photo img{min-height:280px}}
