/* =====================================================
   CIREM JENDOUBA
   Premium Medical Website
   Version 3.0
======================================================*/

/*====================
VARIABLES
====================*/

:root{

--primary:#103A63;
--primary-dark:#0A2745;
--secondary:#39A7D8;
--accent:#0D8FDB;
--accent-soft:#E9F3FB;

--text:#222222;
--text-light:#66707D;

--bg:#ffffff;
--section:#F6FAFD;
--border:#E5EAF0;

--shadow:0 15px 45px rgba(11,42,74,.10);
--shadow-lg:0 25px 60px rgba(11,42,74,.18);
--radius:18px;
--radius-lg:26px;
--transition:.35s cubic-bezier(.4,0,.2,1);
--container:1280px;
--header-h:92px;

}

/*====================
RESET
====================*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

html{
scroll-behavior:smooth;
scroll-padding-top:110px;
}

body{
font-family:"Poppins",sans-serif;
background:#fff;
color:var(--text);
overflow-x:hidden;
line-height:1.7;
}

body.ar{
font-family:"Cairo",sans-serif;
direction:rtl;
}

body.modal-open{
overflow:hidden;
}

img{
display:block;
width:100%;
user-select:none;
-webkit-user-drag:none;
}

a{
text-decoration:none;
color:inherit;
}

button{
font-family:inherit;
cursor:pointer;
border:none;
background:none;
}

ul{
list-style:none;
}

::selection{
background:var(--primary);
color:#fff;
}

/*====================
CONTAINER
====================*/

.container{
width:min(92%,var(--container));
margin:auto;
}

/*====================
SECTION
====================*/

section{
padding:110px 0;
position:relative;
overflow:hidden;
}

/*====================
SECTION HEADING
====================*/

.section-heading{
text-align:center;
margin-bottom:60px;
max-width:760px;
margin-inline:auto;
}

.section-heading.left{
text-align:left;
margin-inline:0;
max-width:640px;
}

body.ar .section-heading.left{
text-align:right;
}

.section-heading span{
display:inline-block;
font-size:.85rem;
font-weight:700;
letter-spacing:3px;
color:var(--accent);
margin-bottom:14px;
text-transform:uppercase;
}

body.ar .section-heading span{
letter-spacing:0;
}

.section-heading h2{
font-size:2.5rem;
line-height:1.25;
font-weight:800;
margin-bottom:16px;
color:var(--primary-dark);
}

.section-heading p{
font-size:1rem;
color:var(--text-light);
}

/*====================
HEADER
====================*/

.header{
position:fixed;
top:0;
left:0;
width:100%;
z-index:9999;
background:rgba(255,255,255,.97);
backdrop-filter:blur(18px);
transition:.4s;
box-shadow:0 2px 20px rgba(11,42,74,.06);
}

.header.scrolled{
box-shadow:0 8px 30px rgba(11,42,74,.1);
}

.nav-container{
height:var(--header-h);
display:flex;
align-items:center;
justify-content:space-between;
gap:24px;
}

.logo img{
height:56px;
width:auto;
}

.navbar{
display:flex;
align-items:center;
gap:22px;
}

.navbar a{
position:relative;
font-weight:600;
font-size:.86rem;
color:#2B2B2B;
transition:.3s;
padding:6px 0;
white-space:nowrap;
}

.navbar a::after{
content:"";
position:absolute;
left:0;
bottom:-4px;
height:2px;
width:0;
background:var(--accent);
transition:.3s;
}

body.ar .navbar a::after{
left:auto;
right:0;
}

.navbar a:hover,
.navbar a.active{
color:var(--primary);
}

.navbar a:hover::after,
.navbar a.active::after{
width:100%;
}

.header-right{
display:flex;
align-items:center;
gap:18px;
}

