/* 4.9.3. Only these three Home widgets and their certificate dialog are styled. */
.gumi-home-refined {
  --gumi-content-width:1280px; --gumi-space-y:72px; --gumi-space-x:24px;
  --gumi-heading-size:42px; --gumi-grid-gap:16px;
  box-sizing:border-box; display:block; width:100%; height:auto; min-height:0;
  margin:0; padding:var(--gumi-space-y) var(--gumi-space-x);
  color:#f3f4f4; background:#0d1013;
}
.gumi-home-refined *, .gumi-cert-dialog * {box-sizing:border-box}
.gumi-home-refined .gumi-refined-inner {width:100%;max-width:var(--gumi-content-width);margin:0 auto;min-width:0}
.gumi-home-refined .gumi-refined-eyebrow {display:flex;align-items:center;gap:12px;margin:0 0 20px;color:#a7adb4;font-size:11px;font-weight:700;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.gumi-home-refined .gumi-refined-eyebrow::before {content:"";display:block;width:36px;height:2px;flex:0 0 36px;background:#d5202f}
.gumi-home-refined .gumi-refined-title {margin:0;color:#f3f4f4;font-size:var(--gumi-heading-size);font-weight:700;line-height:1.15;letter-spacing:-.02em;text-transform:uppercase;white-space:pre-line;text-wrap:balance;word-break:normal}
.gumi-home-refined .gumi-refined-description {margin:0;color:#a7adb4;font-size:16px;line-height:1.6;max-width:760px}
/* Production. Natural 4:3 small cells set both row heights. */
.gumi-home-production .gumi-production-intro {display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0 64px;align-items:end;margin:0 0 36px}
.gumi-home-production .gumi-production-intro .gumi-refined-eyebrow {grid-column:1/-1}
.gumi-home-production .gumi-process-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gumi-grid-gap);align-items:stretch}
.gumi-home-production .gumi-process-card {display:block;position:relative;min-width:0;min-height:0;height:auto;aspect-ratio:4/3;overflow:hidden;border:0;border-radius:0;margin:0;padding:0;background:#151719;text-decoration:none}
.gumi-home-production .gumi-process-card-1 {grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.gumi-home-production .gumi-process-card>img {position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;object-fit:cover;object-position:50% 50%;border-radius:0}
.gumi-home-production .gumi-process-card-1>img {object-position:var(--gumi-photo-1-x,50%) var(--gumi-photo-1-y,55%)}
.gumi-home-production .gumi-process-card-2>img {object-position:var(--gumi-photo-2-x,50%) var(--gumi-photo-2-y,50%)}
.gumi-home-production .gumi-process-card-3>img {object-position:var(--gumi-photo-3-x,50%) var(--gumi-photo-3-y,50%)}
.gumi-home-production .gumi-process-card-4>img {object-position:var(--gumi-photo-4-x,50%) var(--gumi-photo-4-y,50%)}
.gumi-home-production .gumi-process-card-5>img {object-position:var(--gumi-photo-5-x,50%) var(--gumi-photo-5-y,25%)}
.gumi-home-production .gumi-process-card::after {content:"";position:absolute;inset:65% 0 0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.82));pointer-events:none}
.gumi-home-production .gumi-process-card>span {position:absolute;z-index:1;left:20px;right:16px;bottom:20px;color:#fff;font-size:14px;font-weight:600;line-height:1.35;letter-spacing:.01em}
.gumi-home-refined a:focus-visible {outline:2px solid #ee2a3a;outline-offset:4px}
.gumi-home-production .gumi-process-card:focus-visible {outline-offset:-3px}
/* Certificates. No shared legacy certificate-grid or figure height rules. */
.gumi-home-certifications {--gumi-heading-size:38px;background:#101214}
.gumi-home-certifications .gumi-cert-layout {display:grid;grid-template-columns:minmax(0,.28fr) minmax(0,.72fr);gap:40px;align-items:center}
.gumi-home-certifications .gumi-cert-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gumi-grid-gap);min-width:0}
.gumi-home-certifications .gumi-cert-card {display:flex;flex-direction:column;margin:0;padding:0;min-width:0;height:auto;min-height:0;background:#f0f0ed;border:1px solid #d9d9d5;border-radius:0;overflow:hidden}
.gumi-home-certifications .gumi-cert-preview {position:relative;display:block;width:100%;height:auto;aspect-ratio:3/4;padding:12px;color:#151719;text-decoration:none}
.gumi-home-certifications .gumi-cert-preview img {position:absolute;inset:12px;display:block;width:calc(100% - 24px);height:calc(100% - 24px);max-height:none;max-width:100%;object-fit:contain;object-position:center;margin:0;padding:0;border-radius:0}
.gumi-home-certifications .gumi-cert-zoom {position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #ccc;background:rgba(255,255,255,.94);font:18px/1 sans-serif;color:#303438}
.gumi-home-certifications .gumi-cert-card figcaption {display:flex;align-items:center;justify-content:center;height:54px;padding:6px 8px;margin:0;border-top:1px solid #deded9;color:#151719;font-size:13px;font-weight:700;line-height:1.25;letter-spacing:.025em;text-align:center;white-space:pre-line}
/* Supply capabilities have a shared top edge and no directional connectors. */
.gumi-home-supply {--gumi-grid-gap:20px;background:#0b0d10}
.gumi-home-supply .gumi-supply-intro .gumi-refined-title {margin-bottom:16px}
.gumi-home-supply .gumi-supply-cards {display:grid;grid-template-columns:repeat(var(--gumi-supply-columns,4),minmax(0,1fr));gap:var(--gumi-grid-gap);margin-top:32px}
.gumi-home-supply .gumi-supply-card {display:flex;flex-direction:column;align-items:flex-start;padding:24px;border:1px solid rgba(255,255,255,.10);background:#151719;border-radius:0;min-width:0;margin:0}
.gumi-home-supply .gumi-supply-card svg {display:block;flex:none;color:#dc3a45;width:32px;height:32px;margin-bottom:20px}
.gumi-home-supply .gumi-supply-card h3 {margin:0;color:#f3f4f4;font-size:18px;font-weight:600;line-height:1.4;letter-spacing:0;min-height:2.8em;max-width:210px}
.gumi-home-supply .gumi-supply-cta {display:inline-flex;width:auto;max-width:100%;align-items:center;gap:24px;min-height:48px;margin-top:28px;padding:12px 22px;border:1px solid #d5202f;border-radius:0;background:#bc1b28;color:#fff;font-size:12px;font-weight:700;line-height:22px;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.gumi-home-supply .gumi-supply-cta:hover {background:#d5202f}
/* Native dialog supplies modality, keyboard focus containment and Escape. */
.gumi-cert-dialog {position:fixed;inset:0;width:fit-content;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid #555;border-radius:0;background:#151719;color:#fff;overflow:auto}
.gumi-cert-dialog::backdrop {background:rgba(0,0,0,.88)}
.gumi-cert-dialog .gumi-cert-dialog-bar {display:flex;gap:24px;justify-content:space-between;align-items:center;padding:10px 12px}
.gumi-cert-dialog .gumi-cert-dialog-caption {margin:0;font:600 13px/1.4 sans-serif;letter-spacing:.04em}
.gumi-cert-dialog .gumi-cert-dialog-close {display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #555;background:#24272a;color:#fff;font:26px/1 sans-serif;cursor:pointer}
.gumi-cert-dialog .gumi-cert-dialog-image {display:block;margin:0 auto;width:auto;height:auto;max-width:calc(100vw - 58px);max-height:calc(100dvh - 124px);object-fit:contain;background:#f0f0ed}
.gumi-cert-dialog .gumi-cert-original {display:block;padding:10px 16px;color:#fff;font:13px/1.4 sans-serif;text-align:center;text-decoration:underline}
@media(max-width:1199px) {
  .gumi-home-refined {--gumi-heading-size:40px}
  .gumi-home-certifications {--gumi-heading-size:38px}
  .gumi-home-certifications .gumi-cert-layout {grid-template-columns:1fr;gap:32px}
  .gumi-home-production .gumi-production-intro {grid-template-columns:1fr;gap:0}
  .gumi-home-production .gumi-production-intro .gumi-refined-description {margin-top:18px}
  .gumi-home-production .gumi-process-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .gumi-home-production .gumi-process-card-1 {grid-column:1/-1;grid-row:auto;aspect-ratio:16/9}
  .gumi-home-supply {--gumi-supply-columns:2}
}
@media(max-width:767px) {
  .gumi-home-refined {--gumi-space-y:44px;--gumi-space-x:20px;--gumi-heading-size:30px;--gumi-grid-gap:16px}
  .gumi-home-refined .gumi-refined-eyebrow {font-size:10px;margin-bottom:16px;letter-spacing:.11em}
  .gumi-home-production .gumi-production-intro {margin-bottom:32px}
  .gumi-home-production .gumi-process-grid {grid-template-columns:1fr}
  .gumi-home-production .gumi-process-card,.gumi-home-production .gumi-process-card-1 {grid-column:auto;grid-row:auto;aspect-ratio:4/3}
  .gumi-home-production .gumi-process-card>span {left:20px;bottom:20px}
  .gumi-home-certifications .gumi-cert-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .gumi-home-certifications .gumi-cert-card figcaption {font-size:13px}
  .gumi-home-supply {--gumi-supply-columns:1}
  .gumi-home-supply .gumi-supply-card h3 {min-height:0;max-width:none}
  .gumi-home-supply .gumi-supply-card svg {margin-bottom:16px}
}
