:root {
    --lux-font-fa: "Vazirmatn", "Vazir", "Tahoma", "Arial", sans-serif;
    --lux-font-en: "Inter", "Segoe UI", "Arial", sans-serif;
}


/* =========================================================
   Sprint 8 Phase 3 - Site Profile / Hero / Contact polish
   ========================================================= */

.cms-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.cms-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 10px 18px;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 900;
    border: 1px solid rgba(255, 255, 255, .14);
}

.cms-btn.primary {
    background: #C8102E;
    color: #fff;
    border-color: rgba(200, 16, 46, .65);
    box-shadow: 0 18px 45px rgba(200, 16, 46, .28);
}

.cms-btn.ghost {
    background: rgba(255, 255, 255, .07);
    color: #fff;
}

.cms-contact-card {
    margin-top: 28px;
    padding: 34px;
    border-radius: 30px;
    background:
        linear-gradient(135deg, rgba(200, 16, 46, .12), rgba(255, 255, 255, .045)),
        rgba(255, 255, 255, .045);
    border: 1px solid rgba(255, 255, 255, .1);
    box-shadow: 0 20px 70px rgba(0, 0, 0, .2);
}

.cms-contact-card h2 {
    margin: 8px 0 10px;
    font-size: clamp(26px, 3vw, 42px);
}

.cms-contact-card p,
.cms-contact-card address {
    color: rgba(255, 255, 255, .7);
    line-height: 2;
    font-style: normal;
}

.cms-contact-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 24px 0;
}

.cms-contact-grid a,
.cms-contact-grid div {
    display: block;
    padding: 16px;
    border-radius: 20px;
    background: rgba(0, 0, 0, .18);
    border: 1px solid rgba(255, 255, 255, .08);
    text-decoration: none;
    color: inherit;
}

.cms-contact-grid strong {
    display: block;
    color: #fff;
    font-size: 13px;
    margin-bottom: 8px;
}

.cms-contact-grid span {
    display: block;
    color: rgba(255, 255, 255, .66);
    font-size: 13px;
    word-break: break-word;
}

.cms-socials {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.cms-socials a {
    display: inline-flex;
    align-items: center;
    min-height: 36px;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .08);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: 12px;
}

.rtl .cms-hero-actions,
.rtl .cms-socials {
    justify-content: flex-start;
    direction: rtl;
}

.ltr .cms-hero-actions,
.ltr .cms-socials {
    justify-content: flex-start;
    direction: ltr;
}

@media (max-width: 920px) {
    .cms-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .cms-contact-grid {
        grid-template-columns: 1fr;
    }

    .cms-contact-card {
        padding: 24px;
    }
}

/* =========================================================
   Sprint 9 Phase 6 - Production public website shell
   ========================================================= */