.lang-switch{
display:flex;
align-items:center;
gap:6px;
font-weight:700;
font-size:.85rem;
color:var(--text-light);
padding:8px 14px;
border:1px solid var(--border);
border-radius:999px;
transition:var(--transition);
}

.lang-switch:hover{
border-color:var(--accent);
}

.lang-switch .lang-fr,
.lang-switch .lang-ar{
color:var(--text-light);
transition:var(--transition);
}

.lang-switch .lang-fr.active,
.lang-switch.is-ar .lang-ar{
color:var(--primary);
}

.lang-switch.is-ar .lang-fr{
color:var(--text-light);
}

.lang-sep{
opacity:.4;
}

.header-btn{
display:inline-flex;
align-items:center;
gap:10px;
background:var(--primary);
color:#fff;
padding:13px 24px;
border-radius:999px;
font-weight:600;
font-size:.92rem;
white-space:nowrap;
transition:var(--transition);
box-shadow:0 10px 25px rgba(16,58,99,.25);
}

.header-btn:hover{
background:var(--primary-dark);
transform:translateY(-3px);
}

.menu-toggle{
display:none;
font-size:1.4rem;
color:var(--primary);
cursor:pointer;
}

/*======================
HERO
======================*/

.hero{
position:relative;
height:700px;
overflow:visible;
margin-top:var(--header-h);
display:block;
}

.heroSwiper,
.heroSwiper .swiper-wrapper{
width:100%;
height:100%;
}

.heroSwiper .swiper-slide{
position:relative;
width:100%;
height:100%;
overflow:hidden;
display:flex;
align-items:center;
padding:36px 0 110px;
}

.heroSwiper .swiper-slide .hero-image{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:1;
}

.hero-overlay{
position:absolute;
inset:0;
z-index:2;
background:linear-gradient(90deg,
rgba(255,255,255,.96) 0%,
rgba(255,255,255,.85) 40%,
rgba(255,255,255,.25) 72%,
rgba(255,255,255,0) 100%);
}

body.ar .hero-overlay{
background:linear-gradient(270deg,
rgba(255,255,255,.96) 0%,
rgba(255,255,255,.85) 40%,
rgba(255,255,255,.25) 72%,
rgba(255,255,255,0) 100%);
}

.hero-content{
position:relative;
z-index:5;
max-width:640px;
width:100%;
padding-left:min(8%,90px);
text-align:left;
}

body.ar .hero-content{
padding-left:0;
padding-right:min(8%,90px);
text-align:right;
margin-left:auto;
}

.hero-content span{
display:block;
font-size:14px;
font-weight:700;
letter-spacing:2px;
color:var(--accent);
margin-bottom:14px;
text-transform:uppercase;
}

.hero-content h1{
font-size:60px;
font-weight:800;
line-height:1.05;
margin-bottom:10px;
color:var(--primary-dark);
}

.hero-ar-line{
font-family:"Cairo",sans-serif;
font-weight:700;
font-size:26px;
color:var(--primary);
margin-bottom:16px;
direction:rtl;
}

.hero-content h2{
font-size:30px;
font-weight:700;
margin-bottom:18px;
color:var(--primary);
}

.hero-content p{
font-size:18px;
line-height:1.8;
margin-bottom:32px;
color:var(--text-light);
max-width:480px;
}

.hero-buttons{
display:flex;
gap:12px;
flex-wrap:wrap;
}

.btn-primary,
.btn-secondary{
display:inline-flex;
align-items:center;
justify-content:center;
gap:8px;
padding:14px 26px;
border-radius:999px;
font-weight:600;
font-size:15px;
white-space:nowrap;
transition:var(--transition);
}

.btn-primary,
.btn-secondary,
.about-btn,
.header-btn{
line-height:1;
}

.btn-primary i,
.btn-secondary i,
.about-btn i,
.header-btn i{
display:inline-flex;
align-items:center;
justify-content:center;
line-height:1;
position:relative;
top:.5px;
}

