/* ============================================================
   LAYER 8 — layer8.agency
   Static. No dependencies. No third-party requests.
   ============================================================ */

@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-300.woff2)format("woff2");font-weight:300;font-display:swap;unicode-range:U+0600-06FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-400.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-500.woff2)format("woff2");font-weight:500;font-display:swap;unicode-range:U+0600-06FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-700.woff2)format("woff2");font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+200C-200F,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-lat-300.woff2)format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-lat-400.woff2)format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-lat-500.woff2)format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/vazirmatn-lat-700.woff2)format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/grotesk-300.woff2)format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/grotesk-400.woff2)format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/grotesk-500.woff2)format("woff2");font-weight:500;font-display:swap}

/* ---------- Tokens ---------- */
:root{
  --void:#050607;
  --ink:#070809;
  --panel:#0A0C0D;
  --cream:#F2F1ED;
  --grey:#8A8E90;
  --dim:#4E5254;
  --faint:#2A2E30;
  --hair:rgba(242,241,237,.09);
  --hair-2:rgba(242,241,237,.16);
  --live:#00C4A7;

  --fa:Vazirmatn,system-ui,sans-serif;
  --lat:"Space Grotesk",ui-monospace,monospace;

  --gut:clamp(20px,5vw,64px);
  --rhythm:clamp(92px,12vw,176px);
  --max:1280px;
  --prose:64ch;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  background:var(--void);color:var(--cream);
  font-family:var(--fa);font-weight:300;
  font-size:clamp(15px,.5vw + 13.6px,16.5px);
  line-height:2.05;overflow-x:clip;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--live);color:var(--void)}
:focus-visible{outline:1px solid var(--live);outline-offset:4px}

/* ---------- The field: fixed, behind everything, survives scroll ---------- */
#field{
  position:fixed;inset:0;z-index:0;
  pointer-events:none;
  opacity:1;
}
.veil{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(135% 85% at 50% 42%,transparent 0%,rgba(5,6,7,.14) 60%,rgba(5,6,7,.52) 100%);
}
.shell{position:relative;z-index:2}

