/* ======================================================================
   VERBEN GARDEN — RESPONSIVE OVERHAUL 2026-09-02
   Loaded last on every page. Purpose:
   1) make the approved ~93% desktop density the native 100% browser view,
   2) normalize laptop/tablet/mobile breakpoints after all page-specific CSS,
   3) prevent horizontal overflow and preserve comfortable touch targets.
   ====================================================================== */

html { max-width: 100%; overflow-x: clip; }
body { max-width: 100%; overflow-x: clip; }
main, section, header, footer, nav, aside, article { min-width: 0; }
img, video, canvas, svg { max-width: 100%; }
input, select, textarea, button { max-width: 100%; }

/* Prevent grid/flex children from forcing viewport overflow. */
.hero > *,
.nav-shell__inner > *,
.plant-catalog__layout > *,
.plant-catalog__toolbar > *,
.plant-detail-overview__grid > *,
.plant-detail-about__inner > *,
.services-page__head > *,
.services-page__grid > *,
.service-master-hero__grid > *,
.service-master-intro__grid > *,
.service-master-audience__grid > *,
.service-master-needs__grid > *,
.service-master-process__grid > *,
.contact-reference__grid > *,
.contact-visit__grid > *,
.blog-index__grid > *,
.blog-layout > *,
.quote-page__grid > *,
.rnd-selection__shell > *,
.rnd-scenario__container > *,
.site-footer__grid > * { min-width: 0; }

/* ----------------------------------------------------------------------
   Desktop density normalization — reproduces the preferred 93% feel at
   browser zoom 100%, without transform/zoom hacks.
   ---------------------------------------------------------------------- */
@media (min-width: 1281px) {
  :root {
    --container: min(1446.7px, calc(100vw - 92.9px));
    --type-h1: clamp(47.5px, 3.46vw, 62px);
    --type-h2: clamp(37.2px, 2.84vw, 49.6px);
    --type-h3: clamp(20.7px, 1.5vw, 25.8px);
    --type-h4: clamp(17.6px, 1.14vw, 20.7px);
    --type-body: 15.5px;
    --type-button: 13.4px;
  }

  /* Header stays premium but no longer oversized. */
  .topbar { min-height: 44.4px; font-size: 12.9px; }
  .nav-shell__inner {
    width: min(1529.3px, calc(100vw - 69.7px));
    min-height: 97.1px;
    grid-template-columns: 210.8px minmax(475.3px, 1fr) auto;
    gap: 18.6px;
  }
  .brand { width: 190.1px; }
  .main-nav { gap: clamp(20.7px, 1.6vw, 31px); font-size: 14.5px; }
  .site-search-toggle,
  .menu-toggle { width: 49.6px; height: 49.6px; }
  .sibling-brand--logo { min-width: 173.6px; min-height: 49.6px; }
  .sibling-brand--logo img { width: 130.2px; height: 33.1px; }
  .nav-actions .btn--compact { min-height: 49.6px; padding-inline: 20.7px; }

  /* General section rhythm. */
  .services-page,
  .plant-catalog,
  .plant-detail-overview,
  .rnd-selection,
  .rnd-scenario { scroll-margin-top: 113.7px; }

  /* Plant catalogue: approved dense desktop composition. */
  .plant-catalog { padding: 68.2px 0 95.1px; }
  .plant-catalog__inner { width: min(1405.3px, calc(100% - 85.2px)); }
  .plant-catalog__head { max-width: 723.3px; margin-bottom: 26.9px; }
  .plant-catalog__title {  }
  .plant-catalog__intro { margin-top: 15.5px; max-width: 702.7px; font-size: 15px; }
  .plant-catalog__layout { grid-template-columns: 295.5px minmax(0,1fr); gap: 22.7px; }
  .plant-catalog__sidebar { top: 107.5px; padding: 12.4px; }
  .plant-catalog-search input { height: 47.5px; font-size: 12.9px; }
  .plant-filter-group summary { min-height: 49.6px; font-size: 12.4px; }
  .plant-filter-group__options button { height: 33.1px; font-size: 10.9px; }
  .plant-catalog__toolbar { min-height: 59.9px; padding: 8.3px 13.4px 8.3px 18.6px; }
  .plant-catalog__sort select { width: 190.1px; height: 37.2px; font-size: 11.9px; }
  .plant-catalog__view-toggle button { width: 40.3px; height: 37.2px; }
  .plant-catalog__grid { gap: 12.4px; padding: 16.5px 13.4px 14.5px; }
  .plant-card__body { min-height: 108.5px; padding: 10.3px 51.7px 11.4px 12.4px; }
  .plant-card__name { font-size: 16px; }
  .plant-card__meta { gap: 4.1px; }

  /* Üretim & AR-GE: same visual hierarchy as approved 93% target. */
  .rnd-selection { padding: 78.5px 0 90.9px; }
  .rnd-selection__shell { width: min(1405.3px, calc(100% - 85.2px)); grid-template-columns: minmax(0,.98fr) minmax(465px,1.02fr); gap: 41.3px; }
  .rnd-selection__copy { max-width: 609.7px; }
  .rnd-selection h2 { max-width: 589px;  }
  .rnd-selection__lead { margin-top: 21.7px; font-size: 15px; }
  .rnd-selection__steps { margin-top: 28.9px; }
  .rnd-selection__visual { width: min(100%, 671.7px); }

  .rnd-scenario { padding: 80.6px 0 74.4px; }
  .rnd-scenario__container { width: min(1405.3px, calc(100% - 85.2px)); grid-template-columns: minmax(0,1fr) 330.7px; gap: 39.3px; }
  .rnd-scenario__intro { max-width: 888.7px; margin-bottom: 26.9px; }
  .rnd-scenario__intro h2 { max-width: 713px;  }
  .rnd-scenario__intro > p:last-child { max-width: 671.7px; font-size: 14px; }
  .rnd-use-card { grid-template-columns: 99.2px 1fr; min-height: 171.5px; padding: 18.6px 43.4px 17.6px 16.5px; gap: 14.5px; }
  .rnd-use-card__visual { height: 103.3px; }
  .rnd-use-card__visual img { width: 95.1px; height: 95.1px; }
  .rnd-use-card__body h3 { font-size: 18.6px; margin-bottom: 9.3px; }
  .rnd-use-card__body p { font-size: 11.9px; }
  .rnd-use-card__tags { margin-top: 13.4px; }
  .rnd-scenario-cta { grid-template-columns: 57.9px minmax(0,1fr) auto; padding: 15.5px 72.3px 15.5px 17.6px; }
  .rnd-scenario-cta__mark { width: 53.7px; height: 53.7px; }
  .rnd-scenario-cta__button { min-width: 232.5px; height: 43.4px; }
  .rnd-metrics { margin-top: 57.9px; }
  .rnd-metrics__head { min-height: 111.6px; }
  .rnd-metrics__list li { min-height: 68.2px; }
  .rnd-metrics__foot { min-height: 99.2px; }

  /* Plant detail density. */
  .plant-detail-shell,
  .plant-detail-hero__inner { width: min(1384.7px, calc(100vw - 92.9px)); }
  .plant-detail-hero { min-height: 341px; }
  .plant-detail-hero__inner { padding: 45.5px 0 40.3px; }
  .plant-detail-hero h1 { font-size: clamp(43.4px,3.67vw,64.1px) !important; }
  .plant-detail-overview { padding: 51.7px 0 49.6px; }
  .plant-detail-overview__grid { gap: clamp(37.2px,4.13vw,68.2px); }
  .plant-detail-copy h2 {  }
  .plant-care { padding-bottom: 66.1px; }

  /* Service listing density. */
  .services-page { padding: 68.2px 0 103.3px; }
  .services-page__head { margin-bottom: 43.4px; }
  .services-page__head h2 {  }
  .services-page__head p:not(.services-page__eyebrow) { font-size: 15px; }
  .services-page__grid { column-gap: clamp(24.8px,2.89vw,45.5px); row-gap: 51.7px; }
  .service-index-card__content { padding-top: 20.7px; }

  /* Footer scales with the rest of desktop. */
  .footer-cta__inner,
  .site-footer__inner { width: min(1446.7px, calc(100vw - 92.9px)); }
  .site-footer { padding-top: 70.3px; }
}

