@import url("https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;600;700;800&display=swap");

:root{
  --navy:#06111f;
  --navy2:#0b1c31;
  --navy3:#102743;
  --cyan:#1fd6c1;
  --cyan2:#7af7e8;
  --white:#ffffff;
  --ink:#132238;
  --muted:#65748a;
  --line:#dfe6ec;
  --bg:#f6f9fb;
  --max:1220px;
  --radius:22px;
  --shadow:0 24px 70px rgba(4,17,32,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
button,input,textarea{font:inherit}
.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.section{padding:104px 0}
.kicker{
  display:inline-flex;align-items:center;gap:10px;
  font-size:12px;text-transform:uppercase;letter-spacing:.16em;
  font-weight:800;color:#009888
}
.kicker:before{content:"";width:34px;height:1px;background:currentColor}
h1,h2,h3,p{margin-top:0}
h2{font-size:clamp(38px,4.2vw,60px);line-height:1.06;letter-spacing:-.045em;margin-bottom:22px}
.lead{font-size:20px;color:#38506b}
.small{font-size:13px;color:var(--muted)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;
  border-radius:999px;padding:14px 20px;font-weight:800;border:1px solid transparent;
  transition:.25s;cursor:pointer
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--cyan);color:var(--navy);box-shadow:0 14px 36px rgba(31,214,193,.22)}
.btn-outline{border-color:rgba(255,255,255,.2);color:#fff;background:rgba(255,255,255,.03)}
.btn-dark{background:var(--navy);color:#fff}
.site-header{
  position:fixed;inset:0 0 auto;z-index:50;
  background:rgba(6,17,31,.72);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.08)
}
.navbar{height:78px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.logo-box{
  width:44px;height:44px;border-radius:12px;
  border:1px solid rgba(255,255,255,.18);
  display:grid;place-items:center;background:rgba(255,255,255,.04)
}
.logo-box svg{width:31px;fill:#fff}.logo-box .a{fill:var(--cyan)}
.brand-copy{display:flex;flex-direction:column;line-height:1.05}
.brand-copy strong{font-size:18px;letter-spacing:.13em}
.brand-copy small{font-size:9px;color:#93a4b6;margin-top:5px;text-transform:uppercase;letter-spacing:.1em}
.nav-links{display:flex;align-items:center;gap:27px;color:#bac6d2;font-size:13px}
.nav-links a:hover{color:#fff}
.nav-links .nav-cta{background:var(--cyan);color:var(--navy);padding:10px 15px;border-radius:999px;font-weight:800}
.menu{display:none;background:none;border:0;padding:8px}
.menu span{display:block;width:24px;height:2px;background:#fff;margin:5px 0}
.hero{
  min-height:860px;background:
  radial-gradient(circle at 82% 22%,rgba(36,108,255,.20),transparent 28%),
  radial-gradient(circle at 15% 85%,rgba(31,214,193,.16),transparent 25%),
  var(--navy);
  color:#fff;position:relative;overflow:hidden;padding:156px 0 54px
}
.hero:before{
  content:"";position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:56px 56px;mask-image:linear-gradient(to bottom,#000,transparent 95%)
}
.hero-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:center;position:relative}
.eyebrow{color:#8ea2b7;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800}
.hero h1{
  font-size:clamp(54px,6.7vw,94px);line-height:.95;letter-spacing:-.06em;
  margin:24px 0 28px
}
.hero h1 em{font-style:normal;color:var(--cyan);display:block}
.hero .intro{font-size:19px;color:#adbac8;max-width:680px;line-height:1.75}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.trust{display:flex;gap:23px;flex-wrap:wrap;margin-top:30px;color:#8192a5;font-size:11px}
.trust span:before{content:"✓";color:var(--cyan);margin-right:7px}
.hero-visual{height:520px;position:relative}
.mesh{position:absolute;inset:20px;border-radius:50%;border:1px solid rgba(255,255,255,.09)}
.mesh:before,.mesh:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.09);inset:55px}
.mesh:after{inset:110px;border-color:rgba(31,214,193,.25)}
.node{
  position:absolute;background:rgba(9,28,50,.8);backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:15px 17px;
  min-width:136px;box-shadow:0 20px 45px rgba(0,0,0,.24)
}
.node b{display:block;font-size:14px}.node small{font-size:10px;color:#8295a9}.node i{
  width:8px;height:8px;border-radius:50%;background:var(--cyan);display:inline-block;margin-right:7px;
  box-shadow:0 0 20px var(--cyan)
}
.n1{left:4%;top:16%}.n2{right:2%;top:22%}.n3{left:34%;bottom:4%}.n4{right:8%;bottom:25%}
.core{
  width:210px;height:210px;border-radius:50%;position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(circle at 35% 30%,#173c59,#081726 72%);
  border:1px solid rgba(122,247,232,.4);box-shadow:0 0 90px rgba(31,214,193,.14)
}
.core small{color:var(--cyan);letter-spacing:.2em;font-size:10px}.core strong{font-size:25px;line-height:1.12;margin:10px}
.orbit-line{position:absolute;left:50%;top:50%;width:390px;height:390px;transform:translate(-50%,-50%);border:1px dashed rgba(255,255,255,.12);border-radius:50%;animation:spin 34s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid var(--line)}
.stat{padding:34px 25px 0;border-right:1px solid var(--line)}.stat:last-child{border:0}
.stat strong{font-size:33px;display:block;letter-spacing:-.04em}.stat span{font-size:12px;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:48px}
.section-head p{max-width:410px;color:var(--muted)}
.services{background:var(--bg)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.service-card,.project-card,.industry-card{
  background:#fff;border:1px solid #e2e8ee;border-radius:var(--radius);padding:28px;
  transition:.28s;position:relative;overflow:hidden
}
.service-card:hover,.project-card:hover,.industry-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.icon{
  width:52px;height:52px;border-radius:15px;background:#e7fbf7;color:#008f7e;
  display:grid;place-items:center;font-size:23px;font-weight:800
}
.service-card h3{font-size:21px;margin:24px 0 10px}.service-card p{font-size:13px;color:var(--muted)}
.service-card .learn{font-size:12px;font-weight:800;margin-top:24px;display:inline-block}
.dark-band{background:var(--navy);color:#fff}.dark-band .kicker{color:var(--cyan)}
.expertise{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.expertise-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.expertise-list div{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.03)}
.expertise-list b{font-size:13px}.expertise-list span{color:var(--cyan);margin-right:8px}
.tech-cloud{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tech-cloud span{border:1px solid rgba(255,255,255,.11);padding:9px 12px;border-radius:999px;color:#aebbc8;font-size:11px}
.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.industry-card{min-height:220px;background:linear-gradient(145deg,#fff,#f9fbfc)}
.industry-card span{font-size:11px;color:#00a490;font-weight:800;letter-spacing:.12em}.industry-card h3{font-size:21px;margin:50px 0 8px}
.projects-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:16px}
.project-card{min-height:310px;color:#fff;background:
  linear-gradient(180deg,transparent 20%,rgba(5,17,31,.94) 100%),
  radial-gradient(circle at 70% 15%,#19466a,#0b1c31 65%)}
.project-card .tag{font-size:10px;letter-spacing:.12em;color:var(--cyan);text-transform:uppercase}
.project-card .project-copy{position:absolute;left:28px;right:28px;bottom:25px}
.project-card h3{font-size:24px;line-height:1.15;margin:7px 0}.project-card p{font-size:12px;color:#a8b5c2}
.testimonials{background:#edf3f6}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.quote-card{background:rgba(255,255,255,.78);border:1px solid #dde5eb;border-radius:20px;padding:28px}
.quote-card .quote{font-size:42px;color:var(--cyan);line-height:1}.quote-card p{font-size:14px;color:#455870}.quote-card b{display:block;margin-top:25px;font-size:13px}.quote-card small{color:var(--muted)}
.cta{background:var(--navy2);color:#fff}
.cta-shell{display:flex;align-items:center;justify-content:space-between;gap:50px}.cta h2{max-width:740px;margin-bottom:0}
.page-hero{padding:160px 0 90px;background:var(--navy);color:#fff}
.page-hero p{max-width:700px;color:#a8b6c4;font-size:18px}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.list-clean{list-style:none;padding:0}.list-clean li{padding:13px 0;border-bottom:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.contact-box{background:var(--navy);color:#fff;border-radius:24px;padding:32px}
.contact-box a,.contact-box div{display:block;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.contact-box span{display:block;font-size:9px;letter-spacing:.14em;color:#8294a7}
.form{display:grid;gap:15px}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.form label{font-size:11px;font-weight:800;color:#52667d}
.form input,.form textarea{width:100%;margin-top:7px;border:1px solid #dbe3e9;border-radius:12px;padding:13px;background:#fff;outline:none}
.form input:focus,.form textarea:focus{border-color:#16bca9;box-shadow:0 0 0 3px rgba(31,214,193,.10)}
.footer{background:#050d17;color:#fff;padding:58px 0 28px}
.footer-top{display:flex;justify-content:space-between;gap:50px}
.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:40px}.footer-links b{display:block;font-size:12px;margin-bottom:13px}.footer-links a{display:block;color:#8799aa;font-size:11px;margin:8px 0}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);padding-top:22px;margin-top:44px;color:#6f8295;font-size:10px}
.reveal{opacity:0;transform:translateY(20px);transition:.7s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:980px){
  .nav-links{position:absolute;top:78px;left:0;right:0;background:#07111f;padding:20px 24px;display:none;flex-direction:column;align-items:flex-start}
  .nav-links.open{display:flex}.menu{display:block}
  .hero-layout,.expertise,.content-grid,.contact-grid{grid-template-columns:1fr}
  .hero-visual{height:450px}.card-grid{grid-template-columns:repeat(2,1fr)}
  .industries-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr}
  .test-grid{grid-template-columns:1fr}.section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:680px){
  .container{width:min(100% - 28px,var(--max))}.section{padding:78px 0}
  .hero{padding-top:128px;min-height:auto}.hero h1{font-size:48px}
  .hero-visual{height:390px}.node{min-width:110px;padding:11px}.core{width:165px;height:165px}
  .orbit-line{width:300px;height:300px}.n3{left:26%}
  .stats,.card-grid,.industries-grid,.expertise-list{grid-template-columns:1fr}
  .stat{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}.stat:last-child{border-bottom:0}
  .footer-top,.cta-shell{flex-direction:column;align-items:flex-start}.footer-links{grid-template-columns:repeat(2,1fr)}
  .form .two{grid-template-columns:1fr}.footer-bottom{flex-direction:column}
}


html[lang="fa"] body{
  font-family:Tahoma,"Segoe UI",Arial,sans-serif;
  direction:rtl;
  text-align:right;
}
html[lang="fa"] .navbar,
html[lang="fa"] .section-head,
html[lang="fa"] .hero-layout,
html[lang="fa"] .expertise,
html[lang="fa"] .content-grid,
html[lang="fa"] .contact-grid,
html[lang="fa"] .footer-top,
html[lang="fa"] .cta-shell{
  direction:rtl;
}
html[lang="fa"] .nav-links{direction:rtl}
html[lang="fa"] .brand{direction:ltr}
html[lang="fa"] .brand-copy{text-align:left}
html[lang="fa"] .kicker:before{order:2}
html[lang="fa"] .trust span:before{margin-right:0;margin-left:7px}
html[lang="fa"] .expertise-list span{margin-right:0;margin-left:8px}
html[lang="fa"] .hero h1,
html[lang="fa"] h2{
  letter-spacing:-.025em;
}
html[lang="fa"] .hero h1{
  font-size:clamp(48px,6vw,82px);
  line-height:1.1;
}
html[lang="fa"] .hero .intro,
html[lang="fa"] .page-hero p{
  line-height:2;
}
html[lang="fa"] .service-card p,
html[lang="fa"] .project-card p,
html[lang="fa"] .industry-card p,
html[lang="fa"] .quote-card p{
  line-height:1.9;
}
.lang-switch{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  overflow:hidden;
  margin-left:4px;
}
.lang-switch a{
  padding:8px 10px;
  font-size:10px;
  font-weight:800;
  color:#8ea0b3;
}
.lang-switch a.active{
  background:rgba(255,255,255,.08);
  color:#fff;
}
html[lang="fa"] .lang-switch{direction:ltr}
@media(max-width:980px){
  html[lang="fa"] .nav-links{align-items:flex-start}
}

/* Official PSA IT logo */
.brand-logo-img{
  width:210px;
  max-height:54px;
  object-fit:contain;
  display:block;
}
.hero-brandline{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#9fb0c0;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  margin-bottom:18px;
}
.hero-brandline:before{
  content:"";
  width:34px;
  height:1px;
  background:var(--cyan);
}
.footer .brand-logo-img{
  width:200px;
}
@media(max-width:680px){
  .brand-logo-img{width:165px;max-height:44px}
}

.credibility-strip{background:#fff;border-bottom:1px solid var(--line)}
.credibility-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:0}
.credibility-grid>div{padding:28px 25px;border-right:1px solid var(--line)}
.credibility-grid>div:last-child{border-right:0}
.credibility-grid strong{display:block;font-size:13px;color:var(--navy)}
.credibility-grid span{display:block;font-size:11px;color:var(--muted);margin-top:4px}
.australia-panel{background:linear-gradient(145deg,#071522,#102a43);color:#fff;border-radius:26px;padding:38px;position:relative;overflow:hidden}
.australia-panel:after{content:"AU";position:absolute;right:-10px;bottom:-45px;font-size:180px;font-weight:900;color:rgba(255,255,255,.035)}
.australia-panel p{color:#aebbc8}
.capability-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.capability-column{border-top:3px solid var(--cyan);padding-top:20px}
.capability-column h3{font-size:19px}.capability-column p{font-size:13px;color:var(--muted)}
@media(max-width:680px){.credibility-grid,.capability-columns{grid-template-columns:1fr}.credibility-grid>div{border-right:0;border-bottom:1px solid var(--line)}}


/* =========================================================
   PSA IT v6 — Mobile-first UX refinements
   ========================================================= */

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  overflow-x:hidden;
}
body{
  overflow-x:hidden;
  min-width:320px;
}
img,svg,video,canvas{
  max-width:100%;
  height:auto;
}
button,a,input,textarea{
  -webkit-tap-highlight-color:transparent;
}
a,button{
  touch-action:manipulation;
}
.container{
  width:min(var(--max),calc(100% - 40px));
}
.site-header{
  padding-top:env(safe-area-inset-top);
}
.navbar{
  min-height:76px;
  height:auto;
  gap:20px;
}
.brand-logo-img{
  width:clamp(155px,18vw,215px);
  height:auto;
}
.nav-links a,
.nav-cta,
.lang-switch a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
}
.hero{
  min-height:760px;
}
.hero-layout{
  min-width:0;
}
.hero-layout > *{
  min-width:0;
}
.hero h1,
.page-hero h2,
.section h2{
  overflow-wrap:anywhere;
}
.hero .intro,
.page-hero p,
.lead,
.service-card p,
.industry-card p,
.project-card p,
.quote-card p{
  text-wrap:pretty;
}
.hero-visual{
  isolation:isolate;
}
.service-card,
.project-card,
.industry-card,
.quote-card,
.contact-box,
.australia-panel{
  min-width:0;
}
.form input,
.form textarea{
  font-size:16px; /* Prevents iOS zoom */
}
.form textarea{
  resize:vertical;
  min-height:150px;
}
.footer-links{
  min-width:0;
}
.mobile-contact-bar{
  display:none;
}

/* Tablet */
@media (max-width:1100px){
  .container{
    width:min(var(--max),calc(100% - 34px));
  }
  .nav-links{
    gap:20px;
  }
  .hero-layout{
    gap:38px;
  }
  .hero h1{
    font-size:clamp(50px,7vw,76px);
  }
  .projects-grid{
    grid-template-columns:1fr 1fr;
  }
  .projects-grid .project-card:first-child{
    grid-column:1/-1;
  }
}

/* Mobile navigation and layout */
@media (max-width:980px){
  .site-header{
    background:rgba(6,17,31,.94);
  }
  .navbar{
    min-height:70px;
  }
  .menu{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:44px;
    height:44px;
    border-radius:11px;
    border:1px solid rgba(255,255,255,.13);
    flex:0 0 44px;
  }
  .menu span{
    margin:3px 0;
    transition:.25s ease;
  }
  .menu.active span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  .menu.active span:nth-child(2){
    opacity:0;
  }
  .menu.active span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }
  .nav-links{
    position:fixed;
    top:calc(70px + env(safe-area-inset-top));
    left:12px;
    right:12px;
    max-height:calc(100dvh - 90px - env(safe-area-inset-top));
    overflow-y:auto;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:4px;
    padding:14px;
    border-radius:18px;
    background:rgba(7,17,31,.985);
    border:1px solid rgba(255,255,255,.1);
    box-shadow:0 24px 60px rgba(0,0,0,.38);
  }
  .nav-links.open{
    display:flex;
  }
  .nav-links a{
    width:100%;
    min-height:48px;
    padding:11px 13px;
    border-radius:10px;
    font-size:14px;
  }
  .nav-links a:hover{
    background:rgba(255,255,255,.05);
  }
  .nav-links .nav-cta{
    justify-content:center;
    margin-top:6px;
    min-height:50px;
  }
  .lang-switch{
    width:100%;
    justify-content:stretch;
    margin:8px 0 3px;
  }
  .lang-switch a{
    width:50%;
    justify-content:center;
    min-height:44px;
  }
  body.menu-open{
    overflow:hidden;
  }

  .hero{
    min-height:auto;
    padding:126px 0 58px;
  }
  .hero-layout{
    grid-template-columns:1fr;
    gap:44px;
  }
  .hero-copy,
  .hero-layout > div:first-child{
    max-width:720px;
  }
  .hero-visual{
    height:400px;
    max-width:620px;
    width:100%;
    margin-inline:auto;
  }
  .stats{
    grid-template-columns:repeat(2,1fr);
  }
  .card-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .industries-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .projects-grid{
    grid-template-columns:1fr 1fr;
  }
  .test-grid{
    grid-template-columns:1fr;
  }
  .section-head{
    gap:18px;
  }
  .section-head > p{
    max-width:720px;
  }
  .contact-grid{
    gap:32px;
  }
  .footer-top{
    align-items:flex-start;
  }
  .footer-links{
    grid-template-columns:repeat(2,1fr);
    width:100%;
  }
  .credibility-grid{
    grid-template-columns:repeat(2,1fr);
  }
}

/* Phones */
@media (max-width:680px){
  :root{
    --radius:18px;
  }
  .container{
    width:calc(100% - 28px);
  }
  .section{
    padding:68px 0;
  }
  .navbar{
    min-height:66px;
  }
  .brand-logo-img{
    width:150px;
  }
  .nav-links{
    top:calc(66px + env(safe-area-inset-top));
    max-height:calc(100dvh - 82px - env(safe-area-inset-top));
  }

  .hero{
    padding:112px 0 46px;
  }
  .hero-brandline,
  .eyebrow{
    font-size:10px;
    letter-spacing:.08em;
    line-height:1.5;
  }
  .hero h1{
    font-size:clamp(39px,12vw,54px);
    line-height:1.03;
    letter-spacing:-.045em;
    margin:18px 0 20px;
  }
  html[lang="fa"] .hero h1{
    font-size:clamp(38px,11vw,52px);
    line-height:1.22;
  }
  .hero .intro{
    font-size:16px;
    line-height:1.85;
  }
  .actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:26px;
  }
  .actions .btn{
    width:100%;
    min-height:50px;
  }
  .trust{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin-top:24px;
  }

  .hero-visual{
    height:330px;
    margin-top:4px;
  }
  .core{
    width:145px;
    height:145px;
  }
  .core strong{
    font-size:18px;
  }
  .orbit-line{
    width:255px;
    height:255px;
  }
  .mesh{
    inset:32px;
  }
  .node{
    min-width:104px;
    max-width:118px;
    padding:10px 11px;
    border-radius:13px;
  }
  .node b{
    font-size:12px;
  }
  .node small{
    font-size:9px;
    line-height:1.3;
  }
  .n1{left:0;top:10%}
  .n2{right:0;top:12%}
  .n3{left:24%;bottom:0}
  .n4{right:0;bottom:21%}

  h2,
  .section h2,
  .page-hero h2{
    font-size:clamp(32px,9vw,44px);
    line-height:1.12;
  }
  .page-hero{
    padding:126px 0 68px;
  }
  .page-hero p{
    font-size:16px;
  }
  .lead{
    font-size:18px;
  }
  .section-head{
    margin-bottom:34px;
  }

  .stats{
    grid-template-columns:1fr;
    margin-top:48px;
  }
  .stat{
    padding:18px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .stat strong{
    font-size:30px;
  }

  .card-grid,
  .industries-grid,
  .projects-grid,
  .expertise-list,
  .capability-columns,
  .credibility-grid,
  .content-grid,
  .contact-grid{
    grid-template-columns:1fr;
  }
  .projects-grid .project-card:first-child{
    grid-column:auto;
  }
  .project-card{
    min-height:260px;
  }
  .service-card,
  .industry-card,
  .quote-card{
    padding:22px;
  }
  .service-card h3,
  .industry-card h3{
    font-size:19px;
  }
  .industry-card{
    min-height:180px;
  }
  .industry-card h3{
    margin-top:32px;
  }

  .credibility-grid>div{
    padding:18px 0;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .credibility-grid>div:last-child{
    border-bottom:0;
  }

  .australia-panel{
    padding:26px 22px;
  }
  .australia-panel:after{
    font-size:115px;
    bottom:-30px;
  }

  .form .two{
    grid-template-columns:1fr;
  }
  .form input,
  .form textarea{
    padding:14px;
    border-radius:11px;
  }
  .form .btn{
    width:100%;
    min-height:50px;
  }
  .contact-box{
    padding:24px;
  }

  .footer{
    padding:46px 0 24px;
  }
  .footer-top{
    gap:32px;
  }
  .footer-links{
    grid-template-columns:1fr 1fr;
    gap:28px 18px;
  }
  .footer-bottom{
    gap:8px;
    line-height:1.6;
  }
}

/* Very small phones */
@media (max-width:390px){
  .container{
    width:calc(100% - 22px);
  }
  .brand-logo-img{
    width:138px;
  }
  .hero h1{
    font-size:37px;
  }
  .hero-visual{
    height:300px;
  }
  .core{
    width:132px;
    height:132px;
  }
  .orbit-line{
    width:230px;
    height:230px;
  }
  .node{
    max-width:103px;
    min-width:96px;
    padding:9px;
  }
  .footer-links{
    grid-template-columns:1fr;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* Focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:3px solid rgba(31,214,193,.45);
  outline-offset:3px;
}

/* v7 — PSA IT branded premium visual system */
:root{
 --brand-blue:#2d6fb5;
 --brand-blue-deep:#081a2c;
 --brand-yellow:#ffb51b;
 --brand-yellow-soft:#ffd166;
}
.site-header{border-bottom:1px solid rgba(255,255,255,.075)}
.hero{
 background:
 radial-gradient(circle at 78% 18%,rgba(45,111,181,.30),transparent 31%),
 radial-gradient(circle at 68% 70%,rgba(255,181,27,.07),transparent 24%),
 linear-gradient(135deg,#06111f 0%,#081a2c 54%,#0c2843 100%);
}
.hero:after{
 content:"";position:absolute;right:-8%;top:-18%;width:46%;height:135%;
 background:linear-gradient(160deg,transparent 0 48%,rgba(255,181,27,.95) 48.3% 50.3%,rgba(45,111,181,.20) 50.6% 100%);
 opacity:.75;pointer-events:none;
}
.hero-layout,.hero .container{z-index:2}
.hero-brandline:before{background:var(--brand-yellow)}
.hero h1 em{color:#62dcca}
.btn-primary{background:var(--brand-yellow);color:#07111f;box-shadow:0 14px 36px rgba(255,181,27,.18)}
.btn-primary:hover{background:var(--brand-yellow-soft)}
.kicker{color:var(--brand-blue)}
.dark-band .kicker,.cta .kicker{color:var(--brand-yellow)}
.icon{background:#eaf2fb;color:var(--brand-blue)}
.service-card:hover{border-top-color:var(--brand-yellow)}
.brand-accent{color:var(--brand-yellow)}
.enterprise-scene{
 position:absolute;inset:0;border-radius:28px;overflow:hidden;
 background:
 linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,0)),
 linear-gradient(145deg,#0c2740,#071421);
 border:1px solid rgba(255,255,255,.11);
 box-shadow:0 35px 90px rgba(0,0,0,.28);
}
.enterprise-scene:before{
 content:"";position:absolute;inset:0;
 background-image:
 linear-gradient(rgba(84,145,201,.09) 1px,transparent 1px),
 linear-gradient(90deg,rgba(84,145,201,.09) 1px,transparent 1px);
 background-size:38px 38px;
}
.rack{position:absolute;bottom:10%;width:15%;height:68%;border:1px solid rgba(122,181,226,.28);background:linear-gradient(90deg,#0a1722,#122d43,#091521);border-radius:5px}
.rack:after{content:"";position:absolute;inset:7% 10%;background:repeating-linear-gradient(to bottom,rgba(93,175,230,.55) 0 2px,transparent 2px 12px);opacity:.65}
.r1{left:8%}.r2{left:27%;height:76%}.r3{right:27%;height:72%}.r4{right:8%;height:62%}
.data-floor{position:absolute;left:3%;right:3%;bottom:6%;height:2px;background:linear-gradient(90deg,transparent,var(--brand-blue),var(--brand-yellow),var(--brand-blue),transparent);box-shadow:0 0 25px rgba(45,111,181,.65)}
.digital-core{
 position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);width:145px;height:145px;border-radius:50%;
 background:radial-gradient(circle,#153c58 0,#091826 64%);
 border:1px solid rgba(255,181,27,.5);box-shadow:0 0 70px rgba(45,111,181,.35);
 display:grid;place-items:center;text-align:center;padding:20px;z-index:3
}
.digital-core b{font-size:14px}.digital-core span{display:block;font-size:9px;color:#9db0c2;margin-top:5px}
.signal{position:absolute;height:1px;background:linear-gradient(90deg,transparent,#4f98d3,var(--brand-yellow));transform-origin:left;opacity:.8}
.s1{width:39%;left:18%;top:36%;transform:rotate(9deg)}.s2{width:34%;left:49%;top:47%;transform:rotate(-18deg)}.s3{width:33%;left:24%;top:63%;transform:rotate(-14deg)}
.trust-band{background:#f7f9fb;border-top:1px solid #e8edf1;border-bottom:1px solid #e8edf1}
.trust-band-grid{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:36px;padding:24px 0}
.trust-band strong{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#738399}
.tech-list{display:flex;gap:28px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.tech-list span{font-weight:800;color:#263a50;font-size:13px;opacity:.72}
.premium-line{height:3px;width:74px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-yellow));border-radius:99px;margin-bottom:20px}
@media(max-width:680px){
 .hero:after{right:-38%;width:80%;opacity:.38}
 .enterprise-scene{border-radius:20px}
 .digital-core{width:112px;height:112px}
 .digital-core b{font-size:12px}
 .trust-band-grid{grid-template-columns:1fr;gap:13px;padding:20px 0}
 .tech-list{gap:14px 20px;justify-content:flex-start}
 .tech-list span{font-size:11px}
}

/* v8 content-specific photographic heroes */
.hero-photo{
 position:relative;min-height:570px;display:flex;align-items:center;overflow:hidden;background:#06111f;color:#fff
}
.hero-photo:before{content:"";position:absolute;inset:0;background-image:var(--hero-image);background-size:cover;background-position:center}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,12,23,.96) 0%,rgba(4,16,30,.86) 38%,rgba(4,17,31,.35) 72%,rgba(4,17,31,.15) 100%)}
.hero-photo .container{position:relative;z-index:2}
.hero-photo-copy{max-width:680px;padding:145px 0 90px}
.hero-photo .kicker{color:#ffb51b}
.hero-photo h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-.05em;margin:18px 0 22px}
.hero-photo p{max-width:650px;color:#c4d0db;font-size:18px;line-height:1.75}
.hero-photo .actions{margin-top:30px}
.service-nav{position:sticky;top:76px;z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid #e8edf1}
.service-nav-inner{display:flex;gap:8px;overflow:auto;padding:10px 0;scrollbar-width:none}
.service-nav-inner::-webkit-scrollbar{display:none}
.service-nav a{white-space:nowrap;padding:9px 12px;border-radius:999px;font-size:11px;font-weight:800;color:#536477}
.service-nav a:hover,.service-nav a.active{background:#eaf2fb;color:#145899}
.service-intro-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.outcome-card{padding:26px;border:1px solid #e6ebef;border-radius:18px;background:#fff}
.outcome-card b{display:block;color:#0a2945;margin-bottom:8px}
.outcome-card p{font-size:13px;color:#68798a;margin:0;line-height:1.7}
.delivery-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e6ebef;border-radius:20px;overflow:hidden}
.delivery-step{padding:27px;background:#fff;border-right:1px solid #e6ebef}
.delivery-step:last-child{border-right:0}
.delivery-step span{font-size:10px;color:#2d6fb5;font-weight:900}.delivery-step h3{font-size:17px}
@media(max-width:980px){
 .hero-photo{min-height:510px}.hero-photo-copy{padding:125px 0 70px}
 .service-nav{top:70px}.service-intro-grid{grid-template-columns:1fr;gap:32px}
 .outcome-grid{grid-template-columns:1fr 1fr}.delivery-steps{grid-template-columns:1fr 1fr}
 .delivery-step:nth-child(2){border-right:0}.delivery-step{border-bottom:1px solid #e6ebef}
}
@media(max-width:680px){
 .hero-photo{min-height:520px;align-items:flex-end}
 .hero-photo:before{background-position:62% center}
 .hero-photo:after{background:linear-gradient(180deg,rgba(4,14,26,.35),rgba(4,14,26,.94) 64%,#06111f)}
 .hero-photo-copy{padding:130px 0 48px}
 .hero-photo h1{font-size:clamp(39px,12vw,54px);line-height:1.02}
 .hero-photo p{font-size:16px}
 .service-nav{top:66px}
 .outcome-grid,.delivery-steps{grid-template-columns:1fr}
 .delivery-step{border-right:0!important}
}

/* ==========================================================
   PSA IT v10 — Executive / Enterprise-grade refinement
   ========================================================== */
:root{
 --ink:#071522;--ink-2:#0b2033;--brand:#2d6fb5;--accent:#ffb51b;
 --paper:#f5f7f9;--white:#fff;--hair:#e2e8ed;--muted2:#617286;
 --shadow:0 24px 70px rgba(6,21,34,.10);
}
body{background:#fff;color:var(--ink);font-feature-settings:"kern" 1,"liga" 1}
.site-header{background:rgba(5,17,30,.88);backdrop-filter:blur(18px) saturate(140%)}
.navbar{min-height:82px}
.nav-links a{font-size:12px;letter-spacing:.015em}
.brand-logo-img{width:205px}
.hero{min-height:820px}
.hero h1{max-width:820px;font-size:clamp(58px,6.2vw,92px);line-height:.94;letter-spacing:-.058em}
.hero .intro{max-width:710px;font-size:18px;line-height:1.78}
.hero-copy{position:relative;z-index:3}
.hero-copy:before{content:"";position:absolute;left:-34px;top:3px;width:2px;height:76px;background:linear-gradient(var(--accent),transparent)}
.hero-proof{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12)}
.hero-proof div{min-width:120px}.hero-proof b{display:block;font-size:12px;color:#fff}.hero-proof span{display:block;font-size:10px;color:#93a8bb;margin-top:5px}
.executive-strip{background:#071522;color:#fff;border-top:1px solid rgba(255,255,255,.08)}
.executive-strip-grid{display:grid;grid-template-columns:1.25fr repeat(3,1fr)}
.executive-strip-grid>div{padding:26px 28px;border-right:1px solid rgba(255,255,255,.08)}
.executive-strip-grid>div:first-child{padding-left:0}.executive-strip-grid>div:last-child{border:0}
.executive-strip strong{font-size:12px}.executive-strip p{margin:6px 0 0;color:#8499aa;font-size:11px;line-height:1.55}
.editorial-section{padding:105px 0}
.editorial-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:90px;align-items:start}
.display-title{font-size:clamp(42px,4.8vw,68px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 24px}
.editorial-copy{font-size:18px;line-height:1.85;color:#536678;max-width:720px}
.editorial-copy strong{color:#102a40}
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dfe6eb;border:1px solid #dfe6eb;border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.practice{background:#fff;padding:34px;min-height:310px;display:flex;flex-direction:column;transition:.25s ease}
.practice:hover{background:#f9fbfc;transform:translateY(-2px)}
.practice-num{font-size:10px;font-weight:900;color:var(--brand);letter-spacing:.12em}
.practice h3{font-size:23px;line-height:1.15;margin:42px 0 12px}
.practice p{font-size:13px;line-height:1.75;color:#657688}
.practice a{margin-top:auto;font-size:11px;font-weight:900;color:#163d60}
.insight-panel{background:#071522;color:#fff;border-radius:28px;padding:54px;position:relative;overflow:hidden}
.insight-panel:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,181,27,.18);border-radius:50%;right:-210px;top:-170px;box-shadow:0 0 0 65px rgba(45,111,181,.035),0 0 0 130px rgba(45,111,181,.025)}
.insight-panel h2{max-width:760px;color:#fff}.insight-panel p{max-width:720px;color:#a7b6c3;font-size:16px;line-height:1.8}
.method-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:38px;border-top:1px solid rgba(255,255,255,.12)}
.method-row div{padding:24px 20px 0 0}.method-row span{color:var(--accent);font-size:10px;font-weight:900}.method-row b{display:block;margin-top:8px;font-size:14px}
.client-value{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.value-card{padding:28px;border:1px solid var(--hair);border-radius:18px;background:#fff}
.value-card b{font-size:14px}.value-card p{font-size:12px;line-height:1.7;color:#718091;margin-bottom:0}
.page-hero,.hero-photo{border-bottom:1px solid rgba(255,255,255,.08)}
.hero-photo-copy{max-width:760px}
.hero-photo h1{font-size:clamp(54px,6vw,86px)}
.service-intro-grid{gap:100px}
.outcome-card{box-shadow:0 12px 35px rgba(7,21,34,.035);transition:.2s}
.outcome-card:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(7,21,34,.08)}
.service-card{transition:.22s ease}
.service-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(7,21,34,.07)}
.footer{background:#06111d}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08)}
@media(max-width:980px){
 .hero{min-height:auto}.hero-copy:before{display:none}
 .executive-strip-grid{grid-template-columns:1fr 1fr}
 .executive-strip-grid>div{border-bottom:1px solid rgba(255,255,255,.08)}
 .editorial-grid{grid-template-columns:1fr;gap:35px}
 .practice-grid{grid-template-columns:1fr 1fr}
 .client-value{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .navbar{min-height:68px}.brand-logo-img{width:148px}
 .hero{padding-top:120px}.hero h1{font-size:clamp(42px,12vw,57px);line-height:1.01}
 .hero .intro{font-size:16px}
 .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:18px}
 .executive-strip-grid{grid-template-columns:1fr}
 .executive-strip-grid>div,.executive-strip-grid>div:first-child{padding:19px 0;border-right:0}
 .editorial-section{padding:72px 0}
 .editorial-grid{gap:25px}
 .display-title{font-size:39px}
 .editorial-copy{font-size:16px}
 .practice-grid,.client-value{grid-template-columns:1fr}
 .practice{min-height:250px;padding:26px}.practice h3{margin-top:28px}
 .insight-panel{padding:30px 23px;border-radius:20px}
 .method-row{grid-template-columns:1fr 1fr}
 .service-intro-grid{gap:32px}
}

/* ==========================================================
   PSA IT v11 — Animated Brand Intro (homepage only)
   ========================================================== */
.psait-intro{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 48%,rgba(45,111,181,.18),transparent 27%),
    radial-gradient(circle at 68% 28%,rgba(255,181,27,.07),transparent 22%),
    linear-gradient(135deg,#04101c 0%,#071522 55%,#0b243b 100%);
  color:#fff;
  transition:opacity .75s ease,visibility .75s ease;
}
.psait-intro.is-leaving{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.psait-intro::before{
  content:"";
  position:absolute;
  inset:-15%;
  background-image:
    linear-gradient(rgba(77,137,191,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(77,137,191,.055) 1px,transparent 1px);
  background-size:46px 46px;
  transform:perspective(900px) rotateX(64deg) translateY(22%);
  transform-origin:center bottom;
  opacity:0;
  animation:introGrid 3.1s ease forwards;
}
.psait-intro::after{
  content:"";
  position:absolute;
  width:860px;
  height:860px;
  border-radius:50%;
  border:1px solid rgba(90,164,224,.09);
  box-shadow:
    0 0 0 90px rgba(90,164,224,.025),
    0 0 0 180px rgba(90,164,224,.018);
  opacity:0;
  animation:introHalo 2.8s .2s ease forwards;
}
.intro-stage{
  position:relative;
  width:min(920px,92vw);
  height:min(620px,78vh);
  display:grid;
  place-items:center;
}
.intro-logo-wrap{
  position:relative;
  z-index:7;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  opacity:0;
  transform:scale(.86);
  animation:logoArrive .85s .25s cubic-bezier(.2,.9,.25,1.15) forwards;
}
.intro-logo-panel{
  background:rgba(255,255,255,.98);
  border-radius:18px;
  padding:18px 28px 15px;
  box-shadow:
    0 28px 70px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.08);
  position:relative;
  overflow:hidden;
}
.intro-logo-panel::after{
  content:"";
  position:absolute;
  left:-45%;
  top:-80%;
  width:36%;
  height:260%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);
  transform:rotate(17deg);
  animation:logoSweep 1.05s 1.05s ease forwards;
}
.intro-logo{
  width:min(330px,68vw);
  display:block;
  position:relative;
  z-index:2;
}
.intro-tagline{
  margin-top:18px;
  font-size:11px;
  letter-spacing:.21em;
  text-transform:uppercase;
  color:#a9b9c7;
  opacity:0;
  transform:translateY(10px);
  animation:taglineIn .55s 1.05s ease forwards;
}
.intro-status{
  margin-top:7px;
  font-size:10px;
  letter-spacing:.12em;
  color:#5fd9ca;
  opacity:0;
  animation:taglineIn .55s 1.35s ease forwards;
}
.intro-status::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  margin-right:8px;
  background:#5fd9ca;
  box-shadow:0 0 14px #5fd9ca;
  vertical-align:1px;
}
.intro-ring{
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  transform:translate(-50%,-50%) scale(.75);
  opacity:0;
  pointer-events:none;
}
.intro-ring.r1{
  width:390px;height:390px;
  border:1px solid rgba(83,164,223,.28);
  animation:ringReveal 1s .65s ease forwards,ringRotate 14s 1.2s linear infinite;
}
.intro-ring.r2{
  width:540px;height:540px;
  border:1px dashed rgba(255,181,27,.18);
  animation:ringReveal 1s .82s ease forwards,ringRotateReverse 20s 1.3s linear infinite;
}
.intro-ring.r3{
  width:690px;height:690px;
  border:1px solid rgba(83,164,223,.075);
  animation:ringReveal 1.15s .95s ease forwards;
}
.intro-node{
  position:absolute;
  z-index:5;
  width:46px;height:46px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(7,25,42,.84);
  backdrop-filter:blur(10px);
  display:grid;
  place-items:center;
  color:#74b9ef;
  box-shadow:0 14px 30px rgba(0,0,0,.24);
  opacity:0;
  transform:scale(.7);
}
.intro-node svg{
  width:21px;height:21px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.intro-node.n-cloud{left:12%;top:24%;animation:nodeIn .5s 1.15s ease forwards}
.intro-node.n-shield{right:13%;top:22%;color:#ffbf31;animation:nodeIn .5s 1.28s ease forwards}
.intro-node.n-server{left:17%;bottom:20%;animation:nodeIn .5s 1.42s ease forwards}
.intro-node.n-ai{right:15%;bottom:20%;color:#65e1d1;animation:nodeIn .5s 1.54s ease forwards}
.intro-node.n-network{left:50%;bottom:5%;transform:translateX(-50%) scale(.7);animation:nodeInCenter .5s 1.68s ease forwards}

.intro-link{
  position:absolute;
  z-index:3;
  height:1px;
  transform-origin:left center;
  background:linear-gradient(90deg,rgba(67,145,205,0),rgba(67,145,205,.75),rgba(255,181,27,.65));
  box-shadow:0 0 14px rgba(67,145,205,.35);
  opacity:0;
  overflow:hidden;
}
.intro-link::after{
  content:"";
  position:absolute;
  top:-1px;
  left:-20%;
  width:18%;
  height:3px;
  background:#fff;
  filter:blur(.3px);
  box-shadow:0 0 10px #58aee8;
  animation:dataPacket 1.1s 1.5s ease-in-out infinite;
}
.intro-link.l1{width:34%;left:24%;top:34%;transform:rotate(12deg);animation:linkIn .5s 1.2s ease forwards}
.intro-link.l2{width:32%;left:51%;top:35%;transform:rotate(-14deg);animation:linkIn .5s 1.35s ease forwards}
.intro-link.l3{width:32%;left:23%;top:65%;transform:rotate(-14deg);animation:linkIn .5s 1.5s ease forwards}
.intro-link.l4{width:31%;left:51%;top:65%;transform:rotate(15deg);animation:linkIn .5s 1.62s ease forwards}
.intro-link.l5{width:18%;left:50%;top:68%;transform:rotate(90deg);animation:linkIn .5s 1.76s ease forwards}

.intro-pulse{
  position:absolute;
  left:50%;
  top:50%;
  width:160px;
  height:160px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,181,27,.5);
  opacity:0;
  animation:securityPulse 1.25s 1.55s ease-out forwards;
}
.intro-skip{
  position:absolute;
  right:24px;
  bottom:22px;
  z-index:12;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.035);
  color:#8fa3b5;
  border-radius:999px;
  padding:9px 13px;
  font-size:10px;
  letter-spacing:.08em;
  cursor:pointer;
}
.intro-skip:hover{color:#fff;border-color:rgba(255,255,255,.28)}
.intro-progress{
  position:absolute;
  left:50%;
  bottom:23px;
  transform:translateX(-50%);
  width:min(260px,52vw);
  height:1px;
  background:rgba(255,255,255,.09);
  overflow:hidden;
}
.intro-progress span{
  display:block;
  width:0;
  height:100%;
  background:linear-gradient(90deg,#2d6fb5,#ffb51b);
  animation:introProgress 3.25s .15s linear forwards;
}
body.intro-active{overflow:hidden}

@keyframes introGrid{0%{opacity:0;transform:perspective(900px) rotateX(64deg) translateY(30%)}100%{opacity:1;transform:perspective(900px) rotateX(64deg) translateY(22%)}}
@keyframes introHalo{0%{opacity:0;transform:scale(.72)}100%{opacity:1;transform:scale(1)}}
@keyframes logoArrive{to{opacity:1;transform:scale(1)}}
@keyframes logoSweep{to{left:145%}}
@keyframes taglineIn{to{opacity:1;transform:none}}
@keyframes ringReveal{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes ringRotate{to{transform:translate(-50%,-50%) scale(1) rotate(360deg)}}
@keyframes ringRotateReverse{to{transform:translate(-50%,-50%) scale(1) rotate(-360deg)}}
@keyframes nodeIn{to{opacity:1;transform:scale(1)}}
@keyframes nodeInCenter{to{opacity:1;transform:translateX(-50%) scale(1)}}
@keyframes linkIn{to{opacity:1}}
@keyframes dataPacket{0%{left:-20%;opacity:0}20%{opacity:1}80%{opacity:1}100%{left:110%;opacity:0}}
@keyframes securityPulse{0%{opacity:.85;transform:translate(-50%,-50%) scale(.65)}100%{opacity:0;transform:translate(-50%,-50%) scale(3.4)}}
@keyframes introProgress{to{width:100%}}

@media(max-width:680px){
  .intro-stage{height:70vh}
  .intro-logo-panel{padding:14px 18px 12px;border-radius:15px}
  .intro-logo{width:min(260px,72vw)}
  .intro-tagline{font-size:9px;letter-spacing:.13em;margin-top:15px}
  .intro-ring.r1{width:260px;height:260px}
  .intro-ring.r2{width:350px;height:350px}
  .intro-ring.r3{width:460px;height:460px}
  .intro-node{width:40px;height:40px;border-radius:12px}
  .intro-node svg{width:18px;height:18px}
  .intro-node.n-cloud{left:4%;top:25%}
  .intro-node.n-shield{right:4%;top:23%}
  .intro-node.n-server{left:7%;bottom:21%}
  .intro-node.n-ai{right:7%;bottom:21%}
  .intro-node.n-network{bottom:5%}
  .intro-skip{right:14px;bottom:16px}
  .intro-progress{bottom:18px}
}
@media(prefers-reduced-motion:reduce){
  .psait-intro{display:none!important}
  body.intro-active{overflow:auto!important}
}

/* ==========================================================
   PSA IT v12 — Transparent Logo + Service Nodes Intro
   ========================================================== */

.intro-logo-panel{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}
.intro-logo-panel::after{
  display:none !important;
}
.intro-logo{
  width:min(360px,72vw);
  filter:
    drop-shadow(0 18px 34px rgba(0,0,0,.38))
    drop-shadow(0 0 20px rgba(45,111,181,.14));
}
.intro-logo-wrap{
  z-index:9;
}
.intro-tagline{
  margin-top:20px;
  color:#c2cfda;
  text-shadow:0 2px 12px rgba(0,0,0,.45);
}
.intro-status{
  color:#68dfcf;
}

/* Service nodes */
.intro-service{
  position:absolute;
  z-index:6;
  min-width:150px;
  height:58px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background:
    linear-gradient(145deg,rgba(12,38,62,.92),rgba(6,22,38,.94));
  backdrop-filter:blur(12px);
  box-shadow:
    0 18px 40px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.025);
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  opacity:0;
  transform:scale(.72);
}
.intro-service::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(45,111,181,.0),rgba(45,111,181,.22),rgba(255,181,27,.18),rgba(45,111,181,0));
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  padding:1px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.intro-service-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  color:#6ebcf5;
  background:rgba(55,135,196,.10);
  box-shadow:inset 0 0 18px rgba(45,111,181,.10);
}
.intro-service-icon svg{
  width:19px;
  height:19px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.intro-service-copy{
  min-width:0;
}
.intro-service-copy b{
  display:block;
  font-size:11px;
  line-height:1.15;
  color:#f7fbff;
  white-space:nowrap;
}
.intro-service-copy span{
  display:block;
  margin-top:3px;
  color:#8298ab;
  font-size:8px;
  line-height:1.2;
  white-space:nowrap;
}

.intro-service.s-cyber{
  left:50%; top:7%;
  transform:translateX(-50%) scale(.72);
  animation:serviceNodeCenter .52s 1.05s ease forwards;
}
.intro-service.s-infra{
  left:4%; top:28%;
  animation:serviceNode .52s 1.18s ease forwards;
}
.intro-service.s-microsoft{
  right:4%; top:28%;
  animation:serviceNode .52s 1.30s ease forwards;
}
.intro-service.s-virtual{
  left:7%; bottom:17%;
  animation:serviceNode .52s 1.43s ease forwards;
}
.intro-service.s-backup{
  left:50%; bottom:4%;
  transform:translateX(-50%) scale(.72);
  animation:serviceNodeCenter .52s 1.56s ease forwards;
}
.intro-service.s-ai{
  right:7%; bottom:17%;
  animation:serviceNode .52s 1.68s ease forwards;
}

.intro-service.s-cyber .intro-service-icon{color:#ffbf31;background:rgba(255,181,27,.09)}
.intro-service.s-ai .intro-service-icon{color:#68dfcf;background:rgba(104,223,207,.08)}
.intro-service.s-backup .intro-service-icon{color:#8ec9f5}
.intro-service.s-microsoft .intro-service-icon{color:#7dbdf0}

/* new six radial links */
.intro-link{
  z-index:4;
}
.intro-link.l1{
  width:26%; left:50%; top:22%;
  transform:rotate(-90deg);
  animation:linkIn .45s 1.12s ease forwards;
}
.intro-link.l2{
  width:35%; left:20%; top:38%;
  transform:rotate(12deg);
  animation:linkIn .45s 1.24s ease forwards;
}
.intro-link.l3{
  width:35%; left:50%; top:48%;
  transform:rotate(-14deg);
  animation:linkIn .45s 1.36s ease forwards;
}
.intro-link.l4{
  width:34%; left:21%; top:64%;
  transform:rotate(-13deg);
  animation:linkIn .45s 1.49s ease forwards;
}
.intro-link.l5{
  width:23%; left:50%; top:61%;
  transform:rotate(90deg);
  animation:linkIn .45s 1.61s ease forwards;
}
.intro-link.l6{
  width:34%; left:50%; top:63%;
  transform:rotate(14deg);
  animation:linkIn .45s 1.73s ease forwards;
}

@keyframes serviceNode{
  to{opacity:1;transform:scale(1)}
}
@keyframes serviceNodeCenter{
  to{opacity:1;transform:translateX(-50%) scale(1)}
}

/* Logo aura without any background panel */
.intro-logo-aura{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:430px;
  height:210px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center,rgba(45,111,181,.18),rgba(45,111,181,.055) 46%,transparent 72%);
  filter:blur(14px);
  opacity:0;
  animation:auraIn 1.1s .45s ease forwards;
  z-index:-1;
}
@keyframes auraIn{to{opacity:1}}

@media(max-width:760px){
  .intro-service{
    min-width:0;
    width:116px;
    height:50px;
    padding:8px 9px;
    gap:7px;
    border-radius:13px;
  }
  .intro-service-icon{
    width:28px;height:28px;flex-basis:28px;border-radius:8px;
  }
  .intro-service-icon svg{width:16px;height:16px}
  .intro-service-copy b{font-size:9px;white-space:normal;line-height:1.1}
  .intro-service-copy span{display:none}
  .intro-service.s-cyber{top:8%}
  .intro-service.s-infra{left:0;top:28%}
  .intro-service.s-microsoft{right:0;top:28%}
  .intro-service.s-virtual{left:1%;bottom:18%}
  .intro-service.s-ai{right:1%;bottom:18%}
  .intro-service.s-backup{bottom:4%}
  .intro-logo{width:min(275px,70vw)}
  .intro-logo-aura{width:300px;height:170px}
}
@media(max-width:390px){
  .intro-service{width:104px}
  .intro-service-copy b{font-size:8.4px}
  .intro-service.s-infra{left:-1%}
  .intro-service.s-microsoft{right:-1%}
  .intro-service.s-virtual{left:0}
  .intro-service.s-ai{right:0}
}


/* ==========================================================
   PSA IT v13 — Persian Typography
   Primary Persian typeface: Vazirmatn
   ========================================================== */
html[lang="fa"] body{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
  font-weight:400;
  letter-spacing:0;
}
html[lang="fa"] h1,
html[lang="fa"] h2,
html[lang="fa"] h3,
html[lang="fa"] h4,
html[lang="fa"] .display-title{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
  font-weight:700;
  letter-spacing:-.018em !important;
}
html[lang="fa"] .hero h1,
html[lang="fa"] .page-hero h2,
html[lang="fa"] .hero-photo h1{
  font-weight:800;
}
html[lang="fa"] .lead,
html[lang="fa"] .editorial-copy{
  font-weight:400;
  line-height:2.02;
}
html[lang="fa"] p,
html[lang="fa"] li,
html[lang="fa"] .service-card p,
html[lang="fa"] .industry-card p,
html[lang="fa"] .quote-card p,
html[lang="fa"] .value-card p,
html[lang="fa"] .outcome-card p{
  line-height:1.95;
}
html[lang="fa"] .nav-links a{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
  font-weight:500;
  letter-spacing:0;
}
html[lang="fa"] .btn,
html[lang="fa"] button,
html[lang="fa"] input,
html[lang="fa"] textarea{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
}
html[lang="fa"] .btn{
  font-weight:700;
}
html[lang="fa"] .kicker,
html[lang="fa"] .eyebrow{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
  font-weight:700;
  letter-spacing:.02em;
}
html[lang="fa"] .stat strong{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
  font-weight:700;
}
html[lang="fa"] .footer-links b,
html[lang="fa"] .footer-links a{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
}
html[lang="fa"] .intro-status{
  font-family:"Vazirmatn","IRANSansX","Segoe UI",Tahoma,Arial,sans-serif !important;
  letter-spacing:0;
}
@media(max-width:680px){
  html[lang="fa"] .hero h1{
    line-height:1.28;
    letter-spacing:-.015em !important;
  }
  html[lang="fa"] h2,
  html[lang="fa"] .section h2,
  html[lang="fa"] .page-hero h2{
    line-height:1.34;
  }
  html[lang="fa"] p,
  html[lang="fa"] .lead{
    line-height:1.95;
  }
}

/* ==========================================================
   PSA IT v14 — Smart Buildings & IoT
   ========================================================== */
.smart-hero{
  --smart-bg:
    radial-gradient(circle at 78% 28%,rgba(48,145,209,.25),transparent 25%),
    radial-gradient(circle at 68% 76%,rgba(255,181,27,.10),transparent 24%),
    linear-gradient(135deg,#06111f,#0a243b 60%,#0c304c);
  background:var(--smart-bg);
}
.smart-diagram{
  position:relative;
  height:430px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
  overflow:hidden;
}
.smart-building{
  position:absolute;
  left:50%;
  bottom:42px;
  width:180px;
  height:260px;
  transform:translateX(-50%);
  border:1px solid rgba(102,187,242,.32);
  background:linear-gradient(90deg,#0a1d2e,#11344f,#091a2b);
  clip-path:polygon(13% 100%,13% 26%,27% 26%,27% 12%,47% 12%,47% 0,66% 0,66% 21%,87% 21%,87% 100%);
  box-shadow:0 0 60px rgba(45,111,181,.16);
}
.smart-building:after{
  content:"";
  position:absolute;
  inset:20px 22px;
  background:
    repeating-linear-gradient(to bottom,rgba(99,194,255,.55) 0 2px,transparent 2px 18px),
    repeating-linear-gradient(to right,transparent 0 20px,rgba(255,181,27,.18) 20px 22px);
  opacity:.6;
}
.smart-hub{
  position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);
  width:96px;height:96px;border-radius:50%;
  display:grid;place-items:center;text-align:center;
  background:radial-gradient(circle,#164b70,#091c2f 70%);
  border:1px solid rgba(255,181,27,.45);
  box-shadow:0 0 45px rgba(45,111,181,.25);
  z-index:3;color:#fff;font-size:11px;font-weight:800;
}
.smart-dot{
  position:absolute;z-index:4;padding:9px 11px;border-radius:999px;
  background:rgba(8,29,48,.9);border:1px solid rgba(255,255,255,.12);
  color:#bdd0df;font-size:9px;font-weight:800;
}
.smart-dot:before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:#66daca;box-shadow:0 0 12px #66daca;margin-right:6px;
}
.sd1{left:8%;top:18%}.sd2{right:8%;top:18%}.sd3{left:7%;bottom:21%}.sd4{right:7%;bottom:21%}
.smart-line{
  position:absolute;height:1px;background:linear-gradient(90deg,transparent,#4f9cd4,#ffb51b);
  transform-origin:left;opacity:.7;box-shadow:0 0 10px rgba(69,155,214,.4);
}
.sl1{width:37%;left:19%;top:28%;transform:rotate(16deg)}
.sl2{width:35%;left:50%;top:42%;transform:rotate(-23deg)}
.sl3{width:36%;left:18%;top:70%;transform:rotate(-17deg)}
.sl4{width:35%;left:50%;top:61%;transform:rotate(20deg)}
.smart-cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.smart-cap{padding:26px;border:1px solid #e2e8ed;border-radius:18px;background:#fff}
.smart-cap h3{font-size:18px;margin:8px 0 10px}.smart-cap p{font-size:13px;color:#66788a;line-height:1.75}
.smart-cap span{font-size:10px;color:#2d6fb5;font-weight:900;letter-spacing:.08em}
@media(max-width:980px){.smart-cap-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){
 .smart-diagram{height:330px}.smart-building{height:210px;width:145px;bottom:32px}
 .smart-hub{width:78px;height:78px;font-size:9px}
 .smart-dot{font-size:8px;padding:7px 8px}
 .smart-cap-grid{grid-template-columns:1fr}
}

/* v14.6 definitive mobile navigation visibility */
@media (max-width:980px){
  .site-header .nav-links{
    display:none !important;
  }
  .site-header .nav-links.open{
    display:flex !important;
  }
  .site-header .menu{
    display:flex !important;
    position:relative;
    z-index:10002;
    cursor:pointer;
    pointer-events:auto;
  }
}


/* ==========================================================
   PSA IT v14.8 — bilingual logo lockup
   ========================================================== */
.brand.brand-lockup{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  line-height:1;
  text-decoration:none;
}
.brand.brand-lockup .brand-logo-img{
  margin:0;
}
.brand-tagline{
  display:block;
  width:100%;
  text-align:center;
  white-space:nowrap;
  line-height:1.05;
  font-weight:600;
  letter-spacing:.01em;
  color:#c7d5e2;
  text-shadow:0 1px 8px rgba(0,0,0,.22);
}
.brand-tagline.en{
  font-size:8.4px;
  letter-spacing:.025em;
  font-family:Arial, Helvetica, sans-serif;
}
.brand-tagline.fa{
  font-size:12px;
  font-weight:700;
  color:#ffb51b;
  direction:rtl;
  font-family:Tahoma, "Segoe UI", Arial, sans-serif;
}
.site-header .navbar{
  min-height:88px;
}
.footer .brand.brand-lockup{
  align-items:flex-start;
}
.footer .brand-tagline{
  text-align:left;
  max-width:210px;
}
html[lang="fa"] .footer .brand.brand-lockup{
  align-items:center;
}
html[lang="fa"] .footer .brand-tagline{
  text-align:center;
}

@media(max-width:680px){
  .site-header .navbar{min-height:76px;}
  .brand-tagline.en{font-size:7px;}
  .brand-tagline.fa{font-size:9.5px;}
}


/* ==========================================================
   PSA IT v14.11 — exact tagline span, logo size untouched
   ========================================================== */

/* Do not impose any width on the logo or brand. */
.brand.brand-lockup{
  width:auto !important;
  max-width:none !important;
  align-items:center !important;
}

/* No width/height changes to .brand-logo-img here. */

.brand.brand-lockup .brand-tagline{
  width:var(--psait-real-logo-width, auto) !important;
  max-width:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0 !important;
  margin:2px auto 0 !important;
  padding:0 !important;
  white-space:nowrap !important;
  line-height:1 !important;
  box-sizing:border-box !important;
  transform:none !important;
  text-align:initial !important;
}

.brand.brand-lockup .brand-tagline > span{
  display:inline-block !important;
  flex:0 0 auto !important;
}

/* English */
.brand.brand-lockup .brand-tagline.en{
  direction:ltr !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:7.8px !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  color:#c7d5e2 !important;
}

/* Persian */
.brand.brand-lockup .brand-tagline.fa{
  direction:rtl !important;
  font-family:Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-size:10.8px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:#ffb51b !important;
}

/* Footer same logic */
.footer .brand.brand-lockup{
  width:auto !important;
  max-width:none !important;
  align-items:center !important;
}
.footer .brand-tagline{
  text-align:initial !important;
}

@media(max-width:680px){
  .brand.brand-lockup .brand-tagline.en{
    font-size:6.4px !important;
  }
  .brand.brand-lockup .brand-tagline.fa{
    font-size:8.8px !important;
  }
}


/* ==========================================================
   PSA IT v14.14 — Persian Kashida tagline
   Logo dimensions remain completely untouched.
   ========================================================== */

/* Keep brand sizing controlled by the original site */
.brand.brand-lockup{
  width:auto !important;
  max-width:none !important;
  align-items:center !important;
}

/* Do NOT set width, max-width, height, transform or scale on logo */
.brand.brand-lockup .brand-logo-img{
  margin:0 !important;
}

/* English tagline is intentionally removed from markup */
.brand.brand-lockup .brand-tagline.en{
  display:none !important;
}

/* Persian tagline box follows the ACTUAL rendered logo width */
.brand.brand-lockup .brand-tagline.fa{
  display:block !important;
  width:var(--psait-real-logo-width, auto) !important;
  max-width:none !important;
  margin:3px auto 0 !important;
  padding:0 !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-align:center !important;
  direction:rtl !important;
  line-height:1.08 !important;
  font-family:Tahoma, "Segoe UI", Arial, sans-serif !important;
  font-size:10.8px !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
  color:#e9a000 !important;
  text-shadow:0 1px 7px rgba(0,0,0,.16) !important;
  transform:none !important;
  justify-content:initial !important;
  gap:0 !important;
}

/* One real Persian text line. No scaleX or letter stretching. */
.brand.brand-lockup .brand-tagline.fa .brand-tagline-kashida{
  display:inline-block !important;
  white-space:nowrap !important;
  transform:none !important;
  letter-spacing:0 !important;
  font-stretch:normal !important;
}

/* Neutralize older per-word flex rules */
.brand.brand-lockup .brand-tagline.fa > span{
  flex:none !important;
}

/* Footer uses the same logic */
.footer .brand.brand-lockup{
  width:auto !important;
  max-width:none !important;
  align-items:center !important;
}
.footer .brand-tagline.fa{
  text-align:center !important;
}

@media(max-width:680px){
  .brand.brand-lockup .brand-tagline.fa{
    font-size:8.8px !important;
    margin-top:2px !important;
  }
}


/* ==========================================================
   PSA IT v14.16 — Mobile language switch always visible
   ========================================================== */

/* Hidden on desktop; desktop language switch remains in nav */
.mobile-header-tools{
  display:none;
}

@media(max-width:980px){
  /* Brand + a compact tools group (language + hamburger) */
  .mobile-header-tools{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
  }

  .mobile-header-tools .mobile-lang-switch{
    display:inline-flex !important;
    align-items:center;
    direction:ltr !important;
    margin:0 !important;
    border:1px solid rgba(255,255,255,.18);
    border-radius:999px;
    overflow:hidden;
    background:rgba(7,17,31,.56);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
  }

  .mobile-header-tools .mobile-lang-switch a{
    padding:7px 9px;
    font-size:10px;
    line-height:1;
    font-weight:800;
    min-width:31px;
    text-align:center;
  }

  .mobile-header-tools .mobile-lang-switch a.active{
    background:rgba(255,255,255,.10);
    color:#fff;
  }

  /* The same switch inside the collapsed menu is redundant on mobile */
  .nav-links .lang-switch{
    display:none !important;
  }

  /* Preserve the existing hamburger behavior */
  .mobile-header-tools .menu{
    display:block !important;
    margin:0 !important;
    flex:0 0 auto;
  }
}

@media(max-width:420px){
  .mobile-header-tools{
    gap:4px;
  }
  .mobile-header-tools .mobile-lang-switch a{
    padding:6px 7px;
    min-width:28px;
    font-size:9px;
  }
  .mobile-header-tools .menu{
    padding:6px;
  }
}


/* ==========================================================
   PSA IT v14.18 — Desktop first-view composition
   Goal: Header + nearly full hero + start of executive strip
   visible in the first desktop viewport.
   Mobile/tablet rules remain unchanged.
   ========================================================== */
@media(min-width:981px){
  /* Homepage hero only. No logo sizing is changed. */
  main > .hero:first-child{
    min-height:clamp(650px, calc(100svh - 155px), 795px) !important;
    padding:88px 0 30px !important;
  }

  main > .hero:first-child .hero-layout{
    align-items:center;
  }

  main > .hero:first-child .hero-brandline{
    margin-bottom:12px;
  }

  main > .hero:first-child .intro{
    margin-bottom:0;
  }

  main > .hero:first-child .actions{
    margin-top:24px;
  }

  main > .hero:first-child .hero-proof{
    margin-top:22px;
    padding-top:17px;
    gap:22px;
  }

  main > .hero:first-child .trust{
    margin-top:17px;
  }

  /* Persian headline is slightly tighter so its four-line composition
     fits the viewport without crowding the proof points. */
  html[lang="fa"] main > .hero:first-child h1{
    font-size:clamp(54px,4.65vw,74px) !important;
    line-height:1.07 !important;
    margin:16px 0 20px !important;
    max-width:760px;
  }

  html[lang="fa"] main > .hero:first-child .intro{
    font-size:16px !important;
    line-height:1.95 !important;
    max-width:700px;
  }

  /* RTL executive strip reads cleanly as four equal executive messages. */
  html[lang="fa"] .executive-strip-grid{
    grid-template-columns:1.25fr repeat(3,1fr);
  }
  html[lang="fa"] .executive-strip-grid > div{
    border-right:0;
    border-left:1px solid rgba(255,255,255,.08);
    text-align:right;
  }
  html[lang="fa"] .executive-strip-grid > div:first-child{
    padding-right:0;
    padding-left:28px;
  }
  html[lang="fa"] .executive-strip-grid > div:last-child{
    border-left:0;
  }

  html[lang="fa"] .credibility-grid > div{
    text-align:right;
  }
}


/* ==========================================================
   PSA IT v14.23 — Persian hero matches the TRUE EN visual depth
   EN v14.18 is untouched.
   Cause fixed: EN grows beyond min-height due to its taller copy;
   FA now receives a comparable explicit desktop envelope.
   Logo dimensions are untouched.
   ========================================================== */

@media(min-width:981px){

  /* Persian HOME only. Approximate the actual content-driven EN depth. */
  html[lang="fa"] main > .hero:first-child{
    height:clamp(930px, 100vh, 1080px) !important;
    min-height:clamp(930px, 100vh, 1080px) !important;
    max-height:1080px !important;
    padding:88px 0 34px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  html[lang="fa"] main > .hero:first-child > .container.hero-layout{
    height:100% !important;
    min-height:0 !important;
    align-items:center !important;
  }

  /*
    Keep Persian visually comparable to the 5-line EN headline.
    Narrower copy column naturally creates a four-line Persian heading:
      زیرساخت امن.
      راهکار هوشمند.
      همکاری قابل
      اعتماد.
  */
  html[lang="fa"] main > .hero:first-child h1{
    font-size:clamp(58px,4.85vw,78px) !important;
    line-height:1.08 !important;
    margin:18px 0 24px !important;
    max-width:590px !important;
  }

  html[lang="fa"] main > .hero:first-child .intro{
    font-size:16px !important;
    line-height:1.95 !important;
    max-width:690px !important;
  }

  html[lang="fa"] main > .hero:first-child .actions{
    margin-top:28px !important;
  }

  html[lang="fa"] main > .hero:first-child .hero-proof{
    margin-top:28px !important;
    padding-top:20px !important;
    gap:24px !important;
  }

  html[lang="fa"] main > .hero:first-child .trust{
    margin-top:20px !important;
    gap:20px !important;
  }

  html[lang="fa"] main > .hero:first-child .hero-visual{
    height:520px !important;
    max-height:520px !important;
  }
}

/* Tablet / mobile stay fluid and content-driven. */
@media(max-width:980px){
  html[lang="fa"] main > .hero:first-child{
    height:auto !important;
    min-height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  html[lang="fa"] main > .hero:first-child > .container.hero-layout{
    height:auto !important;
    min-height:0 !important;
  }
}


/* ==========================================================
   PSA IT v14.25 — Persian hero background mirrored horizontally
   EN remains unchanged. Logo/layout/content remain unchanged.
   ========================================================== */

/* Mirror the orange diagonal decorative plane to the opposite side in FA. */
html[lang="fa"] main > .hero:first-child:after{
  right:auto !important;
  left:-8% !important;
  transform:scaleX(-1) !important;
  transform-origin:center !important;
}

/* Mobile/tablet: preserve the same mirrored relationship. */
@media(max-width:680px){
  html[lang="fa"] main > .hero:first-child:after{
    right:auto !important;
    left:-38% !important;
    width:80% !important;
    transform:scaleX(-1) !important;
  }
}


/* ==========================================================
   PSA IT v14.26 — Persian parity for lower-home enterprise sections
   ========================================================== */
html[lang="fa"] .australia-panel:after{
  right:auto;
  left:-10px;
}
html[lang="fa"] .capability-columns,
html[lang="fa"] .editorial-grid,
html[lang="fa"] .practice-grid{
  direction:rtl;
}
html[lang="fa"] .editorial-copy{
  line-height:2;
}
html[lang="fa"] .practice{
  text-align:right;
}
html[lang="fa"] .practice-num{
  direction:ltr;
  text-align:right;
}
html[lang="fa"] .practice a{
  align-self:flex-start;
}


/* ==========================================================
   PSA IT v14.27 — Bilingual visual/content parity
   ========================================================== */
html[lang="fa"] .method-row,
html[lang="fa"] .client-value,
html[lang="fa"] .service-intro-grid,
html[lang="fa"] .outcome-grid,
html[lang="fa"] .delivery-steps,
html[lang="fa"] .service-nav-inner{
  direction:rtl;
}
html[lang="fa"] .service-intro-grid,
html[lang="fa"] .outcome-card,
html[lang="fa"] .delivery-step,
html[lang="fa"] .value-card,
html[lang="fa"] .insight-panel,
html[lang="fa"] .hero-photo-copy{
  text-align:right;
}
html[lang="fa"] .service-nav-inner{
  justify-content:flex-start;
}


/* ==========================================================
   PSA IT v14.28 — Secure optional contact attachment
   ========================================================== */
.secure-file-upload{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:2px;
}
.secure-file-upload .optional{
  color:var(--muted);
  font-weight:500;
  font-size:.88em;
}
.secure-file-upload input[type="file"]{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background:#fff;
  color:var(--navy);
  font:inherit;
}
.secure-file-upload input[type="file"]::file-selector-button{
  border:0;
  border-radius:9px;
  padding:9px 13px;
  margin-right:12px;
  background:#eaf1f7;
  color:var(--navy);
  font-weight:700;
  cursor:pointer;
}
html[lang="fa"] .secure-file-upload input[type="file"]::file-selector-button{
  margin-right:0;
  margin-left:12px;
}
.secure-file-upload small{
  color:var(--muted);
  font-size:11px;
  line-height:1.7;
}
.form-status{
  border-radius:10px;
  padding:11px 13px;
  margin-top:4px;
  font-size:12px;
  line-height:1.7;
  background:#fff4f1;
  border:1px solid #f1c8bd;
  color:#7b2c20;
}


/* PSA IT v14.29 — attachment validation states */
.form-status.is-ok{
  background:#f3faf7;
  border-color:#b9ddcc;
  color:#245b45;
}
.form-status.is-error{
  background:#fff4f1;
  border-color:#f1c8bd;
  color:#7b2c20;
}
button[type="submit"]:disabled{
  opacity:.65;
  cursor:wait;
}
