/* Persian Tech Network: a top-down portrait of the room where ideas meet people. */
.ptn-community{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  min-height:620px;
  margin:3.25rem 0;
  overflow:hidden;
  border:1px solid #cfd6e1;
  border-radius:6px;
  background:#fff;
  box-shadow:0 25px 75px #0d1a2f17;
}

.ptn-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:3.25rem;background:linear-gradient(145deg,#fff,#f4f6fa)}
.ptn-heading-row{display:flex;align-items:center;gap:1.25rem;margin-bottom:2.35rem}
.ptn-logo-link{display:block;width:94px;height:94px;flex:none;overflow:hidden;border-radius:2px;box-shadow:0 12px 30px #11182718;transition:transform .25s ease,box-shadow .25s ease}
.ptn-logo-link:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 17px 36px #11182724}.ptn-logo-link:focus-visible{outline-color:#121212}
.ptn-logo-link img{width:100%;height:100%;object-fit:cover}
.ptn-heading-row p{display:flex;flex-direction:column;gap:.55rem;font-family:var(--mono);letter-spacing:.05em}
.ptn-heading-row p span{font-size:.67rem;color:#697485}.ptn-heading-row p strong{font-size:.78rem;font-weight:700;color:#1b2532}
.ptn-copy h3{font-size:clamp(2.7rem,3.65vw,3.85rem);font-weight:500;line-height:1.04;letter-spacing:-.065em;color:#121820}
.ptn-copy h3 em{font-family:var(--serif);font-weight:400;color:#465268}
.ptn-description{max-width:33rem;margin-top:1.65rem;font-size:1.0625rem;line-height:1.72;color:#354052}
.ptn-reflection{max-width:33rem;margin-top:1rem;font-size:.95rem;line-height:1.7;color:#667184}
.ptn-visit{align-self:flex-start;display:inline-flex;align-items:center;gap:1.4rem;margin-top:1.8rem;padding-bottom:.5rem;border-bottom:1px solid #1b2532;font-size:.9rem;font-weight:650;color:#1b2532}
.ptn-visit:hover{border-color:#244bdd;color:#244bdd}

.ptn-room{position:relative;isolation:isolate;min-width:0;min-height:620px;overflow:hidden;background:radial-gradient(circle at 50% 48%,#164c86 0%,#0b2a52 30%,#071a35 59%,#061224 100%);color:#fff}
.ptn-room::before{content:'';position:absolute;inset:0;z-index:-1;opacity:.22;background-image:linear-gradient(#d8edff1e 1px,transparent 1px),linear-gradient(90deg,#d8edff1e 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(circle at center,#000,transparent 75%)}
.ptn-room::after{content:'';position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(180deg,#020b19a1,transparent 21%,transparent 78%,#020b19d6),linear-gradient(90deg,#020b195e,transparent 18%,transparent 82%,#020b195e);box-shadow:inset 0 0 90px #0007}
.ptn-room-topline{position:absolute;z-index:7;top:1.35rem;left:1.5rem;right:1.5rem;display:flex;justify-content:space-between;gap:1rem;font:700 .68rem var(--mono);letter-spacing:.065em;color:#8faccc}
.ptn-live{display:flex;align-items:center;gap:.55rem;color:#d9eaff}.ptn-live i{width:7px;height:7px;border-radius:50%;background:#7effc6;box-shadow:0 0 13px #7effc6;animation:ptn-live-pulse 2s ease-in-out infinite}
.ptn-connections{position:absolute;z-index:1;inset:3.1rem 1.5rem 4.4rem;width:calc(100% - 3rem);height:calc(100% - 7.5rem);overflow:visible}
.ptn-connections path{fill:none;stroke:#8ecfff;stroke-width:1.25;stroke-dasharray:7 10;vector-effect:non-scaling-stroke;opacity:.64;animation:ptn-dash 18s linear infinite}
.ptn-connections circle{fill:none;stroke:#8ecfff;stroke-width:.8;stroke-dasharray:2 8;vector-effect:non-scaling-stroke;opacity:.24;transform-origin:center;animation:ptn-ring 9s ease-in-out infinite}
.ptn-connections circle+circle{animation-delay:-4.5s}
.ptn-room-core{position:absolute;z-index:3;left:50%;top:49%;display:flex;flex-direction:column;align-items:center;justify-content:center;width:166px;height:166px;border:1px solid #d5f0ff66;border-radius:50%;background:radial-gradient(circle at 37% 30%,#2768ad,#0a2c57 62%,#061931);box-shadow:0 0 0 26px #8ecfff0a,0 0 0 54px #8ecfff07,0 20px 60px #0008;transform:translate(-50%,-50%);animation:ptn-core 5.8s ease-in-out infinite}
.ptn-room-core::before{content:'';position:absolute;inset:12px;border:1px solid #d5f0ff2f;border-radius:50%}
.ptn-room-core span{font:700 .62rem var(--mono);letter-spacing:.16em;color:#9fc6df}.ptn-room-core strong{margin:.28rem 0;font-size:1.55rem;letter-spacing:-.045em;color:#fff}
.ptn-person{position:absolute;z-index:4;display:flex;align-items:center;gap:.55rem;padding:.62rem .75rem;border:1px solid #b9ddf23d;border-radius:2px;background:#06182ec9;box-shadow:0 12px 28px #0003;font:700 .7rem var(--mono);letter-spacing:.055em;color:#dbeeff;backdrop-filter:blur(10px);animation:ptn-person 6s ease-in-out infinite}
.ptn-person b{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:#63aee726;font-size:.62rem;font-weight:400;color:#76d5ff}
.ptn-founder{left:10%;top:17%;animation-delay:-1s}.ptn-investor{right:9%;top:16%;animation-delay:-4.5s}.ptn-engineer{right:6%;top:63%;animation-delay:-2.8s}.ptn-researcher{left:10%;top:69%;animation-delay:-5.4s}.ptn-operator{left:50%;bottom:8%;transform:translateX(-50%);animation:ptn-person-center 6s ease-in-out infinite -3.8s}
.ptn-room-footer{position:absolute;z-index:7;left:1.5rem;right:1.5rem;bottom:1.25rem;display:flex;justify-content:space-between;gap:.75rem;padding-top:1rem;border-top:1px solid #c2e7ff26;font:700 .62rem var(--mono);letter-spacing:.07em;color:#789bb9}
.ptn-photo-grid{position:absolute;inset:0;z-index:1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.08fr .92fr;gap:7px;padding:3.1rem 0 3.55rem;background:#071526}
.ptn-photo-grid figure{min-width:0;min-height:0;margin:0;overflow:hidden;background:#0a1c31}
.ptn-photo-grid img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.03);transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.ptn-photo-grid figure:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.04)}
.ptn-photo-grid figure:nth-child(1) img{object-position:50% 59%}
.ptn-photo-grid figure:nth-child(2) img{object-position:50% 46%}
.ptn-photo-grid figure:nth-child(3) img{object-position:50% 42%}
.ptn-photo-grid figure:nth-child(4) img{object-position:center}

@keyframes ptn-dash{to{stroke-dashoffset:-250}}
@keyframes ptn-ring{0%,100%{opacity:.16;transform:scale(.97)}50%{opacity:.34;transform:scale(1.03)}}
@keyframes ptn-core{0%,100%{box-shadow:0 0 0 26px #8ecfff0a,0 0 0 54px #8ecfff07,0 20px 60px #0008}50%{box-shadow:0 0 0 30px #8ecfff0d,0 0 0 62px #8ecfff08,0 20px 70px #0009}}
@keyframes ptn-person{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes ptn-person-center{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-6px)}}
@keyframes ptn-live-pulse{0%,100%{opacity:.55}50%{opacity:1}}

@media(max-width:980px){.ptn-community{grid-template-columns:1fr}.ptn-copy{padding:2.8rem}.ptn-room{min-height:570px}}
@media(max-width:680px){
  .ptn-community{margin:2.5rem 0}
  .ptn-copy{padding:1.8rem 1.5rem 2rem}
  .ptn-heading-row{margin-bottom:1.8rem}
  .ptn-logo-link{width:78px;height:78px}
  .ptn-copy h3{font-size:clamp(2.4rem,10vw,3.2rem)}
  .ptn-description{font-size:1rem}
  .ptn-room{min-height:520px}
  .ptn-photo-grid{grid-template-rows:1fr 1fr;gap:5px;padding-top:3rem;padding-bottom:3.45rem}
  .ptn-room-topline{left:1rem;right:1rem;font-size:.61rem}
  .ptn-connections{inset:3.1rem .5rem 4.4rem;width:calc(100% - 1rem)}
  .ptn-room-core{width:132px;height:132px}
  .ptn-room-core strong{font-size:1.28rem}
  .ptn-person{padding:.48rem .55rem;font-size:.6rem;letter-spacing:.035em}
  .ptn-person b{width:1.15rem;height:1.15rem;font-size:.53rem}
  .ptn-founder{left:4%;top:19%}.ptn-investor{right:3%;top:18%}.ptn-engineer{right:2%;top:62%}.ptn-researcher{left:3%;top:67%}.ptn-operator{bottom:9%}
  .ptn-room-footer{left:1rem;right:1rem;font-size:.55rem;letter-spacing:.045em}
}
@media(max-width:380px){.ptn-room{min-height:500px}.ptn-room-core{width:118px;height:118px}.ptn-room-footer span:nth-child(2){display:none}.ptn-researcher{top:70%}.ptn-engineer{top:65%}}
@media(prefers-reduced-motion:reduce){.ptn-logo-link,.ptn-live i,.ptn-connections path,.ptn-connections circle,.ptn-room-core,.ptn-person{animation:none!important;transition:none!important}.ptn-photo-grid img{transition:none}}