.btn-primary{
background:var(--primary);
color:#fff;
box-shadow:0 14px 30px rgba(16,58,99,.3);
}

.btn-primary:hover{
background:var(--primary-dark);
transform:translateY(-4px);
}

.btn-secondary{
background:#fff;
color:var(--primary);
border:2px solid var(--primary);
}

.btn-secondary:hover{
background:var(--primary);
color:#fff;
transform:translateY(-4px);
}

.hero .swiper{
position:relative;
overflow:hidden;
}

.heroSwiper .swiper-pagination{
position:absolute;
left:50%;
bottom:22px;
transform:translateX(-50%);
width:auto;
margin:0;
display:flex;
align-items:center;
justify-content:center;
gap:9px;
padding:9px 14px;
background:rgba(10,39,69,.35);
backdrop-filter:blur(6px);
border-radius:999px;
z-index:15;
}

.heroSwiper .swiper-pagination-bullet{
width:9px;
height:9px;
background:#fff;
opacity:.55;
margin:0;
transition:var(--transition);
}

.heroSwiper .swiper-pagination-bullet-active{
background:var(--secondary);
opacity:1;
width:24px;
border-radius:5px;
}

/*======================
FEATURE STRIP (overlaps hero)
======================*/

.feature-strip{
position:relative;
z-index:20;
margin-top:-70px;
background:#fff;
border-radius:var(--radius-lg);
box-shadow:var(--shadow-lg);
display:grid;
grid-template-columns:repeat(3,1fr);
padding:36px 20px;
}

.feature-item{
display:flex;
align-items:center;
gap:18px;
padding:0 28px;
position:relative;
}

.feature-item:not(:last-child)::after{
content:"";
position:absolute;
right:0;
top:50%;
transform:translateY(-50%);
width:1px;
height:60%;
background:var(--border);
}

body.ar .feature-item:not(:last-child)::after{
right:auto;
left:0;
}

.feature-icon{
flex-shrink:0;
width:56px;
height:56px;
border-radius:50%;
background:var(--accent-soft);
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
color:var(--primary);
}

.feature-item h3{
font-size:1.05rem;
color:var(--primary-dark);
margin-bottom:4px;
}

.feature-item p{
font-size:.9rem;
color:var(--text-light);
line-height:1.5;
}

/*====================
FEATURES (legacy, kept for compatibility)
====================*/

.features{
padding-top:150px;
display:none;
}

/*====================
ABOUT
====================*/

.about{
background:var(--section);
padding-top:150px;
}