/* ---------- Utilities ---------- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
.tag{
  font-family:var(--lat);font-size:10px;font-weight:400;
  letter-spacing:.32em;text-transform:uppercase;color:var(--dim);
  direction:ltr;unicode-bidi:isolate;display:flex;align-items:center;gap:14px;
}
.tag::after{content:"";flex:1;height:1px;background:var(--hair)}
.kicker{
  font-family:var(--fa);font-size:12.5px;font-weight:400;letter-spacing:0;
  color:var(--grey);display:flex;align-items:center;gap:16px;
}
.kicker::after{content:"";flex:1;height:1px;background:var(--hair)}
.skip{position:absolute;inset-inline-start:-9999px}
.skip:focus{inset-inline-start:var(--gut);top:12px;z-index:100;background:var(--cream);color:var(--void);padding:8px 16px}

/* ---------- Header ---------- */
.hdr{
  position:fixed;inset-block-start:0;inset-inline:0;z-index:50;
  backdrop-filter:blur(16px);
  background:rgba(5,6,7,.6);
  border-block-end:1px solid transparent;
  transition:border-color .45s ease,background .45s ease;
}
.hdr.is-stuck{border-block-end-color:var(--hair);background:rgba(5,6,7,.86)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:66px}
.brand{display:flex;align-items:center;gap:11px}
.brand svg{width:20px;height:20px;color:var(--cream)}
.brand__name{font-family:var(--lat);font-size:12.5px;letter-spacing:.24em;text-transform:uppercase;direction:ltr}
.nav{display:flex;gap:clamp(14px,1.8vw,30px)}
.nav a{font-size:13px;color:var(--grey);padding-block:6px;position:relative;transition:color .3s}
.nav a::after{content:"";position:absolute;inset-block-end:0;inset-inline-start:0;width:100%;height:1px;background:var(--live);transform:scaleX(0);transform-origin:inline-end;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.nav a:hover{color:var(--cream)}
.nav a:hover::after{transform:scaleX(1);transform-origin:inline-start}
@media (max-width:900px){.nav{display:none}}

/* ---------- Hero ---------- */
.hero{min-height:100svh;display:flex;align-items:center;padding-block:158px 60px;position:relative}
.hero__in{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}

.crest{position:relative;display:flex;flex-direction:column;align-items:center}
.crest__mark{
  width:clamp(96px,11.5vw,158px);height:auto;color:var(--cream);
  filter:drop-shadow(0 0 52px rgba(0,196,167,.3));
  position:relative;z-index:2;
}
.crest__ring{display:none;
  position:absolute;top:50%;left:50%;
  width:clamp(280px,36vw,460px);aspect-ratio:1;
  transform:translate(-50%,-50%);
  border:1px solid var(--hair);border-radius:50%;
  pointer-events:none;
}
.crest__ring::after{
  content:"";position:absolute;inset:11%;
  border:1px solid rgba(242,241,237,.045);border-radius:50%;
}
.crest__word{
  margin-block-start:34px;
  font-family:var(--lat);font-weight:300;
  font-size:clamp(26px,4.4vw,58px);
  letter-spacing:.42em;text-indent:.42em;
  direction:ltr;line-height:1;color:var(--cream);
}
.crest__name{
  margin-block-start:26px;
  font-size:clamp(17px,2.15vw,27px);font-weight:500;color:var(--cream);
  letter-spacing:.004em;line-height:1.6;
}
.crest__sub{
  margin-block-start:14px;font-size:13.5px;color:var(--grey);
  display:flex;align-items:center;gap:14px;justify-content:center;flex-wrap:wrap;
}
.crest__sub .dot{width:3px;height:3px;background:var(--live);border-radius:50%;flex:none}

.motto{
  margin-block-start:clamp(40px,5vw,64px);
  font-size:clamp(20px,2.5vw,33px);font-weight:300;
  line-height:1.66;letter-spacing:-.008em;
  max-width:31ch;text-wrap:balance;
}
.motto b{font-weight:500}
.motto .fade{color:var(--grey)}

.hero__foot{
  direction:ltr;
  margin-block-start:clamp(34px,4.2vw,58px);
  display:flex;gap:clamp(20px,4vw,52px);flex-wrap:wrap;justify-content:center;
  padding-block-start:26px;border-block-start:1px solid var(--hair);
  width:min(100%,760px);
}
.hero__foot span{
  font-family:var(--lat);font-size:10px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--dim);direction:ltr;
}
.scrollcue{
  margin-block-start:clamp(24px,3vw,40px);
  font-family:var(--lat);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--faint);
  direction:ltr;
}

@media (prefers-reduced-motion:no-preference){
  .crest__mark{animation:mark 1.5s cubic-bezier(.16,1,.3,1) backwards}
  .crest__ring{display:none;animation:ring 2.1s cubic-bezier(.16,1,.3,1) .25s backwards}
  .crest__word,.crest__name,.crest__sub,.motto,.hero__foot,.scrollcue{animation:rise 1s cubic-bezier(.2,.8,.2,1) backwards}
  .crest__word{animation-delay:.42s}
  .crest__name{animation-delay:.54s}
  .crest__sub{animation-delay:.66s}
  .motto{animation-delay:.8s}
  .hero__foot{animation-delay:.96s}
  .scrollcue{animation-delay:1.1s}
}
@keyframes mark{from{opacity:0;scale:.9;filter:blur(14px)}to{opacity:1;scale:1;filter:blur(0)}}
@keyframes ring{from{opacity:0;transform:translate(-50%,-50%) scale(.72)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- Sections ---------- */
.sec{padding-block:var(--rhythm);border-block-start:1px solid var(--hair);position:relative}
.sec--solid{background:rgba(7,8,9,.58);backdrop-filter:blur(5px)}
.sec__head{margin-block-end:clamp(40px,5vw,66px)}
.sec__head .tag,.sec__head .kicker{margin-block-end:24px}
h2{font-size:clamp(21px,2.5vw,32px);font-weight:300;line-height:1.55;max-width:24ch}
h2 b{font-weight:500}
.lede{margin-block-start:20px;color:var(--grey);max-width:var(--prose);font-size:15px}
.prose p{max-width:var(--prose);color:var(--grey);margin-block-end:1.3em}
.prose p:last-child{margin-block-end:0}
.prose strong{color:var(--cream);font-weight:400}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,88px);align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:44px}}