.lux-cms-public{margin:0;min-width:320px;background:radial-gradient(circle at 10% 8%,rgba(200,16,46,.23),transparent 31%),radial-gradient(circle at 90% 18%,rgba(88,14,29,.3),transparent 28%),#08080a;color:#f8fafc;font-family:var(--lux-font-fa)}.lux-cms-public.ltr{font-family:var(--lux-font-en)}.cms-shell{width:min(1240px,calc(100% - 32px));margin:0 auto;padding:18px 0 42px}.cms-hero{position:relative;overflow:hidden;min-height:720px;border:1px solid rgba(255,255,255,.1);border-radius:34px;background:radial-gradient(circle at 78% 35%,rgba(200,16,46,.24),transparent 26%),linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018));box-shadow:0 40px 120px rgba(0,0,0,.38);padding:18px 26px 38px}.cms-hero:before{content:"";position:absolute;inset:0;background-image:var(--cms-hero-image);background-size:cover;background-position:center;opacity:.23;filter:saturate(.65) contrast(1.1)}.cms-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,10,.95),rgba(8,8,10,.5) 58%,rgba(8,8,10,.84));pointer-events:none}.rtl .cms-hero:after{background:linear-gradient(-90deg,rgba(8,8,10,.95),rgba(8,8,10,.5) 58%,rgba(8,8,10,.84))}.cms-hero>*{position:relative;z-index:2}.cms-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:14px;z-index:12;border:1px solid rgba(255,255,255,.1);background:rgba(9,9,11,.78);backdrop-filter:blur(20px);border-radius:22px;padding:11px 12px}.cms-brand{display:flex;align-items:center;gap:11px;min-width:200px;color:#fff;text-decoration:none}.cms-brand img{width:46px;height:46px;object-fit:contain;border-radius:14px;background:#050506;border:1px solid rgba(255,255,255,.1);padding:4px}.cms-brand strong,.cms-brand small{display:block}.cms-brand small{color:rgba(255,255,255,.48);font-size:10px;margin-top:4px}.cms-nav{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.cms-nav a{color:rgba(255,255,255,.65);text-decoration:none;border:1px solid transparent;border-radius:999px;padding:9px 11px;font-size:12px;font-weight:800}.cms-nav a:hover,.cms-nav a.active{color:#fff;border-color:rgba(255,255,255,.11);background:rgba(255,255,255,.055)}.cms-nav .owner-entry{color:#fff;background:linear-gradient(135deg,#c8102e,#821124);border-color:rgba(200,16,46,.5)}.cms-nav .locale-link{padding-inline:9px}.public-nav-toggle{display:none;width:43px;height:43px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);padding:9px}.public-nav-toggle span{display:block;height:2px;background:#fff;border-radius:99px;margin:5px 0}.public-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px);z-index:65}.cms-hero-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr);gap:40px;align-items:center;min-height:620px;padding:90px 28px 34px}.cms-hero-copy{max-width:760px}.cms-kicker{display:inline-flex;color:#fecaca;background:rgba(200,16,46,.13);border:1px solid rgba(200,16,46,.3);border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}.cms-hero h1{font-size:clamp(46px,7vw,92px);line-height:1.02;letter-spacing:-2px;margin:20px 0 22px;max-width:920px}.rtl .cms-hero h1{letter-spacing:-1px}.cms-hero-copy>p{color:rgba(255,255,255,.66);font-size:18px;line-height:2;max-width:760px}.cms-hero-actions{margin-top:30px}.cms-trust-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.cms-trust-strip span{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:999px;padding:8px 11px;color:rgba(255,255,255,.62);font-size:11px}.cms-hero-visual{position:relative;min-height:430px;border:1px solid rgba(255,255,255,.1);border-radius:34px;background:radial-gradient(circle at 50% 35%,rgba(200,16,46,.32),transparent 32%),rgba(0,0,0,.3);display:grid;place-items:center;overflow:hidden}.cms-hero-visual:before,.cms-hero-visual:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;inset:12%}.cms-hero-visual:after{inset:25%;border-color:rgba(200,16,46,.25)}.cms-visual-logo{position:relative;z-index:2;width:180px;height:180px;border-radius:50%;background:rgba(0,0,0,.56);border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;box-shadow:0 28px 90px rgba(200,16,46,.2)}.cms-visual-logo img{width:130px;height:130px;object-fit:contain}.cms-visual-card{position:absolute;z-index:3;bottom:22px;left:22px;right:22px;border:1px solid rgba(255,255,255,.1);background:rgba(8,8,10,.78);backdrop-filter:blur(15px);border-radius:20px;padding:16px}.cms-visual-card small,.cms-visual-card strong,.cms-visual-card span{display:block}.cms-visual-card small,.cms-visual-card span{color:rgba(255,255,255,.55)}.cms-visual-card strong{font-size:19px;margin:7px 0}.cms-content-card{margin-top:22px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));border-radius:30px;padding:36px;box-shadow:0 26px 80px rgba(0,0,0,.22)}.cms-editorial-content h2{font-size:clamp(29px,4vw,48px);margin:16px 0}.cms-editorial-content>div{color:rgba(255,255,255,.67);font-size:16px;line-height:2.2;max-width:1000px}.cms-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:18px}.cms-feature-grid article{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);border-radius:24px;padding:24px;min-height:210px}.cms-feature-grid article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:14px;background:linear-gradient(135deg,#c8102e,#821124);font-weight:900}.cms-feature-grid h2{font-size:21px;margin:24px 0 12px}.cms-feature-grid p{color:rgba(255,255,255,.58);line-height:1.9;margin:0}.cms-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.1);margin-top:24px;padding:24px 6px 0}.cms-footer-brand{display:flex;align-items:center;gap:12px}.cms-footer-brand img{width:48px;height:48px;object-fit:contain}.cms-footer-brand strong,.cms-footer-brand small{display:block}.cms-footer-brand small{color:rgba(255,255,255,.48);margin-top:5px;max-width:620px}.cms-footer-nav{display:flex;gap:12px;flex-wrap:wrap}.cms-footer-nav a{color:rgba(255,255,255,.58);text-decoration:none;font-size:12px}.cms-footer-nav a:hover{color:#fff}
@media(max-width:980px){.cms-hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:70px}.cms-hero-visual{min-height:360px}.cms-feature-grid{grid-template-columns:1fr}.public-nav-toggle{display:block}.cms-nav{position:fixed;top:0;right:0;width:min(86vw,340px);height:100vh;z-index:70;display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;flex-wrap:nowrap;background:#0d0d10;border-left:1px solid rgba(255,255,255,.1);padding:86px 20px 24px;transform:translateX(110%);transition:transform .22s ease;overflow:auto}.ltr .cms-nav{right:auto;left:0;transform:translateX(-110%);border-left:0;border-right:1px solid rgba(255,255,255,.1)}.public-nav-open .cms-nav{transform:translateX(0)}.public-nav-open .public-nav-overlay{display:block}.cms-nav a{border-color:rgba(255,255,255,.08);border-radius:14px;padding:12px 14px}.cms-topbar{z-index:80}.cms-brand{min-width:0}.cms-brand div{display:none}}
@media(max-width:650px){.cms-shell{width:min(100% - 18px,1240px);padding-top:9px}.cms-hero{min-height:auto;border-radius:24px;padding:10px 12px 24px}.cms-topbar{top:8px}.cms-hero-grid{padding:55px 8px 10px;gap:24px}.cms-hero h1{font-size:clamp(38px,13vw,58px)}.cms-hero-copy>p{font-size:15px}.cms-hero-visual{min-height:290px;border-radius:24px}.cms-visual-logo{width:130px;height:130px}.cms-visual-logo img{width:95px;height:95px}.cms-content-card,.cms-contact-card{padding:23px;border-radius:23px}.cms-feature-grid article{min-height:auto}.cms-footer{align-items:flex-start;flex-direction:column}.cms-footer-nav{width:100%}}


.lux-cms-public button,
.lux-cms-public input,
.lux-cms-public select,
.lux-cms-public textarea { font: inherit; }

/* CMS hero typography polish v1 */
.cms-hero-copy h1 {
    max-width: 13ch;
    margin-block: 1.1rem 1rem;
    font-size: clamp(2.75rem, 4vw, 3.75rem);
    line-height: 1.2;
    letter-spacing: -0.03em;
    text-wrap: balance;
}

.cms-hero-copy p {
    max-width: 48rem;
    line-height: 1.95;
}

@media (max-width: 1100px) {
    .cms-hero-copy h1 {
        max-width: 15ch;
        font-size: clamp(2.55rem, 4.8vw, 3.75rem);
    }
}

@media (max-width: 720px) {
    .cms-hero-copy h1 {
        max-width: none;
        margin-block: 0.9rem 0.75rem;
        font-size: clamp(2rem, 9vw, 2.65rem);
        line-height: 1.25;
        letter-spacing: -0.02em;
    }

    .cms-hero-copy p {
        line-height: 1.85;
    }
}
/* CMS vehicle hero visual v1 */
.cms-hero.has-hero-image::before {
    opacity: 0.12;
    filter: saturate(0.8) contrast(1.12);
}

.cms-hero.has-hero-image .cms-hero-visual {
    isolation: isolate;
    background-image:
        linear-gradient(
            180deg,
            rgba(5, 5, 7, 0.06) 0%,
            rgba(5, 5, 7, 0.12) 50%,
            rgba(5, 5, 7, 0.82) 100%
        ),
        var(--cms-hero-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.04),
        0 28px 80px rgba(0, 0, 0, 0.32);
}

.cms-hero.has-hero-image .cms-hero-visual::before {
    z-index: 1;
    inset: 0;
    border: 0;
    border-radius: inherit;
    background:
        linear-gradient(
            90deg,
            rgba(5, 5, 7, 0.22),
            transparent 52%,
            rgba(5, 5, 7, 0.08)
        );
    pointer-events: none;
}

.cms-hero.has-hero-image .cms-hero-visual::after {
    display: none;
}

.cms-hero.has-hero-image .cms-visual-logo {
    position: absolute;
    z-index: 3;
    top: 18px;
    left: 18px;
    width: 72px;
    height: 72px;
    border-radius: 20px;
    background: rgba(5, 5, 7, 0.72);
    backdrop-filter: blur(12px);
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.38);
}

.cms-hero.has-hero-image .cms-visual-logo img {
    width: 54px;
    height: 54px;
}

.cms-hero.has-hero-image .cms-visual-card {
    background: rgba(7, 7, 9, 0.76);
    border-color: rgba(255, 255, 255, 0.14);
}

@media (max-width: 650px) {
    .cms-hero.has-hero-image .cms-hero-visual {
        min-height: 320px;
        background-position: center;
    }

    .cms-hero.has-hero-image .cms-visual-logo {
        top: 14px;
        left: 14px;
        width: 60px;
        height: 60px;
        border-radius: 17px;
    }

    .cms-hero.has-hero-image .cms-visual-logo img {
        width: 44px;
        height: 44px;
    }
}
/* CMS editorial hero v3 */
.cms-hero.has-hero-image {
    min-height: 660px;
    padding: 18px 26px 30px;
    background:
        radial-gradient(
            circle at 78% 48%,
            rgba(200, 16, 46, 0.11),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #0b0b0d 0%,
            #08080a 58%,
            #050506 100%
        );
}

/* Prevent duplicate background image */
.cms-hero.has-hero-image::before {
    opacity: 0;
    background-image: none;
}

/* Subtle editorial light instead of the former heavy overlay */
.cms-hero.has-hero-image::after {
    background:
        radial-gradient(
            ellipse at 34% 55%,
            rgba(200, 16, 46, 0.08),
            transparent 35%
        ),
        linear-gradient(
            90deg,
            rgba(5, 5, 7, 0.02) 0%,
            rgba(5, 5, 7, 0.08) 44%,
            rgba(5, 5, 7, 0.78) 67%,
            rgba(5, 5, 7, 0.96) 100%
        );
}

.rtl .cms-hero.has-hero-image::after {
    background:
        radial-gradient(
            ellipse at 34% 55%,
            rgba(200, 16, 46, 0.08),
            transparent 35%
        ),
        linear-gradient(
            90deg,
            rgba(5, 5, 7, 0.02) 0%,
            rgba(5, 5, 7, 0.08) 44%,
            rgba(5, 5, 7, 0.78) 67%,
            rgba(5, 5, 7, 0.96) 100%
        );
}

.cms-hero.has-hero-image .cms-hero-grid {
    grid-template-columns:
        minmax(430px, 0.92fr)
        minmax(0, 1.08fr);
    gap: clamp(24px, 4vw, 64px);
    min-height: 550px;
    padding: 64px 30px 22px;
    align-items: center;
}

/* Right-side editorial copy */
.cms-hero.has-hero-image .cms-hero-copy {
    position: relative;
    z-index: 5;
    max-width: 680px;
    padding-block: 20px;
}

.cms-hero.has-hero-image .cms-hero-copy h1 {
    max-width: 12ch;
    font-size: clamp(2.65rem, 4.1vw, 4.15rem);
    line-height: 1.2;
    margin-block: 18px 16px;
}

.cms-hero.has-hero-image .cms-hero-copy > p {
    max-width: 630px;
    color: rgba(255, 255, 255, 0.68);
    font-size: 16px;
    line-height: 2;
}

/* Vehicle becomes part of the hero composition */
.cms-hero.has-hero-image .cms-hero-visual {
    position: relative;
    align-self: stretch;
    min-height: 480px;
    margin-inline-start: -56px;
    border: 0;
    border-radius: 0;
    overflow: visible;
    background-image:
        linear-gradient(
            90deg,
            rgba(5, 5, 7, 0) 0%,
            rgba(5, 5, 7, 0.02) 54%,
            rgba(5, 5, 7, 0.7) 88%,
            #08080a 100%
        ),
        linear-gradient(
            180deg,
            rgba(5, 5, 7, 0.04) 0%,
            rgba(5, 5, 7, 0.02) 56%,
            rgba(5, 5, 7, 0.88) 100%
        ),
        var(--cms-hero-image);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    box-shadow: none;
    filter: saturate(0.9) contrast(1.08);
    mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            #000 72%,
            transparent 100%
        );
    -webkit-mask-image:
        linear-gradient(
            90deg,
            #000 0%,
            #000 72%,
            transparent 100%
        );
}

