/* Bandar Abbas Oil Refinery - Smart Systems Portal. Tokens first, then layout. */
:root{
  --bg:#061225; --surface:#0D1C31; --surface-2:#112540; --line:rgba(148,178,220,.22);
  --text:#F3F7FF; --muted:#9FB3CC; --focus:#FFD166;
  --r-card:20px; --r-ctl:14px; --maxw:1200px; --pad:24px;
  --font:"Vazirmatn","IRANSansX","IRANSans","Segoe UI",Tahoma,"Noto Naskh Arabic",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.6;font-size:16px}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:var(--bg) url("../img/bg-refinery.webp") center 35%/cover no-repeat}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,18,37,.78) 0%,rgba(6,18,37,.72) 38%,rgba(6,18,37,.93) 100%)}
img{max-width:100%;display:block}
svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}
.skip{position:absolute;inset-inline-start:12px;top:-60px;background:var(--focus);color:#061225;padding:10px 16px;border-radius:10px;z-index:20;text-decoration:none;font-weight:700}
.skip:focus{top:12px}

/* header */
.top{border-bottom:1px solid var(--line);background:rgba(6,18,37,.55)}
.top__inner{max-width:var(--maxw);margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand__logo{width:48px;height:48px}
.brand__text{display:flex;flex-direction:column;line-height:1.35}
.brand__name{font-weight:800;font-size:20px}
.brand__sub{font-size:14px;color:var(--muted)}
.tools{display:flex;align-items:center;gap:16px}
.lang{display:flex;align-items:center;gap:8px;font-size:15px}
.lang__btn{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;min-height:44px;min-width:44px;padding:0 6px;border-bottom:2px solid transparent}
.lang__btn[aria-pressed="true"]{color:#5CC8FF;border-bottom-color:#5CC8FF;font-weight:700}
.lang__sep{color:var(--line)}
.signin{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:var(--r-ctl);text-decoration:none;background:rgba(13,28,49,.6);font-size:15px;transition:border-color .2s}
.signin:hover{border-color:#5CC8FF}

/* hero */
main{flex:1}
.hero{max-width:var(--maxw);margin:0 auto;padding:clamp(40px,7vw,88px) var(--pad) clamp(24px,3.5vw,40px);text-align:center}
.hero h1{margin:0 0 10px;font-size:clamp(30px,5vw,56px);line-height:1.25;font-weight:800;text-shadow:0 2px 24px rgba(0,0,0,.5)}
.hero__sub{margin:0;font-size:clamp(16px,2vw,22px);color:#C9D7EA}

/* cards */
.systems{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad) clamp(32px,5vw,56px);outline:none}
.state{text-align:center;color:var(--muted);margin:0 0 16px}
.state[hidden]{display:none}
.state--error{color:#FFB4A8}
.retry{margin-inline-start:12px;min-height:44px;padding:0 18px;border-radius:var(--r-ctl);border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;cursor:pointer}
.grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:24px}
.card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:var(--r-card);overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:border-color .2s,transform .2s,box-shadow .2s}
.card:hover,.card:focus-within{border-color:var(--accent);box-shadow:0 14px 36px rgba(0,0,0,.45),0 0 0 1px var(--accent) inset;transform:translateY(-2px)}
.card__img{aspect-ratio:2.45/1;width:100%;object-fit:cover;background:var(--surface-2)}
.card__body{flex:1;display:flex;flex-direction:column;align-items:stretch;padding:18px 20px 20px;background:linear-gradient(180deg,#0D1C31,#0A1729)}
.card__row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.card__text{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;flex:1}
.card__title{margin:0;font-size:22px;font-weight:800;line-height:1.4}
.card__desc{margin:0;color:var(--muted);font-size:15px}
.card__icon{flex:none;width:56px;height:56px;border-radius:14px;display:grid;place-items:center;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,#0A1729);border:1px solid color-mix(in srgb,var(--accent) 55%,transparent)}
.card__icon svg{width:28px;height:28px}
.card__go{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;min-width:168px;padding:0 20px;border-radius:12px;background:var(--btn);color:var(--on-btn);font-weight:800;font-size:16px;text-decoration:none}
.card__go svg{width:20px;height:20px;stroke-width:2.2}
.card__go::after{content:"";position:absolute;inset:0;border-radius:inherit}      /* whole card is the click target, one tab stop */
.card__go:focus-visible{outline-offset:-4px}
html[dir="rtl"] .card__go svg{transform:none}
html[dir="ltr"] .card__go svg{transform:scaleX(-1)}

/* footer */
.foot{border-top:1px solid var(--line);background:rgba(6,18,37,.75);text-align:center;padding:16px var(--pad);color:#B7C7DD;font-size:15px}
.noscript{text-align:center;color:#FFB4A8;padding:12px}

/* tablet / phone */
@media (max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media (max-width:640px){
  :root{--pad:16px}
  .top__inner{flex-wrap:wrap;row-gap:8px}
  .brand__logo{width:40px;height:40px}
  .brand__name{font-size:17px}
  .brand__sub{font-size:13px}
  .tools{gap:8px}
  .signin{padding:0 12px}
  .grid{grid-template-columns:1fr;gap:16px}
  .card__title{font-size:20px}
  .card__go{min-width:0;align-self:stretch}
}
@media (max-width:380px){.signin span{display:none}.signin{padding:0 12px}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.card:hover,.card:focus-within{transform:none}}
@media (prefers-reduced-transparency:reduce){.top,.foot,.signin{background:var(--surface)}}