/* ---------- SIGNATURE: the probe stack ---------- */
.stackwrap{position:relative;min-width:0}
.stk{position:relative;border:1px solid var(--hair);background:rgba(8,10,11,.55)}
.stk__hd{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px clamp(14px,2vw,20px);border-block-end:1px solid var(--hair);
  font-family:var(--lat);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--dim);direction:ltr;
}
.stk__hd b{color:var(--live);font-weight:400}

.lyr{
  position:relative;display:grid;
  grid-template-columns:auto minmax(0,1fr) auto auto;
  align-items:center;gap:clamp(10px,1.6vw,20px);
  padding:clamp(11px,1.4vw,15px) clamp(14px,2vw,20px);
  border-block-end:1px solid var(--hair);
  transition:background .35s ease;
}
.lyr:last-child{border-block-end:0}
.lyr__no{font-family:var(--lat);font-size:11px;letter-spacing:.1em;color:var(--faint);direction:ltr;min-width:2.4ch}
.lyr__name{font-size:14px;color:var(--dim);white-space:nowrap;transition:color .35s ease}
.lyr__en{font-family:var(--lat);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);direction:ltr;text-align:left}
.lyr__st{
  font-size:11.5px;color:transparent;min-width:9.5ch;text-align:left;
  transition:color .3s ease;white-space:nowrap;
}
@media (max-width:640px){.lyr__en{display:none}}
@media (max-width:420px){.lyr{grid-template-columns:auto minmax(0,1fr) auto}.lyr__st{min-width:7ch;font-size:10.5px}}

/* probe passing through */
.lyr.is-probe{background:rgba(242,241,237,.05)}
.lyr.is-probe::before{
  content:"";position:absolute;inset-inline:0;inset-block-start:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--cream),transparent);
}
.lyr.is-probe .lyr__name{color:var(--cream)}

/* stopped at a technical layer */
.lyr.is-blocked .lyr__st{color:var(--dim)}
.lyr.is-blocked .lyr__no{color:var(--dim)}

/* the eighth: nothing stops it */
.lyr--human{border-block-end:1px solid var(--hair)}
.lyr--human .lyr__no{color:var(--live)}
.lyr--human .lyr__name{color:var(--cream);font-weight:500;font-size:clamp(15px,1.3vw,17.5px)}
.lyr--human .lyr__en{color:var(--live)}
.lyr--human.is-through{background:rgba(0,196,167,.055)}
.lyr--human.is-through .lyr__st{color:var(--live)}
.lyr--human.is-through::after{
  content:"";position:absolute;inset-inline-start:0;inset-block:0;width:2px;background:var(--live);
}
@media (prefers-reduced-motion:no-preference){
  .lyr--human.is-through .lyr__st{animation:blip 1.6s ease-in-out infinite}
}
@keyframes blip{0%,100%{opacity:1}50%{opacity:.4}}

.stk__foot{
  padding:clamp(14px,2vw,18px) clamp(14px,2vw,20px);
  border-block-start:1px solid var(--hair);
  font-size:12.5px;color:var(--dim);line-height:1.9;
}
.stk__foot b{color:var(--cream);font-weight:400}

