/* ==========================================================================
   Components
   ========================================================================== */

/* ---------- Trust strip ---------- */
.trust-strip{ background:var(--white); border-block:1px solid var(--border); }
.trust-strip .container{
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap;
  gap:2rem 2.6rem; padding-block:1.6rem;
}
.trust-item{ display:flex; align-items:center; gap:.75rem; }
.trust-item svg{ width:34px; height:34px; color:var(--maroon-800); flex:none; }
.trust-item strong{ display:block; font-family:var(--font-head); font-size:.88rem; color:var(--graphite-900); font-weight:800; }
.trust-item span{ display:block; font-size:.76rem; color:var(--text-muted); }
.trust-item.award strong{ color:var(--bronze-600); }

/* ---------- Cards: Why us ---------- */
.grid{ display:grid; gap:1.6rem; }
.grid > *{ min-width:0; }
.grid--4{ grid-template-columns:repeat(4,1fr); }
.grid--3{ grid-template-columns:repeat(3,1fr); }
.grid--2{ grid-template-columns:repeat(2,1fr); }
@media (max-width:980px){ .grid--4{ grid-template-columns:repeat(2,1fr);} .grid--3{ grid-template-columns:repeat(2,1fr);} }
@media (max-width:620px){ .grid--4,.grid--3,.grid--2{ grid-template-columns:1fr; } }

.feature-card{
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md);
  padding:1.9rem 1.7rem; transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease), border-color var(--dur);
  position:relative; overflow:hidden;
}
.feature-card::before{ content:""; position:absolute; inset-inline-start:0; top:0; bottom:0; width:3px; background:var(--bronze-500); transform:scaleY(0); transform-origin:top; transition:transform var(--dur) var(--ease); }
.feature-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.feature-card:hover::before{ transform:scaleY(1); }
.feature-card .icon-wrap{ width:52px; height:52px; border-radius:var(--radius-md); background:linear-gradient(150deg, var(--cream) 0%, var(--bronze-100) 130%); display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; transition:transform var(--dur) var(--ease); }
.feature-card:hover .icon-wrap{ transform:scale(1.08) rotate(-3deg); }
.feature-card .icon-wrap svg{ width:26px; height:26px; color:var(--maroon-800); }
.feature-card h3{ font-size:1.05rem; margin-bottom:.5rem; }
.feature-card p{ font-size:.92rem; color:var(--text-muted); margin:0; }
.feature-card--factory{ display:flex; flex-direction:column; }
.factory-contacts{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem;
  margin-top:1.15rem; padding-top:1rem; border-top:1px solid var(--border);
}
.factory-contact{
  position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:.14rem;
  min-width:0; padding:.72rem .78rem .72rem 2.25rem; border:1px solid var(--border);
  border-radius:var(--radius-sm); background:linear-gradient(145deg,var(--cream) 0%,var(--white) 100%);
  color:var(--graphite-900); transition:transform var(--dur-fast) var(--ease),border-color var(--dur-fast),box-shadow var(--dur-fast),background-color var(--dur-fast);
}
[dir="rtl"] .factory-contact{ padding:.72rem 2.25rem .72rem .78rem; }
.factory-contact::before{
  content:""; position:absolute; inset-inline-start:.72rem; top:50%; width:9px; height:9px;
  border:2px solid var(--maroon-800); border-radius:50%; transform:translateY(-50%);
  box-shadow:0 0 0 4px rgba(122,31,31,.08);
}
.factory-contact:hover,.factory-contact:focus-visible{
  transform:translateY(-2px); border-color:var(--bronze-400); background:var(--white);
  box-shadow:0 7px 18px rgba(29,25,21,.09); color:var(--maroon-900);
}
.factory-contact__name{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-family:var(--font-head); font-size:.78rem; font-weight:700; color:var(--text-muted); }
.factory-contact__number{ max-width:100%; font-family:var(--font-head); font-size:.88rem; font-weight:800; letter-spacing:.015em; color:var(--maroon-800); white-space:nowrap; }
.factory-contact--landline{
  grid-column:1 / -1; flex-direction:row; align-items:center; justify-content:space-between;
  background:linear-gradient(135deg,var(--bronze-100),var(--cream));
}
@media (max-width:1120px) and (min-width:621px){
  .factory-contacts{ grid-template-columns:1fr; }
}
@media (max-width:420px){
  .factory-contacts{ grid-template-columns:1fr; }
  .factory-contact{ min-height:54px; justify-content:center; }
}