.cms-hero.has-hero-image .cms-hero-visual::before {
    inset: auto 0 0;
    height: 42%;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(
            180deg,
            transparent,
            rgba(5, 5, 7, 0.94)
        );
}

.cms-hero.has-hero-image .cms-hero-visual::after {
    display: block;
    inset: 0;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(
            180deg,
            rgba(255, 255, 255, 0.025),
            transparent 25%
        );
}

/* Navigation already contains the logo */
.cms-hero.has-hero-image .cms-visual-logo {
    display: none;
}

/* Compact branch label */
.cms-hero.has-hero-image .cms-visual-card {
    right: 24px;
    bottom: 22px;
    left: auto;
    width: min(310px, calc(100% - 48px));
    padding: 13px 16px;
    border-color: rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    background: rgba(7, 7, 9, 0.68);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.34);
}

.cms-hero.has-hero-image .cms-visual-card small {
    font-size: 10px;
}

.cms-hero.has-hero-image .cms-visual-card strong {
    margin: 5px 0 2px;
    font-size: 16px;
}

.cms-hero.has-hero-image .cms-visual-card span {
    font-size: 11px;
}

/* Cleaner CTA treatment */
.cms-hero.has-hero-image .cms-btn.primary {
    background: #d20f35;
    box-shadow: 0 14px 36px rgba(210, 15, 53, 0.25);
}