/* ---------- THE OBSERVER ---------- */
.bigeye{
  position:fixed;inset:0;z-index:1;pointer-events:none;overflow:hidden;
  opacity:0;transition:opacity 1.8s ease;
}
.bigeye[data-on]{opacity:var(--eye-op,1)}
.bigeye svg{
  position:absolute;left:50%;top:var(--eye-y,50vh);
  width:min(1180px,104vw);height:auto;aspect-ratio:1000/340;
  transform:translate(-50%,-50%);
  overflow:visible;
}
@media (max-width:820px){.bigeye svg{width:150vw}}

.eg{transform-origin:center;transition:transform .13s ease}
.eg.shut{transform:scaleY(.05)}

.e-lidline{fill:none;stroke:rgba(242,241,237,.38);stroke-width:1.6}
.e-lidline2{fill:none;stroke:rgba(242,241,237,.15);stroke-width:1.1}
.e-sclera{fill:rgba(0,196,167,.04)}

.e-iris{fill:none;stroke:rgba(0,196,167,.6);stroke-width:1.6}
.e-iris2{fill:none;stroke:rgba(0,196,167,.26);stroke-width:1}
.e-spoke{stroke:rgba(0,196,167,.3);stroke-width:1.2}
.e-pupil{fill:rgba(5,6,7,.30);stroke:rgba(0,196,167,.55);stroke-width:1.6}
.eghost{opacity:0;transition:opacity .6s ease}
.eghost path{fill:rgba(0,196,167,.30)}

.er{opacity:0;transform-origin:center;transform:scale(1.35);
  transition:opacity .32s ease,transform .32s cubic-bezier(.2,.8,.2,1)}
.er path{fill:none;stroke:#FF3B30;stroke-width:1.6}
.er text{font-family:"Space Grotesk",monospace;font-size:12px;letter-spacing:.3em;fill:#FF3B30;opacity:.75}

/* target acquired */
.bigeye.is-lock .er{opacity:.7;transform:scale(1)}
.bigeye.is-lock .e-pupil{fill:rgba(255,59,48,.10);stroke:rgba(255,59,48,.6)}
.bigeye.is-lock .e-iris{stroke:rgba(255,59,48,.34)}
.bigeye.is-lock .eghost path{fill:rgba(255,59,48,.34)}
@media (prefers-reduced-motion:no-preference){
  .bigeye.is-lock .e-pupil{animation:lockpulse .85s ease-in-out infinite}
}
@keyframes lockpulse{0%,100%{stroke-opacity:.85}50%{stroke-opacity:.3}}

@media (prefers-reduced-motion:no-preference){
  .e-rot{animation:eyering 44s linear infinite;transform-origin:500px 170px}
}
@keyframes eyering{to{transform:rotate(360deg)}}

/* ---------- Findings (passive collection) ---------- */
.fnd{border:1px solid var(--hair-2);background:rgba(10,12,13,.78)}
.fnd__bar{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:15px clamp(18px,2.4vw,28px);border-block-end:1px solid var(--hair);
}
.fnd__id{font-family:var(--lat);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--dim);direction:ltr}
.fnd__live{display:flex;align-items:center;gap:9px;font-family:var(--lat);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--live);direction:ltr}
.fnd__pulse{width:6px;height:6px;border-radius:50%;background:var(--live);flex:none}
@media (prefers-reduced-motion:no-preference){.fnd__pulse{animation:pulse 1.8s ease-in-out infinite}}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);box-shadow:0 0 0 0 rgba(0,196,167,.45)}50%{opacity:.5;transform:scale(.7);box-shadow:0 0 0 7px rgba(0,196,167,0)}}
#findings{padding:clamp(4px,1vw,10px) clamp(18px,2.4vw,28px) clamp(10px,1.6vw,16px)}
.fgrp{
  opacity:0;transform:translateY(10px);
  transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);
}
.fgrp.in{opacity:1;transform:none}
.fgrp__h{
  display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;
  padding-block:clamp(20px,2.4vw,26px) 12px;
}
.fgrp:first-child .fgrp__h{padding-block-start:8px}
.fgrp__t{font-size:15px;color:var(--live);font-weight:400}
.fgrp__s{font-size:12.5px;color:var(--dim)}

