/* Bilingual typography and responsive refinements. Loaded after the garden kit.
   Artwork, logos and scientific notation are never mirrored. */
:root { --font-ar: "IBM Plex Sans Arabic", "Noto Sans Arabic", Tahoma, Arial, sans-serif; }
[hidden] { display:none!important; }
html { scroll-padding-top:6rem; }
body { min-inline-size:0; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea,summary { -webkit-tap-highlight-color:transparent; }
:where(button,a,input,select,textarea,summary):focus-visible { outline:3px solid var(--green,#3d751b); outline-offset:4px; }
.nav-inner { gap:clamp(.7rem,1.4vw,1.5rem); }
.brand { flex-shrink:0; }
.language-switch { display:flex; flex:none; align-items:center; gap:2px; padding:3px; border:1px solid var(--line,#dce4d6); border-radius:999px; white-space:nowrap; }
.language-switch a { display:inline-flex; align-items:center; justify-content:center; min-block-size:38px; padding:.35rem .65rem; border-radius:999px; text-decoration:none; font-size:.875rem; font-weight:500; line-height:1.5; }
.language-switch a[lang="ar"] { font-family:var(--font-ar); }
.language-switch a[aria-current="true"] { background:var(--forest,#0c3a20); color:#fff; }
.language-switch a:hover:not([aria-current="true"]) { background:#edf2e8; }
.i18n-table-scroll { max-inline-size:100%; overflow-x:auto; overscroll-behavior-inline:contain; margin-block:1rem; }
.i18n-table-scroll table { margin-block:0; }
.i18n-ltr, a[href^="tel:"], a[href^="mailto:"], .contact-hours-value { direction:ltr; unicode-bidi:isolate; }
.i18n-ltr { display:inline-block; font-family:Outfit,Arial,sans-serif; }
:where(.product-grid,.page-hero-row,.direct-contact-grid,.collection-hero-grid,.family-panel,.root-story-grid)>* { min-inline-size:0; }
:where(h1,h2,h3,h4,p,li,td,th,figcaption,a,button) { overflow-wrap:break-word; }
.certificate-dialog { max-inline-size:calc(100vw - 2rem); max-block-size:90vh; max-block-size:90dvh; overflow:auto; }
.certificate-dialog-bar { gap:1rem; }
.certificate-dialog-bar h2 { min-inline-size:0; }
.certificate-dialog-controls { flex-wrap:wrap; gap:.5rem; }
.certificate-dialog-controls button,.certificate-close,.network-close { min-inline-size:44px; min-block-size:44px; }
.certificate-dialog-image img { max-inline-size:100%; object-fit:contain; }
.certificate-dialog-image.is-zoomed img { max-inline-size:none; }

/* Arabic uses connected letterforms, not Latin tracking or synthetic italics. */
html[lang="ar"] body { font-family:var(--font-ar); line-height:1.85; }
html[lang="ar"] :where(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,summary,th,td,span,small,label,em,figcaption,blockquote) { letter-spacing:normal; }
html[lang="ar"] :where(h1,h2,h3,h4,h5,h6,p,li,span,small,label,dt,dd,summary,input,select,textarea,figcaption,blockquote,em,.eyebrow,.btn,.text-link,.filter-pill,.menu-toggle) { font-family:var(--font-ar); }
html[lang="ar"] :where(h1,h2,h3,h4,h5,h6) { line-height:1.45; }
html[lang="ar"] em { font-style:normal; font-weight:500; }
html[lang="ar"] :where(p,li,figcaption,td,th) { line-height:1.85; }
html[lang="ar"] :where(button,.btn,.text-link,.main-nav a) { line-height:1.6; }
html[lang="ar"] .main-nav { gap:clamp(.75rem,1.3vw,1.4rem); }
html[lang="ar"] .garden-hero-copy h1 { font-size:clamp(2.75rem,6.5vw,6.1rem); line-height:1.5; }
html[lang="ar"] .garden-hero-copy .pattern-type { line-height:1.6; letter-spacing:0; padding-block:.04em .12em; margin-block:0; overflow-wrap:normal; }
html[lang="ar"] .hero-growth-word { white-space:nowrap; }
html[lang="ar"] .family-description h3 { max-inline-size:22ch; }
html[lang="ar"] .family-description .concept-note { text-align:start; }
html[lang="ar"] .arrow { scale:-1 1; }
html[lang="ar"] :where(.product-card,.product-detail-copy,.process-copy,.document-list,.review,.article-card-content,.direct-contact-copy) { text-align:start; }
html[lang="ar"] :where(.breadcrumbs,.breadcrumb,.product-section-nav,.review-toc nav) { direction:rtl; }
html[lang="ar"] :where(ul,ol):not(.certificate-wall):not(.family-tabs) { padding-inline-start:1.4em; padding-inline-end:0; }
html[lang="ar"] :where(.search-field input,.network-country,.product-country,select) { text-align:start; }
html[lang="ar"] :where(.npk,.product-figure,.product-ratio,.product-grade,.card-grade,.grade,.review-equation,.equation,.formula,.analysis-value,.i18n-ltr) { direction:ltr; unicode-bidi:isolate; }
html[lang="ar"] .i18n-ltr { font-family:Outfit,Arial,sans-serif; }
/* Physical art coordinates and map geography retain their original orientation. */
:where(.collection-composition,.range-bags,.network-map,.product-packshot,.product-bag-stage) { direction:ltr; }
html[lang="ar"] .garden-range .range-bags { margin-left:0; margin-right:calc(-1 * var(--page-gutter)); }
html[lang="ar"] #network-popup-title { margin:0 0 1rem 2rem; }
html[lang="ar"] :where(.network-result,.network-audiences,.network-popup,.network-office) { direction:rtl; text-align:start; }
html[lang="ar"] .network-country { padding-inline:1rem 2.5rem; }
html[lang="ar"] :where(.collection-copy h1,.invitation-copy h2,.research-garden-header .page-hero h1) { max-inline-size:none; }

@media(min-width:901px) {
  .nav-inner .brand { order:0; margin-inline-end:auto; }
  .nav-inner .main-nav { order:1; }
  .nav-inner .language-switch { order:2; }
}
@media(max-width:1100px) and (min-width:901px) {
  .main-nav { gap:.75rem; }
  .main-nav a { font-size:.9rem; }
  .language-switch a { padding-inline:.45rem; }
}
@media(max-width:900px) {
  .nav-inner { position:relative; min-block-size:74px; }
  .nav-inner .brand { order:0; margin-inline-end:auto; }
  .nav-inner .language-switch { order:1; }
  .nav-inner .menu-toggle { order:2; flex:none; min-inline-size:44px; min-block-size:44px; }
  .main-nav.is-open { max-block-size:calc(100vh - 84px); max-block-size:calc(100dvh - 84px); overflow-y:auto; overscroll-behavior:contain; }
  .main-nav a { min-block-size:44px; }
  html[lang="ar"] .main-nav { text-align:start; }
  .family-tabs,.process-tabs,.product-section-nav { scroll-padding-inline:.5rem; overscroll-behavior-inline:contain; }
}
@media(max-width:760px) {
  .catalogue-toolbar { align-items:stretch; gap:1rem; }
  .search-field { min-inline-size:0; max-inline-size:100%; }
  input[type="search"],select,textarea { font-size:1rem; }
  .filter-list { gap:.5rem; }
  .filter-pill { min-block-size:44px; white-space:normal; }
  .network-country-control { inline-size:100%; max-inline-size:100%; }
  .network-toolbar { flex-wrap:wrap; }
  .network-popup { max-inline-size:100%; }
  .network-audiences { flex-wrap:wrap; }
  .network-audiences button { min-block-size:44px; flex:1 1 8rem; }
  .direct-contact-grid { grid-template-columns:minmax(0,1fr); }
  .contact-location { min-inline-size:0; margin-inline:0; }
  .contact-location iframe { inline-size:100%; min-block-size:300px; max-block-size:60svh; }
  .direct-contact-details { gap:1.5rem; }
  .footer-main,.footer-bottom { gap:1.25rem; }
  .footer-main nav { flex-wrap:wrap; gap:.75rem 1.25rem; }
  .footer-main nav a,.footer-bottom a,.pause-motion { min-block-size:44px; display:inline-flex; align-items:center; }
  .footer-email { overflow-wrap:anywhere; }
  .collection-hero-grid { gap:1.5rem; }
  .collection-composition { max-inline-size:34rem; margin-inline:auto; }
  .collection-copy h1 { font-size:clamp(2.65rem,10vw,4.4rem); }
  html[lang="ar"] .collection-copy h1 { font-size:clamp(2.35rem,8.5vw,3.8rem); }
}
@media(max-width:650px) {
  /* A touch-friendly family strip followed by a centred product, then its story. */
  .garden-range .family-tabs { display:flex; justify-content:flex-start; gap:.5rem; overflow-x:auto; overflow-y:hidden; inline-size:100%; max-inline-size:100%; padding:.35rem .1rem .75rem; margin-inline:0; scroll-snap-type:x proximity; scroll-padding-inline:.25rem; overscroll-behavior-inline:contain; scrollbar-width:thin; }
  .garden-range .family-tabs [role="tab"] { flex:0 0 7.25rem; min-inline-size:0; min-block-size:88px; padding:.65rem .45rem; scroll-snap-align:start; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.35rem; white-space:normal; font-size:.875rem; line-height:1.35; }
  html[lang="ar"] .garden-range .family-tabs [role="tab"] { flex-basis:8rem; line-height:1.65; }
  .garden-range .family-tabs .family-icon { inline-size:30px; block-size:30px; flex:none; margin:0; }
  .garden-range .family-panel { display:flex; flex-direction:column; align-items:center; gap:.6rem; padding-block:1rem 2rem; }
  .garden-range .range-bags,html[lang="ar"] .garden-range .range-bags { order:0; flex:none; align-self:center; inline-size:100%; max-inline-size:26rem; block-size:clamp(240px,70vw,340px); height:clamp(240px,70vw,340px); margin:0; }
  .garden-range .range-bag { inset:0; inline-size:100%; width:100%; block-size:100%; height:100%; max-inline-size:100%; object-fit:contain; object-position:center; }
  .garden-range .family-material { inline-size:29%; width:29%; max-inline-size:115px; right:3%; bottom:0; }
  .garden-range .family-description { order:1; inline-size:100%; max-inline-size:34rem; min-block-size:15rem; padding:0; text-align:center; }
  .garden-range .family-description h3 { max-inline-size:22ch; margin-inline:auto; font-size:clamp(1.85rem,7.5vw,2.6rem); line-height:1.2; }
  .garden-range .family-description p { font-size:1rem; line-height:1.7; max-inline-size:36ch; margin-inline:auto; }
  .garden-range .family-description .btn { min-block-size:48px; margin-block-start:1rem; }
  .garden-range .family-description .concept-note,html[lang="ar"] .garden-range .family-description .concept-note { text-align:center; font-size:.78rem; line-height:1.6; margin-block-start:.85rem; }
  html[lang="ar"] .garden-range .family-description h3 { font-size:clamp(1.75rem,6.5vw,2.3rem); line-height:1.5; }
  html[lang="ar"] .garden-range .family-description p { line-height:1.9; }
  .garden-flow .garden-range-section { padding-block-start:3rem; padding-block-end:1rem; }
  .garden-flow .garden-range-section>.wrap>h2 { font-size:clamp(2.25rem,9vw,3.2rem); }
  /* Decorative chapters get a bounded art slot instead of a very tall empty page. */
  .vineyard-science,.fig-garden,.peach-partnership { min-block-size:0; min-height:0; padding-block:3rem clamp(310px,83vw,470px); }
  .vineyard-science .garden-science-copy,.fig-garden .about-purpose { margin-inline:0; }
  .vineyard-science .edge-branch.science-grapes { top:auto; bottom:clamp(240px,66vw,375px); --branch-size:min(72vw,410px); }
  .fig-garden .edge-branch.about-figs { bottom:1rem; --branch-size:min(90vw,500px); }
  .peach-partnership .edge-branch.partnership-peaches { bottom:1rem; --branch-size:min(62vw,340px); }
  .orchard-invitation { min-block-size:0; min-height:0; padding-block-end:clamp(285px,78vw,420px); }
  .invitation-copy { padding-block:3rem 1.5rem; }
  .edge-branch.invitation-pomegranate { bottom:0; --branch-size:min(89vw,510px); }
  .process-layout { gap:1.5rem; }
  .harvest-process .process-panel { min-block-size:0; min-height:0; padding-block-end:1rem; }
  .process-crop-study { height:clamp(215px,62vw,300px); }
  .root-study { min-inline-size:0; }
  .review-toc { position:static; max-block-size:none; }
  .review-main,.review-content { min-inline-size:0; }
  .review :where(h2,h3) { scroll-margin-block-start:6rem; }
  .certificate-dialog { margin:auto; inline-size:calc(100vw - 1.25rem); max-inline-size:calc(100vw - 1.25rem); }
  .certificate-dialog-bar { align-items:flex-start; padding:1rem; }
  .certificate-dialog-bar h2 { font-size:1.15rem; }
  .certificate-dialog-controls { padding:.75rem; }
  .certificate-dialog-image { max-block-size:65vh; max-block-size:65dvh; overflow:auto; }
  .certificate-wall { gap:1.25rem; }
  html[lang="ar"] .garden-hero-copy h1 { font-size:clamp(2.2rem,8.4vw,3.45rem); }
  html[lang="ar"] .garden-hero-copy .pattern-type { line-height:1.7; }
  html[lang="ar"] :where(.page-hero h1,.product-detail h1,.direct-contact h1) { font-size:clamp(2rem,8vw,3.4rem); line-height:1.5; }
}
@media(max-width:520px) {
  .nav-inner { gap:.4rem; }
  .brand { gap:6px; }
  .brand-symbol { inline-size:30px; block-size:auto; }
  .brand-word { inline-size:80px; block-size:auto; }
  .language-switch { padding:2px; }
  .language-switch a { min-block-size:40px; padding-inline:.5rem; font-size:.8rem; }
  .menu-toggle { padding:.5rem; }
  .menu-label { position:absolute; inline-size:1px; block-size:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .product-grid { grid-template-columns:minmax(0,1fr); }
  .product-bag-stage { height:280px; }
  .direct-contact-details { grid-template-columns:minmax(0,1fr); }
  .garden-hero .edge-branch.hero-canopy { --branch-size:39vw; }
  .garden-hero .edge-branch.hero-plums { --branch-size:30vw; }
  .garden-hero .edge-branch.hero-citrus { --branch-size:35vw; }
  .footer-bottom { align-items:flex-start; }
}
@media(hover:none) and (pointer:coarse) {
  .edge-branch .garden-botanical { animation:none; }
  .garden-layer { --garden-x:0px!important; --garden-y:0px!important; }
  .garden-hero-copy .pattern-type { animation:none; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto!important; }
  .language-switch a { transition:none; }
  .garden-hero-copy .pattern-type,.hero-title-line { animation:none; }
}
@media print {
  .language-switch,.menu-toggle { display:none!important; }
  .i18n-table-scroll { overflow:visible; }
  html[lang="ar"] body { direction:rtl; }
}

html[lang="ar"] :where(.product-grade,.card-grade) { text-align:right; }
@media(max-width:650px) { .product-detail-grid { grid-template-columns:minmax(0,1fr); gap:1.75rem; } .detail-product-stage { height:clamp(260px,75vw,360px); } .detail-bag { max-inline-size:100%; max-block-size:100%; object-fit:contain; } .product-sections { grid-template-columns:minmax(0,1fr); } .product-section-nav { position:static; display:flex; flex-wrap:wrap; gap:.5rem 1rem; } .product-section-nav a { min-block-size:44px; } .spec-list>div { gap:1rem; } }

html[lang="ar"] .product-card-arrow { scale:-1 1; }
/* The recovered stylesheets use several component-specific font declarations. */
html[lang="ar"] body,
html[lang="ar"] body :where(h1,h2,h3,h4,h5,h6,p,li,a,button,input,select,textarea,span,small,label,dt,dd,summary,th,td,em,figcaption,blockquote) {
  font-family:var(--font-ar)!important;
  letter-spacing:normal!important;
}
html[lang="ar"] em { font-style:normal!important; }
html[lang="ar"] :where(h1,h2,h3,h4,h5,h6) { line-height:1.5!important; }
html[lang="ar"] .i18n-ltr,
html[lang="ar"] .language-switch a[lang="en"],
html[lang="ar"] .al-type-sample { font-family:Outfit,Arial,sans-serif!important; }
html[lang="ar"] :where(.story-grade,.passport-grade,.passport-code,.nutrient-value,.al-asset-id) { direction:ltr; unicode-bidi:isolate; text-align:start; }
html[lang="ar"] :where(.nutrient-tab,.passport-code,.passport-facts dd) { text-align:start; }
html[lang="ar"] .stage-list summary:after { margin-left:0; margin-inline-start:auto; }
html[lang="ar"] .stage-list details>p { padding-inline:2.3rem 0; }
html[lang="ar"] .supply-result .text-link { margin-right:0; margin-inline-end:1rem; }
.story-pack-stage { direction:ltr; }
.story-country { font-size:1rem; }
.al-asset-id { direction:ltr; unicode-bidi:isolate; overflow-wrap:anywhere; }
.al-dialog { max-inline-size:calc(100vw - 1.5rem); max-block-size:90vh; max-block-size:90dvh; overflow:auto; }
.al-dialog-top { position:sticky; inset-block-start:0; z-index:2; background:white; }
.al-dialog :where(button,a),.al-controls select,.al-controls input { min-block-size:44px; }
.al-detail-grid>*,.al-controls>*,.passport-identity>*,.passport-columns>*,.story-hero-grid>* { min-inline-size:0; }
.al-downloads a { overflow-wrap:anywhere; }
@media(max-width:650px) {
  .story-intro { padding-block-end:2rem; }
  .story-hero-grid { grid-template-columns:minmax(0,1fr); gap:1.25rem; }
  .story-visual { position:static; }
  .story-pack-stage { max-inline-size:24rem; block-size:clamp(260px,75vw,340px); aspect-ratio:auto; }
  .story-pack-stage .story-bag { inline-size:100%; block-size:100%; inset:0; object-fit:contain; }
  .story-pack-stage .story-material { inline-size:28%; block-size:24%; right:4%; bottom:0; }
  .product-story .story-hero-copy h1 { font-size:clamp(2.3rem,9vw,3.6rem); }
  html[lang="ar"] .product-story .story-hero-copy h1 { font-size:clamp(2.05rem,8vw,3.25rem); }
  .story-links { gap:.3rem 1rem; }
  .story-links a { min-block-size:44px; }
  .crop-choices { display:flex; flex-wrap:nowrap; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:.25rem; padding:.3rem .15rem .8rem; gap:.5rem; }
  .crop-choice { flex:0 0 auto; max-inline-size:85%; min-block-size:48px; white-space:normal; scroll-snap-align:start; }
  .crop-scene { grid-template-columns:minmax(0,1fr); min-block-size:0; gap:1.5rem; }
  .crop-scene-image img { block-size:clamp(220px,62vw,310px); }
  .passport-identity,.passport-columns { grid-template-columns:minmax(0,1fr); gap:1.5rem; }
  .passport-identity { margin-block-end:2rem; }
  .passport-facts>div { gap:1rem; flex-wrap:wrap; }
  .passport-facts dd { text-align:start; }
  .passport-heading .btn { max-inline-size:100%; }
  .al-intro { display:block; }
  .al-intro>a { display:inline-flex; align-items:center; min-block-size:44px; margin-block-start:1rem; }
  .al-stats { display:flex; flex-wrap:wrap; gap:.75rem; }
  .al-stats button { flex:1 1 8rem; min-block-size:72px; }
  .al-controls { grid-template-columns:minmax(0,1fr); }
  .al-controls :where(input,select) { font-size:1rem; max-inline-size:100%; }
  .al-detail-grid { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .al-preview-stage { min-block-size:220px; max-block-size:45dvh; }
  .al-results-heading { align-items:flex-start; flex-wrap:wrap; gap:.75rem; }
}
@media(max-width:400px) { .al-grid { grid-template-columns:minmax(0,1fr); } }
@media(hover:none) and (pointer:coarse) {
  .edge-branch .garden-botanical,.crop-scene-image img,.hero-title-line,.garden-hero-copy .pattern-type { animation:none!important; }
}
/* Negative off-screen left offsets create document-wide scrolling in RTL. */
.skip { position:fixed; inset:auto; inset-block-start:.5rem; inset-inline-start:.75rem; inline-size:1px; block-size:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; z-index:1000; }
.skip:focus { inset:auto; inset-block-start:.5rem; inset-inline-start:.75rem; inline-size:auto; block-size:auto; max-inline-size:calc(100vw - 1.5rem); padding:.75rem 1rem; clip-path:none; white-space:normal; background:var(--forest,#0c3a20); color:white; }
@media(prefers-reduced-motion:reduce) { .edge-branch .garden-botanical,.crop-scene-image img,.garden-hero-copy>p,.garden-hero-copy>.btn { animation:none!important; } }