/* ---------- Product category cards ---------- */
.cat-card{
  display:flex; flex-direction:column; background:var(--white); border-radius:var(--radius-md);
  overflow:hidden; border:1px solid var(--border); transition:transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
  height:100%;
}
.cat-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.cat-card__top{
  padding:1.8rem 1.6rem 1.4rem; background:linear-gradient(150deg, var(--graphite-600) 0%, var(--graphite-800) 55%, var(--maroon-900) 130%);
  position:relative; overflow:hidden;
}
.cat-card__top::after{ content:""; position:absolute; inset-inline-end:-30px; top:-30px; width:110px; height:110px; border-radius:50%; background:radial-gradient(circle, var(--maroon-700) 0%, var(--maroon-900) 100%); opacity:.55; }
.cat-card__top svg{ width:36px; height:36px; color:var(--bronze-300); position:relative; z-index:1; }
.cat-card__top h3{ color:var(--white); font-size:1.05rem; margin:.9rem 0 0; position:relative; z-index:1; }
.cat-card__body{ padding:1.3rem 1.6rem 1.6rem; display:flex; flex-direction:column; gap:.9rem; flex:1; }
.cat-card__body p{ font-size:.88rem; color:var(--text-muted); margin:0; flex:1; }
.cat-card__link{ font-family:var(--font-head); font-weight:700; font-size:.85rem; color:var(--maroon-800); display:inline-flex; align-items:center; gap:.4em; }
.cat-card__link svg{ width:14px; height:14px; transition:transform var(--dur-fast); }
.cat-card:hover .cat-card__link svg{ transform:translateX(4px); }
[dir="rtl"] .cat-card:hover .cat-card__link svg{ transform:translateX(-4px); }

/* ---------- Stats counters ---------- */
.stats-band{ background:var(--grad-maroon-rich); color:var(--white); position:relative; overflow:hidden; }
.stats-band::before{ content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(0,0,0,.18),transparent 60%); }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; position:relative; z-index:1; }
.stats-grid > *{ min-width:0; }
.stat{ text-align:center; padding-inline:.5rem; }
.stat strong{ display:block; font-family:var(--font-head); font-weight:800; font-size:clamp(1.9rem,3.4vw,2.6rem); color:var(--white); }
.stat span{ display:block; font-size:.84rem; color:var(--bronze-100); margin-top:.3rem; }
@media (max-width:760px){ .stats-grid{ grid-template-columns:repeat(2,1fr); row-gap:2rem; } }

/* ---------- Section divider w/ diagonal ---------- */
.diagonal-cta{
  position:relative; overflow:hidden; background:#161310; color:var(--white);
}
.diagonal-cta::before{
  content:""; position:absolute; inset:0;
  background:
    radial-gradient(50% 140% at 8% 100%, rgba(180,42,42,.5) 0%, transparent 62%),
    radial-gradient(35% 90% at 30% 0%, rgba(203,169,119,.2) 0%, transparent 65%),
    linear-gradient(180deg, #1a1714 0%, #201c19 55%, #161310 100%);
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%);
}
.diagonal-cta .container{ position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; padding-block:2.8rem; }
.diagonal-cta h3{ color:var(--white); margin-bottom:.3rem; }
.diagonal-cta p{ color:var(--text-on-dark-muted); margin:0; }
.diagonal-cta__actions{ display:flex; gap:1rem; flex-wrap:wrap; }

/* ---------- Tabs (product filter) ---------- */
.filter-bar{
  display:flex; flex-wrap:wrap; gap:.9rem 1.6rem; align-items:flex-end; background:var(--white);
  border:1px solid var(--border); border-radius:var(--radius-md); padding:1.3rem 1.4rem; margin-bottom:2.2rem;
}
.filter-field{ display:flex; flex-direction:column; gap:.4rem; }
.filter-field label{ font-size:.78rem; font-weight:700; color:var(--text-muted); font-family:var(--font-head); }
.filter-field select,.filter-field input{
  border:1px solid var(--border); border-radius:var(--radius-sm); padding:.6em .8em; font-family:var(--font-body);
  background:var(--cream); color:var(--text); min-width:170px; font-size:.92rem;
}
.filter-count{ margin-inline-start:auto; font-size:.85rem; color:var(--text-muted); align-self:center; }
[dir="rtl"] .filter-count{ margin-inline-start:auto; }