.find{
  display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:6px clamp(12px,2.5vw,36px);
  align-items:baseline;padding-block:clamp(14px,1.8vw,19px);border-block-end:1px solid var(--hair);
  opacity:0;transform:translateY(10px);position:relative;
  transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);
}
.find__n{
  grid-column:2;font-size:12.5px;color:var(--dim);line-height:1.85;max-width:52ch;
}
.find--alert{background:rgba(255,59,48,.05)}
.find--alert::before{
  content:"";position:absolute;inset-inline-start:calc(-1 * clamp(18px,2.4vw,28px));
  inset-block:0;width:2px;background:#FF3B30;
}
.find__v.hot{color:#FF6B60}
@media (prefers-reduced-motion:no-preference){
  .find--alert .find__v.hot{animation:hotblip 1.9s ease-in-out infinite}
}
@keyframes hotblip{0%,100%{opacity:1}50%{opacity:.55}}
.find.in{opacity:1;transform:none}
.find:last-child{border-block-end:0}
.find__k{font-size:13.5px;color:var(--grey)}
.find__v{font-size:clamp(16px,1.8vw,21px);color:var(--cream);line-height:1.6;font-weight:400}
.find__v.mono{font-family:var(--lat);letter-spacing:.02em;direction:ltr;color:var(--live)}
@media (max-width:620px){.find{grid-template-columns:1fr;gap:5px}.find__n{grid-column:1}}

.verdict{
  padding:clamp(24px,3vw,34px) clamp(18px,2.4vw,28px);
  border-block-start:1px solid var(--live);background:rgba(0,196,167,.05);
  opacity:0;transition:opacity 1s ease;
}
.verdict.in{opacity:1}
.verdict p{font-size:clamp(16px,1.8vw,21px);color:var(--cream);line-height:1.8;max-width:50ch}
.verdict span{color:var(--live)}
.sig__note{margin-block-start:28px;color:var(--grey);font-size:14.5px;max-width:60ch;line-height:2}
.sig__note b{color:var(--cream);font-weight:400}

/* ---------- Rows (advisory) ---------- */
.rows{border-block-start:1px solid var(--hair)}
.row{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:clamp(18px,4vw,56px);
  align-items:baseline;padding-block:clamp(24px,3vw,34px);border-block-end:1px solid var(--hair);
  transition:background .45s ease;
}
.row:hover{background:rgba(242,241,237,.02)}
.row__t{font-size:clamp(16px,1.5vw,19px);font-weight:400;color:var(--cream);line-height:1.7}
.row__d{color:var(--grey);font-size:14.5px;line-height:1.95}
@media (max-width:760px){.row{grid-template-columns:1fr;gap:10px}}

/* ---------- Stages ---------- */
.stages{border-block-start:1px solid var(--hair)}
.stage{
  display:grid;grid-template-columns:auto minmax(0,.8fr) minmax(0,1.35fr);gap:clamp(16px,3vw,44px);
  align-items:baseline;padding-block:clamp(22px,2.8vw,32px);border-block-end:1px solid var(--hair);
}
.stage__n{font-family:var(--lat);font-size:12px;color:var(--faint);letter-spacing:.1em;direction:ltr;min-width:3ch}
.stage__t{font-size:clamp(16px,1.5vw,19px);font-weight:400;color:var(--cream);line-height:1.7}
.stage__d{color:var(--grey);font-size:14.5px;line-height:1.95}
@media (max-width:760px){.stage{grid-template-columns:auto 1fr;gap:6px 18px}.stage__d{grid-column:2}}
.mark{margin-block-start:clamp(40px,5vw,60px);padding:clamp(26px,3.4vw,38px);border:1px solid var(--hair);display:flex;gap:clamp(20px,3vw,34px);align-items:center;flex-wrap:wrap;background:rgba(10,12,13,.6)}
.mark svg{width:32px;height:32px;color:var(--live);flex:none}
.mark__b{flex:1;min-width:240px}
.mark__t{color:var(--cream);font-size:16.5px;margin-block-end:8px}
.mark__d{color:var(--grey);font-size:14.5px;line-height:1.9;max-width:52ch}

/* ---------- SIGNATURE: redacted capabilities ---------- */
.files{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.file{
  background:var(--panel);padding:clamp(24px,2.8vw,32px);
  position:relative;overflow:hidden;transition:background .5s ease;
}
.file:hover{background:#0D1011}
.file__top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-block-end:22px}
.file__code{font-family:var(--lat);font-size:10px;letter-spacing:.24em;color:var(--dim);direction:ltr}
.file__seal{
  font-family:var(--lat);font-size:8.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--live);border:1px solid rgba(0,196,167,.34);
  padding:3px 9px;direction:ltr;white-space:nowrap;
}
.redact{
  display:flex;align-items:center;gap:9px;margin-block-end:16px;
  font-family:var(--lat);direction:ltr;
}
.redact__b{
  height:15px;background:var(--faint);flex:none;position:relative;overflow:hidden;
}
.redact__b:nth-child(1){width:58px}
.redact__b:nth-child(2){width:34px}
.redact__b:nth-child(3){width:76px}
.redact__b::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(242,241,237,.13),transparent);
  transform:translateX(-100%);
}
@media (prefers-reduced-motion:no-preference){
  .file:hover .redact__b::after{animation:scanbar 1.5s ease-in-out infinite}
  .file:hover .redact__b:nth-child(2)::after{animation-delay:.18s}
  .file:hover .redact__b:nth-child(3)::after{animation-delay:.36s}
}
.file__t{color:var(--cream);font-size:17px;font-weight:400;line-height:1.6;margin-block-end:10px}
.file__d{color:var(--grey);font-size:14.5px;line-height:1.9;margin-block-end:22px}
.bars{display:flex;flex-direction:column;gap:8px;margin-block-end:20px}
.bar{height:9px;background:var(--faint);position:relative;overflow:hidden}
.bar::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(242,241,237,.10),transparent);
  transform:translateX(-100%);
}
@media (prefers-reduced-motion:no-preference){
  .file:hover .bar::after{animation:scanbar 1.4s ease-in-out infinite}
}
@keyframes scanbar{to{transform:translateX(100%)}}
.bar:nth-child(1){width:100%}
.bar:nth-child(2){width:86%}
.bar:nth-child(3){width:94%}
.bar:nth-child(4){width:62%}
.file__lock{
  display:flex;align-items:center;gap:10px;padding-block-start:18px;
  border-block-start:1px solid var(--hair);
  font-size:12.5px;color:var(--dim);
}
.file__lock i{width:4px;height:4px;background:var(--dim);border-radius:50%;flex:none}
.files__note{margin-block-start:clamp(30px,3.5vw,44px);color:var(--grey);font-size:14.5px;max-width:60ch;line-height:2}
.files__note b{color:var(--cream);font-weight:400}