.cms-hero.has-hero-image .cms-btn.primary:hover {
    background: #e31740;
    transform: translateY(-2px);
}

.cms-hero.has-hero-image .cms-btn.ghost {
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(255, 255, 255, 0.13);
}

/* Tablet */
@media (max-width: 980px) {
    .cms-hero.has-hero-image {
        min-height: auto;
    }

    .cms-hero.has-hero-image .cms-hero-grid {
        grid-template-columns: 1fr;
        gap: 18px;
        padding: 52px 18px 10px;
    }

    .cms-hero.has-hero-image .cms-hero-copy {
        max-width: 760px;
    }

    .cms-hero.has-hero-image .cms-hero-visual {
        min-height: 390px;
        margin-inline-start: 0;
        border-radius: 24px;
        overflow: hidden;
        background-position: center;
        mask-image: none;
        -webkit-mask-image: none;
    }
}

/* Mobile */
@media (max-width: 650px) {
    .cms-hero.has-hero-image {
        padding: 10px 12px 16px;
    }

    .cms-hero.has-hero-image .cms-hero-grid {
        padding: 42px 4px 4px;
    }

    .cms-hero.has-hero-image .cms-hero-copy {
        padding-block: 10px;
    }

    .cms-hero.has-hero-image .cms-hero-copy h1 {
        max-width: none;
        font-size: clamp(2rem, 9vw, 2.65rem);
        line-height: 1.28;
    }

    .cms-hero.has-hero-image .cms-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .cms-hero.has-hero-image .cms-btn {
        width: 100%;
    }

    .cms-hero.has-hero-image .cms-hero-visual {
        min-height: 300px;
        border-radius: 20px;
        background-position: 44% center;
    }

    .cms-hero.has-hero-image .cms-visual-card {
        right: 14px;
        bottom: 14px;
        width: calc(100% - 28px);
    }
}
/* CMS editorial hero final polish */