/* ----------------------------------------------------------------------
   Compact desktop / small laptop (1025–1280)
   ---------------------------------------------------------------------- */
@media (max-width: 1280px) and (min-width: 1025px) {
  :root {
    --container: min(1180px, calc(100vw - 56px));
    --type-h1: clamp(44px,4.15vw,56px);
    --type-h2: clamp(36px,3.45vw,46px);
    --type-body: 14.5px;
  }

  .nav-shell__inner { width: min(1200px, calc(100vw - 44px)); min-height: 88px; grid-template-columns: 184px minmax(390px,1fr) auto; gap: 14px; }
  .brand { width: 170px; }
  .main-nav { gap: 16px; font-size: 12.5px; }
  .site-search-toggle, .menu-toggle { width: 46px; height: 46px; }
  .sibling-brand--logo { display: none; }

  .plant-catalog__inner { width: min(1160px, calc(100% - 48px)); }
  .plant-catalog__layout { grid-template-columns: 270px minmax(0,1fr); gap: 18px; }
  .plant-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .rnd-selection__shell,
  .rnd-scenario__container { width: min(1160px, calc(100% - 48px)); }

  .services-page__grid { column-gap: 30px; }
}

/* ----------------------------------------------------------------------
   Tablet landscape / large tablet — 769–1024
   ---------------------------------------------------------------------- */
