/* Nobal Sanat — coded footer. Scoped under .nsc-ft. v1.0.0
   Same drafting language as the header: dark ground, faint blueprint grid,
   a ruler strip along the top edge, yellow mono column titles. */

.nsc-ft{
  --f-bg:#0E1115; --f-bg2:#141820; --f-line:#E7ECF2; --f-hud:#A9B4C0;
  --f-dim:#6A7581; --f-rule:#222831; --f-acc:#FFC61E;

  position:relative;
  background:var(--f-bg);
  color:var(--f-hud);
  font-family:"Vazirmatn","IRANSans",Tahoma,sans-serif;
  font-size:13.5px;
  line-height:2;
  border-top:1px solid var(--f-rule);
}
.nsc-ft[data-lang="en"]{ font-family:"IBM Plex Sans",system-ui,sans-serif; }
.nsc-ft *,.nsc-ft *::before,.nsc-ft *::after{ box-sizing:border-box; }
.nsc-ft ul{ list-style:none; margin:0; padding:0; }
.nsc-ft a{ color:inherit; text-decoration:none; transition:color .18s ease; }
.nsc-ft p{ margin:0; }
.nsc-ft :focus-visible{ outline:2px solid var(--f-acc); outline-offset:3px; }

/* the blueprint grid, barely there */
.nsc-ft::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:
    linear-gradient(to right, rgba(231,236,242,.028) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(231,236,242,.028) 1px, transparent 1px);
  background-size:44px 44px;
}