.cat-pills{ display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:2.2rem; }
.cat-pill{
  padding:.55em 1.15em; border-radius:30px; border:1.5px solid var(--border); font-family:var(--font-head);
  font-weight:700; font-size:.85rem; color:var(--graphite-800); background:var(--white); transition:all var(--dur-fast);
}
.cat-pill:hover{ border-color:var(--maroon-800); }
.cat-pill.is-active{ background:var(--maroon-800); border-color:var(--maroon-800); color:#fff; }

/* ---------- Product spec blocks ---------- */
.product-block{
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md);
  margin-bottom:1.6rem; scroll-margin-top:110px; overflow:hidden;
}
.product-block__head{
  display:flex; align-items:center; gap:1rem; padding:1.4rem 1.6rem; background:var(--cream);
  border-bottom:1px solid var(--border); flex-wrap:wrap; justify-content:space-between;
}
.product-block__title{ display:flex; align-items:center; gap:.9rem; }
.product-block__title .icon-wrap{ width:44px; height:44px; border-radius:var(--radius-sm); background:var(--white); border:1px solid var(--border); display:flex; align-items:center; justify-content:center; flex:none; }
.product-block__title .icon-wrap svg{ width:22px; height:22px; color:var(--maroon-800); }
.product-block__title h3{ margin:0 0 .15rem; font-size:1.1rem; }
.product-block__title span{ font-size:.8rem; color:var(--text-muted); }
.product-block__body{ padding:1.5rem 1.6rem 1.8rem; }
.product-block__body > p{ color:var(--text-muted); font-size:.94rem; max-width:70ch; }

.spec-row{ display:flex; flex-wrap:wrap; gap:.6rem 2rem; margin-bottom:1.3rem; padding:.9rem 1.1rem; background:var(--cream); border-radius:var(--radius-sm); }
.spec-row div{ display:flex; flex-direction:column; gap:.15rem; }
.spec-row dt{ font-size:.74rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); font-weight:700; }
[lang="ar"] .spec-row dt{ letter-spacing:0; }
.spec-row dd{ margin:0; font-weight:700; font-family:var(--font-head); font-size:.92rem; color:var(--graphite-900); }

.size-tags{
  display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem .55rem;
  color:var(--graphite-800); line-height:1.9;
}
.size-tag{
  display:inline-flex; align-items:baseline; gap:.55rem;
  padding:0; border:0; border-radius:0; background:none;
  color:inherit; font-size:.88rem; font-weight:700; font-variant-numeric:tabular-nums;
}
.size-tag:not(:last-child)::after{
  content:"\2022"; color:var(--bronze-500); font-size:.72em; line-height:1;
}
.size-tag.is-hidden{ display:none; }

/* ---------- Product size tables ---------- */
.size-table-title{
  margin:0 0 .7rem; font-size:.92rem; color:var(--graphite-900);
}
.size-table-wrap{
  overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-sm);
  background:var(--white); box-shadow:0 4px 16px rgba(29,25,21,.045);
  scrollbar-width:thin; scrollbar-color:var(--bronze-400) var(--cream);
}
.size-table{
  width:100%; min-width:420px; border-collapse:separate; border-spacing:0; table-layout:fixed;
  font-variant-numeric:tabular-nums;
}
.size-table .size-tag{
  display:table-cell; padding:.78rem .85rem; text-align:center; white-space:nowrap;
  border-inline-end:1px solid var(--border); border-bottom:1px solid var(--border);
  color:var(--graphite-900); background:var(--white); font-family:var(--font-head);
  font-size:.86rem; font-weight:800; transition:background-color var(--dur-fast),color var(--dur-fast);
}
.size-table tr:nth-child(even) .size-tag{ background:var(--cream); }
.size-table tr:hover .size-tag{ background:var(--bronze-100); color:var(--maroon-900); }
.size-table tr:last-child .size-tag,.size-table tr:last-child .size-table__empty{ border-bottom:0; }
.size-table .size-tag:last-child,.size-table .size-table__empty:last-child{ border-inline-end:0; }
.size-table .size-tag::after{ content:none; }
.size-table .size-tag.is-hidden{ display:none; }
.size-table__empty{ border-inline-end:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--cream); }
@media (max-width:560px){
  .size-table-wrap{ margin-inline:-.15rem; }
  .size-table{ min-width:390px; }
  .size-table .size-tag{ padding:.72rem .62rem; font-size:.82rem; }
}

/* ---------- Sizing guide table ---------- */
.table-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius-md); }
table.data-table{ width:100%; border-collapse:collapse; min-width:520px; background:var(--white); }
table.data-table th,table.data-table td{ padding:.85em 1.1em; text-align:start; font-size:.92rem; border-bottom:1px solid var(--border); }
table.data-table thead th{ background:var(--graphite-900); color:var(--white); font-family:var(--font-head); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.04em; }
[lang="ar"] table.data-table thead th{ letter-spacing:0; }
table.data-table tbody tr:hover{ background:var(--cream); }
table.data-table tbody tr:last-child td{ border-bottom:none; }
table.data-table td strong{ font-family:var(--font-head); color:var(--maroon-800); }

