@media (max-width: 1120px) {
  .header-inner { gap: 20px; }
  .main-nav { gap: 18px; }
  .nav-link { font-size: 12px; }
  .header-phone { padding-inline: 14px; }
  .brand-copy span { display: none; }
}

@media (max-width: 900px) {
  :root { --header-height: 74px; }
  .container { width: min(calc(100% - 36px), var(--container)); }
  .brand-mark { width: 46px; height: 46px; }
  .brand-copy span { display: block; }
  .header-phone { margin-left: auto; }
  .menu-toggle { display: block; margin-left: 0; }
  .main-nav {
    position: fixed;
    top: var(--header-height);
    right: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    max-height: 0;
    margin: 0;
    padding: 0 18px;
    overflow: hidden;
    visibility: hidden;
    background: var(--white);
    box-shadow: 0 18px 35px rgba(7, 41, 13, .12);
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease, visibility .25s;
  }
  .main-nav.open { max-height: calc(100vh - var(--header-height)); padding-block: 10px 22px; visibility: visible; opacity: 1; }
  .nav-link { padding: 15px 8px; border-bottom: 1px solid rgba(18, 61, 24, .08); font-size: 14px; }
  .nav-link::after { display: none; }
  .menu-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .menu-toggle.active span:nth-child(2) { opacity: 0; }
  .menu-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .hero { min-height: 600px; background-position: 58% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(4,22,8,.88), rgba(4,22,8,.63) 55%, rgba(4,22,8,.13)); }
  .hero-content { max-width: 590px; }
  .hero h1 { font-size: 54px; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); padding-block: 13px; }
  .trust-item { min-height: 72px; justify-content: flex-start; padding-inline: 14%; }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.1); }
  .services { padding: 82px 0 90px; }
  .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about { padding: 82px 0; }
  .about-grid { grid-template-columns: .9fr 1.1fr; gap: 38px; }
  .about-media { height: 590px; }
  .about-badge { right: -12px; }
  .about-content > h2 { font-size: 35px; }
  .about-content > p { font-size: 14px; }
  .benefit-item { grid-template-columns: 50px 1fr; gap: 11px; padding-inline: 8px 10px; }
  .benefit-item > img { width: 49px; height: 49px; }
  .process { padding: 82px 0 90px; }
  .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px 18px; }
  .process-grid::before { display: none; }
  .garden-care { padding: 82px 0; }
  .garden-care-grid { gap: 38px; }
  .garden-care-content h2 { font-size: 36px; }
  .garden-care-points { grid-template-columns: 1fr; }
  .garden-care-media { height: 525px; }
  .projects { padding: 82px 0 92px; }
  .comparison-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .comparison-card, .comparison-card:last-child { grid-column: auto; margin-inline: 0; }
  .comparison-slider { height: 350px; }
  .project-videos { padding: 82px 0 92px; }
  .video-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .project-card:first-child { grid-column: span 2; }
  .project-card:first-child .project-image { height: 390px; }
  .more-work { padding: 82px 0 90px; }
  .work-slide { height: 340px; }
  .customer-types { padding: 82px 0 92px; }
  .customer-card { grid-template-columns: 90px 1fr; gap: 15px; padding: 34px 27px; }
  .customer-card > img { width: 84px; height: 84px; }
  .customer-card h3 { font-size: 21px; }
  .seasonal-work { padding: 82px 0 92px; }
  .season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .winter-service { padding-bottom: 88px; }
  .winter-service-card { grid-template-columns: 90px 1fr; gap: 22px; padding: 32px; }
  .winter-service-icon { width: 82px; height: 82px; }
  .winter-service-icon img { width: 66px; height: 66px; }
  .winter-service-button { grid-column: 2; justify-self: start; }
  .service-area { padding: 82px 0 92px; }
  .service-area-grid { gap: 38px; }
  .service-area-content h2 { font-size: 36px; }
  .area-visual { min-height: 430px; }
  .reviews { padding: 82px 0 92px; }
  .review-card { width: 480px; padding-inline: 21px; }
  .faq-section { padding: 82px 0 92px; }
  .faq-grid { gap: 40px; }
  .contact { padding: 82px 0 92px; }
  .contact-grid { gap: 40px; }
  .contact-content h2 { font-size: 39px; }
  .contact-actions { flex-direction: column; align-items: stretch; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
}