.about-container{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.about-image img{
border-radius:var(--radius-lg);
box-shadow:var(--shadow);
transition:.7s;
}

.about-content span{
display:inline-block;
font-size:.85rem;
font-weight:700;
letter-spacing:3px;
color:var(--accent);
margin-bottom:14px;
text-transform:uppercase;
}

.about-content h2{
font-size:2.3rem;
line-height:1.25;
font-weight:800;
color:var(--primary-dark);
margin-bottom:20px;
}

.title-line{
width:60px;
height:4px;
background:var(--accent);
border-radius:4px;
margin-bottom:24px;
}

.about-content p{
color:var(--text-light);
margin-bottom:16px;
}

.about-btn{
display:inline-flex;
align-items:center;
gap:12px;
margin-top:14px;
padding:16px 32px;
border-radius:999px;
background:var(--primary);
color:#fff;
font-weight:600;
transition:var(--transition);
}

.about-btn:hover{
background:var(--primary-dark);
transform:translateY(-4px);
}

/*====================
SERVICES
====================*/

.services{
background:#fff;
}

.irm-showcase{
display:grid;
grid-template-columns:.9fr 1.1fr;
gap:60px;
align-items:center;
margin-top:20px;
}

.irm-showcase-image img{
border-radius:var(--radius-lg);
box-shadow:var(--shadow);
}

.irm-showcase-content .service-icon{
width:56px;
height:56px;
border-radius:50%;
background:var(--accent-soft);
color:var(--primary);
display:flex;
align-items:center;
justify-content:center;
font-size:22px;
margin-bottom:20px;
}

.irm-showcase-content h3{
font-size:1.6rem;
color:var(--primary-dark);
margin-bottom:16px;
}

.irm-showcase-content p{
color:var(--text-light);
line-height:1.8;
margin-bottom:24px;
}

.irm-points{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:12px 20px;
margin-bottom:30px;
}

.irm-points li{
display:flex;
align-items:center;
gap:10px;
font-size:.92rem;
color:var(--primary-dark);
font-weight:600;
}

.irm-points li i{
width:22px;
height:22px;
border-radius:50%;
background:var(--accent-soft);
color:var(--primary);
display:flex;
align-items:center;
justify-content:center;
font-size:11px;
flex-shrink:0;
}

/*====================
FAQ
====================*/

.faq{
background:var(--section);
}

.faq-list{
max-width:820px;
margin:0 auto;
display:flex;
flex-direction:column;
gap:14px;
}

.faq-item{
background:#fff;
border:1px solid var(--border);
border-radius:14px;
overflow:hidden;
transition:var(--transition);
}

.faq-item.open{
border-color:transparent;
box-shadow:var(--shadow);
}

.faq-question{
width:100%;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
padding:20px 24px;
text-align:left;
font-weight:600;
font-size:1rem;
color:var(--primary-dark);
}

body.ar .faq-question{
text-align:right;
}

.faq-question i{
flex-shrink:0;
color:var(--accent);
transition:transform .35s;
}

.faq-item.open .faq-question i{
transform:rotate(180deg);
}

.faq-answer{
max-height:0;
overflow:hidden;
transition:max-height .4s ease, padding .4s ease;
padding:0 24px;
}

.faq-item.open .faq-answer{
max-height:400px;
padding:0 24px 22px;
}

.faq-answer p{
color:var(--text-light);
line-height:1.8;
font-size:.94rem;
}

.faq-call-link{
display:inline-flex;
align-items:center;
gap:8px;
margin-top:6px;
margin-bottom:22px;
font-weight:700;
font-size:.9rem;
color:var(--primary);
}

.faq-call-link:hover{
color:var(--accent);
}

/*====================
VALUES
====================*/

/*====================
VALUES
====================*/

.values{
position:relative;
overflow:hidden;
padding:130px 0;
}

.values-bg{
position:absolute;
inset:0;
width:100%;
height:100%;
object-fit:cover;
z-index:0;
}

.values-overlay{
position:absolute;
inset:0;
z-index:1;
background:linear-gradient(120deg,
rgba(10,39,69,.94) 0%,
rgba(10,39,69,.88) 45%,
rgba(10,39,69,.78) 100%);
}

.values-container{
position:relative;
z-index:2;
}

.values .section-heading.left span{
color:var(--secondary);
}

.values .section-heading.left h2{
color:#fff;
}

.values-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:24px;
}

.value-card{
background:rgba(255,255,255,.08);
backdrop-filter:blur(10px);
padding:34px 26px;
border-radius:var(--radius);
border:1px solid rgba(255,255,255,.18);
box-shadow:0 10px 30px rgba(0,0,0,.15);
transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s cubic-bezier(.22,1,.36,1), background .45s;
}

.value-card:hover{
transform:translateY(-10px) scale(1.015);
box-shadow:0 26px 55px rgba(0,0,0,.28);
background:rgba(255,255,255,.14);
}

.value-card i{
color:var(--secondary);
transition:transform .45s cubic-bezier(.22,1,.36,1);
}

.value-card:hover i{
transform:scale(1.15) rotate(-6deg);
}

.value-card h3{
color:#fff;
}

.value-card p{
color:rgba(255,255,255,.75);
}