/* ---------- Certifications ---------- */
.cert-card{
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md); padding:2rem 1.7rem;
  text-align:center; position:relative; overflow:hidden;
}
.cert-card .lattice{ position:absolute; inset:0; opacity:.05; }
.cert-badge{ width:84px; height:84px; margin-inline:auto 1.1rem; }
.cert-card__scan{
  display:block; position:relative; width:150px; margin:0 auto 1.2rem; border-radius:var(--radius-sm);
  overflow:hidden; box-shadow:var(--shadow-md); border:1px solid var(--border); transition:transform var(--dur) var(--ease);
}
.cert-card__scan:hover{ transform:translateY(-3px) scale(1.02); }
.cert-card__scan img{ width:100%; height:auto; display:block; }
.cert-card__zoom{
  position:absolute; bottom:.5rem; inset-inline-end:.5rem; width:26px; height:26px; border-radius:50%;
  background:rgba(34,31,30,.72); backdrop-filter:blur(3px); color:#fff; display:flex; align-items:center; justify-content:center;
}
.cert-card h3{ font-size:1.05rem; margin-bottom:.5rem; position:relative; }
.cert-card p{ font-size:.88rem; color:var(--text-muted); position:relative; margin:0; }

.award-card{
  display:flex; gap:1.6rem; background:linear-gradient(150deg, var(--graphite-600) 0%, var(--graphite-800) 55%, var(--maroon-900) 130%);
  color:var(--white); border-radius:var(--radius-lg); padding:2.2rem; align-items:center; position:relative; overflow:hidden;
}
.award-card::after{ content:""; position:absolute; inset-inline-end:-40px; bottom:-40px; width:180px; height:180px; border-radius:50%; background:radial-gradient(circle, var(--maroon-700) 0%, var(--maroon-900) 100%); opacity:.55; }
.award-card .badge-icon{ width:74px; height:74px; flex:none; color:var(--bronze-300); position:relative; z-index:1; }
.award-card__body{ position:relative; z-index:1; min-width:0; }
.award-card h3{ color:var(--white); margin-bottom:.4rem; }
.award-card p{ color:var(--text-on-dark-muted); margin:0; }
.award-card time{ display:inline-block; font-family:var(--font-head); font-weight:700; color:var(--bronze-300); font-size:.8rem; letter-spacing:.06em; margin-bottom:.5rem; }

.award-card--featured{ align-items:flex-start; gap:2.2rem; }
.award-card--featured .badge-icon{ width:110px; height:110px; }

@media (max-width:640px){
  .award-card{ flex-direction:column; align-items:flex-start; padding:1.8rem; gap:1.2rem; }
  .award-card--featured{ gap:1.2rem; }
  .award-card--featured .badge-icon{ width:64px; height:64px; }
}

/* ---------- Timeline (About) ---------- */
.timeline{ position:relative; padding-inline-start:2.4rem; }
[dir="rtl"] .timeline{ padding-inline-start:0; padding-inline-end:2.4rem; }
.timeline::before{ content:""; position:absolute; inset-inline-start:8px; top:6px; bottom:6px; width:2px; background:var(--border); }
[dir="rtl"] .timeline::before{ inset-inline-start:auto; inset-inline-end:8px; }
.timeline-item{ position:relative; padding-bottom:2.4rem; }
.timeline-item:last-child{ padding-bottom:0; }
.timeline-item::before{
  content:""; position:absolute; inset-inline-start:-2.4rem; top:2px; width:18px; height:18px; border-radius:50%;
  background:var(--maroon-800); border:3px solid var(--cream); box-shadow:0 0 0 2px var(--maroon-800);
}
[dir="rtl"] .timeline-item::before{ inset-inline-start:auto; inset-inline-end:-2.4rem; }
.timeline-item time{ font-family:var(--font-head); font-weight:800; color:var(--maroon-800); font-size:.95rem; }
.timeline-item h3{ font-size:1.02rem; margin:.25rem 0 .4rem; }
.timeline-item p{ font-size:.92rem; color:var(--text-muted); margin:0; max-width:60ch; }