@media (max-width: 640px) {
  :root { --header-height: 70px; }
  .mobile-contact-bar { position: fixed; right: 0; bottom: 0; left: 0; z-index: 90; height: calc(62px + env(safe-area-inset-bottom)); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding-bottom: env(safe-area-inset-bottom); overflow: hidden; background: #103f1b; border-top: 1px solid rgba(255,255,255,.2); box-shadow: 0 -8px 25px rgba(5,31,11,.2); opacity: 0; visibility: hidden; transform: translateY(100%); transition: opacity .25s ease, visibility .25s ease, transform .25s ease; }
  .mobile-contact-bar.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
  .menu-open .mobile-contact-bar { opacity: 0; visibility: hidden; transform: translateY(100%); }
  .mobile-contact-bar a { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 10px; color: #fff; font-size: 14px; font-weight: 800; }
  .mobile-contact-call { background: #174b22; }
  .mobile-contact-whatsapp { background: #3f921d; border-left: 1px solid rgba(255,255,255,.22); }
  .mobile-contact-bar img { width: 40px; height: 40px; box-sizing: border-box; padding: 7px; object-fit: contain; background: #fff; border-radius: 50%; }
  .container { width: min(calc(100% - 30px), var(--container)); }
  .header-inner { position: relative; gap: 0; }
  .brand { width: 123px; gap: 7px; }
  .brand-mark { width: 40px; height: 40px; }
  .brand-copy strong { font-size: 16px; }
  .brand-copy span { font-size: 8px; }
  .header-phone { width: 45px; min-height: 45px; margin-left: auto; justify-content: center; padding: 0; border-radius: 50%; }
  .header-phone span { display: none; }
  .menu-toggle { position: absolute; left: 50%; width: 42px; margin: 0; padding-inline: 8px; transform: translateX(-50%); }
  .hero { min-height: clamp(700px, 82svh, 760px); background-position: 58% center; }
  .hero-overlay { background: linear-gradient(0deg, rgba(3,19,7,.86) 0%, rgba(3,19,7,.28) 58%, rgba(3,19,7,.1) 100%), linear-gradient(90deg, rgba(4,22,8,.86) 0%, rgba(4,22,8,.62) 58%, rgba(4,22,8,.22) 100%); }
  .hero-inner { align-items: flex-end; padding-block: 48px 52px; }
  .hero-content { width: 100%; }
  .hero-eyebrow { margin-bottom: 12px; font-size: 10px; }
  .hero h1 { font-size: clamp(42px, 11vw, 46px); letter-spacing: -1.7px; line-height: 1.08; }
  .hero-description { max-width: 350px; margin-top: 16px; font-size: 14px; line-height: 1.55; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 22px; }
  .button { width: 100%; min-height: 54px; }
  .hero-scroll { display: none; }
  .trust-grid { grid-auto-rows: 76px; gap: 0; padding-block: 8px; }
  .trust-item { min-height: 76px; height: 100%; gap: 11px; padding: 8px 9px; border-color: rgba(255,255,255,.06); }
  .trust-item:nth-child(-n+2) { border-bottom-color: rgba(255,255,255,.06); }
  .trust-item svg { width: 38px; height: 38px; }
  .trust-item strong { font-size: 12px; line-height: 1.35; }
  .services { padding: 66px 0 72px; }
  .services .section-heading { padding-inline: 8px; }
  .section-heading { margin-bottom: 34px; }
  .section-heading h2 { font-size: clamp(30px, 8.4vw, 34px); letter-spacing: -1px; }
  .section-heading > p:last-child { margin-top: 13px; font-size: 14px; line-height: 1.6; }
  .services-grid { gap: 12px; }
  .service-card { min-height: 158px; padding: 20px 9px 18px; }
  .service-icon { width: 64px; height: 64px; margin-bottom: 8px; }
  .service-card h3 { font-size: 13px; }
  .about { padding: 66px 0 72px; }
  .about-grid { display: flex; flex-direction: column; align-items: stretch; gap: 42px; }
  .about-media { height: 470px; }
  .about-collage { gap: 2px; padding: 2px; border-radius: 13px; }
  .about-badge { right: 12px; bottom: 14px; padding: 10px 13px 10px 9px; border-width: 3px; }
  .about-badge img { width: 39px; height: 39px; }
  .about-content > h2 { font-size: 31px; letter-spacing: -1.1px; }
  .about-content > .about-lead { margin-top: 18px; font-size: 15px; }
  .about-content > p { font-size: 14px; line-height: 1.68; }
  .benefit-list { margin-top: 22px; }
  .benefit-item { grid-template-columns: 52px 1fr; padding: 11px 10px 11px 8px; }
  .benefit-item > img { width: 50px; height: 50px; }
  .benefit-item p { font-size: 12px; }
  .about-button { width: 100%; margin-top: 22px; }
  .process { padding: 66px 0 76px; }
  .process-grid { grid-template-columns: 1fr; gap: 30px; }
  .process-card { min-height: 242px; padding: 45px 22px 23px; }
  .process-icon { width: 68px; height: 68px; margin-bottom: 9px; }
  .garden-care { padding: 66px 0 72px; }
  .garden-care-grid { display: flex; flex-direction: column-reverse; align-items: stretch; gap: 39px; }
  .garden-care-media { height: 355px; }
  .garden-care-media > img { border-radius: 13px; }
  .garden-care-content h2 { font-size: 32px; letter-spacing: -1.1px; }
  .garden-care-lead { margin-top: 17px; font-size: 14px; line-height: 1.68; }
  .garden-care-points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
  .care-point { min-height: 113px; flex-direction: column; justify-content: center; gap: 5px; padding: 10px 7px; text-align: center; }
  .care-point img { width: 54px; height: 54px; }
  .care-point span { font-size: 12px; }
  .garden-care-action { flex-direction: column; align-items: stretch; gap: 9px; margin-top: 22px; text-align: center; }
  .garden-care-action .button { width: 100%; }
  .projects { padding: 66px 0 76px; }
  .comparison-grid { grid-template-columns: 1fr; gap: 16px; }
  .comparison-slider { height: 315px; }
  .comparison-label { top: 12px; padding: 7px 9px; font-size: 10px; }
  .comparison-label-before { left: 12px; }
  .comparison-label-after { right: 12px; }
  .comparison-divider > span { width: 44px; height: 44px; }
  .project-videos { padding: 66px 0 76px; }
  .video-grid { grid-template-columns: 1fr; gap: 16px; }
  .video-card { padding: 6px; }
  .project-grid { grid-template-columns: 1fr; gap: 16px; }
  .project-card:first-child { grid-column: auto; }
  .project-image, .project-card:first-child .project-image { height: 285px; }
  .project-caption { padding: 18px 18px 21px; }
  .more-work { padding: 66px 0 74px; }
  .work-swiper { margin-right: -15px; padding-bottom: 52px; }
  .work-slide { height: 315px; }
  .work-slide > span { right: 15px; bottom: 14px; left: 15px; font-size: 15px; }
  .work-prev,.work-next { display: none; }
  .review-card blockquote { min-height: 0; }
  .customer-types { padding: 66px 0 76px; }
  .customer-types-grid { grid-template-columns: 1fr; gap: 16px; }
  .customer-card { min-height: 0; grid-template-columns: 75px 1fr; gap: 12px; padding: 27px 20px; }
  .customer-card > img { width: 70px; height: 70px; }
  .customer-card h3 { font-size: 20px; }
  .customer-card-copy > p:not(.customer-label) { min-height: 0; margin: 11px 0 18px; font-size: 13px; }
  .customer-card .button { width: 100%; padding-inline: 14px; }
  .seasonal-work { padding: 66px 0 76px; }
  .season-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .season-card { min-height: 250px; grid-template-rows: 68px 26px 1fr; row-gap: 9px; padding: 25px 14px 20px; }
  .season-card > img { width: 68px; height: 68px; margin: 0; }
  .season-card h3 { font-size: 17px; }
  .season-card p { font-size: 12px; line-height: 1.55; }
  .season-label { top: 12px; right: 12px; }
  .winter-service { padding-bottom: 70px; }
  .winter-service-card { grid-template-columns: 1fr; gap: 20px; padding: 28px 22px; text-align: center; }
  .winter-service-icon { width: 82px; height: 82px; justify-self: center; }
  .winter-service-content h2 { font-size: 27px; letter-spacing: -.8px; }
  .winter-service-content > p:not(.section-eyebrow) { font-size: 13px; }
  .winter-service-tags { justify-content: center; }
  .winter-service-button { width: 100%; min-width: 0; grid-column: auto; justify-self: stretch; }
  .service-area { padding: 66px 0 76px; }
  .service-area-grid { grid-template-columns: 1fr; gap: 37px; }
  .service-area-content h2 { font-size: 31px; letter-spacing: -1.1px; }
  .service-area-content > p:not(.section-eyebrow) { margin-top: 16px; font-size: 14px; }
  .location-list { gap: 7px; margin: 22px 0 25px; }
  .location-list span { padding: 7px 9px; font-size: 11px; }
  .service-area-content .button { width: 100%; }
  .area-visual { min-height: 355px; border-radius: 14px; }
  .area-ring-one { width: 175px; height: 175px; }
  .area-ring-two { width: 290px; height: 290px; }
  .area-pin { width: 88px; height: 88px; }
  .place-garbsen { top: 18%; left: 14%; }
  .place-langenhagen { top: 19%; right: 7%; }
  .place-seelze { bottom: 19%; left: 9%; }
  .place-hannover { right: 10%; bottom: 23%; }
  .reviews { padding: 66px 0 76px; }
  .reviews-swiper { margin-inline: -15px; padding-bottom: 55px; }
  .review-card { width: 80vw; max-width: 330px; padding: 24px 20px 23px; }
  .review-card blockquote { min-height: 0; }
  .reviews-prev,.reviews-next { display: none; }
  .faq-section { padding: 66px 0 76px; }
  .faq-grid { grid-template-columns: 1fr; gap: 30px; }
  .faq-intro h2 { font-size: 31px; }
  .faq-intro > img { width: 105px; height: 105px; margin-top: 15px; }
  .faq-question { min-height: 63px; padding: 13px 12px 13px 15px; font-size: 13px; }
  .faq-symbol { width: 31px; height: 31px; }
  .faq-answer p { padding: 0 15px 17px; font-size: 12px; }
  .contact { padding: 66px 0 76px; }
  .contact-grid { grid-template-columns: 1fr; gap: 35px; }
  .contact-content h2 { font-size: 34px; letter-spacing: -1.2px; }
  .contact-content > p:not(.section-eyebrow) { margin-top: 17px; font-size: 14px; }
  .contact-actions { margin-top: 24px; }
  .contact-actions .button { position: relative; width: 100%; min-height: 76px; justify-content: center; padding-right: 22px; padding-left: 84px; font-size: 17px; }
  .contact-actions .button img { position: absolute; left: 11px; top: 50%; width: 54px; height: 54px; padding: 0; transform: translateY(-50%); background: #fff; border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 4px 13px rgba(0,0,0,.13); object-fit: contain; }
  .contact-grid { gap: 46px; }
  .contact-details { gap: 0; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .contact-details h3 { margin: 0 0 13px; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.13); font-size: 17px; }
  .contact-detail { gap: 20px; padding: 13px 0; overflow-wrap: anywhere; background: transparent; border-bottom: 1px solid rgba(255,255,255,.1); border-radius: 0; font-size: 12px; }
  .contact-detail:last-child { border-bottom: 0; }
  .contact-detail img { width: 44px; height: 44px; padding: 0; background: #fff; border-radius: 50%; box-shadow: 0 0 0 3px #fff, 0 4px 13px rgba(0,0,0,.13); object-fit: contain; }
  .contact-detail:not(.contact-social) img { width: 48px; height: 48px; padding: 0; }
  .contact-detail.contact-social img { width: 44px; height: 44px; margin-right: 4px; padding: 0; }
  .contact-detail span { align-items: flex-start; text-align: left; }
  .contact-detail small { color: #8bdd45; }
  .site-footer { background: linear-gradient(160deg, #08250f 0%, #061b0b 100%); }
  .footer-grid { grid-template-columns: 1fr; gap: 0; padding-top: 46px; padding-bottom: 24px; }
  .footer-brand { padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.09); text-align: center; }
  .footer-logo { width: auto; justify-content: center; gap: 10px; }
  .footer-logo .brand-mark { width: 50px; height: 50px; }
  .footer-logo .brand-copy { text-align: left; }
  .footer-logo .brand-copy strong { font-size: 18px; }
  .footer-logo .brand-copy span { display: block; color: rgba(255,255,255,.62); font-size: 9px; }
  .footer-brand > p { margin-top: 15px; color: rgba(255,255,255,.8); font-size: 13px; }
  .footer-brand .footer-slogan { max-width: 280px; margin: 7px auto 0; color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.6; }
  .footer-column { width: 100%; gap: 9px; padding: 25px 4px; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 12px; }
  .footer-column h2 { position: relative; margin-bottom: 9px; padding-left: 13px; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; }
  .footer-column h2::before { position: absolute; top: 2px; bottom: 2px; left: 0; width: 3px; content: ""; background: #78c832; border-radius: 3px; }
  .footer-column address { color: rgba(255,255,255,.7); line-height: 1.7; }
  .footer-column a { min-height: 32px; display: inline-flex; align-items: center; overflow-wrap: anywhere; }
  .footer-grid > .footer-column:nth-child(2) > a { color: rgba(255,255,255,.88); }
  .footer-grid > .footer-column:nth-child(2) > span { margin-top: 2px; color: rgba(255,255,255,.58); }
  .footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .footer-nav h2 { grid-column: 1 / -1; }
  .footer-nav a { min-height: 42px; justify-content: center; padding: 8px 10px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.055); border-radius: 7px; text-align: center; }
  .footer-grid > .footer-column:last-child { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; border-bottom: 0; }
  .footer-grid > .footer-column:last-child h2 { grid-column: 1 / -1; }
  .footer-grid > .footer-column:last-child a { min-height: 40px; justify-content: center; padding: 8px; background: rgba(255,255,255,.035); border-radius: 7px; }
  .footer-bottom { padding: 20px 10px 24px; color: rgba(255,255,255,.43); font-size: 10px; line-height: 1.65; text-align: center; }
}

@media (max-width: 370px) {
  .brand-copy span { display: none; }
  .hero h1 { font-size: 36px; }
}
