:root{
    --navy:#101e2b;
    --ink:#152b3a;
    --muted:#596670;
    --accent:#f4b544;
    --paper:#faf9f5;
    --line:#dedfd9;
    --white:#fff;
    --radius:8px;
    font-synthesis:none
}
*{
    box-sizing:border-box
}
html{
    scroll-behavior:smooth;
    scroll-padding-top:100px
}
body{
    margin:0;
    background:var(--paper);
    color:var(--ink);
    font-family:'Segoe UI',Arial,sans-serif;
    font-size:16px;
    line-height:1.75;
    -webkit-font-smoothing:antialiased
}
html[lang=ar] body{
    font-family:Tahoma,Arial,sans-serif;
    line-height:1.95
}
a{
    color:inherit;
    text-decoration:none
}
button,input,textarea,select{
    font:inherit
}
button,a,input,textarea,select,summary{
    -webkit-tap-highlight-color:transparent
}
button,summary{
    cursor:pointer
}
img{
    max-width:100%;
    display:block
}
figure{
    margin:0
}
h1,h2,h3,p{
    margin-top:0
}
h1,h2,h3{
    font-weight:700;
    line-height:1.18;
    letter-spacing:-.035em
}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{
    line-height:1.55;
    letter-spacing:-.025em
}
h1{
    font-size:clamp(2.5rem,4.5vw,4.6rem);
    margin-bottom:24px
}
h2{
    font-size:clamp(2rem,3.2vw,3.1rem);
    margin-bottom:22px
}
h3{
    font-size:1.3rem;
    line-height:1.45
}
p{
    color:var(--muted);
    margin-bottom:24px
}
a,button{
    touch-action:manipulation
}
:focus-visible{
    outline:3px solid #1985d0;
    outline-offset:5px
}
a:hover{
    text-decoration:none
}
.container{
    width:min(1240px,calc(100% - 80px));
    margin-inline:auto
}
.narrow{
    max-width:800px
}
.icon{
    width:23px;
    height:23px;
    flex:none
}
.direction-arrow{
    display:inline-block
}
[dir=rtl] .direction-arrow{
    transform:scaleX(-1)
}
.skip-link{
    position:fixed;
    inset-block-start:10px;
    inset-inline-start:10px;
    transform:translateY(-150%);
    background:#fff;
    padding:10px 20px;
    z-index:100
}
.skip-link:focus{
    transform:none
}
.site-header{
    background:var(--paper);
    border-bottom:1px solid var(--line);
    position:sticky;
    top:0;
    z-index:30
}
.header-inner{
    display:flex;
    align-items:center;
    gap:30px;
    min-height:100px
}
.brand{
    display:flex;
    gap:12px;
    align-items:center;
    font-size:19px;
    font-weight:750;
    line-height:1.5
}
.brand>span:last-child{
    max-width:250px
}
.brand img{
    width:44px;
    height:44px;
    object-fit:contain
}
.brand small{
    display:block;
    font-size:9px;
    letter-spacing:.05em;
    font-weight:500;
    color:var(--muted);
    margin-top:4px
}
.brand-mark{
    display:grid;
    place-items:center;
    background:var(--accent);
    width:46px;
    height:46px;
    border-radius:50%;
    color:var(--navy);
    flex-shrink:0
}
.brand-mark .icon{
    width:27px;
    height:27px
}
.desktop-nav{
    display:flex;
    align-items:center;
    gap:28px;
    margin-inline:auto;
    font-size:14px;
    flex-wrap:wrap
}
.desktop-nav a{
    padding-block:8px;
    border-bottom:2px solid transparent
}
.desktop-nav a:hover,.desktop-nav a[aria-current]{
    border-color:var(--accent)
}
.header-actions{
    display:flex;
    gap:24px;
    align-items:center;
    flex:none
}
.language{
    font-size:13px;
    border-bottom:1px solid #9fa5a5
}
.btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    gap:10px;
    background:var(--accent);
    color:var(--navy);
    border:1px solid transparent;
    padding:15px 23px;
    border-radius:4px;
    font-weight:700;
    font-size:14px;
    line-height:1.7;
    transition:filter .2s,transform .2s;
    min-height:48px
}
.btn:hover{
    filter:brightness(.94);
    transform:translateY(-1px)
}
.btn-small{
    padding:10px 16px;
    min-height:44px;
    font-size:13px
}
.btn-dark{
    background:var(--navy);
    color:white
}
.btn-outline{
    background:transparent;
    border-color:currentColor;
    color:inherit
}
.btn-whatsapp{
    background:#176949;
    color:white
}
.text-link{
    font-size:14px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid;
    padding:4px 0
}
.actions{
    display:flex;
    align-items:center;
    gap:15px;
    flex-wrap:wrap;
    margin-top:28px
}
.mobile-menu{
    display:none
}
.eyebrow{
    font-size:11px;
    font-weight:700;
    letter-spacing:.16em;
    display:flex;
    gap:10px;
    align-items:center;
    margin-bottom:22px;
    text-transform:uppercase
}
html[lang=ar] .eyebrow{
    letter-spacing:0;
    font-size:13px
}
.status-dot{
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--accent);
    box-shadow:0 0 0 5px #f4b54418
}
.hero{
    background:var(--navy);
    color:var(--paper);
    overflow:hidden
}
.hero-grid{
    display:grid;
    grid-template-columns:1.05fr 1fr;
    gap:65px;
    align-items:center;
    padding-block:80px 70px
}
.hero h1,.hero h2{
    font-size:clamp(2.7rem,4.2vw,4.6rem);
    max-width:660px;
    font-weight:600
}
.hero p{
    color:#c4cbd0;
    max-width:530px;
    font-size:16px
}
.hero .actions{
    gap:18px
}
.hero .text-link{
    color:white
}
.hero .btn-outline{
    color:#fff;
    font-size:13px
}
.hero-explore{
    display:flex;
    align-items:center;
    gap:14px;
    color:#bac4cb;
    font-size:12px;
    margin-top:48px
}
.hero-explore>span{
    border:1px solid #53606a;
    width:31px;
    height:31px;
    display:grid;
    place-items:center;
    border-radius:50%;
    font-size:19px
}
.hero-visual{
    position:relative;
    padding-bottom:35px;
    align-self:stretch;
    display:flex;
    align-items:center
}
.hero-visual>img{
    width:100%;
    height:510px;
    object-fit:cover;
    object-position:46% 50%;
    border-radius:100px 4px 4px 4px
}
.hero-visual figcaption{
    position:absolute;
    inset-inline-start:-28px;
    bottom:54px;
    background:var(--paper);
    color:var(--navy);
    padding:19px 22px;
    display:flex;
    align-items:center;
    gap:16px;
    box-shadow:0 8px 30px #0002;
    min-width:285px;
    border-inline-start:3px solid var(--accent);
    font-size:11px
}
.hero-visual figcaption strong{
    display:block;
    font-size:15px
}
.hero-visual figcaption>span:last-child{
    margin-inline-start:auto;
    font-size:25px
}
.visual-icon{
    display:grid;
    place-items:center;
    background:#ecece5;
    border-radius:50%;
    width:44px;
    height:44px
}
.image-caption{
    position:absolute;
    inset-inline-end:0;
    bottom:3px;
    color:#a3b0ba;
    font-size:10px
}
.hero-rule{
    border-top:1px solid #34414b;
    display:flex;
    align-items:center;
    justify-content:space-between;
    font-size:10px;
    color:#99a9b3;
    padding-block:20px;
    letter-spacing:.12em
}
.section{
    padding-block:95px
}
.section-heading{
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:32px;
    margin-bottom:38px
}
.section-heading>div{
    max-width:700px
}
.section-heading p{
    margin-bottom:0;
    max-width:640px
}
.section-heading>.text-link{
    flex:none
}
.muted{
    background:#eeefe9
}
.cards{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px
}
.service-card{
    border:1px solid var(--line);
    background:#fff;
    display:block;
    border-radius:5px;
    overflow:hidden;
    transition:box-shadow .2s,border-color .2s
}
.service-card:hover{
    border-color:#9ba6ab;
    box-shadow:0 10px 30px #1025340b
}
.service-card>img{
    width:100%;
    height:210px;
    object-fit:cover
}
.card-symbol{
    display:flex;
    align-items:center;
    justify-content:space-between;
    background:#eeeee7;
    padding:28px 30px;
    color:var(--navy)
}
.card-symbol .icon{
    width:45px;
    height:45px;
    stroke-width:1.1
}
.card-symbol>span{
    font-size:12px;
    color:#697376
}
.card-body{
    padding:29px
}
.card-body h3{
    font-size:22px;
    margin-bottom:16px
}
.card-body p{
    font-size:14px
}
.card-body h2{
    font-size:25px
}
.card-link{
    font-size:12px;
    font-weight:700;
    display:flex;
    justify-content:space-between;
    align-items:center;
    border-top:1px solid var(--line);
    padding-top:18px;
    margin-top:24px
}
.card-link>span{
    font-size:22px
}
.split,.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:85px;
    align-items:center
}
.about-grid{
    grid-template-columns:1.08fr 1fr
}
.about-visual{
    position:relative
}
.about-visual img{
    width:100%;
    height:410px;
    object-fit:cover;
    border-radius:5px
}
.photo-note{
    position:absolute;
    inset-inline-start:20px;
    bottom:20px;
    font-size:11px;
    background:var(--paper);
    padding:6px 12px
}
.body-copy{
    white-space:pre-line;
    font-size:17px;
    line-height:1.9;
    color:var(--muted)
}
.process-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:30px
}
.info-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:35px
}
.info-item{
    border-top:1px solid #c4cac9;
    padding-top:23px
}
.step-number{
    display:block;
    font-size:35px;
    line-height:1;
    color:#7b858a;
    font-weight:300;
    margin-bottom:38px
}
.info-item h3{
    font-size:21px;
    margin-bottom:14px
}
.info-item p{
    font-size:14px;
    margin-bottom:0
}
.quote-section{
    background:#e3e9e5
}
.quote-panel{
    background:var(--paper);
    border:1px solid #c9d2cc;
    padding:35px
}
.quote-panel h3{
    margin-bottom:28px;
    font-size:24px
}
.quote-factor{
    display:flex;
    align-items:center;
    gap:15px;
    border-bottom:1px solid var(--line);
    padding-block:15px;
    font-size:14px
}
.quote-factor>span{
    font-size:11px;
    color:var(--muted)
}
.quote-factor .icon{
    margin-inline-start:auto;
    width:18px
}
.quote-panel>.btn{
    margin-top:30px
}
.area-layout{
    display:grid;
    grid-template-columns:1fr 1.15fr;
    align-items:center;
    gap:80px
}
.area-panel{
    position:relative;
    min-height:270px;
    background:#efefe8;
    border:1px solid var(--line);
    border-radius:5px;
    overflow:hidden
}
.map-art{
    position:relative;
    height:270px;
    overflow:hidden;
    background:repeating-linear-gradient(33deg,transparent 0 44px,#f9f9f4 45px 52px,transparent 53px 110px),repeating-linear-gradient(123deg,transparent 0 60px,#fafaf5 61px 70px,transparent 71px 140px)
}
.map-art>span{
    position:absolute;
    border:1px solid #bbc6bc;
    border-radius:50%;
    inset:35px 120px
}
.map-art>span:nth-child(2){
    inset:5px 90px
}
.map-art>span:nth-child(3){
    inset:-25px 60px
}
.map-pin{
    position:absolute;
    inset:50%;
    display:grid;
    place-items:center;
    width:60px;
    height:60px;
    background:var(--navy);
    color:var(--accent);
    border-radius:50%;
    transform:translate(-50%,-50%);
    box-shadow:0 0 0 12px #101e2b0c
}
.chip-grid{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    padding:20px
}
.chip{
    border:1px solid #bac1bc;
    background:var(--paper);
    padding:9px 14px;
    border-radius:3px;
    font-size:13px
}
.faq-grid{
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:85px
}
.faq{
    border-bottom:1px solid #c9cfca
}
.faq summary{
    display:flex;
    justify-content:space-between;
    gap:20px;
    list-style:none;
    padding:22px 0;
    font-size:15px;
    font-weight:600
}
.faq summary::-webkit-details-marker{
    display:none
}
.faq summary>span{
    font-size:22px;
    font-weight:400;
    flex:none
}
.faq[open] summary>span{
    transform:rotate(45deg)
}
.faq .body-copy{
    font-size:15px;
    padding-bottom:23px
}
.inquiry-form{
    width:100%
}
.inquiry-form label,.form-card label,.login-card label{
    display:block;
    font-size:13px;
    font-weight:600;
    margin-bottom:20px
}
input,textarea,select{
    background:transparent;
    color:var(--ink);
    border:1px solid #bfc5c3;
    border-radius:3px;
    padding:12px 13px;
    width:100%;
    display:block;
    min-height:48px;
    line-height:1.5;
    margin-top:8px
}
textarea{
    resize:vertical
}
input[type=color]{
    height:48px;
    padding:5px
}
input[type=checkbox]{
    width:18px;
    height:18px;
    min-height:18px;
    margin:0;
    accent-color:var(--navy);
    flex-shrink:0
}
input[type=file]{
    padding:10px;
    font-size:13px
}
.inquiry-form [hidden]{
    display:none!important
}
:is(input,textarea,select)[aria-invalid=true]{
    border-color:#a92920
}
.form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px
}
.form-note{
    font-size:12px;
    color:var(--muted);
    line-height:1.65
}
.honeypot{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip-path:inset(50%)
}
.notice,.error{
    padding:14px 18px;
    margin-bottom:25px;
    border:1px solid #a8c5b6;
    border-radius:4px;
    background:#eff9f2;
    color:#205a3c;
    font-size:14px
}
.error{
    background:#fff0ed;
    border-color:#e6bcb5;
    color:#913426
}
.error p{
    color:inherit;
    margin:0
}
.error ul{
    margin-block:8px
}
.cta{
    background:var(--navy);
    color:var(--paper);
    border-bottom:1px solid #35424c
}
.cta-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:55px
}
.cta-inner>div:first-child{
    max-width:640px
}
.cta p{
    color:#b9c4cc;
    margin-bottom:0
}
.cta .eyebrow{
    color:var(--accent)
}
.cta .actions{
    flex-shrink:0;
    max-width:440px
}
.cta h2{
    margin-bottom:15px
}
.cta .text-link{
    color:#fff
}
.page-hero{
    background:var(--navy);
    color:var(--paper);
    padding-block:65px 70px
}
.page-hero h1{
    font-size:clamp(2.2rem,4.2vw,3.8rem);
    max-width:1000px
}
.page-hero p{
    color:#bdc8cf;
    max-width:700px;
    margin:0
}
.page-hero .eyebrow{
    color:var(--accent)
}
.breadcrumbs{
    display:flex;
    gap:13px;
    font-size:12px;
    align-items:center;
    flex-wrap:wrap;
    margin-bottom:24px;
    color:#b5c0c6
}
.detail-grid{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);
    gap:80px;
    align-items:start
}
.detail-image{
    width:100%;
    height:auto;
    max-height:500px;
    object-fit:cover;
    margin-bottom:35px;
    border-radius:4px
}
.article>h2{
    font-size:27px;
    margin-top:40px
}
.article>.text-link{
    margin-top:40px
}
.article .body-copy{
    line-height:2
}
.contact-card{
    padding:32px;
    border:1px solid var(--line);
    border-top:3px solid var(--accent);
    background:#fff
}
.contact-card h2{
    font-size:29px
}
.contact-card p{
    font-size:14px
}
.contact-card .actions{
    display:grid
}
.contact-card .text-link{
    justify-self:start
}
.contact-card>.btn{
    margin-top:25px
}
.contact-details{
    display:flex;
    flex-direction:column;
    align-items:start;
    gap:7px;
    overflow-wrap:anywhere;
    font-size:14px
}
.contact-details p{
    color:inherit;
    margin:0
}
.contact-details>a:hover{
    text-decoration:underline
}
.benefits{
    list-style:none;
    margin:24px 0;
    padding:0
}
.benefits li{
    display:flex;
    gap:14px;
    align-items:start;
    margin-bottom:12px
}
.benefits .icon{
    color:#3c6957;
    margin-top:4px
}
.empty-state{
    grid-column:1/-1
}
.section-image{
    width:100%;
    max-height:350px;
    object-fit:cover;
    margin-block:22px;
    border-radius:4px
}
.site-footer{
    background:var(--navy);
    color:#bdc8cf;
    padding-block:64px 0
}
.footer-grid{
    display:grid;
    grid-template-columns:1.5fr .8fr 1.2fr 1.1fr;
    gap:45px
}
.site-footer .brand{
    color:#fff;
    font-size:19px
}
.footer-brand>p{
    font-size:13px;
    color:#aebbc4;
    margin-top:22px;
    max-width:300px
}
.site-footer h2{
    color:#fff;
    font-size:13px;
    letter-spacing:0;
    line-height:1.5;
    margin-block:8px 23px
}
.site-footer ul{
    list-style:none;
    padding:0;
    margin:0
}
.site-footer li{
    margin-bottom:9px;
    font-size:12px
}
.site-footer a:hover{
    color:white
}
.site-footer .contact-details{
    font-size:12px
}
.social-links{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin-top:18px;
    font-size:11px
}
.footer-bottom{
    display:flex;
    justify-content:space-between;
    gap:20px;
    border-top:1px solid #35424b;
    margin-top:50px;
    padding-block:20px;
    font-size:11px
}
.floating-whatsapp{
    position:fixed;
    inset-inline-end:24px;
    bottom:24px;
    background:#176949;
    color:#fff;
    display:flex;
    gap:10px;
    align-items:center;
    padding:13px 18px;
    border-radius:40px;
    box-shadow:0 5px 25px #0002;
    font-size:13px;
    font-weight:700;
    z-index:25
}
.mobile-actions{
    display:none
}
.admin-body{
    display:flex;
    background:#f2f4f2;
    min-height:100vh
}
.sidebar{
    width:240px;
    flex-shrink:0;
    background:var(--navy);
    padding:28px 20px;
    color:#ccd4da
}
.sidebar h2{
    font-size:20px;
    color:#fff;
    margin-bottom:30px
}
.sidebar h2 span{
    color:var(--accent);
    font-size:13px
}
.sidebar a,.sidebar button{
    display:block;
    padding:10px 12px;
    color:inherit;
    border:0;
    background:transparent;
    width:100%;
    text-align:start;
    font-size:14px;
    border-radius:4px
}
.sidebar a:hover,.sidebar button:hover{
    background:#ffffff10
}
.admin-main{
    flex:1;
    min-width:0;
    padding:35px 45px;
    max-width:1500px
}
.admin-main h1{
    font-size:32px
}
.admin-main h2{
    font-size:22px
}
.admin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 25px
}
.admin-card{
    display:block;
    padding:24px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:5px;
    margin-bottom:20px
}
.admin-card strong{
    display:block;
    font-size:32px
}
.admin-card small{
    display:block;
    color:var(--muted)
}
.form-card{
    padding:28px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:5px;
    margin-bottom:25px;
    overflow-wrap:anywhere
}
.form-card fieldset{
    margin:0 0 35px;
    padding:23px;
    border:1px solid var(--line)
}
.form-card legend{
    font-size:18px;
    font-weight:700;
    padding-inline:10px
}
.form-card p,.admin-intro{
    font-size:14px
}
.form-card table{
    width:100%;
    border-collapse:collapse;
    font-size:14px
}
.form-card td,.form-card th{
    text-align:start;
    padding:13px 10px;
    border-bottom:1px solid var(--line)
}
.form-card th{
    background:#f1f3ef
}
.form-card td>a{
    color:#205c8b
}
.inline{
    display:inline
}
.danger{
    border:0;
    background:transparent;
    color:#b42318;
    cursor:pointer;
    padding:6px;
    font:inherit
}
.between{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px
}
.between>span{
    font-size:12px
}
.preview{
    width:200px;
    max-height:140px;
    object-fit:contain;
    margin:12px 0 20px
}
.check{
    display:flex!important;
    gap:10px;
    align-items:center;
    padding-top:10px
}
.delete-form{
    margin-top:15px
}
.inquiry-status{
    display:flex;
    gap:18px;
    align-items:end;
    margin-top:20px
}
.inquiry-status label{
    margin:0
}
.inquiry-status select{
    min-width:150px
}
.login-screen{
    min-height:100vh;
    display:grid;
    place-items:center;
    background:var(--navy);
    padding:25px
}
.login-card{
    background:var(--paper);
    border-radius:7px;
    padding:40px;
    width:min(440px,100%)
}
.login-card h1{
    font-size:30px
}
.login-card .btn{
    width:100%
}
.form-card nav[role=navigation]{
    margin-top:25px
}
.form-card nav[role=navigation] svg{
    width:20px;
    height:20px
}
.form-card nav[role=navigation]>div{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
    align-items:center
}
.form-card nav[role=navigation] a{
    padding:5px
}
.form-card small{
    color:var(--muted);
    font-size:11px
}
.admin-main>.notice a{
    text-decoration:underline
}
@media(min-width:1400px){
    .hero-grid{
        gap:85px
    }
    .hero-visual>img{
        height:540px
    }
}
@media(max-width:1100px){
    .container{
        width:calc(100% - 48px)
    }
    .header-inner{
        gap:20px
    }
    .desktop-nav{
        gap:16px;
        font-size:12px
    }
    .brand{
        font-size:16px
    }
    .brand>span:last-child{
        max-width:190px
    }
    .header-actions{
        gap:14px
    }
    .header-call{
        display:none
    }
    .hero-grid{
        gap:40px;
        padding-block:60px
    }
    .hero-visual>img{
        height:470px
    }
    .hero h1,.hero h2{
        font-size:clamp(2.5rem,4.5vw,3.7rem)
    }
    .split,.about-grid,.area-layout,.faq-grid{
        gap:45px
    }
    .section{
        padding-block:75px
    }
    .cards{
        gap:18px
    }
    .card-body{
        padding:24px
    }
    .footer-grid{
        gap:30px;
        grid-template-columns:1.3fr .8fr 1fr 1fr
    }
    .cta-inner{
        display:block
    }
    .cta .actions{
        max-width:none;
        margin-top:30px
    }
    .admin-main{
        padding:25px
    }
    .sidebar{
        width:210px
    }
}
@media(max-width:800px){
    .header-inner{
        min-height:85px;
        flex-wrap:wrap;
        gap:0;
        padding-block:15px
    }
    .brand{
        flex:1
    }
    .brand small{
        max-width:220px
    }
    .desktop-nav{
        display:none
    }
    .header-actions{
        margin-inline:15px
    }
    .mobile-menu{
        display:block;
        position:relative
    }
    .mobile-menu summary{
        list-style:none;
        font-size:12px;
        display:flex;
        align-items:center;
        gap:7px;
        min-height:44px
    }
    .mobile-menu summary::-webkit-details-marker{
        display:none
    }
    .mobile-menu summary>span{
        font-size:20px
    }
    .mobile-menu nav{
        position:absolute;
        inset-inline-end:0;
        top:48px;
        width:230px;
        padding:15px;
        background:var(--paper);
        box-shadow:0 8px 20px #0002;
        border:1px solid var(--line)
    }
    .mobile-menu nav a{
        display:block;
        padding:10px
    }
    .hero-grid{
        grid-template-columns:1fr 1fr;
        gap:30px
    }
    .hero h1,.hero h2{
        font-size:2.8rem
    }
    .hero .actions .btn-outline{
        display:none
    }
    .hero p{
        font-size:14px
    }
    .hero-visual>img{
        height:470px;
        border-start-start-radius:65px
    }
    .hero-visual figcaption{
        inset-inline-start:-12px;
        min-width:240px;
        padding:15px
    }
    .hero-visual figcaption strong{
        font-size:13px
    }
    .cards{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .process-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:35px
    }
    .info-grid{
        gap:22px
    }
    .info-item h3{
        font-size:19px
    }
    .split,.about-grid,.area-layout,.faq-grid,.detail-grid{
        gap:35px
    }
    .footer-grid{
        grid-template-columns:1fr 1fr
    }
    .detail-grid{
        grid-template-columns:1.4fr 1fr
    }
    .contact-card{
        padding:24px
    }
    .contact-card h2{
        font-size:24px
    }
    .sidebar{
        width:180px;
        padding:20px 10px
    }
    .sidebar a{
        font-size:12px
    }
    .form-card{
        padding:20px
    }
    .admin-grid{
        gap:0 18px
    }
    .form-card fieldset{
        padding:15px
    }
    .form-grid{
        grid-template-columns:1fr;
        gap:0
    }
    .section-heading{
        display:block
    }
    .section-heading>.text-link{
        margin-top:22px
    }
    .about-visual img{
        height:390px
    }
}
@media(max-width:600px){
    .container{
        width:calc(100% - 36px)
    }
    h1{
        font-size:2.6rem
    }
    h2{
        font-size:2rem
    }
    .brand{
        font-size:15px;
        gap:8px
    }
    .brand-mark{
        width:38px;
        height:38px
    }
    .brand small{
        font-size:8px;
        max-width:160px
    }
    .brand>span:last-child{
        max-width:190px
    }
    .header-actions{
        margin-inline:10px
    }
    .language{
        font-size:11px
    }
    .header-inner{
        min-height:80px
    }
    .mobile-menu summary{
        font-size:0
    }
    .mobile-menu summary>span{
        font-size:21px
    }
    .hero-grid{
        grid-template-columns:1fr;
        padding-block:45px 22px;
        gap:35px
    }
    .hero h1,.hero h2{
        font-size:2.8rem;
        line-height:1.15;
        max-width:520px
    }
    html[lang=ar] .hero h1,html[lang=ar] .hero h2{
        font-size:2.5rem;
        line-height:1.55
    }
    .hero .eyebrow{
        font-size:10px;
        margin-bottom:22px
    }
    .hero p{
        font-size:14px;
        margin-bottom:22px
    }
    .hero .actions{
        margin-top:22px
    }
    .hero-explore{
        margin-top:25px
    }
    .hero-visual{
        padding-bottom:28px
    }
    .hero-visual>img{
        height:330px;
        object-position:center;
        border-radius:60px 4px 4px 4px
    }
    .hero-visual figcaption{
        inset-inline-start:12px;
        bottom:45px;
        min-width:240px;
        padding:13px
    }
    .hero-rule{
        padding-block:16px;
        font-size:8px;
        gap:10px;
        letter-spacing:0
    }
    .image-caption{
        font-size:9px
    }
    .section{
        padding-block:58px
    }
    .section-heading{
        margin-bottom:28px
    }
    .eyebrow{
        font-size:10px;
        margin-bottom:16px
    }
    .cards,.split,.about-grid,.area-layout,.faq-grid,.detail-grid{
        grid-template-columns:1fr
    }
    .cards{
        gap:18px
    }
    .service-card>img{
        height:210px
    }
    .card-symbol{
        padding:22px
    }
    .card-body{
        padding:25px
    }
    .about-grid{
        gap:30px
    }
    .about-visual img{
        height:290px
    }
    .process-grid{
        gap:30px 20px
    }
    .step-number{
        font-size:29px;
        margin-bottom:25px
    }
    .info-item h3{
        font-size:18px
    }
    .info-item p{
        font-size:13px
    }
    .info-grid{
        grid-template-columns:1fr;
        gap:25px
    }
    .info-grid .info-item{
        display:grid;
        grid-template-columns:40px 1fr;
        gap:0 16px
    }
    .info-grid .step-number{
        grid-row:1/3;
        margin:0;
        font-size:24px
    }
    .info-grid h3{
        margin-bottom:9px
    }
    .info-grid p{
        grid-column:2
    }
    .quote-panel{
        padding:25px
    }
    .area-panel{
        min-height:230px
    }
    .map-art{
        height:230px
    }
    .faq-grid{
        gap:20px
    }
    .faq summary{
        font-size:14px;
        padding-block:20px
    }
    .cta-inner{
        gap:30px
    }
    .cta h2{
        font-size:2rem
    }
    .cta .actions{
        display:flex
    }
    .cta .text-link{
        font-size:13px
    }
    .page-hero{
        padding-block:45px 50px
    }
    .page-hero h1{
        font-size:2.4rem
    }
    .page-hero p{
        font-size:14px
    }
    .body-copy{
        font-size:15px
    }
    .detail-grid{
        gap:30px
    }
    .detail-aside{
        order:2
    }
    .site-footer{
        padding-top:45px;
        padding-bottom:80px
    }
    .footer-grid{
        gap:30px 22px
    }
    .footer-brand{
        grid-column:1/-1
    }
    .footer-brand>p{
        max-width:450px;
        margin-bottom:0
    }
    .site-footer .footer-grid>div:last-child{
        grid-column:1/-1
    }
    .footer-bottom{
        font-size:10px;
        align-items:start;
        margin-top:35px
    }
    .floating-whatsapp{
        display:none
    }
    .mobile-actions{
        display:flex;
        position:fixed;
        bottom:0;
        inset-inline:0;
        gap:9px;
        padding:10px 14px calc(10px + env(safe-area-inset-bottom));
        background:var(--paper);
        border-top:1px solid #dce0dc;
        z-index:40
    }
    .mobile-actions .btn{
        flex:1;
        font-size:12px;
        min-width:0;
        padding:12px 10px
    }
    .mobile-actions .icon{
        width:18px
    }
    .admin-body{
        display:block
    }
    .sidebar{
        width:100%;
        display:flex;
        flex-wrap:wrap;
        gap:4px;
        padding:16px
    }
    .sidebar h2{
        width:100%;
        margin:0 0 8px
    }
    .sidebar a,.sidebar button{
        width:auto;
        padding:6px 8px;
        font-size:11px
    }
    .sidebar form{
        display:inline
    }
    .admin-main{
        padding:20px 14px
    }
    .admin-main h1{
        font-size:27px
    }
    .admin-grid{
        grid-template-columns:1fr
    }
    .admin-main .admin-grid>.admin-card{
        padding:15px
    }
    .form-card{
        padding:16px;
        overflow-x:auto
    }
    .form-card table{
        min-width:600px
    }
    .form-card fieldset{
        padding:14px
    }
    .form-card legend{
        font-size:15px
    }
    .between{
        align-items:start
    }
    .between>.btn{
        font-size:12px;
        padding-inline:12px
    }
    .login-card{
        padding:28px
    }
    .inquiry-status{
        flex-wrap:wrap
    }
    .form-grid{
        grid-template-columns:1fr
    }
    .btn{
        font-size:13px
    }
    .section-image{
        max-height:280px
    }
}
@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto
    }
    *,*:before,*:after{
        transition:none!important;
        animation:none!important
    }
}
.review-card{
    background:white;
    border:1px solid var(--line);
    padding:30px;
    border-top:3px solid var(--accent)
}
.review-card blockquote{
    margin:0 0 25px;
    font-size:16px;
    white-space:pre-line
}
.review-card figcaption{
    font-size:13px;
    font-weight:700;
    border-top:1px solid var(--line);
    padding-top:16px
}
.towing-pricing-section { background:#e3e9e5; }
.pricing-table-scroll { overflow-x:auto; max-width:100%; border:1px solid #c5cec8; border-radius:6px; background:var(--paper); overscroll-behavior-inline:contain; }
.towing-pricing-table { border-collapse:separate; border-spacing:0; min-width:100%; width:max-content; font-size:15px; }
.towing-pricing-table caption { text-align:start; padding:15px 22px; color:var(--muted); font-size:12px; }
.towing-pricing-table th,.towing-pricing-table td { text-align:start; padding:21px 24px; border-top:1px solid var(--line); min-width:155px; }
.towing-pricing-table thead th { background:var(--navy); color:white; font-size:14px; font-weight:600; }
.towing-pricing-table tbody th { position:sticky; inset-inline-start:0; background:#eeefe9; z-index:1; font-size:14px; }
.towing-pricing-table tbody tr:nth-child(even) td { background:#f3f4ef; }
.pricing-amount { white-space:nowrap; font-weight:700; }
.pricing-currency { font-size:11px; color:var(--muted); font-weight:400; }
.pricing-on-request { font-size:12px; color:var(--muted); }
.pricing-notes { margin-block:24px; max-width:900px; font-size:13px; }
.pricing-scroll-hint { font-size:12px; margin-bottom:12px; }
.pricing-module-links { display:flex; flex-wrap:wrap; gap:18px; margin-bottom:25px; font-size:14px; }
.pricing-module-links a { border-bottom:1px solid; }
.pricing-edit-table { overflow-x:auto; }
.pricing-edit-table table { min-width:780px; }
.pricing-edit-table .badge { display:inline-block; padding:3px 9px; background:#f4ece0; border-radius:3px; font-size:12px; }
.pricing-edit-table .badge-approved { background:#e2f0e5; color:#205a3c; }
[data-price-field][hidden] { display:none!important; }
.pricing-edit-table td small { display:block; max-width:280px; }
.editorial-cards { align-items:stretch; }
.editorial-card { min-width:0; }
.editorial-card>img { width:100%; height:190px; object-fit:cover; margin-bottom:22px; border-radius:4px; }
.editorial-icon { display:inline-grid; place-items:center; width:48px; height:48px; background:#e4e9e3; color:var(--ink); border-radius:50%; margin-bottom:20px; }
.editorial-card .text-link { margin-top:18px; font-size:12px; }
.urgent-section { background:#e8ede8; }
.supplementary-copy { margin-top:32px; }
.supplementary-copy h2 { font-size:27px; margin-top:36px; }
.map-embed { width:100%; overflow:hidden; border:1px solid var(--line); border-radius:5px; }
.map-embed iframe { display:block; border:0; width:100%; height:320px; }
.footer-map { margin-top:35px; }
.footer-map iframe { height:220px; }
.review-card figcaption a { display:block; font-weight:400; margin-top:8px; }
@media(max-width:600px) { .info-grid.editorial-cards .info-item { display:block; } .editorial-cards .info-item p { margin-bottom:0; } .map-embed iframe { height:260px; } }

/* Homepage presentation only: shared pages and the custom admin retain their styles. */
.home-page {
    --home-border:#dfe4e2;
    --home-soft:#f2f5f3;
    --home-shadow:0 12px 36px #101e2b08;
}
.home-page .site-header {
    background:#faf9f5fa;
    box-shadow:0 3px 20px #101e2b04;
}
.home-page .header-inner { min-height:92px; }
.home-page .btn {
    border-radius:9px;
    padding:15px 24px;
    box-shadow:0 3px 0 #101e2b08;
    transition:background-color .2s,box-shadow .2s,transform .2s;
}
.home-page .btn-small { padding:10px 17px; }
.home-page .text-link { padding-block:8px; line-height:1.6; }
.home-page .hero {
    background:radial-gradient(ellipse at 80% 15%,#29445188,transparent 55%),var(--navy);
}
.home-page .hero-grid {
    gap:clamp(32px,5vw,76px);
    padding-block:76px 62px;
}
.home-page .hero h1,.home-page .hero h2 {
    font-size:clamp(2.6rem,4.1vw,4.35rem);
    line-height:1.12;
    letter-spacing:-.04em;
    margin-bottom:26px;
    text-wrap:balance;
}
.home-page .hero p { color:#cbd5db; line-height:1.85; }
.home-page .hero .eyebrow { color:#e0e5e8; }
.home-page .hero-visual>img {
    height:490px;
    border-radius:26px;
    border-start-start-radius:80px;
    border:1px solid #ffffff24;
    box-shadow:0 24px 60px #0003;
}
.home-page .hero-visual figcaption {
    border-radius:12px;
    inset-inline-start:-20px;
    bottom:57px;
    max-width:calc(100% + 20px);
}
.home-page .hero-visual figcaption>span:nth-child(2) { min-width:0; overflow-wrap:anywhere; }
.home-page .hero-explore { margin-top:34px; }
.home-page .hero-rule { color:#b8c4cc; padding-block:20px; letter-spacing:.08em; }
.home-page main>.section {
    padding-block:clamp(64px,7vw,104px);
    background:#fff;
    border-block-start:1px solid var(--home-border);
}
.home-page main>.section:nth-of-type(even):where(:not(.cta,.towing-pricing-section,.urgent-section,[data-section=situations])) { background:var(--paper); }
.home-page main>.section h2 {
    font-size:clamp(1.95rem,3vw,2.8rem);
    line-height:1.2;
    letter-spacing:-.035em;
    margin-bottom:20px;
    text-wrap:balance;
}
.home-page main>.section p { line-height:1.85; }
.home-page .section-heading { gap:32px; margin-bottom:40px; }
.home-page .section-heading>div { max-width:820px; }
.home-page .section-heading p { max-width:680px; }
.home-page .eyebrow { color:#526875; margin-bottom:18px; letter-spacing:.12em; }
.home-page .section-image { border-radius:16px; }
.home-page .split,.home-page .about-grid,.home-page .area-layout,.home-page .faq-grid {
    gap:clamp(32px,5.5vw,80px);
}
.home-page :is(.split,.about-grid,.area-layout,.faq-grid)>* { min-width:0; }
.home-page .cards,.home-page .info-grid,.home-page .process-grid { gap:24px; }
.home-page .cards { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
.home-page .service-card {
    display:flex;
    flex-direction:column;
    border-color:var(--home-border);
    border-radius:16px;
    box-shadow:var(--home-shadow);
    transition:transform .25s,box-shadow .25s,border-color .25s;
}
.home-page .service-card>img { height:215px; }
.home-page .card-symbol { background:var(--home-soft); padding:26px 28px; }
.home-page .card-symbol>span { font-weight:600; letter-spacing:.08em; }
.home-page .card-body { display:flex; flex-direction:column; flex:1; padding:28px; }
.home-page .card-body h3 { font-size:21px; margin-bottom:14px; letter-spacing:-.02em; }
.home-page .card-body p { flex:1; margin-bottom:24px; }
.home-page .card-link { margin-top:0; border-color:var(--home-border); padding-top:16px; }
.home-page .card-link>span {
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:50%;
    background:var(--home-soft);
    font-size:19px;
}
.home-page main>[data-section=situations] { background:var(--home-soft); }
.home-page [data-section=situations] .editorial-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.home-page .info-item {
    border:1px solid var(--home-border);
    border-radius:16px;
    background:#fff;
    padding:28px;
    box-shadow:var(--home-shadow);
}
.home-page .info-item h3 { font-size:20px; margin-bottom:12px; letter-spacing:-.02em; }
.home-page .info-item p { font-size:14px; }
.home-page .editorial-card { display:flex; flex-direction:column; align-items:start; }
.home-page .editorial-card p { flex:1; }
.home-page .editorial-card .text-link { margin-top:22px; }
.home-page .editorial-card>img { height:200px; border-radius:10px; }
.home-page .editorial-icon {
    width:48px;
    height:48px;
    border-radius:13px;
    background:var(--home-soft);
    border:1px solid var(--home-border);
    margin-bottom:22px;
}
.home-page .section-heading .editorial-icon { background:#fff; }
.home-page .step-number {
    display:inline-grid;
    place-items:center;
    width:46px;
    height:46px;
    border-radius:12px;
    background:var(--accent);
    color:var(--navy);
    font-size:18px;
    font-weight:700;
    margin-bottom:26px;
    font-variant-numeric:tabular-nums;
}
.home-page [data-section=reasons] .step-number { background:var(--home-soft); }
.home-page .about-visual img { height:450px; border-radius:20px; }
.home-page .about-visual { border-radius:20px; box-shadow:var(--home-shadow); }
.home-page .photo-note { border-radius:7px; padding:9px 14px; max-width:calc(100% - 40px); }
.home-page main>.towing-pricing-section { background:#edf2ef; }
.home-page .pricing-table-scroll {
    border:1px solid #d4ded8;
    border-radius:16px;
    box-shadow:0 14px 40px #101e2b08;
    background:#fff;
    scrollbar-color:#a3b3ab #eef2ef;
}
.home-page .towing-pricing-table caption { background:#fff; padding:16px 24px; }
.home-page .towing-pricing-table th,.home-page .towing-pricing-table td { padding:23px 25px; border-color:#e1e7e3; }
.home-page .towing-pricing-table thead th { background:#172f3d; padding-block:21px; }
.home-page .towing-pricing-table tbody th { background:#f0f4f1; font-weight:600; }
.home-page .towing-pricing-table tbody td { background:#fff; }
.home-page .towing-pricing-table tbody tr:nth-child(even) td { background:#f8faf8; }
.home-page .pricing-amount { font-size:17px; font-variant-numeric:tabular-nums; }
.home-page .pricing-notes { padding-inline-start:16px; border-inline-start:3px solid var(--accent); margin-block:26px; }
.home-page .pricing-scroll-hint { margin-bottom:14px; }
.home-page .area-panel { border-radius:20px; border-color:var(--home-border); box-shadow:var(--home-shadow); background:#eef3ee; }
.home-page .chip-grid { padding:24px; gap:10px; border-top:1px solid #dbe3da; }
.home-page .chip { display:inline-flex; align-items:center; min-height:44px; background:#fff; border-color:#d5ded7; border-radius:8px; padding:10px 14px; transition:background-color .2s,border-color .2s; }
.home-page main>.urgent-section { background:#e8efea; }
.home-page .urgent-section .contact-card { border:1px solid #d2ded5; border-radius:18px; background:#fff; box-shadow:var(--home-shadow); padding:32px; }
.home-page .contact-details { overflow-wrap:anywhere; }
.home-page [data-section=inquiry]>.split { align-items:start; }
.home-page .inquiry-form { border:1px solid var(--home-border); border-radius:20px; background:#fff; box-shadow:var(--home-shadow); padding:32px; }
.home-page .inquiry-form :is(input,select,textarea) { background:#f8f9f7; border-color:#ced7d2; border-radius:8px; padding:13px 14px; transition:border-color .2s,background-color .2s; }
.home-page .inquiry-form :is(input,select,textarea):focus { background:#fff; border-color:#687e88; }
.home-page .inquiry-form input[aria-invalid=true] { border-color:#a92920; }
.home-page .inquiry-form .form-grid { gap:16px; }
.home-page .inquiry-form label { margin-bottom:20px; }
.home-page .inquiry-form .btn { width:100%; }
.home-page .faq { border:1px solid var(--home-border); border-radius:12px; background:#fff; margin-bottom:12px; }
.home-page .faq summary { padding:21px 24px; align-items:center; line-height:1.7; }
.home-page .faq summary>span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:var(--home-soft); }
.home-page .faq[open] { border-color:#a5b5ac; box-shadow:var(--home-shadow); }
.home-page .faq .body-copy { padding:0 24px 23px; }
.home-page .review-card { border:1px solid var(--home-border); border-top:3px solid var(--accent); border-radius:14px; padding:30px; box-shadow:var(--home-shadow); }
.home-page .review-card blockquote { line-height:1.9; }
.home-page main>.cta {
    background:radial-gradient(ellipse at 90% 0,#2c4b58,transparent 65%),var(--navy);
    border-color:#233b48;
    color:var(--paper);
}
.home-page .cta .eyebrow { color:var(--accent); }
.home-page .cta p { color:#c5d0d7; }
.home-page .cta .btn-outline { border-color:#8c9da6; }
.home-page .cta .actions { margin-top:0; }
.home-page .site-footer { background:#0d1a24; border-top:1px solid #2f414b; padding-top:64px; }
.home-page .site-footer h2 { color:#eef2f4; font-size:14px; margin-bottom:24px; }
.home-page .site-footer li { margin-bottom:12px; }
.home-page .site-footer li a { display:inline-block; padding-block:2px; }
.home-page .footer-bottom { border-color:#2b3a44; padding-block:24px; }
.home-page .floating-whatsapp { box-shadow:0 8px 26px #101e2b24; }
html[lang=ar] .home-page :is(h1,h2,h3) { letter-spacing:0; }
html[lang=ar] .home-page .hero :is(h1,h2) { line-height:1.5; font-size:clamp(2.35rem,3.65vw,3.8rem); }
html[lang=ar] .home-page main>.section h2 { line-height:1.55; font-size:clamp(1.85rem,2.8vw,2.6rem); }
html[lang=ar] .home-page .eyebrow { letter-spacing:0; }
html[lang=ar] .home-page .info-item h3 { line-height:1.65; }
@media(hover:hover) {
    .home-page .service-card:hover { transform:translateY(-5px); border-color:#a7b8ae; box-shadow:0 18px 42px #101e2b12; }
    .home-page .btn:hover { box-shadow:0 7px 18px #101e2b18; }
    .home-page .chip:hover { background:#f0f5f1; border-color:#8da296; }
    .home-page .text-link:hover { color:#49616e; }
    .home-page :is(.hero,.cta) .text-link:hover { color:var(--accent); }
    .home-page .towing-pricing-table tbody tr:hover td { background:#edf4ef; }
}
@media(max-width:1000px) {
    .home-page .header-inner { min-height:84px; }
    .home-page .hero-grid { gap:32px; padding-block:56px 46px; }
    .home-page .hero-visual>img { height:410px; }
    .home-page .hero-visual figcaption { inset-inline-start:0; min-width:0; max-width:100%; padding:15px; gap:12px; }
    .home-page .hero-visual figcaption strong { font-size:13px; }
    .home-page .section-heading { margin-bottom:32px; }
    .home-page .info-grid:not(.editorial-cards) { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-page .editorial-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .home-page .info-item,.home-page .card-body { padding:24px; }
    .home-page .about-visual img { height:390px; }
    .home-page .inquiry-form { padding:24px; }
    .home-page .cta-inner { align-items:start; }
    .home-page .cta .actions { margin-top:8px; }
}
@media(min-width:601px) and (max-width:800px) {
    .home-page .hero-grid { grid-template-columns:1fr; gap:36px; }
    .home-page .hero-copy { max-width:650px; }
    .home-page .hero-visual { max-width:650px; width:100%; justify-self:center; }
    .home-page .hero-visual>img { height:360px; }
    .home-page :is(.about-grid,.area-layout,.faq-grid,[data-section=inquiry]>.split) { grid-template-columns:1fr; }
    .home-page .about-visual img { height:380px; }
    .home-page .urgent-section>.split { grid-template-columns:1fr; }
}
@media(max-width:600px) {
    .home-page .header-inner { min-height:78px; }
    .home-page .hero-grid { padding-block:42px 24px; gap:32px; }
    .home-page .hero h1,.home-page .hero h2 { font-size:clamp(2.25rem,9vw,2.8rem); line-height:1.15; margin-bottom:22px; }
    .home-page .hero p { font-size:15px; }
    .home-page .hero .eyebrow { margin-bottom:22px; }
    .home-page .hero .actions { gap:12px; }
    .home-page .hero .btn { padding-inline:18px; }
    .home-page .hero-explore { margin-top:28px; }
    .home-page .hero-visual>img { height:290px; border-radius:18px; border-start-start-radius:48px; }
    .home-page .hero-visual figcaption { inset-inline:12px; bottom:46px; padding:13px 15px; border-radius:9px; }
    .home-page .hero-rule { font-size:9px; gap:18px; line-height:1.7; letter-spacing:0; }
    .home-page .hero-rule>span:first-child { flex:none; }
    .home-page .hero-rule>span:last-child { text-align:end; }
    .home-page main>.section { padding-block:60px; }
    .home-page .section-heading { margin-bottom:28px; }
    .home-page main>.section h2 { font-size:1.95rem; line-height:1.25; margin-bottom:18px; }
    .home-page .section-heading p,.home-page .body-copy { font-size:15px; }
    .home-page .cards,.home-page .info-grid,.home-page .process-grid { gap:18px; }
    .home-page [data-section=situations] .editorial-cards,.home-page .editorial-cards,.home-page .info-grid:not(.editorial-cards) { grid-template-columns:1fr; }
    .home-page .info-grid .info-item { display:block; }
    .home-page .editorial-card .text-link { margin-top:20px; }
    .home-page .info-item,.home-page .card-body { padding:24px; }
    .home-page .info-item h3 { font-size:19px; }
    .home-page .service-card>img { height:220px; }
    .home-page .step-number { margin-bottom:22px; }
    .home-page .about-visual img { height:300px; border-radius:16px; }
    .home-page .pricing-table-scroll { border-radius:12px; }
    .home-page .towing-pricing-table th,.home-page .towing-pricing-table td { padding:20px; min-width:145px; }
    .home-page .towing-pricing-table caption { padding:14px 20px; }
    .home-page .pricing-amount { font-size:16px; }
    .home-page .pricing-notes { font-size:12px; }
    .home-page .chip-grid { padding:18px; }
    .home-page .faq summary { padding:18px; font-size:14px; gap:14px; }
    .home-page .faq .body-copy { padding:0 18px 20px; font-size:14px; }
    .home-page .inquiry-form,.home-page .urgent-section .contact-card { padding:24px 20px; border-radius:16px; }
    .home-page .inquiry-form .form-grid { gap:0; }
    .home-page .cta-inner { gap:28px; }
    .home-page .cta .actions { margin-top:0; gap:12px; }
    .home-page .site-footer { padding-top:46px; padding-bottom:94px; }
    .home-page .site-footer h2 { margin-bottom:18px; }
    .home-page .footer-bottom { margin-top:32px; padding-block:20px; }
    .home-page .mobile-actions { box-shadow:0 -4px 22px #101e2b08; }
    html[lang=ar] .home-page .hero :is(h1,h2) { font-size:2.3rem; }
    html[lang=ar] .home-page main>.section h2 { font-size:1.9rem; }
}
@media(max-width:480px) {
    .home-page .process-grid { grid-template-columns:1fr; }
}