.value-card:hover i{
transform:scale(1.15) rotate(-6deg);
}

.value-card i{
font-size:28px;
color:var(--primary);
margin-bottom:18px;
display:block;
}

.value-card h3{
font-size:1.1rem;
color:var(--primary-dark);
margin-bottom:8px;
}

.value-card p{
font-size:.88rem;
color:var(--text-light);
line-height:1.6;
}

/*====================
CONTACT
====================*/

.contact{
background:#fff;
}

.contact-grid{
display:grid;
grid-template-columns:.85fr 1.15fr;
gap:40px;
align-items:stretch;
}

.contact-info{
display:flex;
flex-direction:column;
gap:20px;
}

.info-card{
display:flex;
align-items:flex-start;
gap:20px;
padding:26px;
border:1px solid var(--border);
border-radius:var(--radius);
transition:var(--transition);
}

.info-card:hover{
transform:translateY(-6px);
box-shadow:var(--shadow);
}

.info-card i{
flex-shrink:0;
width:50px;
height:50px;
border-radius:50%;
background:var(--accent-soft);
color:var(--primary);
display:flex;
align-items:center;
justify-content:center;
font-size:18px;
}

.info-card h3{
font-size:1rem;
color:var(--primary-dark);
margin-bottom:4px;
}

.info-card p{
font-size:.92rem;
color:var(--text-light);
}

.info-card p a{
color:var(--text-light);
transition:var(--transition);
word-break:break-word;
}

.info-card p a:hover{
color:var(--accent);
}

.info-sub{
display:block;
font-size:.78rem;
color:var(--accent);
margin-top:2px;
}

.contact-map{
position:relative;
border-radius:var(--radius-lg);
overflow:hidden;
box-shadow:var(--shadow);
min-height:380px;
}

.contact-map iframe{
width:100%;
height:100%;
min-height:380px;
border:0;
display:block;
}

.map-card{
position:absolute;
top:20px;
left:20px;
z-index:5;
background:#fff;
border-radius:14px;
box-shadow:var(--shadow-lg);
padding:18px 20px;
max-width:230px;
}

body.ar .map-card{
left:auto;
right:20px;
}

.map-card h4{
font-size:.95rem;
color:var(--primary-dark);
margin-bottom:6px;
}

.map-card p{
font-size:.78rem;
color:var(--text-light);
margin-bottom:10px;
line-height:1.5;
}

.map-card a{
font-size:.82rem;
font-weight:700;
color:var(--accent);
}

.map-expand{
position:absolute;
bottom:16px;
left:16px;
z-index:5;
background:#fff;
padding:9px 16px;
border-radius:8px;
font-size:.8rem;
font-weight:600;
color:var(--primary-dark);
box-shadow:var(--shadow);
}

body.ar .map-expand{
left:auto;
right:16px;
}

/*====================
LEGAL PAGES
====================*/

.legal-page{
padding-top:calc(var(--header-h) + 60px);
padding-bottom:100px;
background:#fff;
}

.legal-container{
max-width:820px;
}

.legal-container h1{
font-size:2.1rem;
font-weight:800;
color:var(--primary-dark);
margin-bottom:8px;
}

.legal-updated{
color:var(--text-light);
font-size:.88rem;
margin-bottom:40px;
}

.legal-container h2{
font-size:1.2rem;
font-weight:700;
color:var(--primary-dark);
margin-top:36px;
margin-bottom:12px;
}

.legal-container p{
color:var(--text-light);
margin-bottom:14px;
line-height:1.8;
}

.legal-container p a{
color:var(--accent);
font-weight:600;
}

.legal-back{
margin-top:30px;
}

body.ar .legal-back i{
transform:rotate(180deg);
}

/*====================
REVIEWS PAGE
====================*/

.reviews-hero{
padding-top:calc(var(--header-h) + 60px);
padding-bottom:40px;
background:#fff;
text-align:center;
}