@media (max-width: 1024px) {
  :root {
    --container: min(100% - 48px, 920px);
    --type-h1: clamp(42px,6.2vw,58px);
    --type-h2: clamp(34px,5vw,46px);
    --type-h3: clamp(20px,3vw,25px);
    --type-body: 15px;
  }

  /* Header becomes compact navigation before it can collide. */
  .topbar { min-height: 42px; font-size: 12px; }
  .topbar__promise { display: none; }
  .topbar__inner { justify-content: flex-end; }
  .nav-shell__inner { width: var(--container); min-height: 78px; grid-template-columns: 1fr auto; gap: 16px; }
  .brand { width: 164px; }
  .main-nav,
  .sibling-brand--logo,
  .nav-actions .btn { display: none !important; }
  .nav-actions { display: flex; gap: 9px; }
  .site-search-toggle,
  .menu-toggle { display: grid !important; width: 46px; height: 46px; }

  .garden-menu { width: min(600px, 94vw) !important; min-width: 0 !important; }
  .garden-menu__top { min-height: 84px; padding: 18px 24px 14px; }
  .garden-menu__scroll { padding: 24px 24px 30px; }

  /* Homepage hero switches to one column at tablet width, avoiding image/copy crush. */
  .hero { grid-template-columns: 1fr !important; height: auto !important; min-height: 0 !important; }
  .hero__copy { min-height: 430px !important; height: auto !important; }
  .hero__copy-inner { width: min(760px, calc(100% - 48px)); margin-inline: auto !important; padding: 54px 0; }
  .hero h1 { max-width: 690px; font-size: clamp(44px,7vw,62px) !important; }
  .hero__visual { width: 100% !important; margin-left: 0 !important; min-height: 430px !important; height: 430px !important; overflow: hidden; }
  .hero-slide img { -webkit-mask-image: none; mask-image: none; }
  .hero-pager { top: auto !important; bottom: 16px !important; right: 16px !important; transform: none !important; }

  /* Common multi-column homepage sections. */
  .elite-plants__grid,
  .services-grid,
  .journal-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .projects-showcase__grid { grid-template-columns: 1fr !important; }

  /* Corporate hero. */
  .corporate-hero { min-height: 320px; }
  .corporate-hero__container { width: var(--container); padding-top: 114px; padding-bottom: 30px; }

  /* About sections. */
  .about-preview__grid,
  .about-page-story__grid,
  .garden-approach__grid { grid-template-columns: 1fr !important; }

  /* Catalogue fits tablet without horizontal pressure. */
  .plant-catalog { padding: 58px 0 76px; }
  .plant-catalog__inner { width: var(--container); }
  .plant-catalog__head { max-width: 700px; margin-bottom: 24px; }
  .plant-catalog__title {  }
  .plant-catalog__layout { grid-template-columns: 250px minmax(0,1fr); gap: 16px; }
  .plant-catalog__sidebar { top: 92px; }
  .plant-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 14px 12px; }
  .plant-card__body { padding-right: 50px; }

  /* R&D stacks cleanly at tablet. */
  .rnd-selection { padding: 62px 0 72px; }
  .rnd-selection__shell { width: var(--container); grid-template-columns: 1fr !important; gap: 38px; }
  .rnd-selection__copy { max-width: 760px; padding-left: 0; }
  .rnd-selection h2 { max-width: 700px;  }
  .rnd-selection__visual { width: min(100%,760px); margin-inline: auto; justify-self: center; }
  .rnd-scenario { padding: 64px 0; }
  .rnd-scenario__container { width: var(--container); grid-template-columns: 1fr !important; gap: 26px; }
  .rnd-scenario__branch { right: -60px; left: auto; width: 280px; opacity: .3; }
  .rnd-scenario__arc { display: none; }
  .rnd-metrics { margin-top: 0; }

  /* Plant detail. */
  .plant-detail-shell,
  .plant-detail-hero__inner { width: var(--container); }
  .plant-detail-overview__grid { grid-template-columns: 1fr; gap: 34px; }
  .plant-gallery { width: min(100%,760px); }
  .plant-detail-about__inner { grid-template-columns: 1fr; gap: 28px; }
  .plant-care__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

  /* Services listing. */
  .services-page { padding: 60px 0 82px; }
  .services-page__head { grid-template-columns: 1fr !important; gap: 22px; }
  .services-page__head h2 {  }
  .services-page__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; column-gap: 26px; row-gap: 42px; }

  /* Service detail page: force all core compositions to one column before overflow. */
  .page-service-detail .service-master-hero__grid,
  .page-service-detail .service-master-intro__grid,
  .page-service-detail .service-master-audience__grid,
  .page-service-detail .service-master-needs__grid,
  .page-service-detail .service-master-process__grid { grid-template-columns: 1fr !important; }
  .page-service-detail .service-master-hero__grid,
  .page-service-detail .service-master-intro__grid,
  .page-service-detail .service-master-audience__grid,
  .page-service-detail .service-master-needs__grid,
  .page-service-detail .service-master-process__grid { width: var(--container) !important; }
  .page-service-detail .service-master-hero__visual,
  .page-service-detail .service-master-needs__intro figure { width: 100%; max-width: 760px; }

  /* Contact. */
  .contact-reference__grid,
  .contact-visit__grid { grid-template-columns: 1fr !important; }
  .contact-reference__media,
  .contact-visit__media { max-width: 760px; }

  /* Blog index/detail. */
  .blog-index__grid,
  .blog-layout { grid-template-columns: 1fr !important; }
  .blog-sidebar { position: static !important; width: 100% !important; max-width: none !important; }

  /* Quote forms. */
  .quote-page__grid { grid-template-columns: 1fr !important; }
  .quote-summary { position: static !important; }

  /* Footer. */
  .site-footer__grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 38px 28px; }
  .site-footer__brand { grid-column: 1 / -1; }
  .site-footer__bottom { gap: 18px; flex-wrap: wrap; }
}

/* ----------------------------------------------------------------------
   Tablet portrait / large mobile — up to 820
   ---------------------------------------------------------------------- */
@media (max-width: 820px) {
  :root { --container: calc(100vw - 36px); }

  .topbar__contact { gap: 18px; }
  .hero__copy { min-height: 400px !important; }
  .hero__visual { min-height: 370px !important; height: 370px !important; }

  .corporate-hero { min-height: 285px; }
  .corporate-hero__container { padding-top: 102px; }

  /* Catalogue mobile filter drawer is enabled earlier for tablets. */
  .plant-catalog__filter-toggle {
    width: 100%;
    min-height: 48px;
    margin-bottom: 12px;
    padding: 0 16px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid rgba(92,96,68,.42);
    border-radius: 4px;
    background: rgba(255,255,255,.52);
    color: var(--green-950);
    font-size: 13px;
    font-weight: 600;
  }
  .plant-catalog__layout { display: block; }
  .plant-catalog__sidebar {
    position: fixed !important;
    z-index: 10020;
    inset: 0 auto 0 0;
    width: min(380px, 92vw);
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 18px;
    border: 0;
    border-radius: 0;
    background: #f8f6f0;
    box-shadow: 18px 0 46px rgba(25,45,34,.18);
    transform: translateX(-105%);
    transition: transform .28s cubic-bezier(.2,.72,.28,1);
  }
  .plant-catalog__sidebar.is-open { transform: translateX(0); }
  .plant-catalog__sidebar-head { display: flex !important; min-height: 44px; align-items: center; justify-content: space-between; margin-bottom: 6px; }
  .plant-catalog__filter-close { display: inline-flex !important; width: 38px; height: 38px; align-items: center; justify-content: center; border: 1px solid rgba(92,96,68,.28); border-radius: 50%; background: transparent; }
  .plant-catalog__backdrop { position: fixed; z-index: 10010; inset: 0; background: rgba(25,45,34,.38); }
  .plant-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

  .rnd-scenario__grid { grid-template-columns: 1fr !important; }
  .rnd-use-card { min-height: 154px; }
  .rnd-scenario-cta { grid-template-columns: 54px 1fr; padding: 16px; }
  .rnd-scenario-cta__button { grid-column: 1 / -1; width: 100%; min-width: 0; }
  .rnd-scenario-cta__sprig { opacity: .3; }
  .rnd-metrics { display: block !important; }

  .services-page__grid { grid-template-columns: 1fr !important; }
  .service-index-card__media { aspect-ratio: 1.35 / 1; }

  .site-footer__grid { grid-template-columns: 1fr !important; }
  .site-footer__brand { grid-column: auto; }
}