/* Branch information already exists elsewhere on the page */
.cms-hero.has-hero-image .cms-visual-card {
    display: none;
}

/* Seamless transition between vehicle photography and copy */
.cms-hero.has-hero-image .cms-hero-visual::before {
    display: block;
    z-index: 2;
    inset: 0;
    height: auto;
    background:
        linear-gradient(
            180deg,
            rgba(8, 8, 10, 0.82) 0%,
            transparent 12%,
            transparent 78%,
            rgba(8, 8, 10, 0.96) 100%
        ),
        linear-gradient(
            90deg,
            transparent 0%,
            transparent 62%,
            rgba(8, 8, 10, 0.5) 82%,
            #08080a 100%
        );
    pointer-events: none;
}

.cms-hero.has-hero-image .cms-hero-visual::after {
    display: block;
    z-index: 3;
    inset: 0;
    background:
        radial-gradient(
            ellipse at 42% 58%,
            transparent 38%,
            rgba(5, 5, 7, 0.2) 76%,
            rgba(5, 5, 7, 0.5) 100%
        );
    pointer-events: none;
}

@media (max-width: 980px) {
    .cms-hero.has-hero-image .cms-hero-visual::before {
        background:
            linear-gradient(
                180deg,
                rgba(8, 8, 10, 0.3) 0%,
                transparent 18%,
                transparent 70%,
                rgba(8, 8, 10, 0.88) 100%
            );
    }
}
/* CMS contact experience v2 */
.cms-contact-card {
    position: relative;
    overflow: hidden;
    margin-top: 26px;
    padding: clamp(28px, 4vw, 48px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    background:
        radial-gradient(
            circle at 8% 100%,
            rgba(200, 16, 46, 0.18),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.055),
            rgba(255, 255, 255, 0.02)
        );
    box-shadow: 0 26px 80px rgba(0, 0, 0, 0.24);
}

