/* Fibonacci spacing; the 89:55 image frame approaches the golden ratio.
   Persian body copy retains a generous line height for readability. */
:root{--space-1:8px;--space-2:13px;--space-3:21px;--space-4:34px;--space-5:55px;--space-6:89px;--header-action-width:170px;--editorial-ratio:89/55}
h1,h2,h3{text-wrap:balance}
.topbar .container{min-height:42px;gap:var(--space-2)}
.topbar .topbar-phone{display:flex;align-items:center;justify-content:center;gap:8px;width:var(--header-action-width);flex-shrink:0;font-size:21px;font-weight:850;letter-spacing:.7px;line-height:1.6;font-variant-numeric:tabular-nums}
.topbar-phone span{font-size:16px;color:#eeb18f}
.header-cta{width:var(--header-action-width);flex-shrink:0}
.hero-grid{gap:var(--space-5)}
.hero h1{font-size:clamp(34px,3.8vw,55px)}
.hero-copy>p{margin-top:var(--space-3)}
.hero-actions,.hero-points{margin-top:var(--space-4)}
.section{padding-block:var(--space-5)}
.section-heading{margin-bottom:var(--space-4);gap:var(--space-3)}
.section-heading h2,.faq-grid h2{font-size:34px}
.article-grid{gap:var(--space-3)}
.article-grid>.article-card{flex-basis:calc((100% - 42px)/3)}
.article-card-body{padding:var(--space-3)}
.article-card h3{font-size:21px;line-height:1.618}
.article-card p{font-size:13px;line-height:2}
.article-image img,.article-art{aspect-ratio:var(--editorial-ratio)}
.article-card .text-link{margin-top:var(--space-3)}
.service-card{padding:var(--space-3)}
.service-card p{font-size:13px}
.service-icon img{width:100%;height:100%;object-fit:cover;border-radius:5px}
.content-grid{grid-template-columns:247px minmax(0,1fr);gap:var(--space-4)}
.content-cover{aspect-ratio:var(--editorial-ratio);object-fit:cover;max-height:none;margin-bottom:var(--space-4)}
.prose{font-size:16px;line-height:2.1;max-width:75ch}
.prose p{margin-bottom:var(--space-3)}
.prose h2,.content-section h2{font-size:26px;margin-block:var(--space-4) var(--space-3)}
.prose h3{font-size:21px;margin-block:var(--space-3) var(--space-2)}
.content-section{margin-top:var(--space-4)}
.section-image{margin-top:var(--space-3)}
.process-grid{gap:var(--space-6)}
.contact-grid{grid-template-columns:1fr 1.618fr;gap:var(--space-5)}
.inquiry-form{padding:var(--space-4)}
@media(max-width:1100px){.hero-grid{gap:var(--space-4)}.hero-actions{gap:var(--space-2)}.process-grid{gap:var(--space-5)}}
@media(max-width:800px){:root{--header-action-width:155px}.header-inner{display:grid;grid-template-columns:minmax(0,1fr) var(--header-action-width) 42px;gap:18px}.header-inner>.brand{grid-column:1;grid-row:1}.header-cta{grid-column:2;grid-row:1;margin-inline-start:0}.menu-toggle{grid-column:3;grid-row:1}.topbar .topbar-phone{margin-left:60px;font-size:19px}.hero-grid{gap:var(--space-4)}.hero h1{font-size:34px}.article-grid{gap:var(--space-2)}.article-grid>.article-card{flex-basis:calc((100% - 26px)/3)}.article-card-body{padding:var(--space-2)}.article-card h3{font-size:18px}.article-card p{font-size:12px}.content-grid,.contact-grid{grid-template-columns:1fr;gap:var(--space-4)}.section-heading h2,.faq-grid h2{font-size:29px}.process-grid{gap:var(--space-4)}}
@media(max-width:560px){:root{--header-action-width:136px}.topbar .container{gap:8px;min-height:42px}.topbar .container>span{line-height:1.8;font-size:9px;min-width:0}.header-inner{grid-template-columns:minmax(0,1fr) var(--header-action-width) 36px;gap:12px}.topbar .topbar-phone{margin-left:48px;font-size:18px;gap:5px;letter-spacing:.2px}.topbar-phone span{font-size:12px}.header-cta{padding-inline:8px}.hero-grid{gap:var(--space-4)}.hero h1{font-size:34px}.hero-actions{margin-top:var(--space-3);gap:var(--space-3)}.hero-points{margin-top:var(--space-3);gap:var(--space-2)}.hero-visual .visual-label{font-size:9px}.hero-visual .visual-coordinate{font-size:8px}.section{padding-block:var(--space-4)}.section-heading{margin-bottom:var(--space-3)}.section-heading h2,.faq-grid h2{font-size:26px}.article-grid{gap:var(--space-3)}.article-grid>.article-card{flex-basis:100%}.article-card-body{padding:var(--space-3)}.article-card h3{font-size:21px}.article-card p{font-size:13px}.service-card{padding:var(--space-2)}.service-card p{font-size:12px}.prose{font-size:15px}.prose h2,.content-section h2{font-size:24px}.inquiry-form{padding:var(--space-3)}.process-grid{gap:var(--space-4)}}
@media(max-width:359px){:root{--header-action-width:118px}.header-inner{gap:8px}.brand strong{font-size:24px}.brand small{font-size:7px}.topbar .topbar-phone{margin-left:44px;font-size:16px}.header-cta{font-size:9px}.hero h1{font-size:32px}}

/* Justify body text while keeping headings natural in RTL. */
body, body * { text-align: justify !important; text-justify: inter-word; text-align-last: auto; }
h1, h2, h3, h4, h5, h6, :is(h1, h2, h3, h4, h5, h6) * { text-align: start !important; }
/* Subtle visual polish across the public site. */
:root { --card-shadow: 0 8px 26px rgba(21,46,56,.045); }
.header { box-shadow: 0 4px 20px rgba(21,46,56,.035); }
.button { border-radius: 11px; }
.button-orange { box-shadow: 0 5px 14px rgba(195,75,38,.14); }
.hero-points { gap: 9px; }
.hero-points > span { padding: 5px 10px; background: #eef1ec; border: 1px solid #e2e8e1; border-radius: 8px; }
.hero-visual { box-shadow: 0 16px 38px rgba(21,46,56,.09); }
.service-card, .article-card { border-radius: 16px; box-shadow: var(--card-shadow); transition: border-color .2s, box-shadow .2s, transform .2s; }
.service-icon { border-radius: 12px; background: #fff4eb; }
.service-link { font-size: 11px; font-weight: 600; }
.article-card .text-link { padding-top: 16px; border-top: 1px solid #edf0ed; }
.article-meta { font-size: 10px; }
.article-meta span:first-child { border-radius: 6px; padding: 3px 9px; }
.step > span { display: flex; align-items: center; justify-content: center; flex: 0 0 38px; height: 38px; padding: 0; border: 1px solid #ffffff26; border-radius: 10px; background: #ffffff08; font-size: 13px; }
.faq-list details { border: 1px solid var(--line); border-radius: 12px; margin-bottom: 12px; background: #fff; overflow: hidden; }
.faq-list summary { padding: 18px 20px; }
.faq-list details p { padding: 0 20px 20px; margin: 0; max-width: none; }
.faq-list details[open] { border-color: #dbb49f; box-shadow: var(--card-shadow); }
.faq-list details[open] summary { color: var(--orange); }
.cta-section { border-radius: 18px; border-color: #ecd5bf; }
.inquiry-form { box-shadow: var(--card-shadow); }
.prose h2, .content-section h2 { border-inline-start: 3px solid var(--orange); padding-inline-start: 14px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .article-card:hover { transform: translateY(-4px); border-color: #d79271; box-shadow: 0 14px 32px rgba(21,46,56,.09); }
    .service-card:hover { box-shadow: 0 14px 32px rgba(21,46,56,.09); }
}
@media (max-width:800px) and (min-width:561px) {
    .article-grid > .article-card { flex-basis: calc((100% - 13px)/2); }
}
@media (max-width:560px) {
    .section-heading { flex-wrap: wrap; gap: 12px; }
    .section-heading > div { flex: 1 1 100%; }
    .section-heading > .text-link { margin-top: 0; font-size: 12px; }
    .hero-points { gap: 7px; }
    .hero-points > span { padding: 4px 7px; }
    .service-card { border-radius: 13px; }
    .service-card h3, .service-card h2 { font-size: 16px; line-height: 1.8; margin-top: 17px; }
    .service-card p { font-size: 13px; line-height: 2.15; }
    .service-link { font-size: 10px; }
    .article-card-body { padding: 21px; }
    .article-card p { font-size: 14px; }
    .faq-list summary { padding: 16px; line-height: 1.9; }
    .faq-list details p { padding: 0 16px 18px; }
    .cta-section { padding: 25px; }
}
/* More defined outlines and dividers on desktop. */
@media (min-width:1101px) {
    :root { --line: #b9c5c0; }
    .service-link, .article-card .text-link { border-top-color: #c5cfca; }
    .step { border-bottom-color: #ffffff38; }
    .footer-bottom { border-top-color: #ffffff38; }
}