@font-face{font-family:Vazirmatn;src:url('assets/Vazirmatn-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('assets/Vazirmatn-Bold.ttf') format('truetype');font-style:normal;font-weight:700 900;font-display:swap}
:root{--navy:#101f2e;--navy-2:#172b3e;--navy-3:#20384e;--yellow:#f6c62e;--yellow-soft:#ffe18a;--ink:#17293a;--muted:#667380;--paper:#f7f8f6;--line:#dbe1e4;--white:#fff;--font:Vazirmatn,Tahoma,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
svg{display:block}
::selection{background:var(--yellow);color:var(--navy)}
:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
[hidden]{display:none!important}
.container{width:min(100% - 64px,1240px);margin-inline:auto}
.skip-link{position:fixed;z-index:1000;top:-80px;right:20px;background:var(--yellow);color:var(--navy);padding:8px 18px;border-radius:4px}
.skip-link:focus{top:12px}
.site-header{position:relative;z-index:40;background:var(--white)}
.utility-bar{height:34px;background:#0c1825;color:#d3dae0;font-size:11px;letter-spacing:.01em}
.utility-inner,.utility-links{display:flex;align-items:center;justify-content:space-between;gap:24px;height:100%}
.utility-links{justify-content:flex-end;gap:16px;direction:ltr}
.utility-links a:hover{color:var(--yellow)}
.utility-separator{width:1px;height:12px;background:#728292}
.nav-shell{background:var(--white);border-bottom:4px solid var(--yellow)}
.nav-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;min-width:214px;color:var(--navy)}
.brand-mark{width:47px;height:47px;display:grid;place-items:center;color:var(--navy)}
.brand-mark svg{width:100%;height:100%}
.brand-text{display:flex;flex-direction:column;line-height:1.25}
.brand-text strong{font-size:20px;font-weight:800;white-space:nowrap}
.brand-text small{font-family:Arial,sans-serif;direction:ltr;text-align:right;font-size:9px;letter-spacing:.11em;font-weight:700;margin-top:5px}
.desktop-nav{display:flex;align-items:center;gap:clamp(13px,1.75vw,30px);height:100%;font-size:13px;font-weight:700;white-space:nowrap}
.desktop-nav a{height:100%;display:flex;align-items:center;position:relative;transition:color .2s}
.desktop-nav a::after{content:"";position:absolute;bottom:0;right:0;width:0;height:3px;background:var(--yellow);transition:width .2s}
.desktop-nav a:hover{color:#b18300}.desktop-nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:12px}
.icon-button{width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;color:inherit;transition:background .2s,color .2s}
.icon-button:hover{background:#eef1f1;color:#9b7400}
.icon-button svg{width:20px;height:20px}
.header-contact{display:flex;align-items:center;justify-content:center;gap:20px;background:var(--navy);color:white;height:40px;padding:0 17px;font-size:12px;font-weight:700;white-space:nowrap;transition:background .2s}
.header-contact:hover{background:var(--navy-3)}
.header-contact span,.button span,.text-link span,.map-link span{font-size:18px;font-family:Arial,sans-serif;font-weight:400}
.menu-button{display:none}
.hero{min-height:690px;height:min(800px,calc(100svh - 116px));position:relative;overflow:hidden;background:#183146;color:white}
.hero-image{position:absolute;inset:0;background-image:url('assets/line-workers.png');background-size:cover;background-position:center 48%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,24,39,.97) 0%,rgba(8,24,39,.91) 18%,rgba(8,24,39,.68) 40%,rgba(8,24,39,.12) 68%,rgba(8,24,39,.1) 100%)}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:7px;background:var(--yellow)}
.hero-content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:88px;direction:rtl}
.hero-content>*{width:min(100%,570px);margin-right:auto;margin-left:0}
.eyebrow{display:flex;align-items:center;gap:12px;color:#a77c03;font-size:12px;font-weight:700;letter-spacing:.02em;margin:0 0 18px}
.eyebrow.light{color:var(--yellow-soft)}
.eyebrow-line{width:34px;height:2px;background:var(--yellow);display:inline-block;flex:none}
.hero h1{font-size:clamp(52px,6vw,92px);line-height:1.18;letter-spacing:-.06em;font-weight:800;margin-top:0;margin-bottom:27px;text-wrap:balance}
.hero h1 em{font-style:normal;color:var(--yellow)}
.hero-lead{font-size:18px;line-height:2.05;color:#e8edf0;max-width:500px;margin-top:0;margin-bottom:30px}
.hero-actions{display:flex;align-items:center;gap:31px;width:auto}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-width:176px;min-height:50px;padding:10px 20px;font-weight:700;font-size:13px;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-3px)}
.button-yellow{background:var(--yellow);color:var(--navy)}
.button-yellow:hover{background:#ffdc56}
.text-link{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:5px;transition:gap .2s}
.text-link:hover{gap:20px}
.light-link{color:white}
.dark-link{color:var(--navy)}
.hero-side-note{position:absolute;z-index:2;right:32px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font:700 10px Arial,sans-serif;letter-spacing:.16em;color:#edf1f3a8}
.scroll-hint{position:absolute;z-index:3;bottom:33px;left:calc((100% - min(100% - 64px,1240px))/2);display:flex;align-items:center;gap:8px;font-size:11px;color:#f1f2f2}
.scroll-hint span{font-size:20px;color:var(--yellow)}
.section{padding-block:112px}
.intro-grid{display:grid;grid-template-columns:1fr .94fr;gap:8%;align-items:center}
.intro-copy h2,.section-heading h2,.partners h2,.contact h2{font-size:clamp(34px,3.5vw,51px);line-height:1.42;letter-spacing:-.055em;margin:0 0 24px;font-weight:800}
.intro-copy h2 span{color:#b88700}
.intro-copy p:not(.eyebrow){color:#65717b;margin:0 0 20px;text-align:justify}
.intro-copy .lead{font-size:17px;color:#374a59!important;line-height:2.2}
.intro-copy .text-link{margin-top:15px}
.intro-visual{position:relative;padding-bottom:24px;padding-left:24px}
.intro-visual img{width:100%;height:500px;object-fit:cover;object-position:center;filter:saturate(.9)}
.intro-visual::before{content:"";position:absolute;inset:28px 0 0 26px;border:1px solid #b8c2ca;z-index:-1}
.image-caption{display:flex;justify-content:space-between;font-size:12px;color:#546575;padding-top:10px}
.image-caption span:first-child{font-family:Arial,sans-serif;direction:ltr}
.intro-badge{position:absolute;right:-28px;bottom:82px;background:var(--yellow);color:var(--navy);padding:18px 25px;display:flex;flex-direction:column;line-height:1.45;box-shadow:0 20px 35px #101f2e25}
.intro-badge strong{font-size:34px;line-height:1.3}.intro-badge span{font-size:11px;font-weight:700}
.stats{background:var(--yellow);color:var(--navy);padding:21px 0 39px}
.stats-note{font-size:11px;text-align:center;margin:0 0 25px;color:#5a450d}
.stats-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.stats-grid>div{text-align:center;display:flex;flex-direction:column;line-height:1.4;padding:5px 12px;border-left:1px solid #8a6d2b50}
.stats-grid>div:last-child{border-left:0}
.stats-grid strong{font-size:clamp(30px,3vw,44px);font-weight:800;letter-spacing:-.04em}
.stats-grid span{font-size:13px;font-weight:700;margin-top:7px}
.services{background:var(--navy);color:white;position:relative;overflow:hidden}
.services::after{content:"";width:600px;height:600px;border:1px solid #53697c45;border-radius:50%;position:absolute;left:-300px;top:-300px;box-shadow:0 0 0 100px #53697c13,0 0 0 200px #53697c0b;pointer-events:none}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:55px;margin-bottom:42px}
.section-heading h2{margin-bottom:0}
.section-heading>p{max-width:420px;color:var(--muted);margin:0;font-size:14px;line-height:2}
.services-heading>p{color:#b2bfcb}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #4c6275;position:relative;z-index:1}
.service-card{min-height:320px;padding:29px 25px 25px;position:relative;border-left:1px solid #4c6275;transition:background .25s}
.service-card:last-child{border-left:0}
.service-card:hover{background:#21384d}
.service-num{font:700 11px Arial,sans-serif;color:#8da1b2;direction:ltr;display:block;text-align:right}
.service-icon{color:var(--yellow);width:56px;height:56px;margin:26px 0 26px}
.service-icon svg{width:100%;height:100%}
.service-card h3{font-size:18px;line-height:1.6;margin:0 0 12px;font-weight:700}
.service-card p{color:#bbc7d0;font-size:13px;line-height:2;margin:0}
.projects{background:#fff}
.projects-heading{margin-bottom:43px}
.project-feature{display:grid;grid-template-columns:1.3fr .7fr;min-height:350px;background:#e9eef1;margin-bottom:43px}
.project-feature-photo{min-height:350px;overflow:hidden}
.project-feature-photo img{width:100%;height:100%;object-fit:cover;object-position:68% center;filter:saturate(.85)}
.project-feature-copy{background:#edf1f2;padding:38px 42px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;border-right:5px solid var(--yellow)}
.project-kicker{font-size:11px;color:#9c7700;font-weight:700;margin-bottom:12px}
.project-feature-copy h3{font-size:27px;line-height:1.5;margin:0 0 13px}
.project-feature-copy p{font-size:14px;line-height:2;color:#61727e;margin:0}
.project-feature-index{font:700 10px Arial,sans-serif;color:#9aa6ae;direction:ltr;margin-top:26px;letter-spacing:.1em}
.project-list{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.project-item{min-height:68px;border-top:1px solid var(--line);display:flex;align-items:center;gap:20px;padding:12px 4px;transition:background .2s}
.project-item:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
.project-item:hover{background:#f7f9f9}
.project-item span{font:700 12px Arial,sans-serif;color:#b48b1e;direction:ltr}
.project-item p{margin:0;flex:1;font-size:14px;font-weight:700}
.project-item b{font-family:Arial,sans-serif;color:#a4b0b8;font-size:18px;font-weight:400}
.gallery{background:var(--paper);padding-top:98px}
.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px}
.gallery figure{margin:0;position:relative;overflow:hidden;background:#d7dfe2}
.gallery figure img{width:100%;height:390px;object-fit:cover;transition:transform .45s;filter:saturate(.85)}
.gallery figure:first-child img{object-position:70% center}
.gallery figure:hover img{transform:scale(1.03)}
.gallery figcaption{position:absolute;inset:auto 0 0 0;background:linear-gradient(transparent,#071523d9);color:white;padding:44px 24px 18px;display:flex;justify-content:space-between;align-items:end;font-weight:700;font-size:17px}
.gallery figcaption small{font-size:11px;font-weight:400;color:#e5ebef}
.insights{background:white}
.insights-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-right:1px solid var(--line)}
.insights-grid>div{min-height:150px;padding:26px 28px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .2s}
.insights-grid>div:hover{background:#f7f9f9}
.insights-grid span{color:#bb900e;font:700 11px Arial,sans-serif;direction:ltr;display:block;text-align:right;margin-bottom:20px}
.insights-grid h3{margin:0;font-size:18px}
.partners{background:#263e52;color:white;padding-block:58px;border-top:5px solid var(--yellow)}
.partners-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}
.partners h2{font-size:29px;margin-bottom:8px}
.partners p:not(.eyebrow){max-width:780px;color:#cbd5dc;margin:0;font-size:14px;line-height:2}
.partners .button{flex:none}
.contact{background:var(--navy);color:white;padding-block:105px 115px}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}
.contact h2{margin-bottom:20px}
.contact-intro>p:not(.eyebrow){color:#b9c5ce;max-width:430px;margin:0 0 26px}
.button-outline{border:1px solid #8193a0;color:white}
.button-outline:hover{background:#263e52}
.contact-details{border-top:1px solid #4e6475}
.contact-row{display:grid;grid-template-columns:125px 1fr;gap:20px;align-items:start;padding:15px 0;border-bottom:1px solid #4e6475;font-size:14px}
.contact-row>span{font-size:12px;color:#9aaebe}
.contact-row>a,.contact-row>p{margin:0;color:white;direction:ltr;text-align:right;justify-self:start}
.contact-row>a:hover{color:var(--yellow)}
.contact-address>p{direction:rtl;line-height:2}
.map-link{display:inline-flex;align-items:center;gap:12px;margin-top:20px;color:var(--yellow);font-size:13px;font-weight:700;border-bottom:1px solid var(--yellow);padding-bottom:3px}
.site-footer{background:#0b1722;color:#bcc8d0;border-top:1px solid #314456}
.footer-inner{min-height:155px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-brand{display:flex;align-items:center;gap:12px;color:white;font-size:18px;font-weight:800;line-height:1.3}
.footer-brand .brand-mark{color:var(--yellow);width:42px;height:42px}
.footer-brand small{display:block;font:700 8px Arial,sans-serif;letter-spacing:.11em;direction:ltr;text-align:right;margin-top:5px}
.footer-inner p,.footer-inner a{font-size:12px}
.footer-inner a:hover{color:var(--yellow)}
.footer-bottom{border-top:1px solid #314456;display:flex;justify-content:space-between;padding-block:16px;font-size:10px;color:#8da1af}
.mobile-nav,.nav-backdrop{display:none}
.search-dialog{width:min(620px,calc(100% - 36px));max-height:min(80vh,700px);border:0;padding:28px;background:white;color:var(--ink);box-shadow:0 30px 80px #08152270;overflow:auto}
.search-dialog::backdrop{background:#071522b9;backdrop-filter:blur(4px)}
.search-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}
.search-dialog h2{font-size:24px;margin:0}
.search-dialog-head .icon-button{font-size:30px}
.search-dialog label{display:block;color:var(--muted);font-size:13px;margin-bottom:10px}
.search-input-wrap{display:flex;align-items:center;gap:10px;border:1px solid #aebbc4;padding:0 14px;height:53px}
.search-input-wrap:focus-within{border-color:#ae830b;box-shadow:0 0 0 3px #f6c62e45}
.search-input-wrap svg{width:20px;height:20px;color:#667783}
.search-input-wrap input{border:0;outline:0;background:transparent;width:100%;height:100%;font-size:15px;color:var(--ink)}
.search-results{margin-top:22px;display:grid;gap:5px}
.search-results a{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 4px;font-size:14px}
.search-results a:hover{color:#ac8000;background:#f9faf9}
.search-results small{color:var(--muted);font-size:11px;white-space:nowrap}
.search-results p{font-size:13px;color:var(--muted);margin:0}
@media (max-width:1100px){.desktop-nav{gap:12px;font-size:12px}.brand{min-width:185px}.brand-text strong{font-size:17px}.brand-mark{width:40px;height:40px}.header-contact{display:none}.intro-grid{gap:5%}}
@media (max-width:900px){.container{width:min(100% - 40px,720px)}.utility-bar{display:none}.nav-inner{height:72px}.desktop-nav{display:none}.menu-button{display:grid}.header-contact{display:flex}.hero{height:690px;min-height:0}.hero-shade{background:linear-gradient(90deg,rgba(8,24,39,.95) 0%,rgba(8,24,39,.78) 48%,rgba(8,24,39,.25) 100%)}.hero-content>*{max-width:530px}.hero-side-note{display:none}.scroll-hint{left:20px}.intro-grid{grid-template-columns:1fr;gap:60px}.intro-visual{max-width:610px;margin-inline:auto;width:100%}.intro-badge{right:-10px}.services-grid{grid-template-columns:1fr 1fr}.service-card:nth-child(2){border-left:0}.service-card:nth-child(-n+2){border-bottom:1px solid #4c6275}.project-feature{grid-template-columns:1fr 1fr}.mobile-nav{display:flex;position:fixed;z-index:90;top:0;bottom:0;right:0;width:min(82vw,350px);background:var(--navy);color:white;flex-direction:column;padding:20px 25px;box-shadow:-20px 0 60px #0b172260;overflow:auto}.mobile-nav-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-weight:700;font-size:20px}.mobile-nav-head .icon-button{font-size:30px;color:white}.mobile-nav>a{border-top:1px solid #43586a;padding:12px 3px;font-size:15px;font-weight:700}.mobile-nav>a:last-child{border-bottom:1px solid #43586a}.mobile-nav>a:hover{color:var(--yellow)}.nav-backdrop{display:block;position:fixed;z-index:80;inset:0;background:#071522a8}}
@media (max-width:650px){html{scroll-padding-top:76px}.container{width:calc(100% - 36px)}.nav-inner{height:67px}.brand{min-width:0}.brand-mark{width:37px;height:37px}.brand-text strong{font-size:16px}.brand-text small{font-size:7px}.header-actions{gap:3px}.header-contact{display:none}.hero{height:660px;max-height:calc(100svh - 71px);min-height:560px}.hero-image{background-position:62% center}.hero-shade{background:linear-gradient(0deg,#0a1c2e 0%,#0a1c2ed9 48%,#0a1c2e45 100%)}.hero-content{justify-content:end;padding-bottom:75px}.hero-content>*{margin-right:0;margin-left:auto}.hero h1{font-size:clamp(44px,12vw,66px);margin-bottom:18px}.hero-lead{font-size:14px;line-height:2;margin-bottom:23px}.hero-actions{gap:19px;flex-wrap:wrap}.button{min-width:155px;min-height:47px;gap:18px;padding-inline:15px}.scroll-hint{bottom:18px;font-size:10px}.section{padding-block:74px}.intro-copy h2,.section-heading h2,.contact h2{font-size:34px}.intro-copy .lead{font-size:15px}.intro-copy p:not(.eyebrow){font-size:14px}.intro-visual{padding-bottom:18px;padding-left:12px}.intro-visual img{height:340px}.intro-badge{padding:10px 16px;bottom:63px}.intro-badge strong{font-size:26px}.stats{padding:18px 0 25px}.stats-note{font-size:10px;line-height:1.7;margin-bottom:17px}.stats-grid{grid-template-columns:repeat(3,1fr);row-gap:23px}.stats-grid>div{padding:0 5px}.stats-grid>div:nth-child(3){border-left:0}.stats-grid>div:nth-child(4){grid-column:1/2}.stats-grid strong{font-size:29px}.stats-grid span{font-size:10px;margin-top:3px}.section-heading{display:block;margin-bottom:29px}.section-heading>p{font-size:13px;margin-top:14px}.services-grid{grid-template-columns:1fr 1fr}.service-card{min-height:245px;padding:18px 15px}.service-icon{width:41px;height:41px;margin:18px 0}.service-card h3{font-size:14px}.service-card p{font-size:11px;line-height:1.8}.project-feature{grid-template-columns:1fr}.project-feature-photo{min-height:230px;height:230px}.project-feature-copy{padding:25px;border-right:0;border-top:4px solid var(--yellow)}.project-feature-copy h3{font-size:23px}.project-list{grid-template-columns:1fr}.project-item{min-height:62px}.project-item:nth-last-child(2){border-bottom:0}.project-item:nth-last-child(1){border-bottom:1px solid var(--line)}.project-item p{font-size:13px}.gallery-grid{grid-template-columns:1fr;gap:14px}.gallery figure img{height:260px}.insights-grid{grid-template-columns:1fr 1fr}.insights-grid>div{min-height:125px;padding:20px}.insights-grid h3{font-size:14px}.partners-inner{display:block}.partners h2{font-size:25px}.partners p:not(.eyebrow){font-size:13px}.partners .button{margin-top:22px}.contact-grid{grid-template-columns:1fr;gap:48px}.contact h2{font-size:35px}.contact-row{grid-template-columns:103px 1fr;gap:8px;font-size:13px}.contact-row>span{font-size:11px}.footer-inner{min-height:0;display:grid;grid-template-columns:1fr auto;padding-block:28px}.footer-inner p{grid-row:2;grid-column:1/-1;margin:0}.footer-bottom{gap:10px;flex-direction:column}}
@media (max-width:390px){.hero-actions{align-items:flex-start;flex-direction:column}.hero{min-height:590px}.service-card{min-height:270px}.service-card h3{font-size:13px}.contact-row{grid-template-columns:90px 1fr}.contact-row>a{font-size:11px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media (min-width:651px){.hero-content .eyebrow{margin-right:auto;margin-left:0}}