.cms-contact-card::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 42px;
    bottom: 42px;
    width: 2px;
    border-radius: 99px;
    background: linear-gradient(
        180deg,
        transparent,
        #d20f35,
        transparent
    );
}

.cms-contact-heading {
    position: relative;
    z-index: 1;
    max-width: 820px;
}

.cms-contact-heading h2 {
    margin: 16px 0 10px;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.3;
}

.cms-contact-heading p {
    margin: 0;
    color: rgba(255, 255, 255, 0.64);
    line-height: 1.95;
}

.cms-contact-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 28px;
}

.cms-contact-item {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 104px;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 19px;
    background: rgba(5, 5, 7, 0.3);
    color: #fff;
    text-decoration: none;
    transition:
        transform 180ms ease,
        border-color 180ms ease,
        background 180ms ease;
}

a.cms-contact-item:hover {
    transform: translateY(-3px);
    border-color: rgba(210, 15, 53, 0.42);
    background: rgba(200, 16, 46, 0.08);
}

.cms-contact-icon {
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(210, 15, 53, 0.28);
    border-radius: 14px;
    background: rgba(200, 16, 46, 0.12);
    color: #fecaca;
    font-weight: 900;
}

.cms-contact-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}

.cms-contact-copy strong {
    color: rgba(255, 255, 255, 0.58);
    font-size: 11px;
}

.cms-contact-copy bdi,
.cms-contact-copy > span:not(.cms-contact-icon) {
    color: #fff;
    font-size: 14px;
    line-height: 1.75;
}

.cms-contact-copy small {
    color: rgba(255, 255, 255, 0.42);
    font-size: 10px;
}

.cms-address-row {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 14px;
    padding: 20px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: rgba(5, 5, 7, 0.24);
}

.cms-address-copy strong {
    display: block;
    margin-bottom: 7px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
}

.cms-address-copy address {
    margin: 0;
    color: rgba(255, 255, 255, 0.82);
    font-style: normal;
    line-height: 1.8;
}

.cms-map-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 8px;
    min-height: 44px;
    padding: 10px 17px;
    border: 1px solid rgba(210, 15, 53, 0.38);
    border-radius: 999px;
    background: rgba(200, 16, 46, 0.12);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    transition:
        transform 180ms ease,
        background 180ms ease;
}

.cms-map-button:hover {
    transform: translateY(-2px);
    background: rgba(200, 16, 46, 0.23);
}

.cms-socials:empty {
    display: none;
}

@media (max-width: 920px) {
    .cms-contact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .cms-contact-grid {
        grid-template-columns: 1fr;
    }

    .cms-contact-item {
        min-height: 90px;
    }

    .cms-address-row {
        align-items: stretch;
        flex-direction: column;
    }

    .cms-map-button {
        width: 100%;
    }
}
/* CMS hero title scale final */
.cms-hero.has-hero-image .cms-hero-copy h1 {
    max-width: 13ch;
    font-size: clamp(2.35rem, 3.45vw, 3.55rem);
    line-height: 1.23;
}