/* ---------- CEO message ---------- */
.ceo-panel{ display:grid; grid-template-columns:.85fr 1.15fr; gap:2.6rem; align-items:center; background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.ceo-panel > *{ min-width:0; }
.ceo-panel__media{ background:linear-gradient(155deg, var(--graphite-700) 0%, var(--graphite-900) 45%, var(--maroon-900) 115%); min-height:100%; display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; perspective:900px; }
.ceo-panel__media svg{ width:64%; color:rgba(247,244,239,.9); }
.ceo-panel__media img{ display:block; }
.ceo-panel__mark{
  width:46%; height:auto;
  filter:drop-shadow(0 0 20px rgba(180,42,42,.45)) drop-shadow(0 0 38px rgba(203,169,119,.18));
  animation:brand-spin-flex 9s cubic-bezier(.45,.05,.55,.95) infinite;
}
.ceo-panel__logo{
  width:min(82%, 680px); height:auto; object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.28)) drop-shadow(0 0 20px rgba(180,42,42,.2));
}
@keyframes brand-spin-flex{
  0%{ transform:rotateY(0deg); }
  45%{ transform:rotateY(360deg); }
  100%{ transform:rotateY(360deg); }
}
.ceo-panel__body{ padding:2.4rem 2.6rem 2.4rem 1rem; }
[dir="rtl"] .ceo-panel__body{ padding:2.4rem 1rem 2.4rem 2.6rem; }
.ceo-panel__quote{ font-family:var(--font-head); font-weight:700; font-style:normal; font-size:1.24rem; line-height:1.6; color:var(--graphite-900); margin-bottom:1.3rem; }
.ceo-panel__name strong{ display:block; font-family:var(--font-head); font-size:1rem; }
.ceo-panel__name span{ font-size:.85rem; color:var(--text-muted); }
@media (max-width:820px){ .ceo-panel{ grid-template-columns:1fr; } .ceo-panel__media{ aspect-ratio:16/10; } .ceo-panel__logo{ width:84%; } .ceo-panel__body{ padding:1rem 1.6rem 2.2rem !important; } }

/* ---------- Values grid ---------- */
.value-item{ display:flex; gap:1rem; }
.value-item .icon-wrap{ width:46px; height:46px; border-radius:50%; background:var(--maroon-800); display:flex; align-items:center; justify-content:center; flex:none; }
.value-item .icon-wrap svg{ width:22px; height:22px; color:#fff; }
.value-item h3{ font-size:1rem; margin-bottom:.3rem; }
.value-item p{ font-size:.9rem; color:var(--text-muted); margin:0; }

/* ---------- Branch cards ---------- */
.branch-card{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-md); overflow:hidden; height:100%; display:flex; flex-direction:column; }
.branch-card__map{ aspect-ratio:16/10; background:var(--cream-dim); position:relative; }
.branch-card__map iframe{ width:100%; height:100%; border:0; display:block; filter:grayscale(.15) contrast(1.02); }
.branch-card__tag{ position:absolute; top:.9rem; inset-inline-start:.9rem; background:var(--maroon-800); color:#fff; font-family:var(--font-head); font-weight:700; font-size:.72rem; padding:.35em .8em; border-radius:20px; z-index:2; }
.branch-card__body{ padding:1.4rem 1.5rem 1.6rem; display:flex; flex-direction:column; gap:.9rem; flex:1; }
.branch-card__body h3{ font-size:1.02rem; margin:0; }
.branch-card__row{ display:flex; gap:.65em; align-items:flex-start; font-size:.88rem; color:var(--text-muted); }
.branch-card__row svg{ width:16px; height:16px; flex:none; margin-top:.2em; color:var(--maroon-800); }
.branch-card__phones ul{ display:grid; gap:.3rem; flex:1; }
.branch-card__phones a{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; color:var(--text-muted); }
.branch-card__phones a:hover{ color:var(--maroon-800); }
.branch-card__phones a span:last-child{ white-space:nowrap; font-weight:700; }
.branch-card__actions{ display:flex; gap:.6rem; margin-top:auto; flex-wrap:wrap; }

/* ---------- About: factory field gallery ---------- */
.about-field-section{ background:var(--grad-graphite-rich); overflow:hidden; }
.about-field-section::before{
  content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(203,169,119,.14);
  border-radius:50%; inset-inline-end:-130px; top:-180px; pointer-events:none;
}
.about-field-section .section-head{ position:relative; z-index:1; }
.about-field-section .eyebrow{ color:var(--bronze-300); }
.about-field-gallery{
  display:grid; grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);
  grid-template-rows:220px 220px; gap:1rem;
}
.about-field-gallery--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:clamp(300px,36vw,430px);
}
.about-field-gallery--two .about-field-card{ grid-row:auto; }
.about-field-card{
  position:relative; margin:0; min-height:0; overflow:hidden; border-radius:var(--radius-lg);
  border:1px solid rgba(247,244,239,.16); box-shadow:var(--shadow-lg); background:var(--graphite-800);
}
.about-field-card--main{ grid-row:1 / span 2; }
.about-field-card img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease); }
.about-field-card:hover img{ transform:scale(1.035); }
.about-field-card::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 46%, rgba(22,19,16,.88) 100%);
}
.about-field-card figcaption{
  position:absolute; z-index:1; inset-inline:1.2rem; bottom:1.05rem; display:flex; flex-direction:column; gap:.15rem;
}
.about-field-card figcaption strong{ color:var(--white); font-size:1rem; }
.about-field-card figcaption span{ color:var(--text-on-dark-muted); font-size:.82rem; }
@media (max-width:760px){
  .about-field-gallery{ grid-template-columns:1fr; grid-template-rows:auto; }
  .about-field-card,.about-field-card--main{ grid-row:auto; min-height:240px; }
  .about-field-card--main{ min-height:320px; }
}

