/* =====================================================================
   ABOUT PAGE STYLES (/about/)
   Page-specific styles, built on the shared flasher-v2.css design system
   and tokens. Load AFTER flasher-v2.css.
   ===================================================================== */

/* ---- company story ---- */
.ab-story{background:var(--black);padding:96px 0 90px;}
.ab-story__head{max-width:900px;margin:0 0 40px;}
.ab-story__lead{
  font-family:'Inter',sans-serif;font-weight:900;color:#fff;text-transform:uppercase;
  font-size:clamp(28px,3.6vw,52px);line-height:1.05;letter-spacing:-1px;margin:0;
}
.ab-story__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 60px;}
.ab-story__grid p{
  font-family:'IBM Plex Mono','Courier New',monospace;font-weight:400;color:#fff;
  font-size:clamp(16px,1.4vw,19px);line-height:1.5;margin:0;
}
.ab-story__grid p .hl{color:var(--yellow);}
@media (max-width:860px){
  .ab-story__grid{grid-template-columns:1fr;gap:20px;}
}

/* ---- core values ---- */
.ab-values{background:var(--black);padding:0 0 110px;}
.ab-values__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.val-card{
  position:relative;background:var(--panel);border:1px solid var(--line);
  padding:34px 28px 30px;overflow:hidden;
  transition:border-color .25s,transform .25s,background .25s;
}
.val-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--red);transform:scaleX(0);transform-origin:left;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.val-card:hover{border-color:rgba(255,203,5,.5);transform:translateY(-6px);background:#191b1e;}
.val-card:hover::before{transform:scaleX(1);}
.val-card__icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;margin-bottom:20px;color:var(--yellow);
  background:rgba(255,203,5,.1);border:1px solid rgba(255,203,5,.3);border-radius:4px;
}
.val-card__icon svg{width:28px;height:28px;}
.val-card:hover .val-card__icon{background:var(--yellow);color:#000;border-color:var(--yellow);}
.val-card__title{
  font-family:'Inter',sans-serif;font-weight:900;color:#fff;text-transform:uppercase;
  font-size:clamp(19px,1.5vw,23px);line-height:1.1;letter-spacing:-.4px;margin:0 0 12px;
}
.val-card__desc{
  font-family:'IBM Plex Mono','Courier New',monospace;font-weight:400;color:var(--gray);
  font-size:16px;line-height:1.45;margin:0;
}
@media (max-width:1000px){.ab-values__grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.ab-values__grid{grid-template-columns:1fr;}}

/* ---- photos (facility + team) ---- */
.ab-photos{background:var(--black);padding:0 0 110px;}
.ab-photos__grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
.ab-photo{position:relative;overflow:hidden;border:1px solid var(--line);background:#111;}
.ab-photo img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4 / 3;}
.ab-photo__caption{
  position:absolute;left:0;bottom:0;z-index:2;
  background:rgba(0,0,0,.65);color:#fff;
  font-family:'IBM Plex Mono','Courier New',monospace;text-transform:uppercase;
  font-size:13px;letter-spacing:1.5px;padding:8px 14px;
}
@media (max-width:860px){.ab-photos__grid{grid-template-columns:1fr;}}

/* ---- facebook feed ---- */
.ab-social{background:var(--black-2);padding:96px 0 110px;border-top:1px solid var(--line);}
.ab-social__head{text-align:center;margin:0 0 44px;}
.ab-social__title{
  font-family:'Inter',sans-serif;font-weight:900;color:#fff;text-transform:uppercase;
  font-size:clamp(30px,4vw,56px);line-height:1;letter-spacing:-1px;margin:0;
}
/* placeholder frame until the Smash Balloon / FB widget is embedded */
.ab-social__embed{
  max-width:680px;margin:0 auto;min-height:340px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px dashed var(--line);background:#111;padding:40px 24px;
}
.ab-social__embed p{
  font-family:'IBM Plex Mono','Courier New',monospace;color:var(--gray-dim);
  font-size:15px;line-height:1.5;margin:0;max-width:420px;
}