@media (max-width: 1100px) {
    .cms-hero.has-hero-image .cms-hero-copy h1 {
        max-width: 14ch;
        font-size: clamp(2.25rem, 4vw, 3.2rem);
    }
}

@media (max-width: 650px) {
    .cms-hero.has-hero-image .cms-hero-copy h1 {
        max-width: none;
        font-size: clamp(1.9rem, 8.3vw, 2.45rem);
        line-height: 1.3;
    }
}
/* CMS contact icons and Persian text alignment v1 */
.cms-contact-icon {
    position: relative;
    display: inline-block;
    flex: 0 0 2.5rem;
    width: 2.5rem;
    height: 2.5rem;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(229, 29, 54, 0.5);
    border-radius: 50%;
    background:
        linear-gradient(
            145deg,
            rgba(229, 29, 54, 0.22),
            rgba(112, 10, 26, 0.14)
        );
    color: #ff9aa5;
    line-height: 0;
    box-sizing: border-box;
    box-shadow:
        inset 0 0 0 1px rgba(255, 255, 255, 0.025),
        0 8px 22px rgba(119, 9, 26, 0.16);
}

.cms-contact-icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    margin: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.9;
    stroke-linecap: round;
    stroke-linejoin: round;
    transform: translate(-50%, -50%);
}

.cms-contact-item:is(a):hover .cms-contact-icon {
    color: #ffffff;
}

.rtl .cms-editorial-content > div {
    text-align: justify;
    text-align-last: start;
}

.rtl .cms-hero-copy > p,
.rtl .cms-feature-grid p {
    text-align: start;
}
/* Floating glass navigation and animated mobile close icon v1 */
@media (min-width: 981px) {
    .cms-topbar {
        position: fixed;
        top: 18px;
        left: 50%;
        z-index: 100;
        width: min(1140px, calc(100vw - 72px));
        margin: 0;
        border-color: rgba(255, 255, 255, 0.13);
        background:
            linear-gradient(
                135deg,
                rgba(17, 17, 20, 0.82),
                rgba(8, 8, 10, 0.7)
            );
        -webkit-backdrop-filter: blur(24px) saturate(140%);
        backdrop-filter: blur(24px) saturate(140%);
        box-shadow:
            0 18px 50px rgba(0, 0, 0, 0.38),
            inset 0 1px 0 rgba(255, 255, 255, 0.045);
        transform: translateX(-50%);
    }

    #services,
    #contact {
        scroll-margin-top: 110px;
    }
}

@media (max-width: 980px) {
    .public-nav-toggle {
        position: relative;
        z-index: 90;
        display: block;
        flex: 0 0 43px;
        width: 43px;
        height: 43px;
        padding: 0;
        cursor: pointer;
        overflow: hidden;
    }

    .public-nav-toggle span {
        position: absolute;
        top: 50%;
        left: 11px;
        right: 11px;
        display: block;
        height: 2px;
        margin: 0;
        background: #ffffff;
        border-radius: 999px;
        transform-origin: center;
        transition:
            transform 220ms ease,
            opacity 160ms ease,
            background-color 220ms ease;
    }

    .public-nav-toggle span:nth-child(1) {
        transform: translateY(-7px);
    }

    .public-nav-toggle span:nth-child(2) {
        transform: translateY(-1px);
    }

    .public-nav-toggle span:nth-child(3) {
        transform: translateY(5px);
    }

    .public-nav-open .public-nav-toggle {
        border-color: rgba(229, 29, 54, 0.48);
        background: rgba(139, 12, 31, 0.28);
    }

    .public-nav-open .public-nav-toggle span {
        background: #ffabb4;
    }

    .public-nav-open .public-nav-toggle span:nth-child(1) {
        transform: translateY(-1px) rotate(45deg);
    }

    .public-nav-open .public-nav-toggle span:nth-child(2) {
        opacity: 0;
        transform: translateY(-1px) scaleX(0);
    }

    .public-nav-open .public-nav-toggle span:nth-child(3) {
        transform: translateY(-1px) rotate(-45deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .public-nav-toggle span {
        transition: none;
    }
}
/* CMS editorial reading-width polish v1 */
@media (min-width: 981px) {
    .cms-editorial-content > div {
        max-width: 82ch;
    }
}

.cms-editorial-content > div {
    text-wrap: pretty;
}