/* ---------- News posts and galleries ---------- */
.news-feed-section{ overflow:hidden; }
.news-feed-heading{ max-width:760px; margin-inline:auto; }
.news-feed-heading > p:last-child{ color:var(--text-muted); max-width:62ch; margin-inline:auto; }
.news-feed{ display:grid; gap:clamp(2rem,5vw,4rem); }
.news-post{
  display:grid; grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr); min-width:0;
  background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:0 18px 50px rgba(42,34,30,.1);
}
.news-post > *{ min-width:0; }
.news-post--reverse .news-gallery{ order:2; }
.news-post--reverse .news-post__content{ order:1; }
.news-gallery{ min-height:100%; background:var(--graphite-900); }
.news-gallery__viewport{ position:relative; height:100%; min-height:430px; overflow:hidden; isolation:isolate; }
.news-gallery__track{
  display:flex; direction:ltr; width:100%; height:100%; min-height:inherit;
  transition:transform .65s cubic-bezier(.22,.61,.36,1); will-change:transform;
}
.news-gallery__slide{ position:relative; flex:0 0 100%; min-width:100%; min-height:inherit; margin:0; overflow:hidden; background:var(--graphite-800); }
.news-gallery__slide::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg,transparent 52%,rgba(18,15,13,.78) 100%);
}
.news-gallery__slide img{ width:100%; height:100%; min-height:inherit; object-fit:cover; display:block; transition:transform 1s var(--ease); }
.news-gallery__slide.is-active img{ transform:scale(1.018); }
.news-gallery__slide--brand{ background:radial-gradient(circle at 40% 38%,#55211e 0%,#211b18 64%,#151210 100%); }
.news-gallery__slide--brand img{ object-fit:contain; padding:clamp(2rem,6vw,5rem); }
.news-gallery__slide figcaption{
  position:absolute; z-index:2; inset-inline:1.25rem; bottom:1.25rem; padding-inline-end:7.5rem;
  color:var(--white); font-family:var(--font-head); font-weight:700; font-size:.92rem; text-shadow:0 2px 12px rgba(0,0,0,.55);
}
[dir="rtl"] .news-gallery__slide figcaption{ direction:rtl; text-align:right; }
.news-gallery__arrow{
  position:absolute; z-index:4; top:50%; transform:translateY(-50%); width:46px; height:46px;
  display:grid; place-items:center; border:1px solid rgba(255,255,255,.42); border-radius:50%;
  background:rgba(22,19,16,.64); color:#fff; backdrop-filter:blur(8px); cursor:pointer;
  transition:background var(--dur-fast),border-color var(--dur-fast),transform var(--dur-fast);
}
.news-gallery__arrow:hover{ background:var(--maroon-800); border-color:var(--maroon-800); transform:translateY(-50%) scale(1.06); }
.news-gallery__arrow:focus-visible{ outline:3px solid var(--bronze-300); outline-offset:3px; }
.news-gallery__arrow svg{ width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.news-gallery__arrow--prev{ left:1rem; }
.news-gallery__arrow--next{ right:1rem; }
.news-gallery__controls{
  position:absolute; z-index:4; inset-inline-end:1.1rem; bottom:1rem; display:flex; align-items:center; gap:.75rem;
  direction:ltr; color:#fff;
}
.news-gallery__dots{ display:flex; align-items:center; gap:.38rem; }
.news-gallery__dots button{
  width:9px; height:9px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.48); cursor:pointer;
  transition:width var(--dur-fast),background var(--dur-fast),transform var(--dur-fast);
}
.news-gallery__dots button:hover{ transform:scale(1.25); background:#fff; }
.news-gallery__dots button[aria-current="true"]{ width:25px; border-radius:10px; background:var(--bronze-300); }
.news-gallery__dots button:focus-visible{ outline:2px solid #fff; outline-offset:3px; }
.news-gallery__count{ min-width:48px; font-size:.78rem; font-weight:700; text-align:center; padding:.35rem .5rem; border-radius:4px; background:rgba(22,19,16,.64); backdrop-filter:blur(8px); }
.news-gallery__count b{ color:var(--bronze-300); }
.news-post__content{ position:relative; display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,4vw,3.4rem); }
.news-post__meta{ display:flex; align-items:center; flex-wrap:wrap; gap:.55rem 1rem; margin-bottom:1.1rem; color:var(--maroon-800); font-family:var(--font-head); font-weight:800; font-size:.78rem; letter-spacing:.035em; }
.news-post__meta > * + *{ position:relative; }
.news-post__meta > * + *::before{ content:""; display:inline-block; width:4px; height:4px; margin-inline-end:.7rem; border-radius:50%; background:var(--bronze-500); vertical-align:middle; }
.news-post__content h2{ font-size:clamp(1.45rem,2.4vw,2.15rem); line-height:1.35; margin-bottom:1.1rem; }
.news-post__content p{ margin:0; color:var(--text-muted); font-size:1rem; line-height:1.9; }
.news-post__accent{ width:74px; height:3px; margin-top:1.6rem; background:linear-gradient(90deg,var(--maroon-800),var(--bronze-300)); }
[dir="rtl"] .news-post__accent{ background:linear-gradient(270deg,var(--maroon-800),var(--bronze-300)); }
@media (max-width:900px){
  .news-post{ grid-template-columns:1fr; }
  .news-post--reverse .news-gallery,.news-post--reverse .news-post__content{ order:initial; }
  .news-gallery__viewport{ min-height:clamp(300px,60vw,500px); aspect-ratio:16/10; }
}
@media (max-width:560px){
  .news-feed{ gap:1.5rem; }
  .news-post{ border-radius:var(--radius-md); }
  .news-gallery__viewport{ min-height:265px; aspect-ratio:4/3; }
  .news-gallery__arrow{ width:42px; height:42px; }
  .news-gallery__arrow--prev{ left:.7rem; }
  .news-gallery__arrow--next{ right:.7rem; }
  .news-gallery__slide figcaption{ inset-inline:1rem; bottom:3.5rem; padding-inline-end:0; font-size:.82rem; }
  .news-gallery__controls{ inset-inline:1rem; justify-content:space-between; }
  .news-post__content{ padding:1.7rem 1.35rem 2rem; }
  .news-post__content h2{ font-size:1.35rem; }
  .news-post__content p{ font-size:.94rem; line-height:1.8; }
}
@media (prefers-reduced-motion:reduce){
  .news-gallery__track,.news-gallery__slide img{ transition:none; }
}

/* ---------- Forms ---------- */
.form-panel{ background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); padding:2.2rem; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.form-row > *{ min-width:0; }
.form-row.full{ grid-template-columns:1fr; }
.field{ display:flex; flex-direction:column; gap:.45rem; margin-bottom:1.2rem; }
.field label{ font-size:.85rem; font-weight:700; font-family:var(--font-head); color:var(--graphite-800); }
.field .req{ color:var(--maroon-800); }
.field input,.field select,.field textarea{
  border:1.5px solid var(--border); border-radius:var(--radius-sm); padding:.8em .95em; font-family:var(--font-body);
  font-size:.95rem; background:var(--cream); color:var(--text); transition:border-color var(--dur-fast);
}
.field input:focus,.field select:focus,.field textarea:focus{ border-color:var(--maroon-800); outline:none; }
.field textarea{ resize:vertical; min-height:120px; }
.field-note{ font-size:.78rem; color:var(--text-muted); }
.form-status{ margin-top:1rem; padding:.9em 1.1em; border-radius:var(--radius-sm); font-size:.9rem; display:none; }
.form-status.is-success{ display:block; background:#e7f4ea; color:#215732; border:1px solid #bfe3c8; }
.form-status.is-error{ display:block; background:#fbeaea; color:#7a1f1f; border:1px solid #f0c4c4; }
@media (max-width:640px){ .form-row{ grid-template-columns:1fr; } }

.contact-info-card{ background:var(--grad-graphite-rich); color:var(--white); border-radius:var(--radius-lg); padding:2.2rem; height:100%; position:relative; overflow:hidden; }
.contact-info-card::before{ content:""; position:absolute; inset:0; background:var(--grad-dark-sheen); pointer-events:none; }
.contact-info-card > *{ position:relative; z-index:1; }
.contact-info-card h3{ color:var(--white); }
.contact-info-card ul{ display:flex; flex-direction:column; gap:1.1rem; margin-top:1.4rem; }
.contact-info-card li{ display:flex; gap:.8em; align-items:flex-start; }
.contact-info-card li svg{ width:19px; height:19px; flex:none; margin-top:.15em; color:var(--bronze-300); }
.contact-info-card li a,.contact-info-card li span{ font-size:.92rem; color:var(--text-on-dark-muted); }
.contact-info-card li a:hover{ color:#fff; }
.contact-info-card .phones{ display:flex; flex-direction:column; gap:.3rem; }

/* ---------- Contact page 2-column layout (form + info card) ---------- */
.contact-grid{ display:grid; grid-template-columns:1.3fr .9fr; gap:2.4rem; align-items:flex-start; }
.contact-grid > *{ min-width:0; }
@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }

/* ---------- Sizing guide callout ---------- */
.callout{ display:flex; gap:1.1rem; background:var(--bronze-100); border-inline-start:4px solid var(--bronze-500); border-radius:var(--radius-sm); padding:1.3rem 1.5rem; }
[dir="rtl"] .callout{ border-inline-start:none; border-inline-end:4px solid var(--bronze-500); }
.callout svg{ width:22px; height:22px; color:var(--bronze-600); flex:none; margin-top:.15em; }
.callout p{ margin:0; font-size:.92rem; color:var(--graphite-800); }

/* ---------- Reveal-on-scroll ---------- */
.reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.reveal-stagger > *{ transition-delay:calc(var(--i,0) * 70ms); }

/* ---------- Placeholder note (for client-supplied assets) ---------- */
.client-note{ font-size:.78rem; color:var(--bronze-600); background:var(--bronze-100); display:inline-block; padding:.25em .7em; border-radius:4px; margin-inline-start:.5em; }

/* ---------- Real factory photography ---------- */
.photo-grid{ display:grid; gap:1.2rem; }
.photo-grid--split{ grid-template-columns:1.5fr 1fr; grid-template-rows:repeat(2,1fr); }
.photo-grid--split .photo-card:first-child{ grid-row:span 2; }
.photo-grid--3{ grid-template-columns:repeat(3,1fr); }
.photo-grid--4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.photo-grid--2{ grid-template-columns:repeat(2,1fr); }
.photo-grid > *{ min-width:0; }

.photo-card{
  position:relative; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-md);
  aspect-ratio:4/3; background:var(--graphite-800);
}
.photo-grid--split .photo-card:first-child{ aspect-ratio:auto; }
.photo-card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s var(--ease); }
.photo-card:hover img{ transform:scale(1.05); }
.photo-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(20,18,16,.72) 0%, transparent 42%); pointer-events:none; }
.photo-card__caption{
  position:absolute; inset-inline:0; bottom:0; padding:1rem 1.2rem; color:#fff;
  font-size:.85rem; font-weight:700; font-family:var(--font-head); z-index:1; line-height:1.4;
}
.photo-card__caption span{ display:block; font-weight:500; font-size:.74rem; color:var(--bronze-300); font-family:var(--font-body); margin-top:.15rem; }

.photo-feature{ position:relative; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:16/10; }
.photo-feature img{ width:100%; height:100%; object-fit:cover; display:block; }
.photo-feature__badge{
  position:absolute; top:1.1rem; inset-inline-start:1.1rem; background:rgba(20,18,16,.72); backdrop-filter:blur(6px);
  color:#fff; font-family:var(--font-head); font-weight:700; font-size:.78rem; padding:.5em 1em; border-radius:20px;
  display:inline-flex; align-items:center; gap:.5em; border:1px solid rgba(255,255,255,.14);
}
.photo-feature__badge svg{ width:14px; height:14px; color:var(--bronze-300); }

@media (max-width:980px){
  .photo-grid--4{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .photo-grid--split{ grid-template-columns:1fr; grid-template-rows:none; }
  .photo-grid--split .photo-card:first-child{ grid-row:auto; aspect-ratio:4/3; }
  .photo-grid--3{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  .photo-grid--4{ grid-template-columns:1fr; }
  .photo-grid--2{ grid-template-columns:1fr; }
}
.to-top{ position:fixed; inset-inline-end:22px; bottom:92px; z-index:89; width:44px; height:44px; border-radius:50%; background:var(--graphite-900); color:#fff; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-md); opacity:0; visibility:hidden; transform:translateY(8px); transition:all var(--dur-fast); }
.to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top svg{ width:18px; height:18px; }
