/* Factory cards use the same full-image visual language as Project. */
.factory-section{padding:28px 5vw 70px;border-top:1px solid var(--line,#d8d4ca);background:var(--paper)}
.factory-section-title{margin:0 0 14px;font-size:clamp(18px,1.45vw,22px);font-weight:500;line-height:1;letter-spacing:.01em;text-transform:uppercase}
.factory-capability-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}
.factory-capability-card{position:relative;display:block;min-width:0;height:clamp(310px,28vw,435px);overflow:hidden;background:#dfe2da;color:#fff;text-decoration:none}
.factory-capability-card:focus-visible{outline:2px solid var(--gold,#ad7b27);outline-offset:-2px}
.factory-capability-media{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#dfe2da}
.factory-capability-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.factory-capability-card:hover .factory-capability-media img{transform:scale(1.025)}
.factory-capability-placeholder{color:#8f918b;font-size:clamp(44px,7vw,92px);font-weight:500;letter-spacing:.02em}
.factory-capability-copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:22px 20px;background:linear-gradient(to bottom,rgba(10,10,8,.05) 30%,rgba(10,10,8,.84) 100%)}
.factory-capability-copy .eyebrow{margin:0;color:#e6c98f;font-size:9px;font-weight:600;letter-spacing:.14em}
.factory-capability-copy h3{margin:6px 0 0;font-size:clamp(20px,1.7vw,26px);font-weight:400;line-height:1.08}
@media(max-width:900px) and (min-width:701px){
  .factory-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .factory-section{padding:22px 16px 48px}
  .factory-section-title{margin-bottom:10px;font-size:18px}
  .factory-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
  .factory-capability-card{height:auto;aspect-ratio:4/5}
  .factory-capability-copy{padding:13px 12px}
  .factory-capability-copy .eyebrow{font-size:7px;letter-spacing:.1em}
  .factory-capability-copy h3{margin-top:4px;font-size:clamp(15px,4.3vw,19px);line-height:1.08}
}
@media(hover:none),(pointer:coarse){.factory-capability-card:hover .factory-capability-media img{transform:none}}

/* Product Designer hero follows the selected global theme without changing its layout. */
.designer-collection-hero{
  background:var(--theme-background,var(--paper,#E8EBE4))!important;
  color:var(--theme-text,#292B28)!important;
  border-top:1px solid rgba(32,33,29,.22);
  border-bottom:1px solid rgba(32,33,29,.22)
}
.designer-collection-hero::before{
  background:var(--theme-background,var(--paper,#E8EBE4))!important
}
.designer-collection-hero .designer-collection-hero-copy h1,
.designer-collection-hero .designer-collection-hero-copy p,
.designer-collection-hero .designer-collection-hero-copy h2,
.designer-collection-hero .designer-collection-hero-copy div,
.designer-collection-hero .designer-hero-designer,
.designer-collection-hero .designer-hero-designer p,
.designer-collection-hero .designer-hero-designer strong,
.designer-collection-hero .designer-hero-designer span,
.designer-collection-hero .designer-hero-designer small,
.designer-collection-hero .designer-hero-product-copy,
.designer-collection-hero .designer-hero-product-copy a,
.designer-collection-hero .designer-hero-product-copy b{
  color:var(--theme-text,#292B28)!important
}

/* Taller desktop header; keep tablet/mobile unchanged. */
@media(min-width:901px){
  .site-header{height:116px}
  .search-panel{top:116px}
  .product-info{top:116px;min-height:calc(100vh - 116px)}
  .product-placeholder{height:calc(100vh - 116px)}
}
