/* Generated by scripts/build-public-css.mjs. Edit site.css/about.css, then regenerate. */
.inner-page { max-width:1230px; padding:0 32px; margin:0 auto; }
.eyebrow { display: flex; align-items: center; gap: 9px; color: #213d42; font-size: 13px; font-weight: 700; margin-bottom: 18px; }
.eyebrow::before { content:''; width:8px; height:8px; background:#3cd5af; border-radius:50%; }
.lead { max-width: 565px; font-size: 18px; line-height: 2.1; color: var(--muted); }
.contact-intro { text-align: center; padding: 73px 0 43px; }
.contact-intro .eyebrow { justify-content: center; }
.contact-intro h1 { font-size: clamp(42px, 4.5vw, 62px); letter-spacing: -1.2px; margin-bottom: 15px; }
.contact-intro .lead { margin: auto; }
.contact-channels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 52px; }
.contact-channels > a { display: flex; align-items: center; gap: 17px; padding: 26px; border: 1px solid var(--line); border-radius: 23px; background: #fff; box-shadow: var(--shadow-card); transition: border-color .16s, transform .16s; }
.contact-channels > a:hover { border-color: #3cd5af; transform: translateY(-3px); }
.contact-channels > a > .icon { margin-right: auto; width: 18px; height: 18px; color: #213d42; }
.contact-channels strong { font-size: 17px; }
.channel-icon { display:grid; place-items:center; width:53px; height:53px; flex:none; border-radius:16px; border:1px solid #dce6e7; background:linear-gradient(135deg,#ecfbf7,#cef5eb); box-shadow:inset 0 1px 0 #fff; color:#213d42; }
.channel-icon .icon { width: 25px; height: 25px; }
.office-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; margin-bottom: 78px; }
.office-card { position: relative; isolation: isolate; overflow: hidden; padding: 31px; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: var(--shadow-soft); }
.office-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 26px; color: #213d42; font: 400 11px/1.8 Peyda, Arial, sans-serif; letter-spacing: 1.5px; }
.office-heading > span { border: 1px solid #dce6e7; border-radius: 8px; padding: 5px 10px; background: #ecfbf7; }
.office-heading .icon { width: 27px; height: 27px; }
.office-card h2 { font-size: 32px; }
.office-address { min-height: 132px; margin: 18px 0; color: var(--muted); font-size: 16px; line-height: 2.1; }
.office-address p + p { margin-top: 11px; }
.office-email { display: flex; align-items: center; gap: 11px; min-height: 65px; padding: 18px 0; border-top: 1px solid #dce6e7; font-size: 15px; }
.office-email .icon { width: 19px; height: 19px; color: #213d42; }
.map-link { display:flex; align-items:center; justify-content:space-between; padding:14px 18px; margin-top:12px; min-height:54px; border-radius:13px; background:var(--green); color:#213d42; font-size:15px; transition:background .15s; }
.map-link:hover { background:#3cd5af; }
.map-link span { display: flex; align-items: center; gap: 11px; }
.map-link .icon { width: 19px; height: 19px; }
.office-sketch { display:block; width:100%; height:95px; margin:18px 0 21px; color:#536b70; }
.office-sketch--iran { object-fit:contain; }
@media (max-width: 1100px) {
.contact-channels > a { gap: 12px; padding: 21px 18px; }
.contact-channels strong { font-size: 15px; }
}
@media (min-width: 768px) and (max-width: 900px) {
.channel-icon { width: 42px; height: 42px; }
}
@media (max-width: 767px) {
.office-sketch { height:78px; }
.inner-page { padding: 0 24px; }
.eyebrow { font-size: 12px; margin-bottom: 16px; }
.lead { font-size: 16px; line-height: 2.05; }
.contact-intro { text-align: right; padding: 47px 0 32px; }
.contact-intro .eyebrow { justify-content: flex-start; }
.contact-intro h1 { font-size: 42px; letter-spacing: -.9px; }
.contact-channels { display:flex; flex-direction:column; gap:10px; margin-bottom:28px; }
.contact-channels > a { padding:18px; border-radius:18px; }
.contact-channels strong { font-size: 16px; }
.channel-icon { width: 48px; height: 48px; border-radius: 16px; }
.office-grid { grid-template-columns: 1fr; gap: 21px; margin-bottom: 47px; }
.office-card { padding: 27px 24px; border-radius: 25px; }
.office-heading { font-size: 10px; letter-spacing: .8px; margin-bottom: 22px; }
.office-card h2 { font-size: 29px; }
.office-address { min-height: 0; margin: 17px 0 24px; font-size: 15px; }
.office-email { font-size: 14px; }
}
@media (max-width: 359px) {
.contact-intro h1 { font-size: 38px; }
}