.reviews-form-section{
padding:40px 0 20px;
background:#fff;
}

.reviews-form-card{
max-width:620px;
margin:0 auto;
background:var(--section);
border-radius:var(--radius-lg);
padding:40px;
text-align:center;
}

.reviews-form-card h3{
color:var(--primary-dark);
font-size:1.3rem;
margin-bottom:20px;
}

.star-picker{
display:flex;
justify-content:center;
gap:10px;
font-size:2rem;
color:var(--border);
margin-bottom:26px;
cursor:pointer;
}

.star-picker i{
transition:transform .2s, color .2s;
}

.star-picker i.hover,
.star-picker i.active{
color:#f5b400;
}

.star-picker i:hover{
transform:scale(1.15);
}

.star-picker.shake{
animation:shake .4s;
}

@keyframes shake{
0%,100%{ transform:translateX(0); }
25%{ transform:translateX(-6px); }
75%{ transform:translateX(6px); }
}

.reviews-form-card input,
.reviews-form-card textarea{
width:100%;
border:1px solid var(--border);
border-radius:12px;
padding:14px 16px;
font-family:inherit;
font-size:.95rem;
margin-bottom:16px;
background:#fff;
resize:vertical;
}

.reviews-form-card input:focus,
.reviews-form-card textarea:focus{
outline:none;
border-color:var(--accent);
}

.hidden-field{
position:absolute;
left:-9999px;
}

.form-error-msg{
background:#FDECEC;
color:#B42318;
border:1px solid #F5C2C0;
border-radius:10px;
padding:12px 16px;
font-size:.88rem;
margin-bottom:20px;
text-align:center;
}

.reviews-note{
font-size:.78rem;
color:var(--text-light);
margin-top:16px;
line-height:1.6;
}























/*====================
404 ERROR PAGE
====================*/

.error-page{
padding-top:calc(var(--header-h) + 80px);
padding-bottom:120px;
background:#fff;
min-height:60vh;
display:flex;
align-items:center;
}

.error-container{
max-width:520px;
text-align:center;
margin:0 auto;
}

.error-icon{
width:84px;
height:84px;
border-radius:50%;
background:var(--accent-soft);
color:var(--primary);
font-size:34px;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 24px;
}

.error-container h1{
font-size:5rem;
font-weight:800;
color:var(--primary-dark);
line-height:1;
}

.error-container h2{
font-size:1.4rem;
font-weight:700;
color:var(--primary-dark);
margin:12px 0 14px;
}

.error-container p{
color:var(--text-light);
margin-bottom:30px;
}

/*====================
FOOTER
====================*/

.footer{
background:var(--primary-dark);
color:rgba(255,255,255,.75);
padding-top:80px;
}

.footer-grid{
display:grid;
grid-template-columns:1.4fr 1fr 1fr 1fr;
gap:40px;
padding-bottom:50px;
border-bottom:1px solid rgba(255,255,255,.1);
}

.footer-logo{
height:48px;
width:auto;
margin-bottom:18px;
}

.footer-grid p{
font-size:.9rem;
line-height:1.7;
color:rgba(255,255,255,.6);
margin-bottom:6px;
}

.footer-grid h3{
color:#fff;
font-size:1.05rem;
margin-bottom:20px;
}

.footer-grid ul li{
margin-bottom:12px;
}

.footer-grid ul li a{
font-size:.9rem;
color:rgba(255,255,255,.65);
transition:.3s;
}

.footer-grid ul li a:hover{
padding-left:6px;
color:#fff;
}

body.ar .footer-grid ul li a:hover{
padding-left:0;
padding-right:6px;
}

.copyright{
text-align:center;
padding:26px 0;
font-size:.85rem;
color:rgba(255,255,255,.5);
}

/*====================
SCROLL TOP BUTTON
====================*/