/* ---------- the ruler strip ---------- */
.nsc-ft__tick{
  position:relative; z-index:1;
  height:11px;
  border-bottom:1px solid color-mix(in srgb, var(--f-acc) 34%, transparent);
  background-image:repeating-linear-gradient(
    to right,
    color-mix(in srgb, var(--f-acc) 52%, transparent) 0 1px,
    transparent 1px 13px);
  background-position:bottom;
  background-repeat:repeat-x;
  background-size:13px 6px;
  -webkit-mask-image:linear-gradient(to right, transparent, #000 18%, #000 82%, transparent);
  mask-image:linear-gradient(to right, transparent, #000 18%, #000 82%, transparent);
}
@supports not (background: color-mix(in srgb, red 50%, transparent)){
  .nsc-ft__tick{
    border-bottom-color:rgba(255,198,30,.34);
    background-image:repeating-linear-gradient(to right, rgba(255,198,30,.52) 0 1px, transparent 1px 13px);
  }
}

/* ---------- layout ---------- */
.nsc-ft__in{
  position:relative; z-index:1;
  max-width:1280px; margin-inline:auto;
  padding-inline:clamp(16px,4vw,48px);
}
.nsc-ft__grid{
  display:grid;
  grid-template-columns:1.6fr 1fr 1.25fr 1.15fr;
  gap:clamp(24px,4vw,56px);
  padding-block:clamp(36px,5vw,62px) clamp(28px,4vw,46px);
}

/* ---------- brand column ---------- */
.nsc-ft__logo{ display:inline-block; }
.nsc-ft__logo img{ height:66px; width:auto; display:block; }
.nsc-ft__about{
  margin-top:18px;
  max-width:44ch;
  color:var(--f-hud);
  line-height:2.1;
}

/* ---------- column titles ---------- */
.nsc-ft__title{
  margin:0 0 14px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--f-acc);
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,"Vazirmatn",monospace;
  text-transform:uppercase;
  display:flex; align-items:center; gap:10px;
}
.nsc-ft__title::after{
  content:""; flex:1 1 auto; height:1px;
  background:linear-gradient(to left, transparent, var(--f-rule));
}
.nsc-ft[data-lang="en"] .nsc-ft__title::after{
  background:linear-gradient(to right, transparent, var(--f-rule));
}
.nsc-ft__title--s{ margin-top:26px; }

/* ---------- quick links ---------- */
.nsc-ft__links li + li{ margin-top:2px; }
.nsc-ft__links a{
  display:inline-flex; align-items:center; gap:8px;
  padding-block:2px;
}
.nsc-ft__links a::before{
  content:""; width:5px; height:5px; flex:none;
  border-inline-start:1px solid var(--f-dim);
  border-block-start:1px solid var(--f-dim);
  transform:rotate(-45deg);
  transition:border-color .18s ease, transform .18s ease;
}
.nsc-ft[data-lang="en"] .nsc-ft__links a::before{ transform:rotate(135deg); }
.nsc-ft__links a:hover{ color:var(--f-line); }
.nsc-ft__links a:hover::before{ border-color:var(--f-acc); }

/* ---------- address + contact lines ---------- */
.nsc-ft__addr{
  display:flex; gap:9px; align-items:flex-start;
  line-height:2.05;
  color:var(--f-hud);
}
.nsc-ft__addr svg{ flex:none; margin-top:7px; color:var(--f-dim); }

.nsc-ft__line{
  display:flex; gap:9px; align-items:center;
  margin-top:10px;
}
.nsc-ft__line svg{ flex:none; color:var(--f-dim); transition:color .18s ease; }
.nsc-ft__line:hover{ color:var(--f-line); }
.nsc-ft__line:hover svg{ color:var(--f-acc); }

/* the phone number keeps its own script and its own order */
.nsc-ft__num{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum";
  font-weight:600;
  direction:ltr;
  unicode-bidi:isolate-override;
}
.nsc-ft[data-lang="en"] .nsc-ft__num{
  font-family:"IBM Plex Mono",ui-monospace,monospace;
  letter-spacing:.04em;
}

.nsc-ft__map{
  display:inline-flex; align-items:center; gap:7px;
  margin-top:14px;
  font-size:12.5px;
  color:var(--f-acc);
  border-bottom:1px solid color-mix(in srgb, var(--f-acc) 32%, transparent);
  padding-bottom:2px;
}
.nsc-ft__map:hover{ border-bottom-color:var(--f-acc); }
@supports not (background: color-mix(in srgb, red 50%, transparent)){
  .nsc-ft__map{ border-bottom-color:rgba(255,198,30,.32); }
}

/* ---------- social, as mono chips rather than brand marks ---------- */
.nsc-ft__social{ display:flex; flex-wrap:wrap; gap:7px; }
.nsc-ft__social a{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--f-rule);
  border-radius:2px;
  padding:5px 10px;
  font-size:10.5px;
  letter-spacing:.09em;
  font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  color:var(--f-hud);
  transition:border-color .18s ease, color .18s ease, background-color .18s ease;
}
.nsc-ft__social a svg{ opacity:.6; }
.nsc-ft__social a:hover{
  color:#141414;
  background:var(--f-acc);
  border-color:var(--f-acc);
}
.nsc-ft__social a:hover svg{ opacity:1; }

/* ---------- bottom bar ---------- */
.nsc-ft__bar{
  position:relative; z-index:1;
  border-top:1px solid var(--f-rule);
  background:var(--f-bg2);
}
.nsc-ft__barin{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px 26px; flex-wrap:wrap;
  padding-block:17px;
  font-size:12.5px;
  color:var(--f-dim);
}
.nsc-ft__copy{ min-width:0; }
.nsc-ft__by b{ color:var(--f-hud); font-weight:600; }
.nsc-ft__by a{
  color:var(--f-acc);
  border-bottom:1px solid transparent;
  font-weight:600;
}
.nsc-ft__by a:hover{ border-bottom-color:var(--f-acc); }

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nsc-ft__grid{ grid-template-columns:1.4fr 1fr 1.2fr; }
  .nsc-ft__brand{ grid-column:1 / -1; }
  .nsc-ft__about{ max-width:66ch; }
}
@media (max-width:820px){
  .nsc-ft__grid{ grid-template-columns:1fr 1fr; gap:28px 32px; }
}
@media (max-width:560px){
  .nsc-ft{ font-size:13px; }
  .nsc-ft__grid{ grid-template-columns:1fr; gap:26px; padding-block:32px 26px; }
  .nsc-ft__logo img{ height:56px; }
  .nsc-ft__barin{ justify-content:center; text-align:center; padding-block:15px; }
  .nsc-ft__copy, .nsc-ft__by{ flex:1 1 100%; }
}