/* ---------- Glossary ---------- */
.terms{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}
.term{background:var(--panel);padding:clamp(22px,2.6vw,30px)}
.term__t{color:var(--cream);font-size:15.5px;margin-block-end:4px}
.term__lat{font-family:var(--lat);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);direction:ltr;margin-block-end:13px}
.term__d{color:var(--grey);font-size:14.5px;line-height:1.9}

/* ---------- Principles ---------- */
.tenets{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(28px,4vw,56px)}
.tenet{padding-block-start:22px;border-block-start:1px solid var(--hair-2)}
.tenet__t{color:var(--cream);font-size:16.5px;margin-block-end:10px}
.tenet__d{color:var(--grey);font-size:14.5px;line-height:1.95}

/* ---------- Contact ---------- */
.clines{margin-block-start:clamp(34px,4vw,50px);border-block-start:1px solid var(--hair)}
.cline{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-block:21px;border-block-end:1px solid var(--hair)}
.cline__k{font-family:var(--lat);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--faint);direction:ltr}
.cline__v{font-family:var(--lat);font-size:clamp(14.5px,1.6vw,20px);color:var(--cream);direction:ltr;position:relative}
a.cline__v::after{content:"";position:absolute;inset-block-end:-3px;inset-inline:0;height:1px;background:var(--live);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
a.cline__v:hover::after{transform:scaleX(1)}
.doorbell{margin-block-start:26px;color:var(--faint);font-size:13px}

/* ---------- Footer ---------- */
.ftr{border-block-start:1px solid var(--hair);padding-block:40px;background:rgba(5,6,7,.9)}
.ftr__in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.ftr__l{display:flex;align-items:center;gap:11px;color:var(--faint)}
.ftr__l svg{width:15px;height:15px}
.ftr__t{font-family:var(--lat);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;direction:ltr}
.ftr__r{font-size:12.5px;color:var(--faint)}

/* ---------- Reveal ---------- */
@media (prefers-reduced-motion:no-preference){
  .js [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}
  .js [data-reveal].in{opacity:1;transform:none}
}

/* ---------- Section life ---------- */
.sec__head{position:relative}
.sec__no{
  position:absolute;inset-block-start:-6px;inset-inline-end:0;
  font-family:var(--lat);font-size:clamp(46px,7vw,92px);font-weight:300;
  color:rgba(242,241,237,.032);line-height:1;pointer-events:none;user-select:none;direction:ltr;
}
h2{position:relative}

/* rows */
.row{position:relative}
.row::before{
  content:"";position:absolute;inset-inline-start:0;inset-block:0;width:1px;
  background:var(--live);transform:scaleY(0);transform-origin:top;
  transition:transform .5s cubic-bezier(.2,.8,.2,1);
}
.row:hover::before{transform:scaleY(1)}
.row:hover .row__t{color:var(--live)}
.row__t{transition:color .4s ease}

/* stages */
.stage{position:relative;transition:background .4s ease}
.stage:hover{background:rgba(242,241,237,.022)}
.stage:hover .stage__n{color:var(--live)}
.stage__n{transition:color .4s ease}

/* capability + glossary cards: corner brackets on hover */
.file,.term{position:relative}
.file::before,.file::after,.term::before,.term::after{
  content:"";position:absolute;width:13px;height:13px;
  border:0 solid var(--live);opacity:0;transition:opacity .45s ease;
  pointer-events:none;
}
.file::before,.term::before{inset-block-start:9px;inset-inline-start:9px;border-top-width:1px;border-left-width:1px}
.file::after,.term::after{inset-block-end:9px;inset-inline-end:9px;border-bottom-width:1px;border-right-width:1px}
.file:hover::before,.file:hover::after,.term:hover::before,.term:hover::after{opacity:.75}
.term{transition:background .45s ease}
.term:hover{background:#0D1011}
.term:hover .term__lat{color:var(--live)}
.term__lat{transition:color .4s ease}

/* tenets */
.tenet{position:relative;transition:border-color .5s ease}
.tenet::after{
  content:"";position:absolute;inset-block-start:-1px;inset-inline-start:0;height:1px;width:100%;
  background:var(--live);transform:scaleX(0);transform-origin:inline-start;
  transition:transform .6s cubic-bezier(.2,.8,.2,1);
}
.tenet:hover::after{transform:scaleX(1)}

/* contact */
.cline{transition:padding-inline-start .45s ease}
.cline:hover{padding-inline-start:10px}

/* ---------- SIGNATURE: the seal ---------- */
.seal{
  margin-block-start:clamp(46px,5.5vw,72px);
  display:grid;grid-template-columns:auto minmax(0,1fr);
  gap:clamp(26px,4vw,52px);align-items:center;
  padding:clamp(30px,4vw,48px) clamp(24px,3.4vw,44px);
  border:1px solid var(--hair-2);background:rgba(10,12,13,.7);position:relative;overflow:hidden;
}
.seal::after{
  content:"";position:absolute;inset-block-start:0;inset-inline:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--live),transparent);
  opacity:.5;
}
.medal{position:relative;width:clamp(112px,13vw,150px);aspect-ratio:1;display:grid;place-items:center;flex:none}
.medal__rot{position:absolute;inset:0}
@media (prefers-reduced-motion:no-preference){.medal__rot{animation:eyering 26s linear infinite}}
.medal__rot text{
  font-family:var(--lat);font-size:8.2px;letter-spacing:.34em;
  fill:var(--dim);text-transform:uppercase;
}
.medal__ring{position:absolute;inset:13%;border:1px solid rgba(0,196,167,.26);border-radius:50%}
.medal__ring2{position:absolute;inset:19%;border:1px solid var(--hair);border-radius:50%}
.medal__mk{width:38%;height:auto;color:var(--live);position:relative;filter:drop-shadow(0 0 16px rgba(0,196,167,.4))}
@media (prefers-reduced-motion:no-preference){
  .medal__mk{animation:medalglow 3.6s ease-in-out infinite}
}
@keyframes medalglow{
  0%,100%{filter:drop-shadow(0 0 12px rgba(0,196,167,.28))}
  50%{filter:drop-shadow(0 0 26px rgba(0,196,167,.62))}
}
.seal__t{font-size:clamp(19px,2.2vw,27px);font-weight:400;color:var(--cream);margin-block-end:12px}
.seal__d{color:var(--grey);font-size:15px;line-height:1.95;max-width:50ch;margin-block-end:22px}
.seal__meta{display:flex;gap:clamp(16px,3vw,38px);flex-wrap:wrap;padding-block-start:18px;border-block-start:1px solid var(--hair)}
.seal__cell{min-width:0}
.seal__k{font-family:var(--lat);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint);direction:ltr;margin-block-end:6px}
.seal__v{font-family:var(--lat);font-size:13px;color:var(--live);direction:ltr}
@media (max-width:700px){.seal{grid-template-columns:1fr;justify-items:center;text-align:center}.seal__meta{justify-content:center}}

