/* Saei's Apple-inspired visual layer — original implementation, not Apple assets. */
:root{--navy:#092b63;--ink:#1d1d1f;--red:#0071e3;--cream:#f5f5f7;--paper:#fbfbfd;--muted:#6e6e73;--line:#d2d2d7;--white:#fff}
body{background:var(--paper);font-family:Vazirmatn,-apple-system,BlinkMacSystemFont,"SF Pro Display",Manrope,sans-serif;letter-spacing:-.15px}
.site-header{background:#fff;border-bottom:1px solid rgba(210,210,215,.72);height:112px}
.logo-link{height:82px;width:160px}.main-nav{gap:36px}.main-nav a{color:#424245;font-size:16px;font-weight:700}.main-nav a:hover{color:#0071e3}.header-phone{color:#1d1d1f;font-size:16px}.header-controls select{background:rgba(255,255,255,.75);border-color:#d2d2d7;border-radius:999px;color:#1d1d1f;font-size:16px;padding:11px 17px}
.hero{background:radial-gradient(circle at 79% 23%,rgba(0,113,227,.16),transparent 27%),linear-gradient(135deg,#fff 0%,#f3f8ff 54%,#edf4ff 100%);color:var(--ink);min-height:630px}
.hero:before{background:#0071e3;border-radius:99px;height:6px;top:34px;width:72px}.hero-copy{max-width:690px}.hero .eyebrow.light{color:#235895;font-size:24px;letter-spacing:.1px;margin-bottom:26px}.hero h1{color:#1d1d1f;font-size:clamp(48px,5vw,74px);letter-spacing:-3.4px;line-height:1.12}.hero h1 em{color:#0071e3}.hero-description{color:#515154;font-size:17px;line-height:2;max-width:590px}.hero-partnership{color:#235895!important;font-size:15px!important;max-width:650px!important}
.button{border-radius:999px;box-shadow:none;transition:transform .2s ease,box-shadow .2s ease}.button:hover{box-shadow:0 8px 20px rgba(0,113,227,.18);transform:translateY(-2px)}.button-red{background:#0071e3}.button-ghost{border-color:#0071e3;color:#0071e3}.hero-facts{border-top-color:rgba(0,113,227,.22)}.hero-facts>div+div{border-right-color:rgba(0,113,227,.2)}.hero-facts strong{color:#092b63}.hero-facts small{color:#6e6e73}.hero-art{opacity:.95}.art-orbit{border-color:rgba(0,113,227,.17)}.floating-art{filter:drop-shadow(0 28px 42px rgba(0,65,150,.18))}
.quick-contact{background:rgba(255,255,255,.72);border-bottom:1px solid #e8e8ed;border-top:1px solid #e8e8ed;max-width:none;padding-left:max(24px,calc((100vw - 1200px)/2));padding-right:max(24px,calc((100vw - 1200px)/2))}.quick-contact p{color:#1d1d1f}.quick-contact a{color:#0071e3}
.section{padding-bottom:125px;padding-top:125px}.eyebrow{color:#0071e3;font-weight:800;letter-spacing:1.2px}.section-heading h2,.contact h2{color:#1d1d1f;letter-spacing:-2.5px}.section-heading>p{color:#6e6e73}
.service-grid{gap:20px;grid-template-columns:repeat(4,minmax(0,1fr))}.service-card{background:rgba(255,255,255,.92);border:1px solid rgba(210,210,215,.8);border-radius:24px;box-shadow:0 4px 16px rgba(0,0,0,.035);overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}.service-card:hover{box-shadow:0 17px 38px rgba(12,50,100,.12);transform:translateY(-4px)}.service-card h3{color:#1d1d1f;font-size:21px}.service-card p{color:#6e6e73}.service-card a{color:#0071e3}.card-number{color:#0071e3}.service-card.featured{background:linear-gradient(135deg,#eef6ff,#fff)}.service-card.text-card{background:linear-gradient(145deg,#092b63,#114e9c)}.text-card h3{color:#fff}.text-card p{color:#d8e9ff}.text-card a{color:#fff}.independent-note{border-right-color:#0071e3;color:#5d6e85}
@media(max-width:780px){.service-grid{grid-template-columns:1fr}}
.process{background:linear-gradient(140deg,#081f49,#0b3c83);padding-bottom:56px;padding-top:24px}.process h2{letter-spacing:-2.5px}.process-steps{border-top-color:rgba(255,255,255,.2)}.process-steps article{border-right-color:rgba(255,255,255,.16)}.process-steps span{color:#8cc7ff}.process-steps p{color:#d0ddf0}
.legal{background:#fff}.legal-mark{background:linear-gradient(145deg,#eaf4ff,#d5eaff);color:#092b63}.legal-copy{padding-bottom:92px;padding-top:92px}.legal-copy h2{color:#1d1d1f}.legal-copy h2 em,.legal-link{color:#0071e3}.legal-copy>p:not(.eyebrow){color:#515154}.legal-copy small{border-right-color:#0071e3;color:#6e6e73}
.contact{padding-bottom:88px;padding-top:64px}.contact-copy>p:not(.eyebrow){color:#6e6e73}.contact-methods{border-top-color:#d2d2d7}.contact-methods>*{border-bottom-color:#d2d2d7}.contact-methods small{color:#0071e3}.inquiry-form{border:1px solid #d2d2d7;border-radius:24px;box-shadow:0 18px 42px rgba(0,0,0,.06)}.inquiry-form input,.inquiry-form select,.inquiry-form textarea{background:#fbfbfd;border-color:#d2d2d7;border-radius:12px}.button-navy{background:#0071e3;border-radius:999px}.privacy-note{color:#6e6e73}.whatsapp-float{background:#25d366;border-radius:999px;box-shadow:0 10px 25px rgba(37,211,102,.28)}footer{background:#f5f5f7;border-top:1px solid #d2d2d7;color:#6e6e73}.footer-logo img{filter:none}
.contact-copy>.eyebrow{font-size:40px;letter-spacing:0;line-height:1.35}
.contact-methods small{font-size:18px}.contact-methods b{font-size:24px}
.form-submit-status{font-size:13px;line-height:1.6;margin:0;min-height:1.6em}.form-submit-status.is-success{color:#0071e3}.form-submit-status.is-error{color:#b42318}
@media(max-width:780px){.site-header{height:88px}.logo-link{height:65px;width:126px}.header-controls select{font-size:14px;padding:10px 14px}.hero{min-height:auto}.hero-copy{padding-bottom:40px;padding-top:66px}.hero .eyebrow.light{font-size:18px}.hero h1{font-size:46px}.hero-partnership{font-size:14px!important}.section{padding-bottom:80px;padding-top:80px}.service-card{border-radius:20px}.legal-copy,.contact{padding-bottom:75px;padding-top:75px}}

/* Keep the first section close to the header after the hero moved to the page end. */
.services.section{padding-bottom:12px;padding-top:34px}
.services .eyebrow{font-family:"Noto Kufi Arabic",Vazirmatn,sans-serif;font-size:31px;font-weight:700;letter-spacing:0;line-height:1.5}
.services .section-heading h2{font-family:"Noto Kufi Arabic",Vazirmatn,sans-serif;font-weight:600;line-height:1.55}
@media(max-width:780px){.services.section{padding-top:24px}}
@media(max-width:780px){.services .eyebrow{font-size:25px}}

.service-card.featured{justify-content:flex-start}.service-card.featured img{height:243px;margin-top:-10px;width:243px}.service-card.featured>div{margin-top:12px}
@media(max-width:780px){.service-card.featured img{height:216px;margin-top:-8px;width:216px}.service-card.featured>div{margin-top:10px}}

.service-card.divorce-card img{height:200px;width:200px}
@media(max-width:780px){.service-card.divorce-card img{height:200px;width:200px}}

.service-card.hafez-card img{height:232px;width:232px}
@media(max-width:780px){.service-card.hafez-card img{height:232px;width:232px}}

.hafez-card .country-location{display:block;text-align:center}

.immigration-card h3{text-align:center}
.service-card img{height:290px;width:290px}
@media(max-width:780px){.service-card img{height:290px;width:290px}}
.service-card.hafez-card img{height:348px;width:348px}
.service-card.divorce-card img{height:235px;width:235px}
@media(max-width:780px){.service-card.hafez-card img{height:348px;width:348px}.service-card.divorce-card img{height:235px;width:235px}}
.service-card{justify-content:flex-start}
.service-card img{margin:0 0 18px}
.service-card.immigration-card img{margin:-42px 0 18px}
.service-card.hafez-card img{margin:-70px 0 18px}
.divorce-card h3{margin-top:24px;text-align:center}
.notary-card h3{margin-top:16px;text-align:center}
.service-card.hafez-card img,.service-card.immigration-card img,.service-card.divorce-card img,.service-card.notary-card img{align-self:stretch;height:260px;margin:-28px -28px 22px;object-fit:cover;object-position:center;width:calc(100% + 56px)}
.hafez-card h3{margin:26px auto 0;text-align:center}
.immigration-card h3{margin:12px auto 0;text-align:center}
.hafez-card{justify-self:center;transform:none;width:100%}
.logo-link{height:107px;width:208px}
@media(max-width:780px){.logo-link{height:85px;width:164px}}
.text-card{grid-column:1 / -1;margin-top:0;min-height:420px}
@media(max-width:780px){.text-card{grid-column:auto}}
.text-card{isolation:isolate;overflow:hidden;padding:0;position:relative}
.text-card img{filter:none;height:100%;inset:0;margin:0;object-fit:cover;position:absolute;width:100%;z-index:0}
.text-card:after{background:linear-gradient(90deg,rgba(2,19,47,.22),rgba(2,19,47,.04) 60%,transparent);content:"";inset:0;position:absolute;z-index:1}
.text-card>div{bottom:0;left:0;padding:48px;position:absolute;top:0;width:46%;z-index:2}
.text-card h3{font-size:31px;text-align:center}
.text-card p{color:#fff;font-size:15px;margin-top:26px;text-align:center}
#legal-services>div{padding-top:24px}
html[lang="fa"] #legal-services>div{transform:translateY(48px)}
@media(min-width:781px){html[lang="en"] #legal-services h3{font-size:25px;letter-spacing:-1.1px;white-space:nowrap}html[lang="en"] #legal-services p{margin-top:36px}}
@media(max-width:780px){.text-card{min-height:640px}.text-card>div{padding:30px;width:78%}}
@media(max-width:780px){#legal-services>div{padding-top:6px}}
@media(max-width:780px){#legal-services img{object-position:65% center}}
#legal-services p{transform:translateY(-20px)}
.site-header{height:135px}
.logo-link{height:117px;width:227px}
.main-nav{gap:42px}.main-nav a{font-size:20px}
@media(max-width:780px){.site-header{height:104px}.logo-link{height:89px;width:172px}}

/* In English, place the contact details where the logo was and move the logo to the other side. */
@media(min-width:781px){html[lang="en"] .site-header .logo-link{order:3}html[lang="en"] .site-header .main-nav{order:2}html[lang="en"] .site-header .header-controls{order:1}}

.process-heading{display:block;text-align:center;transform:translateY(20px)}
.process-heading .eyebrow{margin-bottom:18px}
.process-heading h2{margin-inline:auto;max-width:none;text-align:center;white-space:nowrap}
.process-location{color:#8cc7ff;font-size:clamp(22.4px,2.56vw,33.6px);font-weight:800;letter-spacing:0;margin:0 0 24px}.process-partnership{color:#fff;font-size:clamp(19.2px,2vw,27.2px);font-weight:700;line-height:2;margin:0 auto 36px;max-width:1100px;text-align:center}
@media(max-width:780px){.process-heading h2{white-space:normal}}

/* Service cards open their dedicated page from anywhere on the card. */
.service-card.card-link{cursor:pointer;text-decoration:none}
.service-card.card-link img{transition:filter .32s ease,transform .32s ease}
.divorce-card img{transition:filter .32s ease,transform .32s ease}
.service-card.card-link:focus-visible{outline:3px solid #0071e3;outline-offset:5px}
@media(hover:hover) and (pointer:fine){.service-card.card-link:hover{box-shadow:0 24px 48px rgba(12,50,100,.18);transform:translateY(-9px)}.service-card.card-link:hover img,.divorce-card:hover img{filter:drop-shadow(0 20px 17px rgba(0,65,150,.16));transform:scale(1.045)}}
@media(prefers-reduced-motion:reduce){.service-card.card-link,.service-card.card-link img{transition:none}.service-card.card-link:hover{transform:none}}
.divorce-card:hover{box-shadow:0 24px 48px rgba(12,50,100,.18);transform:translateY(-9px)}
.divorce-card:hover img{filter:brightness(1.12) contrast(1.08) saturate(1.1);transform:scale(1.055)}

/* Contact icons and their details. */
.contact-phone-stack{align-items:center;border-bottom:1px solid #d2d2d7;display:flex;direction:ltr;gap:16px;padding:13px 0}
.contact-phone-icons{display:flex;flex-direction:column;gap:6px}
.contact-phone-icons a{border:0!important;display:block!important;height:38px;padding:0!important;width:38px}
.contact-phone-icons img{border-radius:8px;display:block;height:38px;object-fit:contain;width:38px}
.contact-number-large{border:0!important;color:#092b63;display:block;font-family:Manrope,sans-serif;font-size:24px!important;font-weight:800;padding:0!important;white-space:nowrap}
.contact-email-line{align-items:center;direction:ltr;display:flex!important;gap:16px}
.contact-email-line img{border-radius:8px;display:block;height:38px;object-fit:contain;width:38px}
.contact-address-line{align-items:center;direction:ltr;display:flex!important;gap:16px}
.contact-address-line img{border-radius:8px;display:block;height:38px;object-fit:cover;width:38px}
footer{position:relative}.footer-phone{color:#092b63;direction:ltr;font-family:Manrope,sans-serif;font-size:18px;font-weight:800;left:50%;position:absolute;transform:translateX(-50%);white-space:nowrap}
@media(max-width:780px){.footer-phone{align-self:center;position:static;transform:none}}

/* Clickable services menu in the header. */
.main-nav{align-items:center}.services-menu{position:relative}.services-menu-trigger{align-items:center;background:transparent;border:0;color:#424245;cursor:pointer;display:inline-flex;font:inherit;font-size:20px;font-weight:700;gap:7px;padding:12px 0}.services-menu-trigger:hover,.services-menu-trigger:focus-visible{color:#0071e3;outline:none}.services-menu-arrow{font-family:Arial,sans-serif;font-size:20px;line-height:1;transition:transform .2s ease}.services-menu.is-open .services-menu-arrow{transform:rotate(180deg)}.services-menu-list{background:rgba(255,255,255,.98);border:1px solid rgba(210,210,215,.95);border-radius:18px;box-shadow:0 16px 42px rgba(9,43,99,.16);display:grid;gap:4px;min-width:272px;opacity:0;padding:9px;pointer-events:none;position:absolute;right:0;top:calc(100% + 13px);transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease;visibility:hidden;z-index:30}.services-menu.is-open .services-menu-list{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}.services-menu-list a{align-items:center!important;border-radius:12px;color:#1d1d1f!important;display:flex!important;font-size:15px!important;gap:11px;padding:9px 11px;white-space:nowrap}.services-menu-list a:hover,.services-menu-list a:focus-visible{background:#eef6ff;color:#0071e3!important;outline:none}.services-menu-list img{border-radius:8px;height:38px;object-fit:cover;width:38px}@media(max-width:780px){.services-menu{display:none}}
.services-menu:hover .services-menu-arrow,.services-menu:focus-within .services-menu-arrow{transform:rotate(180deg)}.services-menu:hover .services-menu-list,.services-menu:focus-within .services-menu-list{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible}
.services-menu-list a{cursor:pointer;transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.services-menu-list img{transition:transform .25s ease}@media(hover:hover) and (pointer:fine){.services-menu-list a:hover{box-shadow:0 7px 16px rgba(0,86,180,.13);transform:translateX(-5px) scale(1.02)}.services-menu-list a:hover img{transform:scale(1.12) rotate(-3deg)}}@media(prefers-reduced-motion:reduce){.services-menu-list a,.services-menu-list img{transition:none}.services-menu-list a:hover,.services-menu-list a:hover img{transform:none}}
.services-menu-list{top:100%}