#scrollTop{
position:fixed;
bottom:28px;
right:28px;
width:48px;
height:48px;
border-radius:50%;
background:var(--primary);
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-size:16px;
box-shadow:var(--shadow-lg);
opacity:0;
visibility:hidden;
transform:translateY(10px);
transition:var(--transition);
z-index:998;
}

#scrollTop.show{
opacity:1;
visibility:visible;
transform:translateY(0);
}

body.ar #scrollTop{
right:auto;
left:28px;
}

/*====================
MODAL
====================*/

.modal-overlay{
position:fixed;
inset:0;
background:rgba(10,25,45,.55);
backdrop-filter:blur(4px);
display:flex;
align-items:center;
justify-content:center;
padding:20px;
opacity:0;
visibility:hidden;
transition:var(--transition);
z-index:10000;
}

.modal-overlay.show{
opacity:1;
visibility:visible;
}

.modal-box{
background:#fff;
border-radius:var(--radius-lg);
max-width:560px;
width:100%;
padding:44px 40px;
position:relative;
text-align:center;
transform:translateY(20px) scale(.97);
transition:var(--transition);
box-shadow:var(--shadow-lg);
}

.modal-overlay.show .modal-box{
transform:translateY(0) scale(1);
}

.modal-close{
position:absolute;
top:18px;
right:18px;
width:36px;
height:36px;
border-radius:50%;
background:var(--section);
color:var(--text-light);
display:flex;
align-items:center;
justify-content:center;
transition:var(--transition);
}

body.ar .modal-close{
right:auto;
left:18px;
}

.modal-close:hover{
background:var(--primary);
color:#fff;
}

.modal-icon{
width:66px;
height:66px;
border-radius:50%;
background:var(--accent-soft);
color:var(--primary);
font-size:26px;
display:flex;
align-items:center;
justify-content:center;
margin:0 auto 20px;
}

.modal-box h3{
font-size:1.4rem;
color:var(--primary-dark);
margin-bottom:14px;
}

.modal-box p{
color:var(--text-light);
line-height:1.8;
margin-bottom:26px;
}

.modal-cta{
display:inline-flex;
}

/*====================
AOS FADE FALLBACK
====================*/

.fade-up{
opacity:0;
transform:translateY(30px);
transition:.7s;
}

.fade-up.show{
opacity:1;
transform:translateY(0);
}

/*====================================
RESPONSIVE
====================================*/

@media(max-width:1100px){

.hero-content h1{ font-size:46px; }

.hero-content h2{ font-size:24px; }

.hero-ar-line{ font-size:22px; }

.feature-strip{ grid-template-columns:1fr; gap:22px; padding:30px 22px; }

.feature-item:not(:last-child)::after{ display:none; }

.about-container{ grid-template-columns:1fr; gap:44px; }

.irm-showcase{ grid-template-columns:1fr; gap:36px; }

.irm-points{ grid-template-columns:1fr; }

.values-grid{ grid-template-columns:repeat(2,1fr); gap:18px; }

.values{ padding:90px 0; }

.contact-grid{ grid-template-columns:1fr; }

.footer-grid{ grid-template-columns:1fr 1fr; }

}