/* ---------- Bilingual labels: Persian leads, Latin subordinate ---------- */
.hero__foot{direction:rtl}
.hero__foot span{
  font-family:var(--fa);font-size:12.5px;letter-spacing:0;text-transform:none;
  color:var(--grey);display:flex;flex-direction:column;gap:5px;align-items:center;
}
.hero__foot em{
  font-family:var(--lat);font-style:normal;font-size:8.5px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--faint);direction:ltr;
}
.stk__hd{font-family:var(--fa);font-size:12px;letter-spacing:0;text-transform:none;direction:rtl}
.stk__hd em{
  font-family:var(--lat);font-style:normal;font-size:8.5px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--faint);margin-inline-start:9px;direction:ltr;
}
.fnd__id{font-family:var(--fa);font-size:12.5px;letter-spacing:0;text-transform:none;direction:rtl}
.fnd__live{font-family:var(--fa);font-size:12.5px;letter-spacing:0;text-transform:none;direction:rtl}
.file__seal{font-family:var(--fa);font-size:10.5px;letter-spacing:0;text-transform:none;direction:rtl;padding:3px 10px}
.cline__k{font-family:var(--fa);font-size:12px;letter-spacing:0;text-transform:none;direction:rtl}
.seal__k{font-family:var(--fa);font-size:11px;letter-spacing:0;text-transform:none;direction:rtl}
.seal__v{font-family:var(--fa);font-size:13.5px;direction:rtl}
.scrollcue{font-family:var(--fa);font-size:12px;letter-spacing:0;text-transform:none}
.er text{font-family:Vazirmatn,sans-serif;font-size:15px;letter-spacing:0}
.file__code{font-family:var(--fa);direction:rtl;font-size:11.5px;letter-spacing:0}