/* ----------------------------------------------------------------------
   Mobile — up to 640
   ---------------------------------------------------------------------- */
@media (max-width: 640px) {
  :root {
    --container: calc(100vw - 28px);
    --type-h1: clamp(36px,10.4vw,48px);
    --type-h2: clamp(31px,8.7vw,40px);
    --type-h3: clamp(19px,5.8vw,23px);
    --type-body: 14px;
    --type-button: 12.5px;
  }

  body { font-size: 14px; }
  .topbar { min-height: 38px; }
  .topbar__inner { width: calc(100vw - 24px); }
  .topbar__contact { width: 100%; justify-content: flex-end; gap: 12px; }
  .topbar__contact a { gap: 6px; }
  .topbar__contact a span { display: none; }
  .topbar__contact svg { width: 16px; height: 16px; }

  .nav-shell__inner { width: calc(100vw - 24px); min-height: 68px; }
  .brand { width: 138px; }
  .site-search-toggle,
  .menu-toggle { width: 42px; height: 42px; }
  .nav-actions { gap: 7px; }

  .site-search__inner { width: calc(100vw - 24px); padding-block: 12px 16px; }
  .site-search__form { min-height: 52px; grid-template-columns: 20px minmax(0,1fr) auto; padding-inline: 12px; gap: 8px; }
  .site-search__form input { font-size: 14px; }

  .garden-menu { width: 100vw !important; max-width: 100vw; }
  .garden-menu__top { min-height: 72px; padding: 14px 16px 12px; }
  .garden-menu__brand { width: 142px; }
  .garden-menu__close { width: 40px; height: 40px; }
  .garden-menu__scroll { padding: 18px 16px 24px; }
  .garden-menu__intro { padding: 0 !important; }
  .garden-menu__intro h2 { font-size: clamp(26px,7.7vw,33px) !important; }
  .garden-menu__intro > p:last-of-type { font-size: 12.5px; line-height: 1.55; }
  .garden-menu__contact { grid-template-columns: 1fr !important; }
  .garden-menu__contact a + a { border-left: 0 !important; border-top: 1px solid rgba(231,220,186,.16); }
  .garden-menu__utilities { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }

  .hero__copy { min-height: 0 !important; }
  .hero__copy-inner { width: calc(100% - 28px); padding: 38px 0 42px; }
  .eyebrow { margin-bottom: 14px; font-size: 10px; letter-spacing: .15em; }
  .hero h1 { font-size: clamp(37px,10.5vw,48px) !important; line-height: 1.02 !important; }
  .hero__lead { margin-top: 17px; font-size: 14px !important; line-height: 1.55 !important; }
  .hero__actions { margin-top: 22px; display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hero__actions .btn { width: 100%; min-height: 48px; }
  .hero__proof { margin-top: 22px; gap: 10px; flex-direction: column; align-items: flex-start; }
  .proof-item { padding-right: 0; }
  .proof-item + .proof-item { padding-left: 0; border-left: 0; }
  .hero__visual { min-height: 310px !important; height: 310px !important; }

  /* Safe mobile horizontal scrollers. */
  .collections-marquee,
  .collection-showcase__track,
  .project-thumbs { max-width: 100vw; }

  .corporate-hero { min-height: 245px; }
  .corporate-hero__container { width: calc(100vw - 28px); padding-top: 86px; padding-bottom: 22px; }
  .corporate-breadcrumb__home,
  .corporate-breadcrumb__current,
  .corporate-breadcrumb__arrow { font-size: 12px; }

  /* Plant catalogue. */
  .plant-catalog { padding: 44px 0 60px; }
  .plant-catalog__inner { width: calc(100vw - 28px); }
  .plant-catalog__head { margin-bottom: 18px; }
  .plant-catalog__eyebrow { margin-bottom: 12px; font-size: 9px; letter-spacing: .25em; }
  .plant-catalog__title {   }
  .plant-catalog__intro { margin-top: 14px; font-size: 13.5px; line-height: 1.62; }
  .plant-catalog__toolbar { min-height: 0; padding: 11px; flex-direction: column; align-items: stretch; gap: 9px; }
  .plant-catalog__toolbar-actions { width: 100%; justify-content: space-between; gap: 8px; }
  .plant-catalog__sort { flex: 1; min-width: 0; }
  .plant-catalog__sort span { display: none; }
  .plant-catalog__sort select { width: 100%; min-width: 0; height: 38px; }
  .plant-catalog__view-toggle button { width: 40px; height: 38px; }
  .plant-catalog__grid { grid-template-columns: 1fr !important; padding: 10px; gap: 10px; }
  .plant-card__media { aspect-ratio: 1.55 / 1; }
  .plant-card__body { min-height: 116px; padding: 11px 52px 12px 11px; }
  .plant-card__name { font-size: 17px; }
  .plant-catalog__grid.is-list .plant-card { display: block !important; }
  .plant-catalog__grid.is-list .plant-card__media { width: 100% !important; height: auto !important; aspect-ratio: 1.55 / 1; }

  /* R&D. */
  .rnd-selection { padding: 44px 0 56px; }
  .rnd-selection__shell,
  .rnd-scenario__container { width: calc(100vw - 28px); }
  .rnd-selection__eyebrow { margin-bottom: 14px; font-size: 9px; letter-spacing: .2em; }
  .rnd-selection h2 {  }
  .rnd-selection__lead { margin-top: 17px; font-size: 13.5px; line-height: 1.65; }
  .rnd-selection__steps { padding-left: 31px; margin-top: 24px; }
  .rnd-step { grid-template-columns: 42px minmax(0,1fr) 18px; gap: 9px; padding: 10px; min-height: 70px; }
  .rnd-step__number { left: -31px; }
  .rnd-step__icon { width: 39px; height: 39px; }
  .rnd-step__copy h3 { font-size: 14px; }
  .rnd-step__copy p { font-size: 9.5px; }
  .rnd-selection__photo { aspect-ratio: .96 / 1; }
  .rnd-criteria { position: relative; right: auto; bottom: auto; width: calc(100% - 20px); margin: -38px auto 0; }
  .rnd-criteria__head { min-height: 56px; padding-inline: 16px; font-size: 14px; }
  .rnd-criteria__list { padding-inline: 16px; }
  .rnd-criteria__list li { min-height: 48px; font-size: 11.5px; }

  .rnd-scenario { padding: 48px 0 54px; }
  .rnd-scenario__eyebrow { font-size: 8.5px; letter-spacing: .2em; }
  .rnd-scenario__intro h2 {  }
  .rnd-scenario__intro > p:last-child { font-size: 13px; }
  .rnd-scenario__branch { right: -90px; width: 200px; opacity: .2; }
  .rnd-use-card { grid-template-columns: 72px minmax(0,1fr); min-height: 144px; padding: 14px 36px 14px 10px; gap: 10px; }
  .rnd-use-card__visual { height: 84px; }
  .rnd-use-card__visual img { width: 72px; height: 72px; }
  .rnd-use-card__body h3 { font-size: 15px; margin-bottom: 7px; }
  .rnd-use-card__body p { font-size: 10.5px; }
  .rnd-use-card__tags { gap: 4px; margin-top: 9px; }
  .rnd-use-card__tags span { min-height: 22px; padding-inline: 7px; font-size: 8px; }
  .rnd-use-card__arrow { width: 27px; height: 27px; top: 9px; right: 9px; }
  .rnd-scenario-cta { grid-template-columns: 48px 1fr; gap: 11px; padding: 14px; }
  .rnd-scenario-cta__mark { width: 46px; height: 46px; }
  .rnd-scenario-cta__copy h3 { font-size: 15px; }
  .rnd-scenario-cta__copy p { font-size: 10px; }
  .rnd-scenario-cta__button { height: 44px; }
  .rnd-scenario__signature { grid-template-columns: 18px 1fr 18px; gap: 8px; margin-top: 24px; }
  .rnd-scenario__signature p { white-space: normal; text-align: center; justify-content: center; font-size: 7px; letter-spacing: .13em; }
  .rnd-metrics__head { min-height: 96px; padding-inline: 16px; }
  .rnd-metrics__seal { width: 48px; height: 48px; }
  .rnd-metrics__head h3 { font-size: 17px !important; }
  .rnd-metrics__list li { min-height: 58px; padding-inline: 16px; grid-template-columns: 30px 1fr 12px; gap: 10px; }
  .rnd-metrics__list span { font-size: 12px; }
  .rnd-metrics__foot { min-height: 82px; padding: 16px 15px 16px 74px; }
  .rnd-metrics__foot p { font-size: 10.5px; }

  /* Plant detail. */
  .plant-detail-shell,
  .plant-detail-hero__inner { width: calc(100vw - 28px); }
  .plant-detail-hero { min-height: 260px; }
  .plant-detail-hero__inner { padding: 34px 0 28px; }
  .plant-detail-breadcrumb { margin-bottom: 14px; font-size: 10px; }
  .plant-detail-hero h1 { font-size: clamp(34px,10vw,46px) !important; }
  .plant-detail-hero__lead { font-size: 13.5px; line-height: 1.55; }
  .plant-detail-overview { padding: 34px 0; }
  .plant-gallery__thumbs { gap: 7px; margin-top: 7px; }
  .plant-detail-copy h2 {  }
  .plant-detail-copy__summary { margin-top: 17px; font-size: 13.5px; }
  .plant-detail-badges { margin-top: 18px; gap: 7px; }
  .plant-detail-badge { min-height: 36px; padding: 7px 10px; font-size: 10.5px; }
  .plant-detail-facts { grid-template-columns: 90px minmax(0,1fr); font-size: 12px; }
  .plant-detail-actions { display: grid; grid-template-columns: 1fr; gap: 9px; margin-top: 22px; }
  .plant-detail-btn { width: 100%; min-height: 48px; }
  .plant-detail-about__inner { padding: 25px 0; }
  .plant-features { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .plant-feature { min-height: 108px; padding: 15px 9px; border-bottom: 1px solid var(--pd-line); }
  .plant-feature + .plant-feature::before { display: none; }
  .plant-feature:nth-child(5) { grid-column: 1 / -1; }
  .plant-care { padding: 30px 0 48px; }
  .plant-care__grid { grid-template-columns: 1fr; gap: 10px; }
  .plant-care-card { min-height: 0; padding: 18px; }

  /* About / services / contact headings and cards. */
  .services-page { padding: 46px 0 64px; }
  .services-page__head { margin-bottom: 30px; }
  .services-page__head h2 {  }
  .services-page__head p:not(.services-page__eyebrow) { font-size: 13.5px; line-height: 1.65; }
  .services-page__cta { width: 100%; min-height: 50px; }
  .service-index-card__media { aspect-ratio: 1.18 / 1; border-radius: 16px; }
  .service-index-card__content { padding-top: 16px; }

  .page-service-detail .service-master-hero,
  .page-service-detail .service-master-section { overflow: hidden; }
  .page-service-detail .service-master-hero__grid,
  .page-service-detail .service-master-intro__grid,
  .page-service-detail .service-master-audience__grid,
  .page-service-detail .service-master-needs__grid,
  .page-service-detail .service-master-process__grid { width: calc(100vw - 28px) !important; }
  .page-service-detail .service-master-hero h1 { font-size: clamp(34px,9.8vw,44px) !important; }
  .page-service-detail .service-master-needs__intro figure { height: 260px !important; }
  .page-service-detail .service-master-process__cards { grid-template-columns: 1fr !important; padding-left: 16px !important; }

  .contact-reference,
  .contact-process,
  .contact-visit { padding-block: 48px !important; }

  /* Blog. */
  .blog-index,
  .blog-article { padding-block: 44px 56px !important; }
  .blog-grid { grid-template-columns: 1fr !important; }
  .blog-card__media { aspect-ratio: 1.45 / 1; }
  .blog-sidebar__section { padding: 18px; }

  /* Quote. */
  .quote-page { padding: 44px 0 58px !important; }
  .quote-page__inner,
  .quote-page__grid { width: calc(100vw - 28px) !important; }
  .quote-form-card { padding: 18px !important; border-radius: 14px; }
  .quote-form-grid { grid-template-columns: 1fr !important; }
  .quote-form-grid .field--full { grid-column: auto !important; }
  .quote-submit { width: 100%; }

  /* Footer CTA + footer. */
  .footer-cta { min-height: 0; }
  .footer-cta__inner { width: calc(100vw - 28px); padding-block: 54px; }
  .footer-cta h2 {  }
  .footer-cta__actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .footer-cta__button { width: 100%; min-width: 0; }
  .site-footer__inner { width: calc(100vw - 28px); }
  .site-footer { padding-top: 52px; }
  .site-footer__grid { gap: 30px; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; gap: 13px; }
  .site-footer__legal { flex-wrap: wrap; gap: 10px; }
  .site-footer__line-art { opacity: .18; }

  /* Floating progress controls must not cover content on small screens. */
  .page-progress { left: 10px !important; right: auto !important; bottom: var(--page-progress-bottom, 10px) !important; width: 46px !important; height: 46px !important; }
}

/* ----------------------------------------------------------------------
   Small phones — up to 420
   ---------------------------------------------------------------------- */
@media (max-width: 420px) {
  :root { --container: calc(100vw - 22px); }
  .nav-shell__inner,
  .topbar__inner { width: calc(100vw - 20px); }
  .brand { width: 126px; }
  .site-search-toggle,
  .menu-toggle { width: 39px; height: 39px; }

  .hero__copy-inner,
  .corporate-hero__container,
  .plant-catalog__inner,
  .rnd-selection__shell,
  .rnd-scenario__container,
  .plant-detail-shell,
  .plant-detail-hero__inner,
  .page-service-detail .service-master-hero__grid,
  .page-service-detail .service-master-intro__grid,
  .page-service-detail .service-master-audience__grid,
  .page-service-detail .service-master-needs__grid,
  .page-service-detail .service-master-process__grid,
  .quote-page__inner,
  .quote-page__grid,
  .footer-cta__inner,
  .site-footer__inner { width: calc(100vw - 22px) !important; }

  .hero h1 { font-size: clamp(34px,10.7vw,42px) !important; }
  .plant-catalog__title,
  .rnd-selection h2,
  .rnd-scenario__intro h2 {  }
  .plant-catalog__view-toggle { display: none; }
  .plant-catalog__toolbar-actions { display: block; }
  .plant-catalog__sort { width: 100%; }
  .plant-catalog__sort select { width: 100%; }
  .rnd-use-card { grid-template-columns: 64px minmax(0,1fr); }
  .rnd-use-card__visual img { width: 64px; height: 64px; }
  .rnd-use-card__tags span { padding-inline: 6px; }
  .plant-detail-facts { grid-template-columns: 82px minmax(0,1fr); column-gap: 10px; }
  .plant-features { grid-template-columns: 1fr; }
  .plant-feature:nth-child(5) { grid-column: auto; }
}

/* Landscape phones and short laptop screens. */
@media (max-height: 620px) and (orientation: landscape) and (max-width: 1024px) {
  .topbar { display: none; }
  .nav-shell__inner { min-height: 62px; }
  .garden-menu { height: 100dvh; }
  .garden-menu__top { min-height: 60px; }
  .garden-menu__scroll { padding-top: 14px; }
  .hero__copy-inner { padding-block: 30px; }
  .hero__visual { height: 300px !important; min-height: 300px !important; }
}

/* Touch devices: remove hover-only lifts that can feel sticky after tap. */
@media (hover: none) {
  .plant-card:hover,
  .service-index-card:hover,
  .plant-care-card:hover,
  .rnd-use-card:hover { transform: none !important; }
}

/* Accessibility: safe motion fallback. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* ======================================================================
   Page-type corrections after structural audit
   ====================================================================== */

@media (min-width:1281px) {
  /* Service detail desktop follows the same ~93% native density. */
  .page-service-detail.visual-service-detail.service-master-page .service-master-shell {
    width: min(1460px, calc(100vw - 96px));
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-section {
    padding-top: 68.2px;
    padding-bottom: 68.2px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-hero {
    min-height: 361.7px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-hero__inner {
    grid-template-columns: minmax(0,1fr) minmax(485.7px,630.3px);
    column-gap: 57.9px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-hero h1 {
    font-size: clamp(44.4px,3.57vw,64.1px) !important;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master h2 { }
  .page-service-detail.visual-service-detail.service-master-page .service-master-intro__visual,
  .page-service-detail.visual-service-detail.service-master-page .service-master-intro__visual img {
    min-height: 540px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience__grid,
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience-note {
    max-width: 1172.8px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience-card {
    min-height: 361.7px;
    padding: 28.9px 33.1px 31px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience-card .service-master-card-icon {
    width: 84.7px;
    height: 84.7px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience-card h3 {
    margin-top: 28.9px;
    font-size: 25.8px !important;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-needs__grid {
    width: min(1302px, calc(100vw - 100.6px));
    grid-template-columns: minmax(361.7px,444.3px) minmax(0,1fr);
    gap: 43.4px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-needs__intro h2 {
    
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-checklist {
    min-height: 651px;
  }

  /* Contact desktop: keep the editorial collage balanced at the new ~93% desktop density. */
  .contact-reference__inner { width: min(1632.7px, 93vw); }
  .contact-reference__stage { min-height: 0; padding-left: 0; }
  .contact-reference__gardener { display: none !important; }
  .contact-reference__hanging { width: clamp(201.5px,15.5vw,284.2px); }
  .contact-reference h2,
  .contact-process h2 {  }
  .contact-process { padding-top: 95.1px; padding-bottom: 93px; }
  .contact-process__collage { min-height: 578.7px; }
  .contact-process__step strong { font-size: 25.8px; }

  /* Blog desktop. */
  .blog-index { padding-top: 66.1px; padding-bottom: 95.1px; }
  .blog-index__layout { grid-template-columns: minmax(258.3px,310px) minmax(0,1fr); gap: 43.4px; }
  .blog-sidebar { top: 107.5px; padding: 28.9px 24.8px 26.9px; border-radius: 24.8px; }
  .blog-article__inner { width: min(1343.3px, calc(100vw - 85.2px)); }
  .blog-article__header h1 { font-size: clamp(41.3px,4.13vw,68.2px) !important; }
  .blog-article__cover { max-width: 1343.3px; }
  .blog-article__content { max-width: 1219.3px; }

  /* Quote system desktop. */
  .quote-shell { width: min(1322.7px, calc(100% - 77.4px)); }
  .quote-page { padding-top: 49.6px; padding-bottom: 84.7px; }
  .quote-hero { gap: 39.3px; }
  .quote-hero__media { min-height: 409.2px; }
  .quote-hero h1 { font-size: clamp(39.3px,3.67vw,57.9px); }
  .quote-hero__lead { font-size: 15px; }
  .quote-trust__item { min-height: 86.8px; padding: 16.5px 18.6px; }
  .quote-form-card { padding: 24.8px 24.8px 21.7px; }
  .quote-form__layout { grid-template-columns: minmax(0,1fr) 253.2px; gap: 20.7px; }
  .quote-close { grid-template-columns: 330.7px 1fr auto; }
}

@media (max-width:1024px) {
  /* Correct structural selectors for service detail. */
  .page-service-detail.visual-service-detail.service-master-page .service-master-shell {
    width: var(--container) !important;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-hero__inner {
    display: block !important;
    width: 100%;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-hero__inner > * {
    grid-column: auto !important;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-intro__grid,
  .page-service-detail.visual-service-detail.service-master-page .service-master-needs__grid,
  .page-service-detail.visual-service-detail.service-master-page .service-master-process__grid,
  .page-service-detail.visual-service-detail.service-master-page .service-master-bottom__grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    gap: 34px;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience__grid,
  .page-service-detail.visual-service-detail.service-master-page .service-master-projects__grid {
    grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience-note {
    max-width: 100%;
  }

  /* Contact switches to its tablet composition at 1024 instead of waiting until 960. */
  .contact-reference { padding-top: 58px; }
  .contact-reference__inner { width: var(--container); }
  .contact-reference__stage { min-height: 0; padding-left: 0; }
  .contact-reference__content { padding: 0 0 18px; }
  .contact-reference__hanging { top: -54px; right: -25px; width: 175px; opacity: .8; }
  .contact-reference__gardener { display: none !important; }
  .contact-reference__form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
  .contact-reference__details { grid-column: 1 / -1; }
  .contact-process__grid { grid-template-columns: 1fr; gap: 42px; }
  .contact-process__collage { width: min(600px,100%); margin-inline: auto; min-height: 520px; }
  .contact-process__content { max-width: 760px; margin-inline: auto; }
  .contact-visit__panel { grid-template-columns: 1fr; }
  .contact-visit__panel > a { justify-self: start; }

  /* Correct blog structural selectors. */
  .blog-index__layout,
  .blog-detail-layout { grid-template-columns: 1fr !important; gap: 28px; }
  .blog-sidebar,
  .blog-sidebar--detail { position: static !important; order: 2; }
  .blog-results,
  .blog-article__main { order: 1; }
  .blog-sidebar__section--recent { display: none; }
  .blog-article__inner { width: var(--container); }

  /* Quote: ensure shells always fit. */
  .quote-shell { width: var(--container); }
}

@media (max-width:820px) {
  /* Service detail cards become single column on portrait tablets. */
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience__grid,
  .page-service-detail.visual-service-detail.service-master-page .service-master-projects__grid {
    grid-template-columns: 1fr !important;
  }
  .page-service-detail.visual-service-detail.service-master-page .service-master-audience-card:last-child,
  .page-service-detail.visual-service-detail.service-master-page .service-master-project:last-child {
    grid-column: auto !important;
  }

  /* Quote portrait tablet: use the proven one-column flow. */
  .quote-hero { grid-template-columns: 1fr !important; gap: 22px; }
  .quote-hero__copy { order: 1; padding-right: 0; }
  .quote-hero__media { order: 2; min-height: 320px; }
  .quote-form__layout { grid-template-columns: 1fr !important; }
  .quote-information { grid-template-columns: 1fr !important; }
  .quote-close { grid-template-columns: 1fr !important; gap: 0; }
  .quote-close__image { min-height: 185px; }
}

@media (max-width:640px) {
  /* Contact phone cleanup. */
  .contact-reference__inner { width: calc(100vw - 28px); }
  .contact-reference__form { grid-template-columns: 1fr !important; gap: 12px; }
  .contact-reference__submit { grid-column: auto !important; }
  .contact-reference__details-grid,
  .contact-reference__info-frame { grid-template-columns: 1fr !important; }
  .contact-reference__field--wide { grid-column: auto !important; }
  .contact-reference__hanging { width: 122px; right: -40px; top: -26px; }
  .contact-reference__gardener { display: none !important; }
  .contact-process__steps { grid-template-columns: 1fr !important; }
  .contact-process__actions { flex-direction: column; align-items: stretch; gap: 16px; }
  .contact-process__button { width: 100%; }
  .contact-visit__panel { padding: 28px 20px; border-radius: 18px; }
  .contact-visit__panel > a { width: 100%; justify-content: center; white-space: normal; text-align: center; }

  /* Blog phone. */
  .blog-index__layout,
  .blog-detail-layout,
  .blog-article__inner { width: calc(100vw - 28px) !important; }
  .blog-sidebar { padding: 22px 17px; border-radius: 18px; }
  .blog-article__header h1 { font-size: clamp(34px,10.4vw,46px) !important; }
  .blog-article__lead { font-size: 15px; }
  .blog-article__images { grid-template-columns: 1fr !important; }
  .blog-article__content p,
  .blog-article__list li { font-size: 14.5px; }
  .blog-article__footer { flex-direction: column; align-items: flex-start; }

  /* Quote phone — correct native class names. */
  .quote-shell { width: calc(100vw - 24px) !important; }
  .quote-hero h1 { font-size: clamp(34px,10.4vw,44px); }
  .quote-hero__media { min-height: 260px; border-radius: 14px; }
  .quote-trust { grid-template-columns: 1fr !important; }
  .quote-trust__item:not(:last-child)::after { display: none; }
  .quote-trust__item:not(:last-child) { border-bottom: 1px solid var(--quote-line); }
  .quote-form__fields { grid-template-columns: 1fr !important; }
  .quote-field--span2,
  .quote-field--full { grid-column: auto !important; }
  .quote-field input,
  .quote-field select,
  .quote-field textarea { font-size: 16px; } /* iOS: avoid focus zoom */
  .quote-form__submit { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .quote-security { justify-content: center; white-space: normal; text-align: center; }
  .quote-process { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quote-close__copy { padding: 18px 18px 7px; }
  .quote-close__actions { padding: 10px 18px 18px; display: grid; grid-template-columns: 1fr; }
  .quote-close__actions a { width: 100%; white-space: normal; text-align: center; }
}

@media (max-width:420px) {
  .quote-process { grid-template-columns: 1fr; }
  .contact-process__collage { min-height: 390px; }
  .contact-process__image--left { top: 88px; height: 270px; }
  .contact-process__image--top { height: 195px; }
  .contact-process__image--bottom { height: 185px; }
}

/* Plants landing collection section follows the same desktop density. */
@media (min-width:1281px) {
  .plants-collections { padding: 68.2px 0 90.9px; }
  .plants-collections__inner { width: min(1374.3px, calc(100% - 85.2px)); }
  .plants-collections__head { margin-bottom: 33.1px; }
  .plants-collections__title {  }
  .plants-collections__intro { font-size: 15px; }
  .plant-collection-card { min-height: 346.2px; }
  .plant-collection-card__media { height: 204.6px; flex-basis: 204.6px; }
  .plant-collection-card__body { min-height: 140.5px; padding: 15.5px 64.1px 16.5px 18.6px; }
  .plant-collection-card__body h3 { font-size: 19.6px; }
  .plant-collection-card__body p { font-size: 12.4px; }
}

@media (max-width:640px) {
  /* Prevent iOS automatic focus zoom and keep all form controls finger-friendly. */
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea { font-size: 16px !important; }

  button,
  [role="button"],
  .btn,
  .plant-detail-btn,
  .service-master-btn,
  .quote-submit,
  .contact-reference__submit { min-height: 44px; }

  .plants-collections { padding: 46px 0 58px; }
  .plants-collections__inner { width: calc(100vw - 28px); }
  .plants-collections__head { margin-bottom: 22px; }
  .plants-collections__title {  }
  .plants-collections__intro { font-size: 13.5px; line-height: 1.62; }
  .plant-collection-card__media { height: min(58vw,240px); flex-basis: min(58vw,240px); }
  .plant-collection-card__body { min-height: 132px; padding: 14px 58px 15px 16px; }
}

/* iPhone safe-area support for full-width drawers/floating controls. */
@supports (padding: max(0px)) {
  @media (max-width:640px) {
    .garden-menu__top,
    .garden-menu__scroll {
      padding-left: max(16px, env(safe-area-inset-left));
      padding-right: max(16px, env(safe-area-inset-right));
    }
    .garden-menu__scroll { padding-bottom: max(24px, env(safe-area-inset-bottom)); }
    .page-progress { left: max(10px, env(safe-area-inset-left)) !important; right: auto !important; bottom: var(--page-progress-bottom, max(10px, env(safe-area-inset-bottom))) !important; }
  }
}