@media(max-width:860px){

:root{ --header-h:76px; }

.logo img{ height:38px; }

.navbar{
position:fixed;
top:var(--header-h);
left:0;
width:100%;
height:calc(100vh - var(--header-h));
overflow-y:auto;
background:#fff;
flex-direction:column;
align-items:flex-start;
gap:0;
padding:10px 6% 30px;
box-shadow:0 15px 30px rgba(0,0,0,.08);
transform:translateX(-100%);
opacity:0;
transition:var(--transition);
}

body.ar .navbar{
transform:translateX(100%);
left:auto;
right:0;
}

.navbar.show{
transform:translateX(0);
opacity:1;
}

.navbar a{
width:100%;
padding:16px 0;
border-bottom:1px solid var(--border);
font-size:1rem;
}

.menu-toggle{
display:flex;
align-items:center;
justify-content:center;
width:36px;
height:36px;
flex-shrink:0;
font-size:1.15rem;
}

.header-right{ gap:8px; }

.lang-switch{ padding:6px 9px; font-size:.72rem; gap:4px; }

.header-btn span{
display:none;
}

.header-btn{
width:40px;
height:40px;
padding:0;
border-radius:50%;
justify-content:center;
flex-shrink:0;
}

.header-btn i{ font-size:15px; }

.hero{ height:auto; padding-bottom:60px; }

.heroSwiper{ height:580px; }

.heroSwiper .swiper-slide{ padding:28px 0 100px; }

.hero-content{ max-width:100%; padding-left:6%; padding-right:6%; }

body.ar .hero-content{ padding-left:6%; padding-right:6%; }

.hero-content p{ max-width:100%; }

.hero-buttons{ gap:12px; }

.btn-primary, .btn-secondary{ padding:14px 24px; font-size:15px; }

section{ padding:64px 0; }

.about{ padding-top:60px; }



}

@media(max-width:640px){

.faq-question{ padding:16px 18px; font-size:.92rem; gap:10px; }

.faq-item.open .faq-answer{ padding:0 18px 18px; }

:root{ --header-h:70px; }

.logo img{ height:38px; }

.hero-content h1{ font-size:32px; line-height:1.1; }

.hero-content h2{ font-size:20px; }

.hero-ar-line{ font-size:18px; }

.hero-content span{ font-size:12px; }

.hero-content p{ font-size:15px; margin-bottom:22px; }

.hero-buttons{ flex-direction:column; align-items:stretch; }

.hero-buttons a{ width:100%; }

.heroSwiper{ height:640px; }

.heroSwiper .swiper-pagination{ bottom:16px; padding:7px 12px; gap:7px; }

.heroSwiper .swiper-pagination-bullet{ width:7px; height:7px; }

.heroSwiper .swiper-pagination-bullet-active{ width:20px; }

.feature-strip{
margin-top:20px;
box-shadow:none;
border:1px solid var(--border);
padding:24px 18px;
}

.feature-item{ padding:0; gap:14px; }

.section-heading{ margin-bottom:40px; }

.section-heading h2{ font-size:1.6rem; }

.section-heading p{ font-size:.92rem; }

.about-content h2{ font-size:1.7rem; }


.service-content{ padding:20px 18px; }

.values-grid{ grid-template-columns:1fr; }

.value-card{ padding:26px 20px; }

.contact-info{ gap:14px; }

.info-card{ padding:18px; gap:14px; }

.contact-map{ min-height:280px; }

.contact-map iframe{ min-height:280px; }

.map-card{ max-width:170px; padding:14px 16px; top:14px; }

.map-card h4{ font-size:.85rem; }

.map-card p{ font-size:.72rem; }

.map-expand{ font-size:.72rem; padding:8px 12px; }

.footer{ padding-top:60px; }

.footer-grid{ grid-template-columns:1fr; text-align:center; gap:32px; }

.footer-grid > div{ display:flex; flex-direction:column; align-items:center; }

.footer-logo{ margin-inline:auto; }


.modal-box{ padding:30px 20px; }

.modal-icon{ width:56px; height:56px; font-size:22px; }

.modal-box h3{ font-size:1.2rem; }

#scrollTop{ width:42px; height:42px; bottom:18px; right:18px; }

body.ar #scrollTop{ left:18px; }

}

@media(max-width:380px){

.hero-content h1{ font-size:28px; }

.heroSwiper{ height:600px; }

.logo img{ height:32px; }

.header-right{ gap:6px; }

.lang-switch{ padding:5px 7px; font-size:.68rem; }

.header-btn{ width:36px; height:36px; }

.menu-toggle{ width:32px; height:32px; font-size:1.05rem; }

.nav-container{ gap:8px; }

}
