/* V1.12 responsive layer. Original V80 and approved desktop CSS remain untouched.
   Main boundary 1000px retained from V80. Company single-column boundary 374px retained.
   Sector two-column threshold: 2 * 200px content cards + 14px gap + 36px gutters = 450px.
   Browser validation pending; this file contains no desktop rules. */
@media (max-width:1000px) {
  .home-container {
    width: calc(100% - 40px)!important;
  }
  main,main *,.footer-top>* {
    min-width: 0;
  }
  .trading-header {
    height: auto!important;
    min-height: 88px!important;
    padding: 12px 20px!important;
    align-items: center!important;
    gap: 20px!important;
  }
  .trading-header .brand {
    width: 116px!important;
    flex: 0 0 116px!important;
    height: 64px!important;
    background: transparent!important;
    border: 0!important;
    box-shadow: none!important;
    overflow: visible!important;
  }
  .trading-header .brand img {
    position: static!important;
    width: 106px!important;
    height: 64px!important;
    max-height: none!important;
    max-width: 100%!important;
    object-fit: contain!important;
  }
  .trading-header .menu {
    width: 48px!important;
    height: 48px!important;
    min-width: 48px!important;
    display: inline-flex!important;
    align-items: center;
    justify-content: center;
    font-size: 27px!important;
    margin-left: auto!important;
    color: #d5b875!important;
    background: transparent!important;
    border: 1px solid #d5b87570!important;
    border-radius: 6px!important;
  }
  .trading-header>nav:not(#mobile-nav),.trading-header>.header-contact {
    display: none!important;
  }
  #mobile-nav[hidden] {
    display: none!important;
  }
  body .trading-header #mobile-nav:not([hidden]) {
    top: 100%!important;
    left: 0!important;
    right: 0!important;
    width: auto!important;
    max-height: 70svh!important;
    overflow-y: auto!important;
    background: #111418!important;
    padding: 16px 20px!important;
    z-index: 100!important;
    gap: 4px!important;
  }
  #mobile-nav a {
    padding: 13px 8px!important;
    font-size: 16px!important;
    min-height: 48px!important;
  }
  .home-hero,.home-hero-inner {
    min-height: 0!important;
  }
  .home-section-head {
    grid-template-columns: 1fr!important;
    gap: 18px!important;
  }
  .collection-intro {
    flex-direction: column!important;
    align-items: flex-start!important;
    gap: 14px!important;
  }
  .collection-intro p,.v181-about-text,.fg-presence-layout>div:first-child p {
    font-size: 16px!important;
    line-height: 1.65!important;
  }
  .collection-intro a {
    font-size: 15px!important;
  }
  .home-photo-section {
    padding: 40px 0!important;
  }
  .eyebrow {
    font-size: 11px!important;
    letter-spacing: .13em!important;
  }
  .home-photo-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 16px!important;
  }
  .home-photo-card {
    height: auto!important;
    min-height: 0!important;
  }
  .home-photo-card img {
    height: auto!important;
    min-height: 0!important;
    aspect-ratio: 3/2!important;
    object-fit: cover!important;
    max-height: none!important;
    flex-basis: auto!important;
  }
  .home-photo-card h3 {
    font-size: 18px!important;
    align-items: start!important;
    line-height: 1.45!important;
    display: grid!important;
    grid-template-columns: minmax(0,1fr) auto!important;
    gap: 8px!important;
  }
  .home-card-arrow {
    flex: none;
  }
  .fg-about-layout,.fg-presence-layout {
    grid-template-columns: 1fr!important;
    gap: 28px!important;
    min-height: 0!important;
  }
  .fg-about-intro {
    grid-column: 1!important;
    grid-row: auto!important;
  }
  .fg-v17-facts {
    grid-column: 1!important;
    grid-row: auto!important;
    border: 0!important;
    gap: 12px!important;
    grid-template-columns: repeat(3,minmax(0,1fr))!important;
  }
  .fg-v17-fact {
    border: 1px solid #947a4b35!important;
    border-radius: 6px;
    min-height: 126px!important;
    padding: 18px 14px!important;
    justify-content: center!important;
    gap: 14px!important;
  }
  .fg-v17-fact svg {
    flex: none;
    margin: 0!important;
    width: 44px!important;
    height: 44px!important;
  }
  .fg-why-grid {
    grid-template-columns: 1fr!important;
    gap: 14px!important;
  }
  .fg-why-item {
    grid-template-columns: 48px minmax(0,1fr)!important;
    gap: 8px 18px!important;
    padding: 22px!important;
    min-height: 0!important;
  }
  .fg-why-item svg {
    grid-row: span 2!important;
    width: 44px!important;
    height: 44px!important;
  }
  .fg-why-item h3,.fg-sector h3 {
    font-size: 18px!important;
    line-height: 1.4!important;
  }
  .fg-why-item p,.fg-sector p {
    font-size: 15px!important;
    line-height: 1.65!important;
  }
  .fg-sector-grid {
    grid-template-columns: repeat(2,minmax(0,1fr))!important;
    gap: 14px!important;
  }
  .fg-sector {
    padding: 22px!important;
    height: auto!important;
    min-height: 0!important;
  }
  .fg-sector h3 {
    padding-right: 12px;
  }
  .fg-presence-detail {
    grid-template-columns: minmax(0,1fr)!important;
    grid-template-rows: auto!important;
    gap: 16px!important;
    padding: 22px!important;
    min-height: 0!important;
    align-content: start!important;
  }
  .v18-info-row {
    grid-column: 1!important;
    gap: 16px!important;
    align-items: flex-start!important;
  }
  .v18-info-row>div {
    min-width: 0;
  }
  .v18-info-row strong,.v18-info-row p {
    font-size: 15px!important;
    line-height: 1.65!important;
  }
  .v18-info-icon {
    width: 30px!important;
    flex: none!important;
  }
  .v18-info-row a {
    word-break: normal!important;
    overflow-wrap: normal!important;
  }
  .v18-map {
    grid-column: 1!important;
    grid-row: auto!important;
    border-left: 0!important;
    border-top: 1px solid #947a4b35;
    min-height: 0!important;
    display: grid!important;
    grid-template-columns: 32px auto!important;
    grid-template-rows: auto auto!important;
    justify-content: start!important;
    align-items: center!important;
    gap: 0 12px!important;
    padding: 14px 0 0!important;
    background: none!important;
  }
  .fg-contact-layout {
    flex-direction: column!important;
    align-items: flex-start!important;
    gap: 24px!important;
  }
  .fg-cta p {
    font-size: 16px!important;
    line-height: 1.65!important;
  }
  .button.green,.home-outline {
    font-size: 15px!important;
    min-height: 48px!important;
    padding: 14px 20px!important;
    display: inline-flex!important;
    align-items: center!important;
    justify-content: center!important;
    line-height: 1.4!important;
    max-width: 100%;
  }
  .trading-footer {
    padding: 40px 20px 0!important;
  }
  .footer-top {
    grid-template-columns: 1fr 1fr!important;
    gap: 28px 32px!important;
    padding-bottom: 28px!important;
  }
  .footer-intro {
    grid-column: 1/-1!important;
  }
  .footer-brand {
    height: auto!important;
    min-height: 0!important;
    overflow: visible!important;
  }
  .footer-brand img {
    position: static!important;
    max-width: 100%!important;
    object-fit: contain!important;
    width: 154px!important;
    height: 96px!important;
  }
  .trading-footer h3 {
    font-size: 15px!important;
  }
  .footer-links a,.footer-contact a,.footer-contact p,.footer-description,.footer-heritage {
    font-size: 15px!important;
    line-height: 1.7!important;
  }
  .footer-links a {
    padding-block: 6px!important;
    min-height: 44px!important;
    display: flex!important;
    align-items: center!important;
    padding: 8px 0!important;
  }
  .footer-contact a {
    overflow-wrap: normal!important;
    word-break: normal!important;
    display: block!important;
    line-height: 1.7!important;
  }
  .footer-bottom {
    display: flex!important;
    flex-wrap: wrap!important;
    gap: 16px!important;
    font-size: 13px!important;
    padding: 20px 0!important;
  }
  .home-hero {
    height: auto!important;
    min-height: 0!important;
    display: flex!important;
    flex-direction: column!important;
    background: #101b29!important;
  }
  .home-hero picture {
    position: relative!important;
    display: block!important;
    width: 100%!important;
    aspect-ratio: 16/9!important;
    flex: none!important;
    z-index: 0!important;
  }
  .home-hero-image {
    position: absolute!important;
    inset: 0!important;
    display: block!important;
    width: 100%!important;
    height: 100%!important;
    min-height: 0!important;
    object-fit: contain!important;
    object-position: center!important;
    z-index: 0!important;
    opacity: 1!important;
    filter: none!important;
    visibility: visible!important;
  }
  .home-hero-shade {
    display: none!important;
  }
  .home-hero-inner {
    position: relative!important;
    z-index: 1!important;
    display: block!important;
    height: auto!important;
    min-height: 0!important;
    padding: 28px 0 32px!important;
    background: #101b29!important;
  }
  .home-hero h1 {
    font-size: clamp(35px,6vw,52px)!important;
    line-height: 1.1!important;
  }
  .home-hero p {
    font-size: 16px!important;
    line-height: 1.65!important;
    max-width: 540px!important;
  }
  .hero-caption {
    position: static!important;
    max-width: none!important;
    font-size: 12px!important;
    padding: 12px 20px!important;
    background: #0c1420!important;
  }
  .home-photo-card>div {
    min-height: 0!important;
    height: auto!important;
    padding: 18px 16px!important;
    gap: 12px!important;
    flex: 1;
    justify-content: flex-start!important;
  }
  .home-card-category {
    font-size: 12px!important;
    line-height: 1.5!important;
    min-height: 3em;
  }
  .home-photo-card small {
    font-size: 14px!important;
    line-height: 1.6!important;
    margin-top: auto!important;
  }
  .fg-sector p,.fg-why-item p {
    font-size: 16px!important;
    line-height: 1.7!important;
  }
  .fg-v17-fact strong {
    font-size: 14px!important;
    line-height: 1.6!important;
  }
  .v18-info-row p,.v18-info-row strong {
    font-size: 16px!important;
    line-height: 1.65!important;
  }
  .footer-intro p {
    margin: 12px 0!important;
  }
  .footer-links {
    gap: 3px!important;
  }
  .footer-contact {
    gap: 12px!important;
  }
  .footer-contact p {
    margin: 0!important;
  }
  .flora-group-home .v18-map {
    display: block!important;
    min-height: 180px!important;
    padding: 0!important;
  }
  .flora-group-home .v18-map img {
    height: 180px!important;
    object-fit: contain;
  }
  .v18-info-row a[href^="tel:"] {
    white-space: nowrap;
  }
}
@media (max-width:650px) {
  .home-container {
    width: calc(100% - 36px)!important;
  }
  .trading-topbar {
    padding: 8px 18px!important;
  }
  .topbar-address {
    display: none!important;
  }
  .topbar-contacts {
    gap: 12px!important;
    flex-wrap: wrap!important;
    justify-content: space-between!important;
    width: 100%;
  }
  .topbar-contacts a {
    font-size: 11px!important;
  }
  .home-hero {
    height: auto!important;
    min-height: 0!important;
    background: #101b29!important;
    display: flex!important;
    flex-direction: column!important;
  }
  .home-hero picture {
    position: relative!important;
    display: block!important;
    width: 100%!important;
    aspect-ratio: 16/9!important;
    flex: none!important;
  }
  .home-hero-image {
    position: absolute!important;
    inset: 0!important;
    width: 100%!important;
    height: 100%!important;
    object-fit: contain!important;
    object-position: center!important;
    z-index: 0!important;
  }
  .home-hero-shade {
    display: none!important;
  }
  .home-hero-inner {
    height: auto!important;
    min-height: 0!important;
    display: block!important;
    padding: 28px 0 32px!important;
  }
  .home-hero h1 {
    line-height: 1.1!important;
    letter-spacing: -.035em!important;
    margin: 16px 0 20px!important;
    font-size: clamp(34px,8.8vw,43px)!important;
  }
  .home-hero p {
    font-size: 16px!important;
    max-width: 540px!important;
    line-height: 1.65!important;
    margin-bottom: 24px!important;
  }
  .hero-actions {
    display: grid!important;
    grid-template-columns: 1fr!important;
    gap: 12px!important;
  }
  .hero-actions .button,.hero-actions .home-outline {
    font-size: 15px!important;
    padding: 14px 20px!important;
    width: 100%!important;
  }
  .hero-caption {
    position: static!important;
    max-width: none!important;
    padding: 12px 20px!important;
    font-size: 12px!important;
    background: #0c1420!important;
  }
  .home-section-head h2,.fg-about h2,.fg-presence h2 {
    font-size: 31px!important;
    line-height: 1.15!important;
  }
  .home-photo-grid {
    gap: 12px!important;
  }
  .home-photo-card>div {
    min-height: 0!important;
    padding: 18px 16px!important;
  }
  .home-photo-card h3 {
    gap: 8px!important;
    font-size: 18px!important;
  }
  .home-card-category {
    font-size: 12px!important;
  }
  .home-photo-card small {
    font-size: 14px!important;
  }
  .fg-v17-facts {
    grid-template-columns: 1fr!important;
  }
  .fg-v17-fact {
    flex-direction: row!important;
    text-align: left!important;
    gap: 14px!important;
    min-height: 126px!important;
    justify-content: center!important;
    padding: 18px 14px!important;
  }
  .fg-sector-grid {
    grid-template-columns: 1fr!important;
  }
  .fg-cta h2 {
    font-size: 30px!important;
    line-height: 1.2!important;
  }
  .fg-cta .button {
    width: 100%!important;
  }
  .footer-intro {
    grid-column: 1!important;
  }
  .footer-description {
    max-width: 320px!important;
  }
  .fg-v17-fact strong {
    font-size: 14px!important;
  }
  .fg-presence-detail {
    padding: 22px!important;
  }
  .v18-info-row {
    gap: 10px!important;
  }
  .v18-info-row p,.v18-info-row strong {
    font-size: 16px!important;
  }
  .footer-top {
    grid-template-columns: 1fr!important;
    gap: 28px 32px!important;
  }
  .footer-links {
    display: grid!important;
    grid-template-columns: 1fr 1fr!important;
    gap: 3px!important;
  }
  .footer-links h3 {
    grid-column: 1/-1!important;
    margin-bottom: 6px!important;
  }
  .footer-links a {
    font-size: 16px!important;
  }
  .footer-contact h3 {
    margin-bottom: 8px!important;
  }
  .footer-contact a,.footer-contact p {
    font-size: 16px!important;
  }
  .footer-contact a[href^="mailto:"] {
    font-size: 15px!important;
    white-space: nowrap!important;
  }
  .fg-cta {
    padding: 36px 0!important;
  }
  .fg-contact-layout {
    gap: 24px!important;
  }
  .flora-group-home .v18-map {
    min-height: 160px!important;
  }
  .flora-group-home .v18-map img {
    height: 160px!important;
  }
  .fg-sector {
    padding: 20px!important;
  }
}
@media (max-width:374px) {
  .home-photo-grid {
    grid-template-columns: 1fr!important;
  }
  .home-photo-card>div {
    min-height: 0!important;
    padding: 18px!important;
  }
  .home-photo-card h3 {
    font-size: 20px!important;
  }
  .home-card-category {
    font-size: 12px!important;
  }
  .home-photo-card small {
    font-size: 14px!important;
  }
}
@media (min-width:450px) and (max-width:650px) {
  .fg-sector-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}
