
:root{
  --navy:#0B1F3A;
  --navy2:#15355e;
  --green:#25D366;
  --green2:#1fb455;
  --text:#16212f;
  --muted:#5f6f80;
  --border:#e6eaf0;
  --bg:#ffffff;
  --alt:#f5f8fc;
  --shadow:0 14px 40px rgba(11,31,58,.08);
  --radius:18px;
  --container:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Inter",system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.6;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(11,31,58,.06);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 0}
.brand{display:flex;align-items:center;gap:12px;font-weight:800}
.brand-mark{
  width:40px;height:40px;border-radius:12px;
  background:linear-gradient(135deg,var(--navy),#24548f);
  color:#fff;display:grid;place-items:center
}
.brand-text{font-size:1rem}
.site-nav{display:flex;align-items:center;gap:22px}
.site-nav a{font-weight:600}
.site-nav a:hover{color:var(--navy)}
.nav-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px 12px;font-size:20px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:14px 22px;border-radius:12px;
  font-weight:700;border:1px solid transparent;
  transition:.25s ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--green);color:#fff;box-shadow:0 10px 22px rgba(37,211,102,.22)}
.btn-primary:hover{background:var(--green2)}
.btn-secondary{background:#fff;border-color:var(--border)}
.btn-sm{padding:10px 16px;min-height:40px}
.btn-glass{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.26);backdrop-filter:blur(6px)}
.eyebrow{
  display:inline-block;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.8rem;
  font-weight:800;
  color:#315f93;
  margin-bottom:10px;
}
.eyebrow-light{color:#dbe8f7}
h1,h2,h3{line-height:1.08;margin:0 0 12px}
.hero-banner{
  position:relative;
  min-height:calc(100svh - 69px);
  min-height:680px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#08172c;
}
.hero-banner-media,.hero-banner-overlay{
  position:absolute;inset:0;
}
.hero-banner-media img{
  width:100%;height:100%;object-fit:cover;object-position:center center;
}
.hero-banner-overlay{
  background:
    linear-gradient(90deg, rgba(6,16,29,.78) 0%, rgba(6,16,29,.60) 34%, rgba(6,16,29,.38) 58%, rgba(6,16,29,.22) 100%),
    linear-gradient(180deg, rgba(6,16,29,.20), rgba(6,16,29,.48));
}
.hero-banner-content{
  position:relative;z-index:2;
  width:min(var(--container),calc(100% - 40px));
  margin:0 auto;
  padding:84px 0 74px;
}
.hero-banner-copy{max-width:700px}
.hero-banner h1{
  font-size:clamp(2.3rem,5vw,4.6rem);
  color:#fff;
  text-shadow:0 10px 28px rgba(0,0,0,.18);
}
.lead{font-size:1.08rem;color:var(--muted);max-width:720px}
.lead-light{color:rgba(255,255,255,.9);max-width:640px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0}
.hero-points{list-style:none;padding:0;margin:18px 0 0;display:flex;gap:12px;flex-wrap:wrap}
.hero-points-light li{
  color:#fff;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  padding:10px 14px;border-radius:999px;backdrop-filter:blur(4px);
}
.section{padding:84px 0}
.section-alt{background:var(--alt)}
.section-heading{text-align:center;margin-bottom:34px}
.section-heading p{max-width:760px;margin:0 auto;color:var(--muted)}
.section-heading.light *{color:#fff}
.cards{display:grid;gap:24px}
.cards.four{grid-template-columns:repeat(4,1fr)}
.cards.three{grid-template-columns:repeat(3,1fr)}
.card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);overflow:hidden
}
.icon-card{padding:26px}
.icon{
  width:52px;height:52px;border-radius:14px;
  background:rgba(11,31,58,.07);
  display:grid;place-items:center;font-size:1.3rem;margin-bottom:16px
}
.card p{color:var(--muted)}
.split{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center
}
.split-media img,.service-card img,.feature-card img,.gallery-grid img{
  width:100%;height:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)
}
.check-list{list-style:none;padding:0;margin:16px 0 0}
.check-list li{position:relative;padding-left:28px;margin:0 0 10px}
.check-list li::before{content:"✓";position:absolute;left:0;color:var(--green2);font-weight:800}
.service-card img{aspect-ratio:1.35/1}
.card-body{padding:22px}
.gallery-band{background:linear-gradient(180deg,var(--navy),var(--navy2));color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gallery-grid img{aspect-ratio:1.15/1}
.cta-wrap{
  background:linear-gradient(135deg,#eff8f1,#f8fbff);
  border:1px solid var(--border);
  border-radius:28px;padding:34px;
  display:flex;align-items:center;justify-content:space-between;gap:24px
}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.site-footer{background:#09192f;color:#d6e2f3;padding-top:60px}
.footer-grid{display:grid;grid-template-columns:1.4fr .9fr .9fr;gap:30px}
.site-footer h3,.site-footer h4{color:#fff;margin-top:0}
.footer-links{list-style:none;padding:0;margin:0}
.footer-links li{margin:0 0 10px}
.footer-bottom{padding:18px 0 28px;color:#9fb2c8;font-size:.95rem}
.page-hero{
  background:linear-gradient(180deg,#f7fbff,#fff);
  padding:60px 0 30px;border-bottom:1px solid var(--border)
}
.page-hero h1{font-size:clamp(2rem,4vw,3.3rem)}
.narrow{max-width:760px}
.feature-grid{display:grid;gap:22px}
.feature-card{
  display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:center;
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:18px
}
.feature-card img{aspect-ratio:1.15/1}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px}
.contact-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:28px
}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{margin:0 0 14px}
.quote-form{display:grid;gap:14px}
.quote-form label{display:grid;gap:8px;font-weight:700}
.quote-form input,.quote-form textarea{
  width:100%;padding:14px 16px;border:1px solid var(--border);
  border-radius:12px;font:inherit;font-size:16px
}
.quote-form textarea{min-height:140px;resize:vertical}
.form-note{font-size:.94rem;color:var(--muted)}
.floating-whatsapp{
  position:fixed;right:16px;bottom:16px;z-index:60;
  background:var(--green);color:#fff;padding:14px 18px;border-radius:999px;
  box-shadow:0 14px 28px rgba(37,211,102,.26);font-weight:800
}
.hide-mobile{display:inline-flex}
@supports (-webkit-touch-callout:none){
  .hero-banner{min-height:86svh}
}
@media (max-width:980px){
  .hero-banner{min-height:82svh;min-height:620px}
  .hero-banner-content{padding:78px 0 54px}
  .hero-banner h1{font-size:clamp(2rem,8vw,3.5rem)}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%}
  .hero-points{gap:10px}
  .hero-points-light li{width:100%;text-align:center;border-radius:14px}
  .cards.four,.cards.three,.split,.feature-card,.gallery-grid,.footer-grid,.contact-grid{grid-template-columns:1fr}
  .feature-card img{max-height:320px}
  .site-nav{
    position:absolute;left:20px;right:20px;top:72px;
    display:none;flex-direction:column;align-items:flex-start;
    background:#fff;border:1px solid var(--border);border-radius:18px;
    box-shadow:var(--shadow);padding:16px
  }
  .site-nav.open{display:flex}
  .nav-toggle{display:block}
  .hide-mobile{display:none}
  .section{padding:64px 0}
  .cta-wrap{flex-direction:column;align-items:flex-start;padding:24px}
}
@media (max-width:640px){
  .container{width:min(var(--container),calc(100% - 24px))}
  .nav-wrap{padding:12px 0}
  .brand-mark{width:36px;height:36px;border-radius:10px}
  .brand-text{font-size:.94rem}
  .hero-banner{min-height:78svh;min-height:560px}
  .hero-banner-content{padding:72px 0 40px}
  .hero-banner h1{font-size:clamp(1.9rem,10vw,3rem)}
  .eyebrow{font-size:.74rem}
  .lead,.section-heading p,.card p{font-size:.97rem}
  .icon-card{padding:22px}
  .card-body{padding:18px}
  .feature-card{padding:14px;gap:14px}
  .feature-card img{max-height:240px}
  .page-hero{padding:46px 0 24px}
  .contact-card{padding:22px}
  .floating-whatsapp{right:12px;bottom:12px;padding:13px 16px;font-size:.95rem}
}


/* ===== Final Blue Sky Corner header + hero styling ===== */
.brand{
  display:flex;
  align-items:center;
  gap:16px;
  min-width:0;
}
.brand-logo{
  width:92px;
  height:auto;
  object-fit:contain;
  flex:0 0 auto;
}
.brand-text{
  font-size:1.05rem;
  font-weight:800;
  color:var(--navy);
  line-height:1.15;
}
.site-nav a.active{
  color:#1d57cc;
  position:relative;
}
.site-nav a.active::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-12px;
  height:3px;
  border-radius:99px;
  background:#1d57cc;
}
.hero-ref{
  position:relative;
  min-height:640px;
  overflow:hidden;
  background:#052b61;
}
.hero-ref-bg,
.hero-ref-overlay{
  position:absolute;
  inset:0;
}
.hero-ref-bg img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
.hero-ref-overlay{
  background:
    linear-gradient(90deg, rgba(3,39,94,.92) 0%, rgba(4,48,108,.84) 33%, rgba(5,47,98,.48) 58%, rgba(6,42,88,.14) 100%);
}
.hero-ref-inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  min-height:640px;
  padding:48px 0 92px;
}
.hero-ref-copy{
  max-width:640px;
  color:#fff;
}
.hero-ref-copy h1{
  font-size:clamp(2.6rem,5vw,4.4rem);
  line-height:1.05;
  margin:0 0 18px;
  color:#fff;
}
.hero-ref-copy p{
  font-size:1.12rem;
  color:rgba(255,255,255,.92);
  max-width:600px;
}
.btn-lg{
  min-height:54px;
  padding:16px 32px;
  font-size:1.05rem;
}
.btn-outline-light{
  background:transparent;
  color:#fff;
  border:1.5px solid rgba(255,255,255,.72);
}
.btn-outline-light:hover{
  background:rgba(255,255,255,.08);
}
.feature-strip-wrap{
  position:relative;
  margin-top:-74px;
  z-index:3;
}
.feature-strip{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 14px 40px rgba(11,31,58,.09);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  overflow:hidden;
}
.feature-item{
  display:flex;
  align-items:flex-start;
  gap:16px;
  padding:30px 26px;
  border-right:1px solid #edf1f6;
}
.feature-item:last-child{
  border-right:none;
}
.feature-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#1357cb;
  font-size:1.8rem;
  background:#f2f7ff;
  flex:0 0 auto;
}
.feature-item h3{
  margin:0 0 6px;
  font-size:1.05rem;
  color:var(--navy);
}
.feature-item p{
  margin:0;
  color:var(--muted);
}
.about-snapshot{
  padding-top:70px;
}
.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:center;
}
.about-photo img{
  width:100%;
  border-radius:24px;
  box-shadow:var(--shadow);
}

@media (max-width: 1100px){
  .brand-logo{width:78px}
  .brand-text{font-size:.98rem}
}
@media (max-width: 980px){
  .hero-ref{
    min-height:560px;
  }
  .hero-ref-inner{
    min-height:560px;
    padding:44px 0 108px;
  }
  .hero-ref-copy{
    max-width:100%;
  }
  .hero-ref-copy h1{
    font-size:clamp(2.15rem,8vw,3.2rem);
  }
  .feature-strip{
    grid-template-columns:1fr 1fr;
  }
  .about-grid{
    grid-template-columns:1fr;
  }
  .site-nav a.active::after{
    bottom:-6px;
  }
}
@media (max-width: 640px){
  .brand{
    gap:10px;
  }
  .brand-logo{
    width:64px;
  }
  .brand-text{
    font-size:.9rem;
  }
  .hero-ref{
    min-height:500px;
  }
  .hero-ref-inner{
    min-height:500px;
    padding:36px 0 114px;
  }
  .hero-ref-copy h1{
    font-size:clamp(1.9rem,10.2vw,2.7rem);
  }
  .hero-ref-copy p{
    font-size:1rem;
  }
  .feature-strip{
    grid-template-columns:1fr;
    border-radius:16px;
  }
  .feature-item{
    padding:20px 18px;
    border-right:none;
    border-bottom:1px solid #edf1f6;
  }
  .feature-item:last-child{
    border-bottom:none;
  }
}


/* v2 updates */
.hero-ref-overlay{
  background:
    linear-gradient(90deg, rgba(3,39,94,.76) 0%, rgba(4,48,108,.66) 33%, rgba(5,47,98,.34) 58%, rgba(6,42,88,.08) 100%) !important;
}

.gallery-page-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.gallery-page-grid img{
  width:100%;
  aspect-ratio:1.18/1;
  object-fit:cover;
  border-radius:18px;
  box-shadow:var(--shadow);
}
@media (max-width:980px){
  .gallery-page-grid{
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:640px){
  .gallery-page-grid{
    grid-template-columns:1fr;
  }
}

.footer-map{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:28px;
  padding:36px 0 10px;
}
.footer-map-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:center;
}
.footer-map-info h3{
  color:#fff;
  margin-bottom:12px;
}
.footer-map-info p{
  color:#d6e2f3;
  margin:0 0 10px;
}
.footer-map-embed iframe{
  border-radius:18px;
}
@media (max-width: 900px){
  .footer-map-grid{
    grid-template-columns:1fr;
  }
}


/* v4 footer map compact */
.footer-map{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:22px;
  padding:22px 0 6px;
}
.footer-map-embed{
  max-width:720px;
  margin:0 auto;
}
.footer-map-embed iframe{
  width:100%;
  height:240px;
  border-radius:16px;
  display:block;
}


/* v8 footer/contact fixes */
.footer-mini-map{
  margin-top:16px;
  max-width:380px;
}
.footer-mini-map iframe{
  width:100%;
  height:170px;
  border-radius:12px;
  display:block;
}
@media (max-width:640px){
  .footer-mini-map{
    max-width:100%;
  }
}


.footer-mini-map{
  margin-top:18px;
  max-width:430px;
}
.footer-mini-map iframe{
  width:100%;
  height:180px;
  border-radius:14px;
  display:block;
}


.contact-map{
  margin-top:22px;
}
.contact-map iframe{
  width:100%;
  height:230px;
  border-radius:14px;
  display:block;
}

/* Admin panel */
.admin-hero{background:linear-gradient(135deg,#eef7ff,#ffffff)}
.admin-layout{display:grid;grid-template-columns:280px 1fr;gap:26px;align-items:start}
.admin-sidebar,.admin-editor{background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);padding:22px}
.admin-sidebar{position:sticky;top:95px}
.admin-tabs{display:grid;gap:8px;margin:14px 0 22px}
.admin-tabs button{border:1px solid var(--border);background:#f8fbff;border-radius:12px;padding:12px 14px;font-weight:800;text-align:left;cursor:pointer;color:var(--navy)}
.admin-tabs button.active{background:#0b4f9c;color:#fff;border-color:#0b4f9c}
.admin-tools{display:grid;gap:10px}.admin-tools .btn{width:100%;justify-content:center;border:none;cursor:pointer}.btn-soft{background:#f3f7fb;color:var(--navy)}.btn-danger{background:#fff0f0;color:#ab2525}.file-import input{display:none}
.admin-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border);padding-bottom:18px;margin-bottom:18px}.admin-editor-head h2{margin:6px 0 0}.admin-editor-head p{margin:0;color:var(--muted);font-weight:700}
.admin-fields{display:grid;gap:16px}.admin-field-card{border:1px solid var(--border);border-radius:18px;padding:16px;background:#fbfdff}.admin-field-card label{display:block;font-weight:800;margin-bottom:10px;color:var(--navy);line-height:1.4}.admin-field-card input[type="text"],.admin-field-card textarea{width:100%;border:1px solid #d7e0ea;border-radius:12px;padding:12px 13px;font:inherit;background:#fff;color:var(--navy)}.admin-field-card textarea{min-height:110px;resize:vertical}.image-control-row{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:start}.admin-image-preview{width:170px;height:116px;object-fit:cover;border-radius:14px;border:1px solid var(--border);background:#eef4fb}.image-control-row input[type="file"]{margin-top:10px}.image-control-row small{display:block;margin-top:8px;color:var(--muted);line-height:1.5}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.image-control-row{grid-template-columns:1fr}.admin-image-preview{width:100%;height:180px}.admin-editor-head{display:block}}

/* v13 premium responsive refinements */
html{scroll-behavior:smooth} body{background:#fbfdff;color:#102034;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 26px rgba(10,26,48,.06);min-height:74px;transform:translateZ(0)}.nav-wrap{min-height:74px}.brand-logo{width:52px;height:52px;object-fit:contain;flex:0 0 auto}.brand-text{line-height:1.05;letter-spacing:-.03em}.site-nav a{border-radius:999px;padding:9px 12px;transition:background .2s ease,color .2s ease,transform .2s ease}.site-nav a:hover{background:rgba(31,122,77,.08);transform:translateY(-1px)}.site-nav a.active{background:rgba(31,122,77,.12);color:var(--green)}.hero-ref{min-height:clamp(620px,82vh,840px);display:grid;align-items:end;position:relative;isolation:isolate;background:#071d35;overflow:hidden}.hero-ref-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.005);filter:saturate(1.05) contrast(1.04)}.hero-ref-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,42,.90) 0%,rgba(5,22,42,.62) 44%,rgba(5,22,42,.18) 100%),linear-gradient(180deg,rgba(5,22,42,.18),rgba(5,22,42,.78));z-index:1}.hero-ref-inner{position:relative;z-index:2;padding:130px 0 96px}.hero-ref-copy{max-width:720px;color:#fff}.hero-ref-copy h1{font-size:clamp(2.8rem,7vw,6.3rem);line-height:.92;letter-spacing:-.07em;margin-bottom:24px;text-wrap:balance}.hero-ref-copy p{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.65;color:rgba(255,255,255,.90);max-width:640px}.btn{min-height:46px;will-change:transform;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{box-shadow:0 14px 34px rgba(31,122,77,.24)}.feature-strip{margin-top:-42px;position:relative;z-index:5;border-radius:28px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(11,31,58,.13)}.feature-item{padding:18px}.section{padding:88px 0}.section-heading h2,.split-copy h2,.about-copy h2,.cta-wrap h2{letter-spacing:-.045em;text-wrap:balance}.card,.contact-card,.feature-card{transition:transform .2s ease,box-shadow .2s ease;border-color:rgba(17,47,83,.10)}.card:hover,.feature-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(11,31,58,.13)}.service-card img,.feature-card img,.gallery-grid img,.split-media img,.about-photo img{background:#dce8ef;display:block;object-position:center;min-height:230px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.about-photo img{width:100%;height:440px;object-fit:cover;border-radius:28px;box-shadow:0 24px 70px rgba(11,31,58,.16)}.section-alt{background:linear-gradient(180deg,#f5f9fc,#eef6f8)}.gallery-band{background:radial-gradient(circle at 20% 0%,rgba(52,187,120,.22),transparent 28%),linear-gradient(180deg,#0b1f3a,#06172a)}.gallery-grid img{height:330px}.cta-wrap{box-shadow:0 26px 70px rgba(11,31,58,.10);background:linear-gradient(135deg,#effbf4,#fff 42%,#edf7ff)}.page-hero{padding:82px 0 44px;background:radial-gradient(circle at 15% 10%,rgba(44,154,95,.16),transparent 28%),linear-gradient(180deg,#f8fcff,#fff)}.contact-card{overflow:hidden}.contact-map{margin-top:22px;border-radius:18px;overflow:hidden;border:1px solid var(--border)}.quote-form{grid-template-columns:1fr 1fr}.quote-form label{font-size:.95rem;color:#102034}.quote-form label:nth-last-of-type(1){grid-column:1/-1}.quote-form input,.quote-form textarea,.quote-form select{width:100%;padding:14px 16px;border:1px solid rgba(17,47,83,.14);border-radius:14px;font:inherit;font-size:16px;background:#fff;outline:none;transition:border .2s ease,box-shadow .2s ease}.quote-form input:focus,.quote-form textarea:focus,.quote-form select:focus{border-color:rgba(31,122,77,.55);box-shadow:0 0 0 4px rgba(31,122,77,.10)}.quote-form button,.quote-form .form-status{grid-column:1/-1}.form-status{margin:0;font-weight:700}.form-status.success{color:#1f7a4d}.form-status.error{color:#b42318}.floating-whatsapp{bottom:20px;right:20px}.admin-page.locked .site-header,.admin-page.locked #adminMain,.admin-page.locked .site-footer{display:none}.admin-login{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 20% 20%,rgba(37,150,96,.20),transparent 30%),linear-gradient(135deg,#071d35,#123f67)}.admin-login-card{width:min(100%,430px);background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.35);border-radius:28px;padding:30px;box-shadow:0 30px 90px rgba(0,0,0,.22)}.admin-login-card img{width:74px;height:74px;object-fit:contain;margin-bottom:14px}.admin-login-card h1{margin:6px 0 8px}.admin-login-card label{display:grid;gap:8px;font-weight:800;margin:18px 0}.admin-login-card input{padding:14px 16px;border:1px solid var(--border);border-radius:14px;font:inherit}.login-error{color:#b42318;font-weight:700;min-height:22px}.admin-page.unlocked .admin-login{display:none}.admin-page.unlocked .site-header,.admin-page.unlocked #adminMain,.admin-page.unlocked .site-footer{display:block}.submissions-panel{grid-column:1/-1;margin-top:26px}.submissions-list{display:grid;gap:14px}.submission-card{border:1px solid var(--border);border-radius:18px;padding:18px;background:#fff;box-shadow:0 12px 30px rgba(11,31,58,.07)}.submission-card h3{margin:0 0 6px}.submission-meta{color:var(--muted);font-size:.94rem;margin:0 0 12px}.submission-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.submission-grid div{background:#f6f9fc;border-radius:12px;padding:10px}.submission-message{margin-top:12px;white-space:pre-wrap;background:#f6f9fc;border-radius:12px;padding:12px}.admin-field-card input,.admin-field-card textarea{font-size:15px}
@media (max-width:980px){.site-header{min-height:68px}.nav-wrap{min-height:68px}.brand-logo{width:46px;height:46px}.site-nav{position:fixed;left:14px;right:14px;top:76px;max-height:calc(100vh - 96px);overflow:auto;border-radius:24px;padding:18px;background:rgba(255,255,255,.96);backdrop-filter:blur(18px)}.site-nav a{width:100%;padding:12px 14px}.hero-ref{min-height:760px;align-items:end}.hero-ref-inner{padding:110px 0 74px}.hero-ref-copy h1{font-size:clamp(2.7rem,13vw,4.7rem)}.feature-strip{margin-top:-28px;grid-template-columns:1fr}.about-grid,.split{grid-template-columns:1fr}.about-photo img{height:340px}.gallery-grid img{height:270px}.quote-form,.submission-grid{grid-template-columns:1fr}.contact-grid{gap:18px}.admin-layout{grid-template-columns:1fr!important}.admin-sidebar{position:relative!important;top:auto!important}.section{padding:66px 0}}
@media (max-width:640px){.container{width:min(var(--container),calc(100% - 28px))}.brand-text{font-size:.98rem;max-width:190px}.hero-ref{min-height:690px}.hero-ref-bg img{object-position:center top}.hero-ref-overlay{background:linear-gradient(180deg,rgba(5,22,42,.26) 0%,rgba(5,22,42,.68) 42%,rgba(5,22,42,.92) 100%)}.hero-ref-inner{padding:96px 0 56px}.hero-ref-copy h1{letter-spacing:-.055em}.hero-ref-copy p{font-size:1.02rem}.hero-actions .btn{width:100%;justify-content:center}.feature-strip{border-radius:22px}.section-heading{text-align:left}.cards{gap:16px}.card-body,.icon-card,.contact-card{padding:20px}.about-photo img,.gallery-grid img{height:245px}.cta-wrap{border-radius:22px}.footer-grid{gap:16px}.floating-whatsapp{right:12px;bottom:12px;padding:12px 14px}.admin-login-card{padding:24px;border-radius:22px}}


/* ===== v14 premium refinement: fonts, page titles, cards, admin and mobile ===== */
:root{
  --blue:#0b3b73; --ice:#eff7ff; --deep:#071b33; --accent:#00a8e8;
  --shadow-strong:0 22px 60px rgba(8,32,60,.14);
}
html{font-size:16px; text-rendering:optimizeLegibility;}
body{font-family:Inter, "Segoe UI", Roboto, Arial, sans-serif; letter-spacing:-.01em; overflow-x:hidden;}
.site-header{min-height:74px; background:rgba(255,255,255,.96); box-shadow:0 4px 22px rgba(8,32,60,.05);}
.nav-wrap{min-height:74px; padding:8px 0;}
.brand{gap:12px; max-width:360px;}
.brand-logo{width:74px; max-height:54px; object-fit:contain; transform:translateY(-1px);}
.brand-text{font-size:1rem; line-height:1.12; letter-spacing:-.02em; white-space:normal; max-width:250px;}
.site-nav{gap:8px;}
.site-nav a:not(.btn){font-size:.95rem; font-weight:700; padding:12px 10px; border-radius:12px; color:#26384c; white-space:nowrap;}
.site-nav a:not(.btn):hover,.site-nav a.active:not(.btn){background:#eef6ff; color:#0b4ca0;}
.site-nav a.active::after{display:none;}
h1,h2,h3{letter-spacing:-.035em; color:var(--deep);}
.lead{line-height:1.75;}
.section{padding:92px 0;}
.card,.contact-card,.feature-card,.cta-wrap{box-shadow:var(--shadow-strong); border-color:#e9eef5;}
.service-card,.feature-card,.contact-card{transition:transform .25s ease, box-shadow .25s ease;}
.service-card:hover,.feature-card:hover,.contact-card:hover{transform:translateY(-3px); box-shadow:0 26px 70px rgba(8,32,60,.18);}
.service-card img,.feature-card img,.gallery-grid img,.gallery-page-grid img,.split-media img{background:#eaf2fa; min-height:220px;}
.premium-page-hero{position:relative; overflow:hidden; padding:92px 0 74px; border-bottom:0; background:linear-gradient(135deg,#071b33 0%,#0d4b85 56%,#eef7ff 56%,#ffffff 100%);}
.premium-page-hero::before{content:""; position:absolute; inset:0; background:radial-gradient(circle at 78% 18%,rgba(0,168,232,.20),transparent 25%), radial-gradient(circle at 15% 80%,rgba(255,255,255,.16),transparent 30%);}
.premium-page-hero::after{content:""; position:absolute; right:min(8vw,90px); bottom:-70px; width:330px; height:210px; border-radius:34px; background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.08)); border:1px solid rgba(255,255,255,.32); transform:rotate(-7deg); box-shadow:0 20px 70px rgba(0,0,0,.18);}
.premium-page-hero .container{position:relative; z-index:2; max-width:880px; margin-left:max(20px,calc((100% - var(--container))/2)); margin-right:auto;}
.premium-page-hero .eyebrow{color:#bce8ff; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); padding:8px 13px; border-radius:999px;}
.premium-page-hero h1{font-size:clamp(2.25rem,4.4vw,4rem); color:#fff; max-width:780px;}
.premium-page-hero p{color:rgba(255,255,255,.88); max-width:710px;}
.page-services .premium-page-hero{background:linear-gradient(135deg,#06213f 0%,#0a6b8f 56%,#f4fbff 56%,#fff 100%);}
.page-technology .premium-page-hero{background:linear-gradient(135deg,#071b33 0%,#17517c 56%,#f5f9fc 56%,#fff 100%);}
.page-capacity .premium-page-hero{background:linear-gradient(135deg,#09233c 0%,#0d6a83 56%,#f7fbff 56%,#fff 100%);}
.page-gallery .premium-page-hero{background:linear-gradient(135deg,#06182d 0%,#115c95 56%,#f7fbff 56%,#fff 100%);}
.page-contact .premium-page-hero{background:linear-gradient(135deg,#071b33 0%,#0b4f7a 56%,#f7fbff 56%,#fff 100%);}

.quote-form select{width:100%; padding:14px 16px; border:1px solid var(--border); border-radius:12px; font:inherit; font-size:16px; background:#fff;}
.form-status{margin:0; font-weight:700;}.form-status.success{color:#128242}.form-status.error{color:#b42318}
/* admin */
.admin-page.locked #adminMain,.admin-page.locked footer{display:none;}
.admin-page.unlocked #adminLogin{display:none;}
.admin-login{min-height:calc(100vh - 74px); display:grid; place-items:center; padding:40px 16px; background:linear-gradient(135deg,#071b33,#0b4f7a);}
.admin-login-card{width:min(460px,100%); background:#fff; border-radius:26px; padding:34px; box-shadow:0 30px 90px rgba(0,0,0,.24);} .admin-login-card img{max-width:110px; margin-bottom:16px;}
.admin-login-card label,.admin-field-card label{display:grid; gap:8px; font-weight:800; color:#17253a;}
.admin-login-card input,.admin-field-card input,.admin-field-card textarea{width:100%; padding:13px 15px; border:1px solid #dce5ef; border-radius:12px; font:inherit; background:#fff;}
.admin-field-card textarea{min-height:118px; resize:vertical;}
.login-error{color:#b42318; font-weight:700; min-height:22px;}
.admin-layout{display:grid; grid-template-columns:280px minmax(0,1fr); gap:24px; align-items:start;}
.submissions-panel{grid-column:2;}
.admin-sidebar,.admin-editor{background:#fff; border:1px solid #e7edf5; border-radius:24px; box-shadow:var(--shadow-strong); padding:22px;}
.admin-sidebar{position:sticky; top:94px;}
.admin-tabs{display:grid; gap:8px; margin:14px 0 18px;}
.admin-tabs button{border:1px solid #e1e9f2; background:#f8fbff; padding:12px 14px; text-align:left; border-radius:14px; font-weight:800; cursor:pointer;}
.admin-tabs button.active{background:#0b4f9f; color:#fff; border-color:#0b4f9f;}
.admin-tools{display:grid; gap:10px;}.btn-soft{background:#eef6ff; color:#0b4f9f; border-color:#d8eaff;}.btn-danger{background:#d92d20; color:#fff; border-color:#d92d20;}.btn:disabled{opacity:.6; cursor:not-allowed; transform:none;}
.file-import{position:relative; overflow:hidden;}.file-import input{position:absolute; opacity:0; inset:0; cursor:pointer;}
.admin-editor-head{display:flex; align-items:center; justify-content:space-between; gap:18px; border-bottom:1px solid #edf2f7; padding-bottom:16px; margin-bottom:18px;}
.admin-fields{display:grid; gap:16px;}.admin-field-card{border:1px solid #edf2f7; background:#fbfdff; border-radius:18px; padding:16px;}
.image-control-row{display:grid; grid-template-columns:170px 1fr; gap:16px; align-items:start;}.admin-image-preview{width:170px; height:120px; object-fit:cover; border-radius:14px; background:#eaf2fa; border:1px solid #d9e5f0;}.image-control-row small{display:block; color:#667085; margin-top:8px;}
.submissions-list{display:grid; gap:14px;}.submission-card{border:1px solid #e7edf5; border-radius:18px; padding:18px; background:#fbfdff;}.submission-head{display:flex; align-items:flex-start; justify-content:space-between; gap:12px;}.submission-card h3{margin:0 0 4px;}.submission-meta{margin:0 0 14px; color:#667085;}.submission-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:12px;}.submission-grid>div,.submission-message{background:#fff; border:1px solid #eef3f8; border-radius:14px; padding:12px; overflow-wrap:anywhere;}.submission-message{margin-top:12px;}
@media(max-width:1180px){.site-nav{gap:4px}.site-nav a:not(.btn){font-size:.9rem;padding:10px 7px}.brand-logo{width:64px}.brand-text{font-size:.92rem;max-width:210px}}
@media(max-width:980px){
  .site-header{min-height:66px}.nav-wrap{min-height:66px}.brand-logo{width:58px}.brand-text{font-size:.88rem; max-width:205px;}
  .site-nav{top:74px; left:12px; right:12px; align-items:stretch; padding:10px; border-radius:20px; background:rgba(255,255,255,.98); backdrop-filter:blur(14px);} .site-nav a:not(.btn){padding:13px 14px; font-size:1rem;}
  .nav-toggle{display:grid; place-items:center; min-width:44px; min-height:44px;}
  .premium-page-hero{padding:70px 0 56px; background:linear-gradient(150deg,#071b33 0%,#0d4b85 100%)!important;}
  .premium-page-hero::after{width:220px;height:140px;right:-55px;bottom:-55px}.premium-page-hero .container{margin-inline:auto; width:min(var(--container),calc(100% - 32px));}
  .section{padding:66px 0}.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.submissions-panel{grid-column:auto}.image-control-row{grid-template-columns:1fr}.admin-image-preview{width:100%;height:180px}.submission-grid{grid-template-columns:1fr 1fr}.admin-editor-head{align-items:flex-start; flex-direction:column;}
}
@media(max-width:640px){
  .brand-logo{width:52px}.brand-text{font-size:.82rem; max-width:170px}.nav-wrap{gap:10px}.premium-page-hero h1{font-size:2rem}.premium-page-hero p{font-size:.98rem}.cards{gap:18px}.contact-card{padding:18px}.submission-grid{grid-template-columns:1fr}.submission-head{flex-direction:column}.admin-login-card{padding:24px;border-radius:22px}.floating-whatsapp{font-size:0; width:54px; height:54px; padding:0; display:grid; place-items:center}.floating-whatsapp::before{content:"WA"; font-size:1rem;}
}


/* ===== v15 requested refinements ===== */
:root{--page-banner:#06213f;--page-banner-2:#0a6b8f;--home-shadow:rgba(6,33,63,.82);} 
/* all inner pages: same height and same background color as services */
body:not(.page-home) .premium-page-hero,
.page-services .premium-page-hero,
.page-about .premium-page-hero,
.page-technology .premium-page-hero,
.page-capacity .premium-page-hero,
.page-gallery .premium-page-hero,
.page-contact .premium-page-hero{
  min-height:310px;
  display:flex;
  align-items:center;
  padding:76px 0 62px !important;
  background:linear-gradient(135deg,var(--page-banner) 0%,var(--page-banner-2) 56%,#f4fbff 56%,#fff 100%) !important;
}
/* home banner overlay uses same blue tone */
.hero-ref-overlay{
  background:linear-gradient(90deg,rgba(6,33,63,.84) 0%,rgba(6,33,63,.66) 38%,rgba(10,107,143,.30) 64%,rgba(10,107,143,.08) 100%),linear-gradient(180deg,rgba(6,33,63,.10),rgba(6,33,63,.52)) !important;
}
/* compact, clean header and one-line business name on mobile */
.brand{flex:1 1 auto;min-width:0;max-width:none;}
.brand-text{white-space:nowrap !important;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-weight:850;}
.language-switch{margin-left:auto;flex:0 0 auto;}
.language-switch select{appearance:none;-webkit-appearance:none;border:1px solid #dbe6f1;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2306213f' d='M6 8 0 0h12z'/%3E%3C/svg%3E") no-repeat right 12px center;border-radius:999px;padding:10px 32px 10px 14px;font-weight:800;color:#0b2b4d;box-shadow:0 6px 18px rgba(8,32,60,.06);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.service-card img,.feature-card img,.gallery-grid img,.gallery-page-grid img,.split-media img,.about-photo img{filter:none !important;background:#dfeaf2;}
/* RTL Arabic */
html[dir="rtl"] body{font-family:"Segoe UI",Tahoma,Arial,sans-serif;letter-spacing:0;text-align:right;}
html[dir="rtl"] .nav-wrap,html[dir="rtl"] .brand,html[dir="rtl"] .feature-item,html[dir="rtl"] .cta-wrap,html[dir="rtl"] .footer-grid{direction:rtl;}
html[dir="rtl"] .language-switch{margin-left:0;margin-right:auto;}
html[dir="rtl"] .language-switch select{background-position:left 12px center;padding:10px 14px 10px 32px;}
html[dir="rtl"] .site-nav{direction:rtl;}
html[dir="rtl"] .check-list li{padding-left:0;padding-right:28px;}
html[dir="rtl"] .check-list li::before{left:auto;right:0;}
html[dir="rtl"] .premium-page-hero .container{margin-right:max(20px,calc((100% - var(--container))/2));margin-left:auto;}
html[dir="rtl"] .hero-ref-overlay{background:linear-gradient(270deg,rgba(6,33,63,.84) 0%,rgba(6,33,63,.66) 38%,rgba(10,107,143,.30) 64%,rgba(10,107,143,.08) 100%),linear-gradient(180deg,rgba(6,33,63,.10),rgba(6,33,63,.52)) !important;}
html[dir="rtl"] .hero-ref-copy{margin-right:0;margin-left:auto;}
@media(max-width:1100px){.brand-text{font-size:.88rem}.language-switch select{padding-top:9px;padding-bottom:9px}.site-nav a:not(.btn){font-size:.86rem;padding:10px 6px}}
@media(max-width:980px){
  .brand{flex:1 1 0;}
  .brand-text{font-size:.82rem;max-width:calc(100vw - 190px) !important;}
  .language-switch{margin-left:0;}
  .language-switch select{max-width:102px;padding:9px 28px 9px 12px;font-size:.86rem;}
  .nav-toggle{flex:0 0 auto;}
  body:not(.page-home) .premium-page-hero{min-height:260px;padding:62px 0 48px!important;background:linear-gradient(150deg,var(--page-banner) 0%,var(--page-banner-2) 100%)!important;}
  html[dir="rtl"] .premium-page-hero .container{margin-inline:auto;width:min(var(--container),calc(100% - 32px));}
}
@media(max-width:640px){
  .brand-logo{width:42px!important;height:42px!important;}
  .brand-text{font-size:.72rem;max-width:calc(100vw - 168px)!important;}
  .nav-wrap{gap:8px;}
  .language-switch select{max-width:92px;font-size:.78rem;padding:8px 24px 8px 10px;}
  html[dir="rtl"] .language-switch select{padding:8px 10px 8px 24px;}
}


/* ===== v16 fixes: unified internal blue glass banners + desktop language position ===== */
:root{
  --internal-banner-a:#06213f;
  --internal-banner-b:#0a6b8f;
}
body:not(.page-home) .premium-page-hero,
.page-services .premium-page-hero,
.page-about .premium-page-hero,
.page-technology .premium-page-hero,
.page-capacity .premium-page-hero,
.page-gallery .premium-page-hero,
.page-contact .premium-page-hero{
  min-height:310px !important;
  height:310px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
  background:
    radial-gradient(circle at 16% 18%, rgba(255,255,255,.18), transparent 28%),
    radial-gradient(circle at 86% 22%, rgba(255,255,255,.11), transparent 26%),
    linear-gradient(135deg,var(--internal-banner-a) 0%,var(--internal-banner-b) 100%) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  box-shadow:inset 0 -1px 0 rgba(255,255,255,.08) !important;
}
body:not(.page-home) .premium-page-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:18px !important;
  border-radius:30px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.045)) !important;
  border:1px solid rgba(255,255,255,.20) !important;
  backdrop-filter:blur(14px) !important;
  -webkit-backdrop-filter:blur(14px) !important;
  pointer-events:none !important;
}
body:not(.page-home) .premium-page-hero::after{
  content:"" !important;
  position:absolute !important;
  right:min(7vw,88px) !important;
  bottom:-58px !important;
  width:310px !important;
  height:190px !important;
  border-radius:34px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.055)) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  transform:rotate(-7deg) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.17) !important;
  pointer-events:none !important;
}
body:not(.page-home) .premium-page-hero .container{
  position:relative !important;
  z-index:2 !important;
  max-width:880px !important;
}
body:not(.page-home) .premium-page-hero .eyebrow{
  color:#d7f3ff !important;
  background:rgba(255,255,255,.13) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  backdrop-filter:blur(10px) !important;
}
body:not(.page-home) .premium-page-hero h1,
body:not(.page-home) .premium-page-hero p{color:#fff !important;}
body:not(.page-home) .premium-page-hero p{color:rgba(255,255,255,.88) !important;}
.hero-ref-overlay{
  background:
    linear-gradient(90deg,rgba(6,33,63,.86) 0%,rgba(6,33,63,.68) 40%,rgba(10,107,143,.36) 68%,rgba(10,107,143,.10) 100%),
    linear-gradient(180deg,rgba(6,33,63,.10),rgba(6,33,63,.58)) !important;
}
@media (min-width:981px){
  .nav-wrap{justify-content:flex-start !important;}
  .brand{flex:0 0 auto !important;}
  .site-nav{margin-left:auto !important;}
  .language-switch{order:5 !important;margin-left:14px !important;margin-right:0 !important;flex:0 0 auto !important;}
  .nav-toggle{order:6 !important;}
  html[dir="rtl"] .site-nav{margin-left:0 !important;margin-right:auto !important;}
  html[dir="rtl"] .language-switch{margin-left:0 !important;margin-right:14px !important;}
}
@media (max-width:980px){
  body:not(.page-home) .premium-page-hero{min-height:260px !important;height:260px !important;padding:0 !important;}
  body:not(.page-home) .premium-page-hero::before{inset:12px;border-radius:24px;}
  body:not(.page-home) .premium-page-hero::after{width:220px;height:140px;right:-60px;bottom:-54px;}
}
@media (max-width:640px){
  body:not(.page-home) .premium-page-hero{min-height:235px !important;height:235px !important;}
}


/* ===== v17 deep polish: blue site theme, safer banners, mobile language, RTL ===== */
:root{
  --site-blue:#06213f;
  --site-blue-2:#0a6b8f;
  --site-blue-3:#0b2d55;
  --glass:rgba(255,255,255,.12);
  --glass-border:rgba(255,255,255,.22);
}
html,body{background:var(--site-blue)!important;}
body{color:#eaf4ff;}
main{background:linear-gradient(180deg,var(--site-blue) 0%,#082b52 48%,var(--site-blue) 100%);} 
.section{background:transparent;color:#eaf4ff;}
.section-alt{background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);} 
.section-heading h2,.split-copy h2,.about-copy h2,.cta-wrap h2,.section h1,.section h2,.section h3{color:#fff;}
.section-heading p,.lead,.card p,.split-copy p,.about-copy p{color:rgba(234,244,255,.82)!important;}
.card,.feature-card,.contact-card,.admin-sidebar,.admin-editor{background:rgba(255,255,255,.96)!important;color:#102034;}
.card h3,.feature-card h3,.contact-card h3,.contact-card h2,.card p{color:#102034!important;}
.card p,.feature-card p,.contact-card p{color:#5f6f80!important;}
.cta-wrap{background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(231,244,255,.96))!important;color:#102034;}
.cta-wrap h2{color:#102034!important}.cta-wrap p{color:#5f6f80!important}
.site-header{background:rgba(255,255,255,.92)!important;}
/* Internal page banners: no fixed height, enough room for text */
body:not(.page-home) .premium-page-hero{
  position:relative!important;
  min-height:420px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  padding:92px 0 78px!important;
  overflow:hidden!important;
  background:radial-gradient(circle at 14% 18%,rgba(255,255,255,.20),transparent 30%),radial-gradient(circle at 88% 18%,rgba(255,255,255,.10),transparent 28%),linear-gradient(135deg,var(--site-blue) 0%,var(--site-blue-2) 100%)!important;
}
body:not(.page-home) .premium-page-hero::before{
  content:""!important;position:absolute!important;inset:24px!important;border-radius:34px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.045))!important;
  border:1px solid var(--glass-border)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important;pointer-events:none!important;
}
body:not(.page-home) .premium-page-hero .container{position:relative!important;z-index:2!important;max-width:960px!important;}
body:not(.page-home) .premium-page-hero h1{font-size:clamp(2.2rem,4.8vw,4.2rem)!important;line-height:1.05!important;letter-spacing:-.045em!important;margin-bottom:16px!important;color:#fff!important;max-width:880px;}
body:not(.page-home) .premium-page-hero p{font-size:clamp(1rem,1.6vw,1.2rem)!important;line-height:1.65!important;color:rgba(255,255,255,.9)!important;max-width:760px;}
body:not(.page-home) .premium-page-hero .eyebrow{color:#d7f3ff!important;white-space:normal!important;}
.hero-ref-overlay{background:linear-gradient(90deg,rgba(6,33,63,.88) 0%,rgba(6,33,63,.70) 42%,rgba(10,107,143,.38) 70%,rgba(10,107,143,.10) 100%),linear-gradient(180deg,rgba(6,33,63,.12),rgba(6,33,63,.62))!important;}
.btn,.site-nav a.btn{white-space:nowrap!important;}
.site-nav .btn{min-width:142px;padding-left:16px!important;padding-right:16px!important;}
/* Header ordering */
@media(min-width:981px){
  .nav-wrap{display:flex!important;justify-content:flex-start!important;}
  .brand{order:1!important;flex:0 0 auto!important;}
  .site-nav{order:2!important;margin-left:auto!important;display:flex!important;}
  .language-switch{order:3!important;margin-left:14px!important;margin-right:0!important;}
  .nav-toggle{order:4!important;}
}
@media(max-width:980px){
  .brand{order:1!important;flex:1 1 auto!important;min-width:0!important;}
  .language-switch{order:2!important;margin-left:auto!important;margin-right:4px!important;}
  .nav-toggle{order:3!important;}
  .site-nav{order:4!important;}
  .brand-text{white-space:nowrap!important;max-width:calc(100vw - 190px)!important;font-size:.82rem!important;}
  .language-switch select{height:40px;max-width:100px;}
  body:not(.page-home) .premium-page-hero{min-height:360px!important;padding:86px 0 64px!important;}
  body:not(.page-home) .premium-page-hero::before{inset:14px!important;border-radius:26px!important;}
}
@media(max-width:640px){
  .brand-logo{width:40px!important;height:40px!important}.brand-text{max-width:calc(100vw - 166px)!important;font-size:.70rem!important;letter-spacing:-.04em;}
  .language-switch select{max-width:88px;font-size:.76rem;padding:8px 24px 8px 9px!important;}
  body:not(.page-home) .premium-page-hero{min-height:330px!important;padding:78px 0 54px!important;}
  body:not(.page-home) .premium-page-hero h1{font-size:clamp(1.8rem,9vw,2.55rem)!important;}
  .hero-actions{align-items:flex-start!important}.hero-actions .btn{width:auto!important;min-width:160px;}
}
/* Better RTL coverage */
html[dir="rtl"] body{text-align:right!important;font-family:"Tahoma","Segoe UI",Arial,sans-serif!important;}
html[dir="rtl"] .nav-wrap,html[dir="rtl"] .site-nav,html[dir="rtl"] .brand,html[dir="rtl"] .hero-actions,html[dir="rtl"] .cards,html[dir="rtl"] .split,html[dir="rtl"] .about-grid,html[dir="rtl"] .contact-grid,html[dir="rtl"] .footer-grid,html[dir="rtl"] .feature-strip,html[dir="rtl"] .feature-item{direction:rtl!important;}
html[dir="rtl"] .site-nav{margin-left:0!important;margin-right:auto!important;}
html[dir="rtl"] .language-switch{margin-left:0!important;margin-right:14px!important;}
html[dir="rtl"] .hero-ref-copy{margin-right:0!important;margin-left:auto!important;text-align:right!important;}
html[dir="rtl"] .section-heading{text-align:center!important;}
html[dir="rtl"] .check-list li{padding-left:0!important;padding-right:28px!important;} html[dir="rtl"] .check-list li::before{left:auto!important;right:0!important;}
html[dir="rtl"] .quote-form label,html[dir="rtl"] .contact-list{text-align:right!important;}
@media(max-width:980px){html[dir="rtl"] .language-switch{order:2!important;margin-right:auto!important;margin-left:4px!important;} html[dir="rtl"] .nav-toggle{order:3!important;} html[dir="rtl"] .site-nav{left:12px!important;right:12px!important;margin:0!important;}}


/* ===== v18 Premium redesign overrides ===== */
:root{
  --navy:#071b33;
  --navy2:#0f3768;
  --blue:#0b62b5;
  --blue2:#1c7ed6;
  --ice:#eef7ff;
  --ice2:#f7fbff;
  --cyan:#7dd3fc;
  --green:#20c771;
  --green2:#13a85b;
  --text:#102033;
  --muted:#60748a;
  --border:rgba(13,57,102,.13);
  --shadow:0 24px 70px rgba(8,35,68,.13);
  --radius:24px;
}
html{background:#eaf5ff;}
body{
  color:var(--text) !important;
  background:
    radial-gradient(circle at top left, rgba(45,139,230,.18), transparent 34rem),
    radial-gradient(circle at 85% 18%, rgba(125,211,252,.17), transparent 31rem),
    linear-gradient(180deg,#f7fbff 0%,#eaf5ff 52%,#f8fbff 100%) !important;
  font-family:"Inter","Segoe UI",Roboto,Arial,sans-serif !important;
}
body::before{content:"";position:fixed;inset:0;z-index:-1;background-image:linear-gradient(rgba(15,55,104,.045) 1px, transparent 1px),linear-gradient(90deg, rgba(15,55,104,.04) 1px, transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 75%);}
.site-header{background:rgba(255,255,255,.82) !important;backdrop-filter:blur(18px) saturate(150%) !important;border-bottom:1px solid rgba(15,55,104,.09) !important;box-shadow:0 10px 34px rgba(7,27,51,.06)}
.nav-wrap{gap:18px !important;min-height:78px}.brand{flex:0 1 auto;min-width:0}.brand-logo{width:82px !important;max-height:54px;object-fit:contain}.brand-text{white-space:nowrap !important;overflow:hidden;text-overflow:ellipsis;font-size:1.02rem !important;letter-spacing:-.01em;color:var(--navy) !important}.site-nav{margin-left:auto;gap:18px !important}.site-nav a{font-size:.95rem;font-weight:750;color:#1f334a}.site-nav a:hover,.site-nav a.active{color:var(--blue) !important}.site-nav a.active::after{background:linear-gradient(90deg,var(--blue),var(--cyan)) !important;bottom:-18px !important}.language-switch{order:5;display:flex;align-items:center;flex:0 0 auto}.language-switch select{height:42px;border:1px solid rgba(15,55,104,.15);background:rgba(255,255,255,.9);border-radius:999px;padding:0 34px 0 14px;font-weight:800;color:var(--navy);box-shadow:0 10px 24px rgba(8,35,68,.08)}
.btn{border-radius:999px !important;white-space:nowrap !important;letter-spacing:-.01em}.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2)) !important;box-shadow:0 18px 34px rgba(11,98,181,.25) !important}.btn-primary:hover{background:linear-gradient(135deg,#084f95,#146fc7) !important}.btn-secondary{background:#fff !important;border-color:rgba(15,55,104,.12) !important}.btn-outline-light{background:rgba(255,255,255,.12) !important;border-color:rgba(255,255,255,.45) !important;backdrop-filter:blur(10px)}
.hero-ref{min-height:690px !important;background:#061b33 !important}.hero-ref-inner{min-height:690px !important}.hero-ref-overlay{background:linear-gradient(90deg, rgba(4,25,49,.88) 0%, rgba(6,42,82,.72) 38%, rgba(8,61,115,.28) 72%, rgba(8,61,115,.08) 100%) !important}.hero-ref-copy{padding:26px;border-radius:30px;background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.18);box-shadow:0 25px 80px rgba(0,0,0,.18);backdrop-filter:blur(10px)}.hero-ref-copy h1{letter-spacing:-.045em}.hero-ref-copy p{line-height:1.75}.feature-strip{border-radius:28px !important;background:rgba(255,255,255,.88) !important;backdrop-filter:blur(18px);box-shadow:var(--shadow) !important;border:1px solid rgba(255,255,255,.7) !important}.feature-item{border-color:rgba(15,55,104,.08) !important}.feature-icon{background:linear-gradient(135deg,#edf7ff,#dff1ff) !important;color:var(--blue) !important;box-shadow:inset 0 0 0 1px rgba(11,98,181,.08)}
.section{padding:96px 0 !important;background:transparent !important}.section-alt{background:linear-gradient(180deg,rgba(255,255,255,.54),rgba(255,255,255,.2)) !important}.section-heading{margin-bottom:42px !important}.section-heading h2{font-size:clamp(2rem,3.2vw,3.2rem);letter-spacing:-.04em;color:var(--navy)}.section-heading p,.lead{color:var(--muted);line-height:1.75}.eyebrow{color:var(--blue) !important;background:rgba(11,98,181,.09);border:1px solid rgba(11,98,181,.1);padding:8px 12px;border-radius:999px;text-transform:none;letter-spacing:.02em}.card,.contact-card,.feature-card,.cta-wrap{border:1px solid rgba(255,255,255,.78) !important;background:rgba(255,255,255,.82) !important;backdrop-filter:blur(18px);box-shadow:var(--shadow) !important}.card{border-radius:28px !important}.card-body{padding:26px !important}.service-card img,.feature-card img,.split-media img,.gallery-grid img,.gallery-page-grid img{border-radius:24px !important;filter:saturate(1.02) contrast(1.02);box-shadow:0 20px 55px rgba(8,35,68,.18) !important}.feature-card{padding:22px !important;grid-template-columns:360px 1fr !important}.icon{background:linear-gradient(135deg,#eaf6ff,#dff1ff) !important;color:var(--blue)}.check-list li::before{color:var(--blue2) !important}.gallery-band{background:linear-gradient(135deg,#071b33 0%,#0d3d73 64%,#0b62b5 100%) !important}.cta-wrap{background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(235,247,255,.84)) !important;border-radius:34px !important}.site-footer{background:linear-gradient(135deg,#06182d,#0a2d55 68%,#0b4d8a) !important}.footer-map-embed iframe{filter:saturate(.95) contrast(1.02);}
.page-hero.premium-page-hero,.page-hero{position:relative;overflow:hidden;min-height:360px !important;padding:92px 0 76px !important;background:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)), url('../images/placeholder-empty.svg') center/cover no-repeat !important;border-bottom:0 !important;color:#fff !important}.page-hero::before{content:"";position:absolute;inset:22px;pointer-events:none;border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(7px)}.page-hero .container{position:relative;z-index:1}.page-hero h1{color:#fff !important;font-size:clamp(2.25rem,4.4vw,4rem) !important;letter-spacing:-.045em;text-shadow:0 18px 45px rgba(0,0,0,.2)}.page-hero p,.page-hero .lead{color:rgba(255,255,255,.9) !important}.page-about .page-hero{background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),url('../images/placeholder-empty.svg') !important}.page-services .page-hero{background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),url('../images/placeholder-empty.svg') !important}.page-technology .page-hero{background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),url('../images/placeholder-empty.svg') !important}.page-capacity .page-hero{background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),url('../images/placeholder-empty.svg') !important}.page-gallery .page-hero{background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),url('../images/placeholder-empty.svg') !important}.page-contact .page-hero{background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),url('../images/placeholder-empty.svg') !important}
.contact-card input,.contact-card textarea,.quote-form input,.quote-form textarea,.quote-form select{background:rgba(255,255,255,.9) !important;border-color:rgba(15,55,104,.14) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.floating-whatsapp{background:linear-gradient(135deg,#20c771,#16a765) !important;box-shadow:0 18px 34px rgba(32,199,113,.28) !important}
body.rtl{direction:rtl;text-align:right}body.rtl .site-nav{margin-left:0;margin-right:auto}body.rtl .site-nav a.active::after{left:0;right:0}body.rtl .hero-ref-overlay{background:linear-gradient(270deg, rgba(4,25,49,.88) 0%, rgba(6,42,82,.72) 38%, rgba(8,61,115,.28) 72%, rgba(8,61,115,.08) 100%) !important}body.rtl .check-list li{padding-left:0;padding-right:28px}body.rtl .check-list li::before{left:auto;right:0}body.rtl .contact-list,body.rtl .footer-links{padding-right:0}body.rtl .feature-item{border-right:0;border-left:1px solid rgba(15,55,104,.08)}body.rtl .feature-item:last-child{border-left:0}body.rtl input,body.rtl textarea,body.rtl select{text-align:right}body.rtl .hero-actions,body.rtl .cta-actions{justify-content:flex-start}
@media (max-width:1100px){.site-nav{gap:12px !important}.site-nav a{font-size:.9rem}.brand-logo{width:72px !important}.brand-text{font-size:.94rem !important}.btn-sm{padding-inline:13px !important}}
@media (max-width:980px){.nav-wrap{min-height:70px;display:grid;grid-template-columns:auto 1fr auto auto;gap:10px}.brand{grid-column:1/3}.language-switch{grid-column:3;grid-row:1;order:0}.nav-toggle{grid-column:4;grid-row:1;display:block !important}.language-switch select{height:38px;max-width:118px;font-size:.86rem;padding-left:10px;padding-right:24px}.site-nav{position:absolute !important;left:16px !important;right:16px !important;top:76px !important;background:rgba(255,255,255,.94) !important;backdrop-filter:blur(18px) !important;border-radius:24px !important;padding:18px !important;box-shadow:var(--shadow) !important}.site-nav.open{display:flex !important}.site-nav a.active::after{display:none}.hero-ref,.hero-ref-inner{min-height:600px !important}.hero-ref-copy{padding:22px}.feature-strip-wrap{margin-top:-64px}.feature-strip{grid-template-columns:1fr 1fr !important}.feature-card{grid-template-columns:1fr !important}.section{padding:76px 0 !important}.page-hero.premium-page-hero,.page-hero{min-height:320px !important;padding:74px 0 62px !important}.page-hero::before{inset:14px;border-radius:26px}body.rtl .site-nav{left:16px !important;right:16px !important;margin:0}}
@media (max-width:640px){.container{width:min(var(--container),calc(100% - 28px)) !important}.nav-wrap{grid-template-columns:minmax(0,1fr) auto auto}.brand{grid-column:1}.brand-logo{width:56px !important}.brand-text{font-size:.82rem !important;max-width:calc(100vw - 190px)}.language-switch{grid-column:2}.nav-toggle{grid-column:3}.hero-ref,.hero-ref-inner{min-height:570px !important}.hero-ref-copy h1{font-size:clamp(2rem,10vw,3rem) !important}.hero-actions .btn{width:100%;}.feature-strip{grid-template-columns:1fr !important}.cards.three,.cards.four{grid-template-columns:1fr !important}.page-hero.premium-page-hero,.page-hero{min-height:300px !important;padding:62px 0 54px !important}.page-hero h1{font-size:clamp(2rem,11vw,3rem) !important}.section-heading h2{font-size:clamp(1.85rem,8vw,2.5rem)}.cta-actions .btn{width:100%}.gallery-grid,.gallery-page-grid{grid-template-columns:1fr !important}.brand-text{white-space:nowrap !important}.btn-lg{padding-inline:22px !important}.hide-mobile{display:none !important}}

/* ===== v20 final premium glass refinement ===== */
:root{
  --premium-navy:#061a32;
  --premium-blue:#0b5fab;
  --premium-cyan:#62d4ff;
  --premium-soft:#eef7ff;
  --premium-card:rgba(255,255,255,.72);
  --premium-border:rgba(255,255,255,.48);
  --premium-text:#0d2238;
}
body{
  background:
    radial-gradient(circle at 8% 8%, rgba(98,212,255,.16), transparent 28%),
    radial-gradient(circle at 92% 20%, rgba(11,95,171,.12), transparent 30%),
    linear-gradient(180deg,#f7fbff 0%,#eef7ff 45%,#f9fcff 100%) !important;
  color:var(--premium-text) !important;
}
body:not(.page-home)::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background-image:linear-gradient(rgba(11,95,171,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(11,95,171,.04) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(#000,transparent 76%);
}
.site-header{
  background:rgba(6,26,50,.30) !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
  backdrop-filter:blur(22px) saturate(160%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(160%) !important;
  box-shadow:0 18px 60px rgba(6,26,50,.13) !important;
}
.brand-text{
  color:#fff !important;
  text-shadow:0 2px 14px rgba(0,0,0,.28);
  font-weight:900 !important;
  letter-spacing:-.025em !important;
}
.site-nav a:not(.btn){color:rgba(255,255,255,.92) !important;text-shadow:0 2px 10px rgba(0,0,0,.18)}
.site-nav a:not(.btn):hover,.site-nav a.active:not(.btn){background:rgba(255,255,255,.16) !important;color:#fff !important}
.language-switch select{
  background:rgba(255,255,255,.18) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.28) !important;
  box-shadow:none !important;
}
.language-switch select option{color:#0d2238;background:#fff}
.nav-toggle{background:rgba(255,255,255,.16) !important;color:#fff !important;border-color:rgba(255,255,255,.24) !important}
.btn-primary{background:linear-gradient(135deg,#0b6ecc,#13a7d8) !important;color:#fff !important;box-shadow:0 18px 44px rgba(11,110,204,.26) !important}
.btn-secondary{background:rgba(255,255,255,.86) !important;color:#0b315f !important;border-color:rgba(255,255,255,.5) !important}
.hero-ref-copy{
  background:linear-gradient(135deg,rgba(6,26,50,.38),rgba(255,255,255,.10)) !important;
  border:1px solid rgba(255,255,255,.24) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.24) !important;
  backdrop-filter:blur(18px) saturate(140%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(140%) !important;
}
.hero-ref-copy h1{color:#fff !important;text-shadow:0 16px 44px rgba(0,0,0,.24)}
.hero-ref-copy p{color:rgba(255,255,255,.92) !important}

/* inner page banners: totally new glass cinematic style */
body:not(.page-home) .page-hero,
body:not(.page-home) .premium-page-hero{
  min-height:420px !important;
  height:auto !important;
  padding:132px 0 82px !important;
  display:flex !important;
  align-items:flex-end !important;
  color:#fff !important;
  border-bottom:0 !important;
  isolation:isolate;
  background-color:#061a32 !important;
  background-size:cover !important;
  background-position:center !important;
}
body:not(.page-home) .page-hero::before,
body:not(.page-home) .premium-page-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:0 !important;
  background:
    linear-gradient(90deg,rgba(6,26,50,.88),rgba(6,26,50,.58) 48%,rgba(11,95,171,.18)),
    linear-gradient(180deg,rgba(6,26,50,.18),rgba(6,26,50,.68)) !important;
  border:0 !important;
  backdrop-filter:none !important;
  z-index:0 !important;
}
body:not(.page-home) .page-hero::after,
body:not(.page-home) .premium-page-hero::after{
  content:"" !important;
  position:absolute !important;
  left:max(22px,calc((100% - var(--container))/2)) !important;
  right:max(22px,calc((100% - var(--container))/2)) !important;
  bottom:42px !important;
  top:auto !important;
  width:auto !important;
  height:calc(100% - 150px) !important;
  border-radius:34px !important;
  background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.06)) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.22) !important;
  backdrop-filter:blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(130%) !important;
  transform:none !important;
  z-index:1 !important;
}
body:not(.page-home) .page-hero .container,
body:not(.page-home) .premium-page-hero .container{
  position:relative !important;
  z-index:2 !important;
  margin-inline:auto !important;
  width:min(var(--container),calc(100% - 44px)) !important;
  padding:38px 44px !important;
}
body:not(.page-home) .page-hero .eyebrow,
body:not(.page-home) .premium-page-hero .eyebrow{
  color:#d9f5ff !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.22) !important;
}
body:not(.page-home) .page-hero h1,
body:not(.page-home) .premium-page-hero h1{
  color:#fff !important;
  font-size:clamp(2.35rem,4.8vw,4.45rem) !important;
  max-width:880px !important;
  letter-spacing:-.055em !important;
}
body:not(.page-home) .page-hero p,
body:not(.page-home) .premium-page-hero p{color:rgba(255,255,255,.9) !important;max-width:760px !important}

/* relevant banner photos */
.page-about .page-hero{background-image:url('../images/placeholder-empty.svg') !important}
.page-services .page-hero{background-image:url('../images/placeholder-empty.svg') !important}
.page-technology .page-hero{background-image:url('../images/placeholder-empty.svg') !important}
.page-capacity .page-hero{background-image:url('../images/placeholder-empty.svg') !important}
.page-gallery .page-hero{background-image:url('../images/placeholder-empty.svg') !important}
.page-contact .page-hero{background-image:url('../images/placeholder-empty.svg') !important}

/* sections + glass cards */
.section{background:transparent !important;padding:92px 0 !important}
.section-alt{background:linear-gradient(135deg,rgba(255,255,255,.42),rgba(235,247,255,.36)) !important}
.section-heading h2,.contact-card h2,.feature-card h2,.card h3,.cta-wrap h2{
  color:#08284b !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
}
.section-heading h2{font-size:clamp(2rem,3.6vw,3.4rem) !important}
.section-heading p,.card p,.feature-card p,.contact-card,.lead{color:#53677d !important;font-size:1rem;line-height:1.75}
.card,.feature-card,.contact-card,.cta-wrap,.feature-strip{
  background:var(--premium-card) !important;
  border:1px solid var(--premium-border) !important;
  backdrop-filter:blur(20px) saturate(150%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(150%) !important;
  box-shadow:0 26px 80px rgba(8,35,68,.12) !important;
}
.feature-card{
  border-radius:32px !important;
  padding:20px !important;
  gap:28px !important;
  overflow:hidden !important;
}
.service-card img,.feature-card img,.split-media img,.about-photo img,.gallery-grid img,.gallery-page-grid img{
  border-radius:30px !important;
  border:1px solid rgba(255,255,255,.58) !important;
  box-shadow:0 24px 70px rgba(8,35,68,.16) !important;
  object-fit:cover !important;
  object-position:center !important;
}
.feature-card img{height:280px !important;min-height:280px !important;align-self:stretch !important}
.split-media,.about-photo{position:relative}
.split-media::after,.about-photo::after{
  content:"";position:absolute;inset:auto -8px -8px 26px;height:28%;border-radius:999px;background:rgba(11,95,171,.16);filter:blur(26px);z-index:-1;
}
.gallery-page-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;align-items:stretch !important}
.gallery-page-grid img{
  width:100% !important;
  height:260px !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
}
.gallery-grid img{height:260px !important;aspect-ratio:auto !important}

/* Contact location polishing */
.contact-card .contact-list li{padding:10px 0;border-bottom:1px solid rgba(8,35,68,.08)}
.contact-card .contact-list li strong{display:inline-block;color:#08284b;font-weight:900;min-width:88px}
.contact-map{margin-top:34px !important}
.contact-map iframe{height:270px !important;border-radius:22px !important}

@media(max-width:980px){
  .site-nav{background:rgba(6,26,50,.84) !important;border:1px solid rgba(255,255,255,.16) !important}
  .site-nav a:not(.btn){color:#fff !important}
  body:not(.page-home) .page-hero,body:not(.page-home) .premium-page-hero{min-height:380px !important;padding:112px 0 64px !important}
  body:not(.page-home) .page-hero::after,body:not(.page-home) .premium-page-hero::after{left:16px !important;right:16px !important;bottom:26px !important;height:calc(100% - 132px) !important;border-radius:26px !important}
  body:not(.page-home) .page-hero .container,body:not(.page-home) .premium-page-hero .container{width:calc(100% - 32px) !important;padding:30px 28px !important}
  .feature-card{grid-template-columns:1fr !important}
  .feature-card img{height:250px !important;min-height:250px !important}
  .gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:640px){
  .brand-logo{width:48px !important;height:48px !important}.brand-text{font-size:.8rem !important;max-width:calc(100vw - 190px) !important}
  body:not(.page-home) .page-hero,body:not(.page-home) .premium-page-hero{min-height:360px !important;padding:104px 0 58px !important}
  body:not(.page-home) .page-hero .container,body:not(.page-home) .premium-page-hero .container{padding:26px 22px !important}
  body:not(.page-home) .page-hero h1,body:not(.page-home) .premium-page-hero h1{font-size:clamp(2rem,10vw,3rem) !important}
  .section{padding:70px 0 !important}.section-heading{text-align:left !important}.feature-card img,.gallery-page-grid img,.gallery-grid img{height:220px !important;min-height:220px !important}.gallery-page-grid{grid-template-columns:1fr !important}
  .contact-map{margin-top:28px !important}.contact-map iframe{height:245px !important}
}
html[dir="rtl"] body:not(.page-home) .page-hero .container,
html[dir="rtl"] body:not(.page-home) .premium-page-hero .container{direction:rtl;text-align:right}

/* =========================================================
   V21 — Cinematic Glass Premium Redesign Overrides
   ========================================================= */
:root{
  --v21-navy:#061522;
  --v21-blue:#0a2438;
  --v21-blue-2:#0e324d;
  --v21-ice:#8ee5ff;
  --v21-cyan:#45c9ff;
  --v21-text:#eaf7ff;
  --v21-muted:rgba(234,247,255,.76);
  --v21-glass:rgba(255,255,255,.095);
  --v21-border:rgba(255,255,255,.16);
  --v21-shadow:0 30px 90px rgba(0,0,0,.28);
}
html{background:var(--v21-navy)}
body{
  background:
    radial-gradient(circle at 12% 0%, rgba(69,201,255,.14), transparent 34%),
    radial-gradient(circle at 88% 15%, rgba(142,229,255,.10), transparent 30%),
    linear-gradient(180deg,#061522 0%,#0a2033 38%,#061522 100%) !important;
  color:var(--v21-text) !important;
}
body:not(.page-home) main{background:transparent!important;}
.site-header{
  position:fixed!important;top:14px!important;left:0!important;right:0!important;z-index:999!important;
  width:min(1180px,calc(100% - 32px))!important;margin:auto!important;
  background:linear-gradient(135deg,rgba(6,21,34,.56),rgba(255,255,255,.07))!important;
  border:1px solid rgba(255,255,255,.14)!important;border-radius:24px!important;
  backdrop-filter:blur(22px) saturate(140%)!important;-webkit-backdrop-filter:blur(22px) saturate(140%)!important;
  box-shadow:0 22px 70px rgba(0,0,0,.28)!important;min-height:72px!important;
}
.nav-wrap{min-height:72px!important;display:flex!important;align-items:center!important;gap:16px!important;}
.brand{min-width:0!important;display:flex!important;align-items:center!important;gap:10px!important;}
.brand-logo{width:48px!important;height:48px!important;filter:drop-shadow(0 10px 24px rgba(0,0,0,.35));}
.brand-text{color:#fff!important;font-weight:850!important;letter-spacing:-.035em!important;font-size:clamp(.93rem,1.25vw,1.1rem)!important;text-shadow:0 1px 14px rgba(69,201,255,.25)!important;white-space:nowrap!important;max-width:none!important;}
.site-nav{margin-left:auto!important;display:flex!important;align-items:center!important;gap:3px!important;}
.site-nav a{color:rgba(234,247,255,.82)!important;background:transparent!important;font-weight:750!important;font-size:.93rem!important;border:1px solid transparent!important;white-space:nowrap!important;}
.site-nav a:hover,.site-nav a.active{color:#fff!important;background:rgba(255,255,255,.11)!important;border-color:rgba(255,255,255,.16)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)!important;}
.site-nav .btn,.btn-primary{background:linear-gradient(135deg,#7fdfff,#2fb8ff)!important;color:#052033!important;border:0!important;box-shadow:0 16px 38px rgba(47,184,255,.25)!important;font-weight:900!important;white-space:nowrap!important;}
.language-switch{order:20!important;margin-left:8px!important;}
.language-switch select{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;padding:10px 14px!important;font-weight:850!important;backdrop-filter:blur(14px)!important;}
.language-switch select option{color:#071826;background:#fff;}
.nav-toggle{order:30!important;background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:16px!important;}

/* Home: remove ordinary box feeling and make content premium glass */
.hero-ref{background:#061522!important;}
.hero-ref-overlay{background:
  radial-gradient(circle at 72% 18%,rgba(69,201,255,.22),transparent 34%),
  linear-gradient(90deg,rgba(4,15,28,.92) 0%,rgba(4,18,33,.62) 46%,rgba(4,18,33,.18) 100%),
  linear-gradient(180deg,rgba(4,18,33,.22),rgba(4,18,33,.88))!important;}
.hero-ref-copy{padding:34px!important;border-radius:34px!important;background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(255,255,255,.045))!important;border:1px solid rgba(255,255,255,.14)!important;backdrop-filter:blur(20px) saturate(140%)!important;-webkit-backdrop-filter:blur(20px) saturate(140%)!important;box-shadow:var(--v21-shadow)!important;}
.hero-ref-copy h1{color:#fff!important;text-shadow:0 0 32px rgba(69,201,255,.18)!important;}
.hero-ref-copy p{color:rgba(234,247,255,.88)!important;}

/* Cinematic glass inner page banners */
.page-hero.premium-page-hero,.premium-page-hero{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;
  margin:0!important;padding:180px 0 86px!important;min-height:460px!important;
  background:#061522!important;color:#fff!important;border:0!important;
}
.premium-page-hero:before{content:"";position:absolute;inset:0;z-index:-3;background-size:cover!important;background-position:center!important;transform:scale(1.03);filter:saturate(1.04) contrast(1.06);}
.premium-page-hero:after{content:"";position:absolute;inset:0;z-index:-2;background:
  radial-gradient(circle at 80% 18%,rgba(69,201,255,.25),transparent 34%),
  radial-gradient(circle at 14% 72%,rgba(127,223,255,.13),transparent 34%),
  linear-gradient(180deg,rgba(4,15,28,.58) 0%,rgba(4,16,30,.82) 72%,#061522 100%);
}
.premium-page-hero .container{position:relative;max-width:920px!important;margin-left:auto!important;margin-right:auto!important;padding:38px 42px!important;border-radius:36px!important;background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.055))!important;border:1px solid rgba(255,255,255,.16)!important;box-shadow:0 30px 90px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.12)!important;backdrop-filter:blur(22px) saturate(145%)!important;-webkit-backdrop-filter:blur(22px) saturate(145%)!important;}
.premium-page-hero .container:before{content:"";position:absolute;inset:-1px;border-radius:36px;padding:1px;background:linear-gradient(135deg,rgba(142,229,255,.7),transparent 30%,rgba(255,255,255,.25));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
.premium-page-hero .eyebrow{display:inline-flex!important;align-items:center!important;gap:8px!important;padding:8px 14px!important;border-radius:999px!important;background:rgba(127,223,255,.13)!important;color:#aeeeff!important;border:1px solid rgba(127,223,255,.22)!important;margin-bottom:18px!important;letter-spacing:.16em!important;text-transform:uppercase!important;font-size:.78rem!important;font-weight:900!important;}
.premium-page-hero h1{font-size:clamp(2.35rem,5.7vw,5rem)!important;line-height:.98!important;letter-spacing:-.065em!important;color:#fff!important;margin:0 0 18px!important;text-shadow:0 18px 60px rgba(0,0,0,.35),0 0 28px rgba(69,201,255,.14)!important;text-wrap:balance!important;}
.premium-page-hero p,.premium-page-hero .lead{font-size:clamp(1.02rem,1.75vw,1.24rem)!important;line-height:1.75!important;color:rgba(234,247,255,.86)!important;max-width:760px!important;margin:0!important;}
body.page-about .premium-page-hero:before{background-image:url('../images/placeholder-empty.svg')!important;}
body.page-services .premium-page-hero:before{background-image:url('../images/placeholder-empty.svg')!important;}
body.page-technology .premium-page-hero:before{background-image:url('../images/placeholder-empty.svg')!important;}
body.page-capacity .premium-page-hero:before{background-image:url('../images/placeholder-empty.svg')!important;}
body.page-gallery .premium-page-hero:before{background-image:url('../images/placeholder-empty.svg')!important;}
body.page-contact .premium-page-hero:before{background-image:url('../images/placeholder-empty.svg')!important;}

/* Premium sections and cards */
.section{background:transparent!important;position:relative!important;}
.section-alt{background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))!important;}
.section-heading h2,.split-copy h2,.contact-card h2,.cta-wrap h2{color:#fff!important;font-weight:900!important;letter-spacing:-.055em!important;text-shadow:0 10px 34px rgba(0,0,0,.22)!important;}
.section-heading p,.split-copy p,.card p,.contact-card p,.footer-links li{color:rgba(234,247,255,.74)!important;line-height:1.75!important;}
.card,.service-card,.feature-card,.contact-card,.icon-card,.cta-wrap,.feature-strip,.submission-card{
  background:linear-gradient(135deg,rgba(255,255,255,.105),rgba(255,255,255,.045))!important;
  border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;border-radius:28px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22)!important;backdrop-filter:blur(18px) saturate(140%)!important;-webkit-backdrop-filter:blur(18px) saturate(140%)!important;
}
.card h3,.service-card h3,.feature-card h3,.icon-card h3,.contact-card h3,.card h4{color:#fff!important;font-weight:900!important;letter-spacing:-.03em!important;}
.split-media,.about-photo{position:relative!important;border-radius:34px!important;overflow:hidden!important;}
.split-media:before,.about-photo:before{content:"";position:absolute;inset:0;border-radius:34px;background:linear-gradient(135deg,rgba(127,223,255,.22),transparent 45%,rgba(255,255,255,.08));z-index:2;pointer-events:none;mix-blend-mode:screen;}
.split-media img,.about-photo img,.service-card img,.feature-card img{
  border-radius:34px!important;box-shadow:0 28px 90px rgba(0,0,0,.28)!important;border:1px solid rgba(255,255,255,.12)!important;
  object-fit:cover!important;filter:saturate(1.03) contrast(1.03)!important;
}
.service-card img,.feature-card img{border-radius:28px 28px 18px 18px!important;height:260px!important;}
.card-body{color:#fff!important;}

/* Gallery image sizing: no stretched look */
.gallery-page-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:20px!important;}
.gallery-page-grid img,.gallery-grid img{
  width:100%!important;height:clamp(230px,26vw,340px)!important;aspect-ratio:4/3!important;object-fit:cover!important;object-position:center!important;border-radius:30px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.26)!important;border:1px solid rgba(255,255,255,.13)!important;background:#0a2438!important;
}

/* Contact location spacing/title */
.contact-card h3,.contact-card h4{font-weight:950!important;color:#fff!important;padding:12px 16px!important;border-radius:16px!important;background:rgba(255,255,255,.09)!important;border:1px solid rgba(255,255,255,.12)!important;display:inline-flex!important;}
.contact-map{margin-top:28px!important;}

.site-footer{background:linear-gradient(180deg,rgba(3,12,22,.55),#030b14)!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.10)!important;}
.site-footer h3,.site-footer h4,.site-footer a{color:#fff!important;}
.floating-whatsapp{background:linear-gradient(135deg,#7fdfff,#2fb8ff)!important;color:#052033!important;font-weight:900!important;box-shadow:0 18px 50px rgba(47,184,255,.25)!important;}

[dir="rtl"] .premium-page-hero .container{text-align:right!important;}
[dir="rtl"] .site-nav{margin-left:0!important;margin-right:auto!important;}
[dir="rtl"] .brand{flex-direction:row-reverse!important;}

@media (max-width:980px){
  .site-header{top:10px!important;width:min(100% - 22px,1180px)!important;border-radius:20px!important;}
  .brand-text{font-size:.9rem!important;max-width:calc(100vw - 210px)!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .language-switch{margin-left:auto!important;order:20!important;}
  .nav-toggle{order:21!important;display:inline-grid!important;place-items:center!important;}
  .site-nav{position:fixed!important;left:11px!important;right:11px!important;top:88px!important;display:none!important;flex-direction:column!important;align-items:stretch!important;background:rgba(6,21,34,.88)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:24px!important;backdrop-filter:blur(22px)!important;padding:16px!important;margin:0!important;box-shadow:0 26px 80px rgba(0,0,0,.32)!important;}
  .site-nav.open{display:flex!important;}
  .site-nav a{width:100%!important;text-align:center!important;}
  .premium-page-hero{padding:150px 0 64px!important;min-height:430px!important;}
  .premium-page-hero .container{padding:30px 26px!important;border-radius:28px!important;}
  .gallery-page-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width:640px){
  .site-header{min-height:64px!important;}
  .nav-wrap{min-height:64px!important;gap:8px!important;}
  .brand-logo{width:42px!important;height:42px!important;}
  .brand-text{font-size:.78rem!important;max-width:calc(100vw - 188px)!important;}
  .language-switch select{padding:8px 10px!important;font-size:.78rem!important;max-width:104px!important;}
  .premium-page-hero{padding:132px 0 52px!important;min-height:390px!important;}
  .premium-page-hero .container{padding:26px 20px!important;border-radius:24px!important;}
  .premium-page-hero h1{font-size:clamp(2.05rem,11vw,3.35rem)!important;}
  .hero-ref-copy{padding:24px!important;border-radius:26px!important;}
  .gallery-page-grid{grid-template-columns:1fr!important;}
  .gallery-page-grid img,.gallery-grid img{height:250px!important;border-radius:24px!important;}
  .service-card img,.feature-card img{height:230px!important;}
}

/* ===== v22: cleaner premium banners without title frame + readability polish ===== */
:root{
  --v22-ink:#06182d;
  --v22-blue:#082443;
  --v22-cyan:#75d8ff;
  --v22-muted:#dbefff;
}

body:not(.page-home) .page-hero,
body:not(.page-home) .premium-page-hero{
  min-height:430px !important;
  padding:150px 0 86px !important;
  align-items:flex-end !important;
  background-color:#071c34 !important;
  color:#fff !important;
}

/* Remove the box/frame around banner titles completely */
body:not(.page-home) .page-hero::after,
body:not(.page-home) .premium-page-hero::after{
  display:none !important;
  content:none !important;
}

/* More elegant cinematic overlay, no visible border */
body:not(.page-home) .page-hero::before,
body:not(.page-home) .premium-page-hero::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 82% 18%,rgba(95,211,255,.30),transparent 30%),
    radial-gradient(circle at 14% 82%,rgba(255,255,255,.12),transparent 32%),
    linear-gradient(90deg,rgba(3,14,28,.94) 0%,rgba(5,25,47,.78) 43%,rgba(5,25,47,.36) 100%),
    linear-gradient(180deg,rgba(4,16,31,.20),rgba(4,16,31,.84)) !important;
  border:0 !important;
  backdrop-filter:none !important;
  z-index:0 !important;
}

/* Subtle glass shine only, not a box around title */
body:not(.page-home) .page-hero .container,
body:not(.page-home) .premium-page-hero .container{
  position:relative !important;
  z-index:2 !important;
  margin-inline:auto !important;
  width:min(var(--container),calc(100% - 44px)) !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
body:not(.page-home) .page-hero .container::before,
body:not(.page-home) .premium-page-hero .container::before{
  content:"";
  position:absolute;
  left:-26px;
  top:-24px;
  width:min(680px,86vw);
  height:calc(100% + 48px);
  border-radius:34px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.025));
  backdrop-filter:blur(10px) saturate(125%);
  -webkit-backdrop-filter:blur(10px) saturate(125%);
  box-shadow:0 30px 90px rgba(0,0,0,.16);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.78) 64%,transparent 100%);
  z-index:-1;
  pointer-events:none;
}

body:not(.page-home) .page-hero .eyebrow,
body:not(.page-home) .premium-page-hero .eyebrow{
  display:inline-flex !important;
  color:#c9f3ff !important;
  background:rgba(117,216,255,.12) !important;
  border:1px solid rgba(117,216,255,.22) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.10) !important;
}
body:not(.page-home) .page-hero h1,
body:not(.page-home) .premium-page-hero h1{
  color:#fff !important;
  font-size:clamp(2.55rem,5.2vw,5rem) !important;
  line-height:.98 !important;
  font-weight:900 !important;
  letter-spacing:-.07em !important;
  max-width:880px !important;
  text-shadow:0 4px 22px rgba(0,0,0,.42),0 0 42px rgba(117,216,255,.16) !important;
  margin-top:16px !important;
}
body:not(.page-home) .page-hero p,
body:not(.page-home) .premium-page-hero p,
body:not(.page-home) .page-hero .lead,
body:not(.page-home) .premium-page-hero .lead{
  color:rgba(238,248,255,.94) !important;
  font-size:clamp(1.02rem,1.55vw,1.22rem) !important;
  line-height:1.72 !important;
  max-width:770px !important;
  text-shadow:0 3px 16px rgba(0,0,0,.34) !important;
}

/* Better page body readability: dark text on light glass only */
body:not(.page-home) main{
  background:
    radial-gradient(circle at 10% 0%,rgba(117,216,255,.18),transparent 28%),
    linear-gradient(180deg,#eef8ff 0%,#f7fbff 42%,#eef7ff 100%) !important;
}
.section-heading h2,.contact-card h2,.feature-card h2,.card h3,.cta-wrap h2,.split-copy h2,.about-copy h2{
  color:#06182d !important;
  text-shadow:none !important;
}
.section-heading p,.card p,.feature-card p,.contact-card p,.split-copy p,.about-copy p,.lead,li{
  color:#40596f !important;
}
.card,.feature-card,.contact-card,.cta-wrap,.feature-strip,.info-box,.stat-card{
  background:rgba(255,255,255,.72) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:0 24px 70px rgba(8,35,68,.10) !important;
}
.card:hover,.feature-card:hover,.contact-card:hover{
  transform:translateY(-5px) !important;
  box-shadow:0 32px 90px rgba(8,35,68,.16) !important;
}

/* Dark sections need white text */
.gallery-band,
.cta-dark,
.footer,
.site-footer{
  color:#fff !important;
}
.gallery-band h2,.gallery-band h3,.gallery-band p,.cta-dark h2,.cta-dark p,.site-footer h2,.site-footer h3,.site-footer p,.site-footer a{
  color:#fff !important;
}

@media (max-width:980px){
  body:not(.page-home) .page-hero,
  body:not(.page-home) .premium-page-hero{
    min-height:370px !important;
    padding:122px 0 66px !important;
  }
  body:not(.page-home) .page-hero .container::before,
  body:not(.page-home) .premium-page-hero .container::before{
    left:-18px;top:-18px;height:calc(100% + 36px);border-radius:28px;
  }
}
@media (max-width:640px){
  body:not(.page-home) .page-hero,
  body:not(.page-home) .premium-page-hero{
    min-height:350px !important;
    padding:112px 0 56px !important;
  }
  body:not(.page-home) .page-hero h1,
  body:not(.page-home) .premium-page-hero h1{
    font-size:clamp(2.15rem,11vw,3.25rem) !important;
    letter-spacing:-.055em !important;
  }
  body:not(.page-home) .page-hero .container,
  body:not(.page-home) .premium-page-hero .container{width:min(var(--container),calc(100% - 32px)) !important;}
}


/* ===== v23 fixes: home light body, header alignment, Arabic RTL completeness ===== */
.page-home main{
  background:
    radial-gradient(circle at 12% 0%, rgba(117,216,255,.18), transparent 30%),
    linear-gradient(180deg,#eef8ff 0%,#f8fcff 48%,#eef7ff 100%) !important;
  color:#06182d !important;
}
.page-home .section,
.page-home .section-alt,
.page-home .about-snapshot,
.page-home .cta-panel{
  background:transparent !important;
}
.page-home .section-heading h2,
.page-home .split-copy h2,
.page-home .about-copy h2,
.page-home .card h3,
.page-home .feature-item h3,
.page-home .cta-wrap h2{
  color:#06182d !important;
  text-shadow:none !important;
}
.page-home .section-heading p,
.page-home .split-copy p,
.page-home .about-copy p,
.page-home .card p,
.page-home .feature-item p,
.page-home .lead,
.page-home li{
  color:#40596f !important;
  text-shadow:none !important;
}
.page-home .feature-strip,
.page-home .card,
.page-home .icon-card,
.page-home .service-card,
.page-home .cta-wrap{
  background:rgba(255,255,255,.76) !important;
  border:1px solid rgba(255,255,255,.78) !important;
  color:#06182d !important;
  box-shadow:0 24px 70px rgba(8,35,68,.10) !important;
}
.page-home .gallery-band{
  background:
    radial-gradient(circle at 14% 10%,rgba(117,216,255,.18),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.64),rgba(235,247,255,.46)) !important;
  color:#06182d !important;
}
.page-home .gallery-band h2,
.page-home .gallery-band h3{
  color:#06182d !important;
  text-shadow:none !important;
}
.page-home .gallery-band p{color:#40596f !important;}

/* desktop header alignment */
.site-header{width:min(1240px,calc(100% - 28px)) !important;}
.nav-wrap{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;min-width:0 !important;}
.brand{flex:0 1 auto !important;min-width:0 !important;}
.brand-text{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.site-nav{display:flex !important;align-items:center !important;gap:6px !important;min-width:0 !important;flex:1 1 auto !important;justify-content:flex-end !important;}
.site-nav a:not(.btn){white-space:nowrap !important;padding:8px 9px !important;font-size:.9rem !important;}
.site-nav .btn,.btn-sm{white-space:nowrap !important;flex:0 0 auto !important;padding-inline:12px !important;}
.language-switch{flex:0 0 auto !important;margin-left:4px !important;display:flex !important;align-items:center !important;}
.language-switch select{height:40px !important;max-width:122px !important;min-width:104px !important;font-size:.86rem !important;}

/* RTL: logo must be on the right of business name */
html[dir="rtl"] body{direction:rtl;text-align:right;}
html[dir="rtl"] .brand{flex-direction:row !important;direction:rtl !important;}
html[dir="rtl"] .brand-logo{order:0 !important;}
html[dir="rtl"] .brand-text{order:1 !important;text-align:right !important;}
html[dir="rtl"] .site-nav{direction:rtl !important;justify-content:flex-start !important;}
html[dir="rtl"] .language-switch{margin-left:0 !important;margin-right:4px !important;}
html[dir="rtl"] .check-list li{padding-left:0 !important;padding-right:28px !important;}
html[dir="rtl"] .check-list li::before{left:auto !important;right:0 !important;}
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select{text-align:right !important;}
html[dir="rtl"] .hero-actions,
html[dir="rtl"] .cta-actions{justify-content:flex-start !important;}
html[dir="rtl"] .section-heading{text-align:right !important;}

@media (max-width:1180px){
  .site-nav a:not(.btn){font-size:.84rem !important;padding-inline:7px !important;}
  .site-nav .btn{padding-inline:10px !important;font-size:.82rem !important;}
  .brand-logo{width:44px !important;height:44px !important;}
  .brand-text{font-size:.88rem !important;max-width:220px !important;}
  .language-switch select{min-width:98px !important;max-width:108px !important;font-size:.8rem !important;}
}
@media (max-width:980px){
  .nav-wrap{display:grid !important;grid-template-columns:minmax(0,1fr) auto auto !important;gap:8px !important;}
  .brand{grid-column:1 !important;}
  .language-switch{grid-column:2 !important;grid-row:1 !important;margin-left:0 !important;}
  .nav-toggle{grid-column:3 !important;grid-row:1 !important;}
  .site-nav{display:none !important;position:fixed !important;left:11px !important;right:11px !important;top:88px !important;flex-direction:column !important;align-items:stretch !important;justify-content:flex-start !important;width:auto !important;}
  .site-nav.open{display:flex !important;}
  .site-nav a:not(.btn),.site-nav a{font-size:1rem !important;padding:12px 14px !important;text-align:center !important;}
  .brand-text{font-size:.86rem !important;max-width:calc(100vw - 190px) !important;}
  html[dir="rtl"] .nav-wrap{direction:rtl !important;}
  html[dir="rtl"] .brand{grid-column:1 !important;justify-self:start !important;}
  html[dir="rtl"] .language-switch{grid-column:2 !important;}
  html[dir="rtl"] .nav-toggle{grid-column:3 !important;}
  html[dir="rtl"] .site-nav{direction:rtl !important;text-align:right !important;}
}
@media (max-width:640px){
  .brand-text{font-size:.74rem !important;max-width:calc(100vw - 178px) !important;}
  .brand-logo{width:40px !important;height:40px !important;}
  .language-switch select{max-width:92px !important;min-width:86px !important;font-size:.74rem !important;padding-inline:8px !important;}
  .nav-toggle{width:42px !important;height:42px !important;padding:0 !important;}
}

/* ===== v24 final: remove title frames from home and internal banners ===== */
.hero-ref-copy,
.hero-ref-copy *{
  box-sizing:border-box;
}
.hero-ref-copy{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
  border-radius:0 !important;
}
.hero-ref-copy h1{
  color:#fff !important;
  text-shadow:0 22px 58px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.35) !important;
}
.hero-ref-copy p{
  color:rgba(255,255,255,.94) !important;
  text-shadow:0 10px 30px rgba(0,0,0,.45) !important;
}
body:not(.page-home) .page-hero::after,
body:not(.page-home) .premium-page-hero::after{
  display:none !important;
  content:none !important;
}
body:not(.page-home) .page-hero,
body:not(.page-home) .premium-page-hero{
  min-height:390px !important;
  padding:128px 0 78px !important;
  background-blend-mode:normal !important;
}
body:not(.page-home) .page-hero::before,
body:not(.page-home) .premium-page-hero::before{
  background:
    linear-gradient(90deg,rgba(4,18,36,.90) 0%,rgba(6,28,52,.72) 42%,rgba(10,57,91,.36) 100%),
    radial-gradient(circle at 18% 78%,rgba(87,202,255,.18),transparent 34%),
    linear-gradient(180deg,rgba(3,16,32,.20),rgba(3,16,32,.74)) !important;
}
body:not(.page-home) .page-hero .container,
body:not(.page-home) .premium-page-hero .container{
  padding:0 !important;
  max-width:var(--container) !important;
  width:min(var(--container),calc(100% - 44px)) !important;
}
body:not(.page-home) .page-hero .eyebrow,
body:not(.page-home) .premium-page-hero .eyebrow{
  background:transparent !important;
  border:0 !important;
  padding:0 0 12px 0 !important;
  color:#77d8ff !important;
  text-shadow:0 8px 24px rgba(0,0,0,.45) !important;
  letter-spacing:.16em !important;
}
body:not(.page-home) .page-hero h1,
body:not(.page-home) .premium-page-hero h1{
  color:#fff !important;
  text-shadow:0 22px 60px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.38) !important;
  margin-bottom:16px !important;
}
body:not(.page-home) .page-hero p,
body:not(.page-home) .premium-page-hero p,
body:not(.page-home) .page-hero .lead,
body:not(.page-home) .premium-page-hero .lead{
  color:rgba(255,255,255,.94) !important;
  text-shadow:0 12px 30px rgba(0,0,0,.50) !important;
}
@media (max-width:640px){
  body:not(.page-home) .page-hero,
  body:not(.page-home) .premium-page-hero{
    min-height:310px !important;
    padding:108px 0 54px !important;
  }
  .hero-ref-copy{padding:0 !important;}
}

/* Remove banner title frames on inner pages */
body:not(.page-home) .premium-page-hero .eyebrow,
body:not(.page-home) .page-hero .eyebrow{
background:transparent !important;
border:none !important;
box-shadow:none !important;
padding:0 !important;
border-radius:0 !important;
backdrop-filter:none !important;
}

/* ===== v26 fix: remove remaining inner banner frames completely ===== */
body:not(.page-home) .page-hero,
body:not(.page-home) .premium-page-hero{
  border-radius:0 !important;
  box-shadow:none !important;
  border:0 !important;
}
body:not(.page-home) .page-hero::after,
body:not(.page-home) .premium-page-hero::after,
body:not(.page-home) .page-hero .container::before,
body:not(.page-home) .premium-page-hero .container::before,
body:not(.page-home) .page-hero .container::after,
body:not(.page-home) .premium-page-hero .container::after{
  display:none !important;
  content:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body:not(.page-home) .page-hero .container,
body:not(.page-home) .premium-page-hero .container{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 !important;
}
body:not(.page-home) .page-hero .eyebrow,
body:not(.page-home) .premium-page-hero .eyebrow{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;
  padding:0 0 12px 0 !important;
}

/* v27 equal banner heights for gallery & contact */
.page-gallery .premium-page-hero,
.page-contact .premium-page-hero{
  min-height:310px !important;
  height:310px !important;
  overflow:hidden !important;
}
.page-gallery .premium-page-hero h1,
.page-contact .premium-page-hero h1{
  max-width:900px !important;
}


/* ===== v28: mobile RTL header and compact language switch fix ===== */
.brand-text{direction:ltr !important;text-align:left !important;}
.language-switch{position:relative !important;z-index:5 !important;}
.language-switch select{
  appearance:none !important;
  -webkit-appearance:none !important;
  text-align:center !important;
  text-align-last:center !important;
  cursor:pointer !important;
  line-height:1 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.10) !important;
}
@media (max-width:980px){
  .nav-wrap{grid-template-columns:minmax(0,1fr) 56px 42px !important;gap:7px !important;align-items:center !important;}
  .brand{min-width:0 !important;max-width:100% !important;overflow:hidden !important;display:flex !important;align-items:center !important;}
  .brand-text{white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:calc(100vw - 175px) !important;font-size:.82rem !important;line-height:1.05 !important;}
  .brand-logo{width:42px !important;height:42px !important;flex:0 0 auto !important;}
  .language-switch{width:56px !important;min-width:56px !important;margin:0 !important;justify-self:center !important;}
  .language-switch select{width:56px !important;min-width:56px !important;max-width:56px !important;height:34px !important;padding:0 !important;font-size:.72rem !important;font-weight:900 !important;border-radius:999px !important;}
  .nav-toggle{width:40px !important;height:40px !important;justify-self:end !important;}
  html[dir="rtl"] .nav-wrap{direction:rtl !important;}
  html[dir="rtl"] .brand{grid-column:1 !important;justify-self:stretch !important;direction:ltr !important;flex-direction:row !important;}
  html[dir="rtl"] .brand-logo{order:0 !important;}
  html[dir="rtl"] .brand-text{order:1 !important;direction:ltr !important;text-align:left !important;}
  html[dir="rtl"] .language-switch{grid-column:2 !important;margin:0 !important;}
  html[dir="rtl"] .nav-toggle{grid-column:3 !important;justify-self:end !important;}
}
@media (max-width:420px){
  .nav-wrap{grid-template-columns:minmax(0,1fr) 50px 38px !important;gap:5px !important;}
  .brand-logo{width:38px !important;height:38px !important;}
  .brand-text{font-size:.68rem !important;max-width:calc(100vw - 158px) !important;}
  .language-switch{width:50px !important;min-width:50px !important;}
  .language-switch select{width:50px !important;min-width:50px !important;max-width:50px !important;height:32px !important;font-size:.68rem !important;}
  .nav-toggle{width:38px !important;height:38px !important;}
}


/* ===== v29: final Arabic mobile header + contact detail fixes ===== */
.language-switch{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
}
.language-switch select{
  width:58px!important;
  min-width:58px!important;
  max-width:58px!important;
  height:34px!important;
  padding:0 8px!important;
  text-align:center!important;
  text-align-last:center!important;
  font-size:.76rem!important;
  line-height:34px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#08233d!important;
  border:1px solid rgba(8,35,61,.14)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.08)!important;
  appearance:auto!important;
  -webkit-appearance:menulist!important;
}
.site-header .brand{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
html[dir="rtl"] .site-header .brand{
  flex-direction:row!important;
  direction:rtl!important;
  text-align:right!important;
}
html[dir="rtl"] .brand-logo{
  flex:0 0 auto!important;
}
html[dir="rtl"] .brand-text{
  direction:rtl!important;
  unicode-bidi:isolate!important;
  text-align:right!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
html[dir="rtl"] .nav-wrap{
  direction:rtl!important;
}
html[dir="rtl"] .language-switch,
html[dir="rtl"] .nav-toggle{
  direction:ltr!important;
}
html[dir="rtl"] .language-switch select{
  padding:0 8px!important;
  direction:ltr!important;
}
.phone-link,.email-link,.whatsapp-link,.ltr-value,
.footer-links a[href^="tel:"], .footer-links a[href^="mailto:"], .contact-list a[href^="tel:"], .contact-list a[href^="mailto:"]{
  direction:ltr!important;
  unicode-bidi:isolate!important;
  display:inline-block!important;
}
.location-text,
.contact-list li,
.footer-links li{
  unicode-bidi:isolate!important;
}
html[dir="rtl"] .contact-list,
html[dir="rtl"] .footer-links{
  text-align:right!important;
}
html[dir="rtl"] .contact-list li,
html[dir="rtl"] .footer-links li{
  direction:rtl!important;
}
html[dir="rtl"] .contact-list li strong{
  margin-left:6px!important;
  margin-right:0!important;
}
@media(max-width:980px){
  .nav-wrap{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    align-items:center!important;
    gap:8px!important;
  }
  .brand{grid-column:1!important;max-width:100%!important;}
  .language-switch{grid-column:2!important;margin:0!important;}
  .nav-toggle{grid-column:3!important;margin:0!important;}
  html[dir="rtl"] .brand{grid-column:1!important;justify-self:start!important;}
  html[dir="rtl"] .language-switch{grid-column:2!important;margin:0!important;}
  html[dir="rtl"] .nav-toggle{grid-column:3!important;margin:0!important;}
}
@media(max-width:640px){
  .brand-logo{width:40px!important;height:40px!important;}
  .brand-text{font-size:.76rem!important;max-width:calc(100vw - 142px)!important;}
  html[dir="rtl"] .brand-text{font-size:.73rem!important;max-width:calc(100vw - 142px)!important;}
  .language-switch select{width:52px!important;min-width:52px!important;max-width:52px!important;height:32px!important;font-size:.72rem!important;}
}

/* ===== v31: sync Gallery and Contact banner height with Capacity ===== */
.page-gallery .page-hero.premium-page-hero,
.page-contact .page-hero.premium-page-hero{
  min-height:430px !important;
  height:auto !important;
  padding:150px 0 86px !important;
  display:flex !important;
  align-items:flex-end !important;
  overflow:hidden !important;
}
@media (max-width:980px){
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:370px !important;
    height:auto !important;
    padding:122px 0 66px !important;
  }
}
@media (max-width:640px){
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:350px !important;
    height:auto !important;
    padding:112px 0 56px !important;
  }
}

/* ===== v32: FINAL exact banner height sync — Gallery & Contact = Capacity ===== */
.page-capacity .page-hero.premium-page-hero,
.page-gallery .page-hero.premium-page-hero,
.page-contact .page-hero.premium-page-hero{
  min-height:390px !important;
  height:auto !important;
  padding:128px 0 78px !important;
  display:flex !important;
  align-items:flex-end !important;
  overflow:hidden !important;
}
@media (max-width:980px){
  .page-capacity .page-hero.premium-page-hero,
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:370px !important;
    height:auto !important;
    padding:122px 0 66px !important;
  }
}
@media (max-width:640px){
  .page-capacity .page-hero.premium-page-hero,
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:310px !important;
    height:auto !important;
    padding:108px 0 54px !important;
  }
}

/* ===== v33: FINAL sync — Gallery & Contact banner height = Technology ===== */
.page-gallery .page-hero.premium-page-hero,
.page-contact .page-hero.premium-page-hero{
  min-height:430px !important;
  height:auto !important;
  padding:150px 0 86px !important;
  display:flex !important;
  align-items:flex-end !important;
  overflow:hidden !important;
}
@media (max-width:980px){
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:370px !important;
    height:auto !important;
    padding:122px 0 66px !important;
  }
}
@media (max-width:640px){
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:350px !important;
    height:auto !important;
    padding:112px 0 56px !important;
  }
}

/* ===== v34: exact Technology/Gallery/Contact banner sync + stable tablet header ===== */
.page-technology .page-hero.premium-page-hero,
.page-gallery .page-hero.premium-page-hero,
.page-contact .page-hero.premium-page-hero{
  min-height:390px !important;
  height:auto !important;
  padding:128px 0 78px !important;
  display:flex !important;
  align-items:flex-end !important;
  overflow:hidden !important;
}
@media (max-width:980px){
  .page-technology .page-hero.premium-page-hero,
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:370px !important;
    height:auto !important;
    padding:122px 0 66px !important;
  }
}
@media (max-width:640px){
  .page-technology .page-hero.premium-page-hero,
  .page-gallery .page-hero.premium-page-hero,
  .page-contact .page-hero.premium-page-hero{
    min-height:310px !important;
    height:auto !important;
    padding:108px 0 54px !important;
  }
}

/* Prevent header crowding before mobile width */
@media (max-width:1220px){
  .site-header{width:min(100% - 22px,1180px) !important;top:10px !important;border-radius:20px !important;}
  .nav-wrap{display:grid !important;grid-template-columns:minmax(0,1fr) auto auto !important;align-items:center !important;gap:8px !important;min-height:68px !important;}
  .brand{grid-column:1 !important;min-width:0 !important;max-width:100% !important;overflow:hidden !important;display:flex !important;align-items:center !important;}
  .brand-logo{width:42px !important;height:42px !important;flex:0 0 auto !important;}
  .brand-text{font-size:.86rem !important;max-width:calc(100vw - 185px) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
  .language-switch{grid-column:2 !important;grid-row:1 !important;margin:0 !important;justify-self:center !important;z-index:20 !important;}
  .language-switch select{width:58px !important;min-width:58px !important;max-width:58px !important;height:34px !important;padding:0 8px !important;font-size:.74rem !important;text-align:center !important;text-align-last:center !important;direction:ltr !important;}
  .nav-toggle{grid-column:3 !important;grid-row:1 !important;display:inline-grid !important;place-items:center !important;width:40px !important;height:40px !important;margin:0 !important;justify-self:end !important;}
  .site-nav{display:none !important;position:fixed !important;left:11px !important;right:11px !important;top:88px !important;width:auto !important;flex-direction:column !important;align-items:stretch !important;justify-content:flex-start !important;background:rgba(6,21,34,.90) !important;border:1px solid rgba(255,255,255,.16) !important;border-radius:24px !important;backdrop-filter:blur(22px) !important;-webkit-backdrop-filter:blur(22px) !important;padding:16px !important;margin:0 !important;box-shadow:0 26px 80px rgba(0,0,0,.32) !important;z-index:1001 !important;}
  .site-nav.open{display:flex !important;}
  .site-nav a,.site-nav a:not(.btn){width:100% !important;text-align:center !important;font-size:1rem !important;padding:12px 14px !important;}
  .site-nav .btn{min-width:0 !important;}
  html[dir="rtl"] .nav-wrap{direction:rtl !important;}
  html[dir="rtl"] .brand{grid-column:1 !important;justify-self:stretch !important;direction:rtl !important;flex-direction:row !important;text-align:right !important;}
  html[dir="rtl"] .brand-logo{order:0 !important;}
  html[dir="rtl"] .brand-text{order:1 !important;direction:rtl !important;text-align:right !important;max-width:calc(100vw - 185px) !important;}
  html[dir="rtl"] .language-switch{grid-column:2 !important;margin:0 !important;direction:ltr !important;}
  html[dir="rtl"] .nav-toggle{grid-column:3 !important;justify-self:end !important;direction:ltr !important;}
}
@media (max-width:420px){
  .brand-text{font-size:.68rem !important;max-width:calc(100vw - 154px) !important;}
  html[dir="rtl"] .brand-text{font-size:.68rem !important;max-width:calc(100vw - 154px) !important;}
  .language-switch select{width:50px !important;min-width:50px !important;max-width:50px !important;font-size:.68rem !important;}
  .nav-toggle{width:38px !important;height:38px !important;}
}

/* v35 language dropdown fix: click opens beautiful options; language changes only after selection */
.language-switch.custom-language-switch{
  position:relative !important;
  overflow:visible !important;
  z-index:9999 !important;
  width:auto !important;
  min-width:auto !important;
}
.language-switch.custom-language-switch .native-language-select{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
  min-width:0 !important;
  max-width:0 !important;
  padding:0 !important;
  border:0 !important;
}
.lang-menu{position:relative;display:inline-flex;align-items:center;direction:ltr;z-index:10000;}
.lang-menu-btn{
  height:40px;
  min-width:60px;
  border:1px solid rgba(255,255,255,.65);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(242,249,255,.94));
  color:#08213f;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 10px;
  font-weight:900;
  font-size:.82rem;
  cursor:pointer;
  box-shadow:0 12px 28px rgba(0,22,48,.20), inset 0 1px 0 rgba(255,255,255,.75);
  -webkit-tap-highlight-color:transparent;
}
.lang-menu-btn svg{width:15px;height:15px;transition:transform .18s ease;}
.lang-menu.open .lang-menu-btn svg{transform:rotate(180deg);}
.lang-menu-list{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  min-width:142px;
  padding:7px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(235,247,255,.95));
  box-shadow:0 18px 45px rgba(0,20,45,.28);
  backdrop-filter:blur(16px);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px) scale(.98);
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
  pointer-events:none;
}
.lang-menu.open .lang-menu-list{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;}
.lang-menu-option{
  width:100%;
  border:0;
  background:transparent;
  color:#08213f;
  border-radius:13px;
  padding:10px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  font-size:.84rem;
  font-weight:800;
  text-align:left;
}
.lang-menu-option span{font-size:.78rem;font-weight:700;color:#506985;}
.lang-menu-option:hover,.lang-menu-option.active{background:linear-gradient(135deg,#e8f7ff,#d8f0ff);color:#031c35;}
html[dir="rtl"] .lang-menu-list{right:auto;left:0;}
@media(max-width:640px){
  .lang-menu-btn{height:34px;min-width:54px;font-size:.74rem;padding:0 8px;}
  .lang-menu-list{min-width:132px;top:calc(100% + 8px);}
  .lang-menu-option{padding:9px 10px;font-size:.8rem;}
}


/* ===== v38 mobile/header/language/image refinements ===== */
html.lang-pending body{visibility:hidden;}
html.lang-pending, html.lang-pending body{background:#ffffff;}
html.lang-pending *, html.lang-pending *::before, html.lang-pending *::after{transition:none !important;animation:none !important;}

/* keep home hero buttons on one line in mobile/tablet */
@media(max-width:980px){
  .page-home .hero-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
  }
  .page-home .hero-actions .btn{
    width:100% !important;
    min-width:0 !important;
    padding:12px 10px !important;
    text-align:center !important;
  }
}
@media(max-width:640px){
  .page-home .hero-actions{margin:22px 0 0 !important;}
  .page-home .hero-actions .btn{
    min-height:46px !important;
    font-size:.84rem !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
}

/* tidy mobile WhatsApp button */
.floating-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  line-height:1;
  white-space:nowrap;
}
@media(max-width:640px){
  .floating-whatsapp{
    right:12px !important;
    bottom:12px !important;
    min-width:116px !important;
    height:50px !important;
    padding:0 16px !important;
    border-radius:999px !important;
    font-size:.9rem !important;
    font-weight:800 !important;
    letter-spacing:0 !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .floating-whatsapp::before{content:none !important;}
}

/* smoother Arabic navigation/page switching */
html[dir="rtl"] .site-header,
html[dir="rtl"] .nav-wrap,
html[dir="rtl"] .site-nav,
html[dir="rtl"] .premium-page-hero,
html[dir="rtl"] .hero-ref,
html[dir="rtl"] .section,
html[dir="rtl"] .site-footer{
  transition:none !important;
}
html[dir="rtl"] .lang-menu{direction:rtl;}
html[dir="rtl"] .lang-menu-btn{direction:rtl;}
html[dir="rtl"] .lang-menu-option{direction:rtl;text-align:right;}
html[dir="rtl"] .floating-whatsapp{direction:ltr;}


/* ===== v39 remove floating WhatsApp only on mobile ===== */
@media(max-width:640px){
  .floating-whatsapp{
    display:none !important;
  }
}


/* ===== v40 mobile horizontal scroll + desktop Arabic language button fix ===== */
html,body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
*,*::before,*::after{box-sizing:border-box;}
img,svg,video,iframe{max-width:100%;}

.lang-menu-btn span{min-width:22px;text-align:center;}
html[dir="rtl"] .lang-menu-btn{direction:ltr !important;}
html[dir="rtl"] .lang-menu-btn span{direction:ltr !important;unicode-bidi:isolate !important;}

@media(max-width:1220px){
  .site-header{
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:calc(100vw - 22px) !important;
    max-width:calc(100vw - 22px) !important;
    overflow:visible !important;
  }
  .nav-wrap,.container,.section,.section-alt,main,.site-footer,.hero-ref,.premium-page-hero,.page-hero{
    max-width:100% !important;
  }
  .container{
    width:min(100% - 32px,1180px) !important;
  }
  .site-nav{
    left:11px !important;
    right:11px !important;
    width:auto !important;
    max-width:calc(100vw - 22px) !important;
  }
  .brand,.brand-text{min-width:0 !important;}
}

@media(max-width:640px){
  .container{width:min(100% - 24px,1180px) !important;}
  .hero-ref,.premium-page-hero,.page-hero,.section,.section-alt,.site-footer{
    overflow:hidden !important;
  }
  .hero-ref-media,.hero-ref-copy,.split,.about-grid,.cards,.gallery-grid,.contact-grid,.footer-grid{
    max-width:100% !important;
  }
  .btn,.hero-actions .btn{max-width:100% !important;}
}


/* ===== v41: reload/navigation stability fixes — no visual style changes ===== */
html:not(.page-ready) .site-header,
html:not(.page-ready) .nav-wrap,
html:not(.page-ready) .brand,
html:not(.page-ready) .brand-logo,
html:not(.page-ready) .brand-text,
html:not(.page-ready) .site-nav,
html:not(.page-ready) .site-nav a,
html:not(.page-ready) .language-switch,
html:not(.page-ready) .language-switch *,
html:not(.page-ready) .lang-menu,
html:not(.page-ready) .lang-menu *,
html:not(.page-ready) .hero-ref,
html:not(.page-ready) .hero-ref *,
html:not(.page-ready) .premium-page-hero,
html:not(.page-ready) .premium-page-hero *{
  transition:none !important;
  animation:none !important;
}
.language-switch{
  min-width:60px !important;
  min-height:40px !important;
}
.language-switch.custom-language-switch{
  width:60px !important;
  min-width:60px !important;
  min-height:40px !important;
}
@media(max-width:640px){
  .language-switch,
  .language-switch.custom-language-switch{
    width:54px !important;
    min-width:54px !important;
    min-height:34px !important;
  }
}
.hero-ref-bg,
.hero-ref-bg img{
  contain:layout paint;
  backface-visibility:hidden;
}
.site-header{
  backface-visibility:hidden;
  will-change:transform;
}

/* ===== v47.1: lock language button dimensions from first paint ===== */
.language-switch,
.language-switch.custom-language-switch{
  width:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  height:40px !important;
  min-height:40px !important;
  flex:0 0 60px !important;
}
.language-switch select,
.language-switch .native-language-select,
.lang-menu,
.lang-menu-btn{
  width:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  height:40px !important;
  min-height:40px !important;
}
.lang-menu-btn{
  padding:0 10px !important;
  flex:0 0 60px !important;
}
@media(max-width:640px){
  .language-switch,
  .language-switch.custom-language-switch{
    width:54px !important;
    min-width:54px !important;
    max-width:54px !important;
    height:34px !important;
    min-height:34px !important;
    flex-basis:54px !important;
  }
  .language-switch select,
  .language-switch .native-language-select,
  .lang-menu,
  .lang-menu-btn{
    width:54px !important;
    min-width:54px !important;
    max-width:54px !important;
    height:34px !important;
    min-height:34px !important;
  }
  .lang-menu-btn{
    padding:0 8px !important;
    flex-basis:54px !important;
  }
}


/* ===== v48: final micro-jump lock for language button + home banner ===== */
.language-switch.custom-language-switch,
.language-switch.custom-language-switch .lang-menu,
.language-switch.custom-language-switch .lang-menu-btn{
  box-sizing:border-box !important;
  inline-size:60px !important;
  min-inline-size:60px !important;
  max-inline-size:60px !important;
  block-size:40px !important;
  min-block-size:40px !important;
  max-block-size:40px !important;
  flex:0 0 60px !important;
  contain:layout paint !important;
}
.language-switch.custom-language-switch .lang-menu-btn{
  line-height:1 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}
.language-switch.custom-language-switch .lang-menu-btn svg{
  flex:0 0 15px !important;
}
.language-switch.custom-language-switch .native-language-select{
  position:absolute !important;
  inset:0 auto auto 0 !important;
  inline-size:60px !important;
  block-size:40px !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.page-home .hero-ref,
.page-home .hero-ref-bg,
.page-home .hero-ref-bg img{
  contain:layout paint size !important;
}
.page-home .hero-ref-bg{
  position:absolute !important;
  inset:0 !important;
  background:#061522 url('../images/home-banner-real.jpg') center/cover no-repeat !important;
}
.page-home .hero-ref-bg img{
  display:block !important;
  inline-size:100% !important;
  block-size:100% !important;
  aspect-ratio:16/9 !important;
  object-fit:cover !important;
  object-position:center !important;
  transform:translateZ(0) scale(1.005) !important;
}
@media(max-width:640px){
  .language-switch.custom-language-switch,
  .language-switch.custom-language-switch .lang-menu,
  .language-switch.custom-language-switch .lang-menu-btn{
    inline-size:54px !important;
    min-inline-size:54px !important;
    max-inline-size:54px !important;
    block-size:34px !important;
    min-block-size:34px !important;
    max-block-size:34px !important;
    flex-basis:54px !important;
  }
  .language-switch.custom-language-switch .native-language-select{
    inline-size:54px !important;
    block-size:34px !important;
  }
}

/* ===== v49: keep v48 stability but restore desktop layout and language dropdown ===== */
.language-switch.custom-language-switch,
.language-switch.custom-language-switch .lang-menu,
.language-switch.custom-language-switch .lang-menu-btn{
  contain:none !important;
  overflow:visible !important;
}
.language-switch.custom-language-switch .lang-menu-btn{
  overflow:hidden !important;
}
.language-switch.custom-language-switch .lang-menu-list{
  z-index:10050 !important;
}
.page-home .hero-ref{
  contain:none !important;
  min-height:clamp(620px,82vh,840px) !important;
}
.page-home .hero-ref-bg{
  contain:layout paint !important;
}
.page-home .hero-ref-bg img{
  contain:paint !important;
}
@media(min-width:981px){
  .page-home .hero-ref-inner{
    padding-top:150px !important;
    padding-bottom:96px !important;
  }
  .page-home .hero-ref-copy{
    max-width:720px !important;
  }
}

/* Mobile hero alignment refinement */
@media (max-width:640px){
  .hero-ref,.hero-ref-inner{
    min-height:520px !important;
  }
  .hero-ref-inner{
    padding:58px 0 28px !important;
    align-items:start !important;
  }
  .hero-ref-copy{
    margin-top:-8px !important;
  }
  .feature-strip-wrap{
    margin-top:-92px !important;
    position:relative;
    z-index:8;
  }
  .feature-strip{
    margin-top:0 !important;
  }
}

/* ===== v50 mobile home hero precision refinement ===== */
@media (max-width:640px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height:520px !important;
  }
  .page-home .hero-ref{
    align-items:start !important;
  }
  .page-home .hero-ref-inner{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    padding-top:132px !important;
    padding-bottom:28px !important;
  }
  .page-home .hero-ref-copy{
    margin-top:0 !important;
    transform:translateY(-46px) !important;
    padding:18px 0 0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .page-home .hero-ref-copy h1{
    margin-bottom:18px !important;
    line-height:.96 !important;
  }
  .page-home .hero-ref-copy p{
    margin-bottom:20px !important;
    line-height:1.62 !important;
  }
  .page-home .hero-actions{
    gap:10px !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-138px !important;
    position:relative !important;
    z-index:8 !important;
  }
  .page-home .feature-strip{
    margin-top:0 !important;
    overflow:hidden !important;
  }
}
@media (max-width:640px) and (max-height:820px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height:500px !important;
  }
  .page-home .hero-ref-inner{
    padding-top:126px !important;
  }
  .page-home .hero-ref-copy{
    transform:translateY(-74px) !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-162px !important;
  }
}
@media (max-width:380px){
  .page-home .hero-ref-copy h1{
    font-size:clamp(1.85rem,9.2vw,2.55rem) !important;
  }
  .page-home .hero-ref-copy p{
    font-size:.98rem !important;
  }
}

/* ===== v51: mobile hero balance - move content slightly down after v50 ===== */
@media (max-width:640px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height:540px !important;
  }
  .page-home .hero-ref-inner{
    padding-top:136px !important;
  }
  .page-home .hero-ref-copy{
    transform:translateY(-18px) !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-104px !important;
  }
}
@media (max-width:640px) and (max-height:820px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height:520px !important;
  }
  .page-home .hero-ref-inner{
    padding-top:132px !important;
  }
  .page-home .hero-ref-copy{
    transform:translateY(-34px) !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-124px !important;
  }
}
@media (max-width:380px){
  .page-home .hero-ref-copy{
    transform:translateY(-28px) !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-116px !important;
  }
}

/* ===== v52: iOS-sized mobile hero - shift content slightly lower ===== */
@media (max-width:640px) and (min-width:390px) and (min-height:850px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height:578px !important;
  }
  .page-home .hero-ref-inner{
    padding-top:168px !important;
  }
  .page-home .hero-ref-copy{
    transform:translateY(-6px) !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-72px !important;
  }
}


/* Final contact details alignment: keep Location row consistent with other rows */
.contact-card .contact-list li.contact-location-row,
.contact-card .contact-list li:has(.location-text){
  margin-top:0 !important;
  padding:10px 0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(8,35,68,.08) !important;
  border-radius:0 !important;
  background:transparent !important;
}
.contact-card .contact-list li.contact-location-row .location-text,
.contact-card .contact-list li:has(.location-text) .location-text{
  display:inline !important;
}


/* ===== v8 make WhatsApp text links clearly clickable ===== */
.contact-list a.whatsapp-click-link,
.footer-links a.whatsapp-click-link{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  color:#087f5b!important;
  font-weight:900!important;
  text-decoration:none!important;
  background:linear-gradient(135deg,rgba(37,211,102,.16),rgba(34,184,207,.10))!important;
  border:1px solid rgba(37,211,102,.34)!important;
  border-radius:999px!important;
  padding:7px 12px!important;
  box-shadow:0 8px 22px rgba(37,211,102,.14)!important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.contact-list a.whatsapp-click-link::after,
.footer-links a.whatsapp-click-link::after{
  content:'↗';
  font-size:.86em;
  line-height:1;
  opacity:.9;
}
.contact-list a.whatsapp-click-link:hover,
.footer-links a.whatsapp-click-link:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 28px rgba(37,211,102,.22)!important;
  background:linear-gradient(135deg,rgba(37,211,102,.24),rgba(34,184,207,.14))!important;
}
.contact-list a.whatsapp-click-link:focus-visible,
.footer-links a.whatsapp-click-link:focus-visible{
  outline:3px solid rgba(37,211,102,.35)!important;
  outline-offset:3px!important;
}
.site-footer .footer-links a.whatsapp-click-link{
  color:#ffffff!important;
  background:rgba(37,211,102,.18)!important;
  border-color:rgba(255,255,255,.28)!important;
}
html[dir="rtl"] .contact-list a.whatsapp-click-link::after,
html[dir="rtl"] .footer-links a.whatsapp-click-link::after{
  content:'↖';
}

/* ===== v9 subtle WhatsApp/Chat Now clickable text (not button style) ===== */
.contact-list a.whatsapp-click-link,
.footer-links a.whatsapp-click-link,
.site-footer .footer-links a.whatsapp-click-link{
  display:inline !important;
  width:auto !important;
  max-width:none !important;
  align-items:initial !important;
  gap:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:inherit !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-underline-offset:3px !important;
  transition:opacity .18s ease, text-decoration-color .18s ease !important;
}
.contact-list a.whatsapp-click-link{
  color:#136f4a !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-decoration-color:rgba(19,111,74,.45) !important;
}
.footer-links a.whatsapp-click-link,
.site-footer .footer-links a.whatsapp-click-link{
  color:#fff !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-decoration-color:rgba(255,255,255,.42) !important;
}
.contact-list a.whatsapp-click-link::after,
.footer-links a.whatsapp-click-link::after{
  content:none !important;
}
.contact-list a.whatsapp-click-link:hover,
.footer-links a.whatsapp-click-link:hover{
  transform:none !important;
  background:transparent !important;
  box-shadow:none !important;
  opacity:.78 !important;
  text-decoration-color:currentColor !important;
}
.contact-list a.whatsapp-click-link:focus-visible,
.footer-links a.whatsapp-click-link:focus-visible{
  outline:2px solid currentColor !important;
  outline-offset:3px !important;
}

/* ===== v10 subtle clickable styling for phone and email text ===== */
.contact-list a[href^="tel:"],
.contact-list a[href^="mailto:"],
.footer-links a[href^="tel:"],
.footer-links a[href^="mailto:"]{
  display:inline !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
  transition:opacity .18s ease, text-decoration-color .18s ease !important;
}
.contact-list a[href^="tel:"],
.contact-list a[href^="mailto:"]{
  color:#136f4a !important;
  text-decoration-color:rgba(19,111,74,.45) !important;
}
.footer-links a[href^="tel:"],
.footer-links a[href^="mailto:"]{
  color:#fff !important;
  text-decoration-color:rgba(255,255,255,.42) !important;
}
.contact-list a[href^="tel:"]:hover,
.contact-list a[href^="mailto:"]:hover,
.footer-links a[href^="tel:"]:hover,
.footer-links a[href^="mailto:"]:hover{
  opacity:.78 !important;
  text-decoration-color:currentColor !important;
}
.contact-list a[href^="tel:"]:focus-visible,
.contact-list a[href^="mailto:"]:focus-visible,
.footer-links a[href^="tel:"]:focus-visible,
.footer-links a[href^="mailto:"]:focus-visible{
  outline:2px solid currentColor !important;
  outline-offset:3px !important;
}

/* ===== v11 Contact page link tone: same color as surrounding text, only bold ===== */
body.page-contact .contact-card .contact-list a[href^="tel:"],
body.page-contact .contact-card .contact-list a[href^="mailto:"],
body.page-contact .contact-card .contact-list a.whatsapp-click-link,
body.page-contact .contact-card .contact-list a[href^="https://wa.me"]{
  color:inherit !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-decoration-color:transparent !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
body.page-contact .contact-card .contact-list a[href^="tel:"]:hover,
body.page-contact .contact-card .contact-list a[href^="mailto:"]:hover,
body.page-contact .contact-card .contact-list a.whatsapp-click-link:hover,
body.page-contact .contact-card .contact-list a[href^="https://wa.me"]:hover{
  color:inherit !important;
  opacity:.78 !important;
  text-decoration:none !important;
}

/* ===== v12 Contact page link tone: same color, bold, with subtle underline ===== */
body.page-contact .contact-card .contact-list a[href^="tel:"],
body.page-contact .contact-card .contact-list a[href^="mailto:"],
body.page-contact .contact-card .contact-list a.whatsapp-click-link,
body.page-contact .contact-card .contact-list a[href^="https://wa.me"]{
  color:inherit !important;
  font-weight:800 !important;
  text-decoration:underline !important;
  text-decoration-thickness:1px !important;
  text-underline-offset:3px !important;
  text-decoration-color:currentColor !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
body.page-contact .contact-card .contact-list a[href^="tel:"]:hover,
body.page-contact .contact-card .contact-list a[href^="mailto:"]:hover,
body.page-contact .contact-card .contact-list a.whatsapp-click-link:hover,
body.page-contact .contact-card .contact-list a[href^="https://wa.me"]:hover{
  color:inherit !important;
  opacity:.78 !important;
  text-decoration:underline !important;
  text-decoration-color:currentColor !important;
}

/* v13: sharpen header business name rendering beside the logo */
.brand-text{
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-rendering:geometricPrecision !important;
  font-weight:850 !important;
  letter-spacing:-0.012em !important;
  text-shadow:0 1px 2px rgba(0,0,0,.32) !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  backface-visibility:hidden !important;
}
.site-header .brand,
.site-header .brand-text{
  will-change:auto !important;
}
@media (max-width:640px){
  .brand-text{
    font-weight:850 !important;
    letter-spacing:-0.018em !important;
    text-shadow:0 1px 1px rgba(0,0,0,.30) !important;
  }
}


/* === Admin panel refinement v17 === */
.admin-page{background:#f4f8fc!important;color:#132238!important;}
.admin-page *{box-sizing:border-box;}
.admin-page .site-header{background:rgba(255,255,255,.94)!important;color:#132238!important;border-bottom:1px solid rgba(20,42,70,.08)!important;}
.admin-page .brand-text,.admin-page .site-nav a{color:#132238!important;text-shadow:none!important;}
.admin-page .nav-toggle{background:#eef5fb!important;color:#12304f!important;border-color:#d8e5f0!important;}
.admin-login{min-height:100vh!important;background:radial-gradient(circle at 18% 18%,rgba(47,152,102,.22),transparent 28%),linear-gradient(135deg,#071b33,#0c4773)!important;}
.admin-login-card{background:#fff!important;color:#132238!important;border:1px solid rgba(255,255,255,.5)!important;box-shadow:0 30px 90px rgba(0,0,0,.26)!important;}
.admin-login-card h1,.admin-login-card p,.admin-login-card label,.admin-login-card .eyebrow{color:#132238!important;text-shadow:none!important;}
.admin-login-card input{background:#fff!important;color:#132238!important;border:1px solid #d7e2ec!important;-webkit-text-fill-color:#132238!important;}
.admin-login-card input::placeholder{color:#7a8798!important;}
.admin-hero{background:linear-gradient(135deg,#071b33,#0e5284)!important;color:#fff!important;padding:96px 0 52px!important;}
.admin-hero .container{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#fff!important;}
.admin-hero h1,.admin-hero p,.admin-hero .eyebrow{color:#fff!important;text-shadow:none!important;}
.admin-section{background:#f4f8fc!important;padding:34px 0 80px!important;}
.admin-layout{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:24px!important;align-items:start!important;}
.admin-sidebar{position:sticky!important;top:94px!important;max-height:calc(100vh - 112px)!important;overflow:auto!important;background:#fff!important;color:#132238!important;border:1px solid #dce7f1!important;border-radius:24px!important;box-shadow:0 18px 50px rgba(16,36,62,.10)!important;padding:20px!important;}
.admin-sidebar h3{color:#132238!important;margin:0 0 12px!important;text-shadow:none!important;}
.admin-tabs{display:grid!important;gap:8px!important;margin:12px 0 18px!important;}
.admin-tabs button{width:100%!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid #dfe9f3!important;background:#f8fbfe!important;color:#15304e!important;border-radius:14px!important;padding:12px 14px!important;font-weight:800!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;transition:background .18s ease,border-color .18s ease,transform .18s ease!important;}
.admin-tabs button::after{content:'›';opacity:.45;font-size:1.15rem;}
.admin-tabs button:hover{background:#eef6ff!important;border-color:#cfe3f5!important;transform:translateX(2px)!important;}
.admin-tabs button.active{background:#0b4f9f!important;color:#fff!important;border-color:#0b4f9f!important;box-shadow:0 12px 30px rgba(11,79,159,.18)!important;}
.admin-tabs button.active::after{opacity:.9;}
.admin-tools{display:grid!important;gap:9px!important;padding-top:14px!important;border-top:1px solid #edf2f7!important;}
.admin-tools .btn,.admin-editor .btn{border-radius:13px!important;font-weight:850!important;min-height:42px!important;text-decoration:none!important;}
.admin-editor{background:#fff!important;color:#132238!important;border:1px solid #dce7f1!important;border-radius:24px!important;box-shadow:0 18px 50px rgba(16,36,62,.10)!important;padding:22px!important;min-width:0!important;}
.admin-editor h2,.admin-editor h3,.admin-editor p,.admin-editor span,.admin-editor label,.admin-field-card label{color:#132238!important;text-shadow:none!important;}
.admin-editor .eyebrow{color:#0b6b88!important;background:transparent!important;border:0!important;padding:0!important;}
.admin-editor-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;border-bottom:1px solid #edf2f7!important;padding-bottom:16px!important;margin-bottom:18px!important;}
#saveStatus{background:#f2f8ff!important;color:#32506f!important;border:1px solid #d9eaf8!important;border-radius:999px!important;padding:8px 12px!important;font-weight:800!important;white-space:nowrap!important;}
.admin-fields{display:grid!important;gap:14px!important;}
.admin-field-card{background:#fbfdff!important;color:#132238!important;border:1px solid #e5edf5!important;border-radius:18px!important;padding:16px!important;box-shadow:none!important;}
.admin-field-card input[type="text"],.admin-field-card textarea,.admin-field-card input[type="file"],.admin-login-card input{background:#fff!important;color:#132238!important;border:1px solid #d6e1eb!important;border-radius:12px!important;-webkit-text-fill-color:#132238!important;box-shadow:none!important;}
.admin-field-card input::placeholder,.admin-field-card textarea::placeholder{color:#7a8798!important;}
.image-control-row small{color:#667085!important;}
.admin-image-preview{background:#eef4fa!important;border:1px solid #d9e5f0!important;}
.submissions-panel{grid-column:2!important;margin-top:0!important;}
.submissions-list{display:grid!important;gap:14px!important;}
.submission-card{background:#fbfdff!important;color:#132238!important;border:1px solid #e4edf6!important;border-radius:18px!important;padding:18px!important;box-shadow:0 12px 28px rgba(16,36,62,.06)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
.submission-card h3,.submission-card p,.submission-card strong,.submission-card div{color:#132238!important;text-shadow:none!important;}
.submission-meta{color:#667085!important;}
.submission-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;}
.submission-grid>div,.submission-message{background:#fff!important;color:#132238!important;border:1px solid #e8f0f7!important;border-radius:14px!important;padding:12px!important;overflow-wrap:anywhere!important;}
.submission-card a{color:#103b63!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:3px!important;}
.btn-danger,.submission-card .btn-danger{background:#d92d20!important;color:#fff!important;border:1px solid #d92d20!important;}
.btn-sm{min-height:36px!important;padding:8px 12px!important;font-size:.9rem!important;}
.form-note{background:#fff!important;color:#667085!important;border:1px dashed #d7e3ee!important;border-radius:14px!important;padding:14px!important;}
@media(max-width:980px){
  .admin-layout{grid-template-columns:1fr!important;}
  .admin-sidebar{position:relative!important;top:auto!important;max-height:none!important;}
  .submissions-panel{grid-column:1!important;}
  .admin-tabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .submission-grid{grid-template-columns:1fr 1fr!important;}
}
@media(max-width:640px){
  .admin-tabs{grid-template-columns:1fr!important;}
  .admin-editor-head{align-items:flex-start!important;flex-direction:column!important;}
  #saveStatus{white-space:normal!important;}
  .submission-grid{grid-template-columns:1fr!important;}
  .admin-sidebar,.admin-editor{border-radius:20px!important;padding:16px!important;}
}

/* === Admin panel full UX refinement v18 === */
.admin-hidden{display:none!important;}
.admin-page.locked #adminMain,.admin-page.locked .site-footer{display:none!important;}
.admin-page.unlocked #adminLogin{display:none!important;}
.admin-layout{grid-template-columns:310px minmax(0,1fr)!important;}
.admin-menu-heading{font-size:.74rem!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:#6b7b8d!important;font-weight:900!important;margin:12px 4px 4px!important;}
.admin-tabs button{position:relative!important;}
.admin-tabs button.active{background:linear-gradient(135deg,#0b4f9f,#0e77b7)!important;color:#fff!important;}
.admin-editor.admin-wide{grid-column:2!important;}
.admin-content-section{display:grid!important;gap:14px!important;background:#f8fbfe!important;border:1px solid #e3edf6!important;border-radius:22px!important;padding:18px!important;margin-bottom:18px!important;}
.admin-section-title{padding:2px 2px 4px!important;border-bottom:1px solid #edf3f8!important;margin-bottom:2px!important;}
.admin-section-title h3{margin:0 0 4px!important;color:#132238!important;font-size:1.05rem!important;}
.admin-section-title p{margin:0!important;color:#667085!important;font-size:.92rem!important;}
.admin-field-card{display:grid!important;gap:10px!important;}
.admin-field-card label{font-size:.92rem!important;font-weight:900!important;line-height:1.35!important;}
.admin-field-card textarea{min-height:96px!important;resize:vertical!important;}
.image-control-row{display:grid!important;grid-template-columns:170px minmax(0,1fr)!important;gap:14px!important;align-items:start!important;}
.image-control-row>div{display:grid!important;gap:9px!important;}
.admin-image-preview{width:170px!important;height:112px!important;object-fit:cover!important;border-radius:16px!important;display:block!important;}
.gallery-admin-uploader{display:grid!important;gap:10px!important;background:#fff!important;border:1px dashed #cfe0ee!important;border-radius:18px!important;padding:16px!important;}
.gallery-admin-uploader label{font-weight:900!important;color:#132238!important;}
.gallery-admin-uploader small{color:#667085!important;}
.admin-gallery-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
.admin-gallery-item{background:#fff!important;border:1px solid #e4edf6!important;border-radius:18px!important;padding:12px!important;display:grid!important;gap:10px!important;box-shadow:0 10px 24px rgba(16,36,62,.05)!important;}
.admin-gallery-item img{width:100%!important;height:145px!important;object-fit:cover!important;border-radius:14px!important;background:#eef4fa!important;}
.admin-gallery-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
.submissions-panel{margin-top:24px!important;}
.submission-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;margin-bottom:12px!important;}
@media(max-width:1180px){.admin-gallery-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}.submission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:980px){.admin-editor.admin-wide{grid-column:1!important;}.image-control-row{grid-template-columns:1fr!important;}.admin-image-preview{width:100%!important;height:180px!important;}.admin-gallery-list{grid-template-columns:1fr!important;}}

/* ===== v19: refined admin panel sections, image manager, and contact requests ===== */
.admin-page{background:#f4f8fc!important;color:#102034!important;}
.admin-page main#adminMain{display:block;}
.admin-page .admin-section{padding-top:34px!important;}
.admin-page .admin-layout{display:grid!important;grid-template-columns:300px minmax(0,1fr)!important;gap:24px!important;align-items:start!important;}
.admin-page .admin-sidebar{position:sticky!important;top:92px!important;max-height:calc(100vh - 112px)!important;overflow:auto!important;background:#fff!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:24px!important;box-shadow:0 20px 60px rgba(11,31,58,.10)!important;padding:18px!important;}
.admin-page .admin-sidebar h3{margin:0 0 12px!important;color:#102034!important;}
.admin-page .admin-tabs{display:grid!important;gap:8px!important;margin:12px 0 18px!important;}
.admin-page .admin-menu-heading{margin:16px 4px 6px!important;font-size:.72rem!important;text-transform:uppercase!important;letter-spacing:.12em!important;font-weight:900!important;color:#607489!important;}
.admin-page .admin-tabs button{width:100%!important;border:1px solid rgba(17,47,83,.12)!important;background:#f7fbff!important;border-radius:14px!important;padding:12px 14px!important;text-align:left!important;color:#102034!important;font-weight:850!important;cursor:pointer!important;transition:background .18s ease,color .18s ease,transform .18s ease,border .18s ease!important;}
.admin-page .admin-tabs button:hover{background:#eef7ff!important;transform:translateX(2px)!important;}
.admin-page .admin-tabs button.active{background:linear-gradient(135deg,#0b4f9c,#123f67)!important;color:#fff!important;border-color:#0b4f9c!important;box-shadow:0 12px 26px rgba(11,79,156,.18)!important;}
.admin-page .admin-tools{display:grid!important;grid-template-columns:1fr!important;gap:9px!important;margin-top:16px!important;}
.admin-page .admin-tools .btn,.admin-page .file-import{width:100%!important;min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border-radius:13px!important;cursor:pointer!important;}
.admin-page .admin-editor{min-width:0!important;background:#fff!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:26px!important;box-shadow:0 22px 70px rgba(11,31,58,.10)!important;padding:24px!important;}
.admin-page .admin-editor-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:18px!important;border-bottom:1px solid rgba(17,47,83,.10)!important;padding-bottom:18px!important;margin-bottom:20px!important;}
.admin-page .admin-editor-head h2{color:#102034!important;margin:4px 0 0!important;}
.admin-page #saveStatus{color:#607489!important;background:#f4f8fc!important;border:1px solid rgba(17,47,83,.08)!important;border-radius:999px!important;padding:8px 12px!important;font-size:.88rem!important;}
.admin-page .admin-fields{display:grid!important;gap:18px!important;}
.admin-page .admin-content-section{background:#fbfdff!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:22px!important;padding:18px!important;box-shadow:0 12px 30px rgba(11,31,58,.055)!important;}
.admin-page .admin-section-title{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;border-bottom:1px solid rgba(17,47,83,.08)!important;margin-bottom:16px!important;padding-bottom:12px!important;}
.admin-page .admin-section-title h3{margin:0!important;color:#102034!important;font-size:1.15rem!important;}
.admin-page .admin-section-title p{margin:2px 0 0!important;color:#607489!important;max-width:680px!important;line-height:1.5!important;}
.admin-page .admin-field-card{background:#fff!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:18px!important;padding:16px!important;margin-top:12px!important;color:#102034!important;}
.admin-page .admin-field-card label{color:#102034!important;font-weight:900!important;margin-bottom:10px!important;}
.admin-page .admin-field-card input[type="text"],
.admin-page .admin-field-card input[type="password"],
.admin-page .admin-field-card textarea,
.admin-page .admin-gallery-item input,
.admin-page .admin-login-card input{background:#fff!important;color:#102034!important;-webkit-text-fill-color:#102034!important;border:1px solid rgba(17,47,83,.18)!important;border-radius:14px!important;box-shadow:none!important;}
.admin-page .admin-field-card input::placeholder,
.admin-page .admin-field-card textarea::placeholder{color:#8ca0b3!important;-webkit-text-fill-color:#8ca0b3!important;}
.admin-page .image-control-row{display:grid!important;grid-template-columns:180px minmax(0,1fr)!important;gap:16px!important;align-items:start!important;}
.admin-page .admin-image-preview{width:180px!important;height:124px!important;object-fit:cover!important;border-radius:16px!important;background:#edf4fa!important;border:1px solid rgba(17,47,83,.12)!important;}
.admin-page .admin-image-controls{display:grid!important;gap:10px!important;}
.admin-page .admin-inline-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;align-items:center!important;}
.admin-page .admin-inline-actions input[type="file"]{max-width:260px!important;}
.admin-page .admin-field-card small,.admin-page .gallery-admin-uploader small{color:#607489!important;line-height:1.5!important;}
.admin-dashboard-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
.admin-dashboard-grid button{min-height:118px!important;text-align:left!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:20px!important;background:linear-gradient(135deg,#fff,#f4f9ff)!important;padding:18px!important;cursor:pointer!important;box-shadow:0 14px 34px rgba(11,31,58,.07)!important;}
.admin-dashboard-grid button strong{display:block!important;font-size:1.7rem!important;color:#0b4f9c!important;margin-bottom:8px!important;}
.admin-dashboard-grid button span{display:block!important;color:#102034!important;font-weight:850!important;}
.admin-section-toolbar{display:flex!important;justify-content:flex-end!important;margin-bottom:14px!important;}
.gallery-admin-uploader{background:#fff!important;border:1px dashed rgba(11,79,156,.28)!important;border-radius:18px!important;padding:16px!important;display:grid!important;gap:10px!important;margin-bottom:18px!important;}
.gallery-admin-uploader label{font-weight:900!important;color:#102034!important;}
.admin-gallery-list{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:14px!important;}
.admin-gallery-item{background:#fff!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:18px!important;padding:12px!important;display:grid!important;gap:10px!important;}
.admin-gallery-item img{width:100%!important;height:145px!important;object-fit:cover!important;border-radius:14px!important;background:#eef4fb!important;}
.admin-gallery-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;}
.submissions-list{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;gap:16px!important;align-items:start!important;}
.submission-card{background:#fff!important;border:1px solid rgba(17,47,83,.10)!important;border-radius:20px!important;padding:16px!important;box-shadow:0 14px 36px rgba(11,31,58,.075)!important;color:#102034!important;}
.submission-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;gap:12px!important;border-bottom:1px solid rgba(17,47,83,.08)!important;padding-bottom:12px!important;margin-bottom:12px!important;}
.submission-card h3{font-size:1rem!important;color:#102034!important;margin:0 0 4px!important;}
.submission-meta{color:#607489!important;font-size:.86rem!important;margin:0!important;}
.submission-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;}
.submission-grid div,.submission-message{background:#f6f9fc!important;border:1px solid rgba(17,47,83,.06)!important;border-radius:13px!important;padding:10px!important;color:#102034!important;}
.submission-message{margin-top:10px!important;white-space:pre-wrap!important;}
.submission-card a{color:#102034!important;font-weight:800!important;text-decoration:underline!important;text-underline-offset:3px!important;}
.admin-hidden{display:none!important;}
@media(max-width:980px){
  .admin-page .admin-layout{grid-template-columns:1fr!important;}
  .admin-page .admin-sidebar{position:relative!important;top:auto!important;max-height:none!important;}
  .admin-dashboard-grid{grid-template-columns:1fr!important;}
  .admin-page .image-control-row{grid-template-columns:1fr!important;}
  .admin-page .admin-image-preview{width:100%!important;height:190px!important;}
  .submissions-list{grid-template-columns:1fr!important;}
}
@media(max-width:640px){
  .admin-page .admin-editor{padding:18px!important;border-radius:22px!important;}
  .admin-page .admin-section-title,.admin-page .admin-editor-head,.submission-head{display:block!important;}
  .submission-grid{grid-template-columns:1fr!important;}
}

/* v21 admin polish: match public website colors, improve readability, navigation, and request layout */
.admin-page .admin-hero{
  background:linear-gradient(135deg,rgba(5,35,72,.94),rgba(10,92,171,.86)), radial-gradient(circle at 18% 12%,rgba(43,181,114,.24),transparent 34%) !important;
  color:#fff !important;
  border-bottom:0 !important;
  min-height:300px !important;
  padding:86px 0 70px !important;
}
.admin-page .admin-hero .eyebrow,
.admin-page .admin-hero h1,
.admin-page .admin-hero p{color:#fff !important;}
.admin-page .site-footer{background:#06172a !important;color:#d9e7f7 !important;}
.admin-page .site-footer a{color:#fff !important;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
.admin-page .admin-sidebar,
.admin-page .admin-editor,
.admin-page .admin-content-section,
.admin-page .admin-field-card,
.admin-page .submission-card,
.admin-page .admin-login-card{
  color:#102034 !important;
  background:#fff !important;
}
.admin-page .admin-sidebar h3,
.admin-page .admin-editor h2,
.admin-page .admin-content-section h3,
.admin-page .admin-field-card label,
.admin-page .submission-card h3,
.admin-page .admin-login-card h1,
.admin-page .admin-login-card p,
.admin-page .admin-login-card label{
  color:#102034 !important;
}
.admin-page input,
.admin-page textarea,
.admin-page select{
  color:#102034 !important;
  background:#fff !important;
  -webkit-text-fill-color:#102034;
}
.admin-page .admin-tabs button{
  color:#0b2b4d !important;
  background:#f7fbff !important;
  border-color:#dce7f1 !important;
}
.admin-page .admin-tabs button.active{
  color:#fff !important;
  background:linear-gradient(135deg,#1f7a4d,#0b5fab) !important;
  border-color:transparent !important;
  box-shadow:0 12px 28px rgba(11,95,171,.18);
}
.admin-page .admin-menu-heading{
  margin:18px 0 8px;
  color:#1f7a4d;
  font-size:.78rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.admin-page .admin-layout{align-items:start;}
.admin-page .admin-sidebar{max-height:calc(100vh - 110px);overflow:auto;scrollbar-width:thin;}
.admin-page .admin-editor{min-height:520px;}
.admin-page .admin-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.admin-page .admin-dashboard-grid .admin-live-note{grid-column:1/-1;background:linear-gradient(135deg,#effbf4,#edf7ff);border:1px solid #dcebe5;border-radius:18px;padding:14px 16px;color:#0b2b4d;line-height:1.55;}
.admin-page .admin-dashboard-grid button{border:1px solid #dce7f1;background:#fff;border-radius:18px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 12px 28px rgba(11,31,58,.06);color:#102034;}
.admin-page .admin-dashboard-grid button strong{display:block;font-size:1.35rem;color:#1f7a4d;margin-bottom:4px;}
.admin-page .admin-content-section{border:1px solid #dce7f1;border-radius:22px;padding:18px;margin-bottom:16px;box-shadow:0 14px 34px rgba(11,31,58,.06);}
.admin-page .admin-section-title{border-bottom:1px solid #edf2f7;margin-bottom:16px;padding-bottom:12px;}
.admin-page .admin-section-title p{margin:6px 0 0;color:#667789;}
.admin-page .image-control-row{grid-template-columns:180px 1fr;}
.admin-page .admin-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center;}
.admin-page .admin-image-controls input[type="file"]{max-width:100%;}
.admin-page .admin-gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:18px;}
.admin-page .admin-gallery-item{background:#fff;border:1px solid #dce7f1;border-radius:18px;padding:12px;box-shadow:0 10px 26px rgba(11,31,58,.06);}
.admin-page .admin-gallery-item img{width:100%;height:150px;object-fit:cover;border-radius:14px;background:#eef4fb;margin-bottom:10px;}
.admin-page .admin-gallery-item input{width:100%;border:1px solid #d7e0ea;border-radius:12px;padding:10px;margin-bottom:10px;}
.admin-page .admin-gallery-actions{display:flex;flex-wrap:wrap;gap:8px;}
.admin-page .submissions-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start;}
.admin-page .submission-card{display:grid;gap:12px;border:1px solid #dce7f1;border-radius:20px;padding:16px;box-shadow:0 14px 34px rgba(11,31,58,.07);}
.admin-page .submission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf2f7;padding-bottom:10px;}
.admin-page .submission-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.admin-page .submission-grid div,.admin-page .submission-message{background:#f7fbff;border:1px solid #edf2f7;color:#102034;}
.admin-page .btn-danger{background:#fff1f1 !important;color:#a51d1d !important;border:1px solid #ffd5d5 !important;}
@media(max-width:900px){
  .admin-page .admin-sidebar{max-height:none;}
  .admin-page .admin-dashboard-grid{grid-template-columns:1fr;}
  .admin-page .image-control-row{grid-template-columns:1fr;}
  .admin-page .submissions-list{grid-template-columns:1fr;}
}

/* ===== FINAL PRE-LIVE POLISH v23 ===== */
:root{--bsc-navy:#052348;--bsc-blue:#0b5fab;--bsc-green:#1f7a4d;--bsc-gold:#d8b15f;--bsc-ink:#102034;--bsc-muted:#5f7185;--bsc-soft:#f5f9fc;}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body{overflow-x:hidden;}
.brand-text{letter-spacing:-.025em;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;font-weight:900;}
.brand-logo{image-rendering:auto;filter:drop-shadow(0 4px 10px rgba(0,0,0,.08));}
.site-header{backdrop-filter:saturate(150%) blur(18px);-webkit-backdrop-filter:saturate(150%) blur(18px);}
.site-nav a:not(.btn){position:relative;}
.site-nav a:not(.btn)::after{content:"";position:absolute;left:12px;right:12px;bottom:7px;height:2px;border-radius:10px;background:linear-gradient(90deg,var(--bsc-green),var(--bsc-gold));transform:scaleX(0);transform-origin:center;transition:transform .2s ease;opacity:.9;}
.site-nav a:not(.btn):hover::after,.site-nav a.active:not(.btn)::after{transform:scaleX(1);}
.btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;}
.btn:hover{transform:translateY(-1px);}
.card,.feature-card,.service-card,.capacity-card,.info-card,.contact-card,.form-card{box-shadow:0 18px 44px rgba(11,31,58,.08);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.card:hover,.feature-card:hover,.service-card:hover,.capacity-card:hover,.info-card:hover{transform:translateY(-3px);box-shadow:0 24px 64px rgba(11,31,58,.12);}
.hero-ref-front::before,.premium-page-hero::before{will-change:transform;}
.hero-ref-front img,.gallery-page-grid img,.service-card img,.capacity-card img{background:#edf4f8;}
.gallery-page-grid{align-items:start;}
.gallery-page-grid img{border-radius:22px;box-shadow:0 18px 44px rgba(11,31,58,.10);transition:transform .22s ease,box-shadow .22s ease;}
.gallery-page-grid img:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 28px 70px rgba(11,31,58,.14);}
.footer-links a{text-underline-offset:4px;}
.floating-whatsapp{box-shadow:0 16px 44px rgba(31,122,77,.26)!important;}
@media(max-width:767px){.hero-ref-front .hero-content{padding-top:clamp(118px,22vh,172px)!important;padding-bottom:92px!important}.hero-ref-front h1{font-size:clamp(2.05rem,10vw,3rem)!important;line-height:.96!important}.hero-ref-front .lead{font-size:1rem!important}.hero-ref-front .hero-badges{gap:10px!important}.hero-ref-front .hero-badges>*{min-height:82px!important}.page-hero{padding-top:116px!important}.site-nav a:not(.btn)::after{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Admin final refinement */
.admin-page .admin-hero{background:linear-gradient(135deg,rgba(5,35,72,.96),rgba(7,67,116,.9)),radial-gradient(circle at 12% 18%,rgba(31,122,77,.36),transparent 34%),radial-gradient(circle at 88% 8%,rgba(216,177,95,.28),transparent 28%)!important;}
.admin-page .site-header{background:rgba(255,255,255,.9)!important;border-bottom:1px solid rgba(5,35,72,.08)!important;}
.admin-page .admin-tabs button{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.admin-page .admin-tabs button::after{content:"›";font-size:1.2rem;opacity:.55;}
.admin-page .admin-tabs button.active::after{opacity:.9;}
.admin-page .admin-sidebar{scrollbar-color:rgba(11,95,171,.35) transparent;}
.admin-page .admin-editor{background:linear-gradient(180deg,#fff,#fbfdff)!important;}
.admin-page .admin-content-section{background:rgba(255,255,255,.96)!important;}
.admin-page .admin-section-title h3{letter-spacing:-.02em!important;}
.admin-page .admin-field-card{break-inside:avoid;}
.admin-page .admin-field-card label{display:block!important;}
.admin-page .admin-image-preview{box-shadow:inset 0 0 0 1px rgba(5,35,72,.06),0 10px 24px rgba(11,31,58,.08)!important;}
.admin-page .admin-image-controls small{display:none!important;}
.admin-page input[type="file"]{color:#102034!important;background:#f7fbff!important;border:1px solid #dce7f1!important;border-radius:12px!important;padding:8px!important;}
.admin-page .submissions-list{grid-template-columns:1fr!important;}
.admin-page .submission-card{max-width:100%;}
.admin-page .submission-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
.admin-page .submission-message{grid-column:1/-1;}
@media(max-width:1100px){.admin-page .admin-layout{grid-template-columns:260px minmax(0,1fr)!important}.admin-page .submission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:900px){.admin-page .admin-layout{grid-template-columns:1fr!important}.admin-page .admin-sidebar{position:relative!important;top:auto!important;max-height:none!important}.admin-page .submission-grid{grid-template-columns:1fr!important}}

/* v24 production polish: advanced image loading and stronger rendering */
img.smart-lazy{opacity:.001;transform:translateY(8px);transition:opacity .45s ease,transform .45s ease;}
img.smart-lazy.lazy-loaded,img.smart-lazy[loading="eager"]{opacity:1;transform:none;}
.brand-logo,.brand-text,.brand-name{-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
@media (prefers-reduced-motion: reduce){img.smart-lazy{transition:none;transform:none;opacity:1;}}

/* ===== v26 final typography, layout polish, and bilingual CMS admin ===== */
:root{
  --font-ui:"Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --font-ar:"Noto Kufi Arabic", "Tahoma", "Segoe UI", Arial, sans-serif;
}
body{font-family:var(--font-ui);font-feature-settings:"kern" 1;text-rendering:optimizeLegibility;}
body.lang-ar, [lang="ar"], [dir="rtl"]{font-family:var(--font-ar);}
.brand-text{letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;}
h1,h2,h3,.section-heading h2,.hero-ref-copy h1{letter-spacing:-.035em;}
p,.lead,.card p,.section-heading p{line-height:1.72;}
.card,.contact-card,.feature-card,.service-card,.cta-wrap{transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.card:hover,.feature-card:hover,.service-card:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(11,31,58,.11);border-color:#dfe7f2;}
.btn{letter-spacing:-.01em;}
.site-nav a{letter-spacing:-.01em;}

.admin-page .site-header,.admin-hero{
  background:linear-gradient(135deg,#071d37 0%,#0f3d73 62%,#174f8e 100%);
  color:#fff;
}
.admin-page .site-header{border-bottom:1px solid rgba(255,255,255,.1);}
.admin-page .brand-text,.admin-page .site-nav a{color:#fff;}
.admin-page .nav-toggle{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff;}
.admin-hero{padding:64px 0 42px;border-bottom:none;}
.admin-hero .eyebrow,.admin-hero h1,.admin-hero p{color:#fff;}
.admin-section{background:linear-gradient(180deg,#f6f9fd 0%,#fff 100%);}
.admin-layout{align-items:start;}
.admin-sidebar,.admin-editor,.admin-login-card,.admin-content-section{
  background:rgba(255,255,255,.98);
  border:1px solid #e2e8f0;
  box-shadow:0 20px 50px rgba(11,31,58,.09);
}
.admin-sidebar{position:sticky;top:92px;border-radius:22px;padding:20px;max-height:calc(100svh - 116px);overflow:auto;}
.admin-editor{border-radius:24px;padding:22px;min-width:0;}
.admin-content-section{border-radius:22px;padding:20px;margin-bottom:18px;}
.admin-editor-head{border-bottom:1px solid #e9eef5;margin-bottom:18px;padding-bottom:14px;}
.admin-tabs button{width:100%;text-align:left;border:1px solid transparent;background:transparent;border-radius:12px;padding:10px 12px;font-weight:750;color:#173252;cursor:pointer;}
.admin-tabs button:hover{background:#eef6ff;border-color:#d8eaff;}
.admin-tabs button.active{background:linear-gradient(135deg,#0b315f,#1262a8);color:#fff;box-shadow:0 10px 22px rgba(18,98,168,.18);}
.admin-menu-heading{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#64748b;margin:18px 10px 8px;}
.admin-tools{display:grid;gap:10px;margin-top:18px;}
.admin-field-card{background:#fff;border:1px solid #e7edf5;border-radius:18px;padding:16px;margin-bottom:14px;box-shadow:0 10px 28px rgba(11,31,58,.045);}
.admin-field-card > label{display:block;margin-bottom:12px;font-weight:850;color:#0b1f3a;}
.admin-bilingual-field{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.admin-lang-edit-block{display:grid;gap:8px;}
.admin-mini-label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#64748b;}
.admin-lang-edit-block input,.admin-lang-edit-block textarea,.admin-field-card input[type="text"],.admin-field-card textarea{
  width:100%;border:1px solid #d8e1ec;border-radius:14px;background:#fbfdff;color:#10233d;padding:13px 14px;font:inherit;font-size:15px;outline:none;
}
.admin-lang-edit-block textarea{min-height:112px;resize:vertical;}
.admin-lang-edit-block input:focus,.admin-lang-edit-block textarea:focus,.admin-field-card input[type="text"]:focus,.admin-field-card textarea:focus{border-color:#1d64b7;box-shadow:0 0 0 4px rgba(29,100,183,.1);background:#fff;}
.admin-image-preview{background:#f3f7fb;border:1px solid #e3ebf4;border-radius:16px;object-fit:cover;}
.admin-gallery-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;}
.admin-gallery-item{background:#fff;border:1px solid #e7edf5;border-radius:18px;padding:12px;box-shadow:0 10px 26px rgba(11,31,58,.05);}
.admin-gallery-item img{border-radius:14px;aspect-ratio:1.25/1;object-fit:cover;}
.submissions-list{display:grid;gap:14px;}
.submission-card{background:#fff;border:1px solid #e7edf5;border-radius:18px;padding:16px;box-shadow:0 10px 26px rgba(11,31,58,.05);}
.submission-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px;}
.submission-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;}
.submission-message{margin-top:12px;padding-top:12px;border-top:1px solid #eef2f7;}
@media (max-width:980px){.admin-sidebar{position:static;max-height:none}.admin-layout{grid-template-columns:1fr}.admin-bilingual-field{grid-template-columns:1fr}}
@media (max-width:640px){h1,h2,h3,.hero-ref-copy h1{letter-spacing:-.02em}.admin-editor,.admin-sidebar,.admin-content-section{padding:16px;border-radius:18px}}


/* ===== v28: Admin uploaded banner visibility fix =====
   Page banners use CSS pseudo-elements with !important backgrounds. These final
   overrides make uploaded admin banner images visible on every page while
   preserving the premium gradient/glass overlay. */
body.cms-has-page-banner .page-hero,
body.cms-has-page-banner .page-hero.premium-page-hero{
  background-image:linear-gradient(135deg,rgba(5,35,72,.92),rgba(10,92,171,.82)),var(--cms-page-banner-url) !important;
  background-size:cover !important;
  background-position:center !important;
}
body.cms-has-page-banner .premium-page-hero::before,
body.cms-has-page-banner .page-hero.premium-page-hero::before{
  background-image:var(--cms-page-banner-url) !important;
  background-size:cover !important;
  background-position:center !important;
}
.page-home .hero-ref-bg{
  background-image:var(--cms-home-banner-url, url('../images/home-banner-real.jpg')) !important;
}

/* v30: Center the Let’s Work Together action buttons on mobile */
@media (max-width: 640px){
  .page-home .cta-panel .cta-actions{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }
  .page-home .cta-panel .cta-actions .btn{
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

/* ===== v31: Real-image cinematic polish — premium, subtle, still authentic ===== */
:root{
  --bsc-ice:#dff6ff;
  --bsc-deep:#06172d;
  --bsc-steel:#183757;
  --bsc-glow:rgba(93,196,255,.22);
}

/* Keep real photos, improve presentation: tone, depth, and atmosphere */
.hero-ref,
.page-hero,
.premium-page-hero{
  isolation:isolate;
}
.hero-ref-bg img,
body:not(.page-home) .page-hero,
body:not(.page-home) .premium-page-hero{
  filter:saturate(1.08) contrast(1.06) brightness(.96);
}
.hero-ref::after,
body:not(.page-home) .page-hero::marker{
  content:"";
}
.hero-ref-front::after{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 18%, rgba(104,205,255,.22), transparent 28%),
    radial-gradient(circle at 82% 24%, rgba(255,255,255,.12), transparent 24%),
    linear-gradient(115deg, transparent 18%, rgba(255,255,255,.08) 43%, transparent 62%);
  mix-blend-mode:screen;
  opacity:.72;
  transform:translate3d(-2%,0,0);
  animation:bscAmbientDrift 14s ease-in-out infinite alternate;
}
.hero-ref-bg::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.04), rgba(3,18,35,.34)),
    radial-gradient(circle at 38% 60%, transparent 0 42%, rgba(0,0,0,.20) 100%);
}
.hero-ref-copy{
  position:relative;
  overflow:hidden;
  border-radius:32px !important;
}
.hero-ref-copy::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.22), transparent 36%, rgba(93,196,255,.10));
  opacity:.75;
}
.hero-ref-copy > *{
  position:relative;
  z-index:1;
}
.hero-ref-copy h1{
  text-shadow:0 18px 48px rgba(0,0,0,.32), 0 0 1px rgba(255,255,255,.45) !important;
}
.hero-ref-copy p{
  text-shadow:0 8px 26px rgba(0,0,0,.24);
}

/* More premium section rhythm without changing content */
.section{
  position:relative;
}
.section::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(920px,84vw);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg, transparent, rgba(11,95,171,.14), transparent);
  pointer-events:none;
}
.section-heading .eyebrow,
.eyebrow{
  letter-spacing:.12em !important;
  color:#1d6eb3;
}
.section-heading h2,
.about-copy h2,
.split-copy h2,
.cta-wrap h2{
  color:#071d37;
  letter-spacing:-.048em !important;
}
.lead,
.section-heading p,
.card p,
.feature-item p,
.about-copy p,
.split-copy p{
  color:#52677d;
}

/* Cards feel more alive but remain corporate */
.card,
.feature-card,
.contact-card,
.cta-wrap,
.feature-strip,
.admin-editor,
.admin-sidebar{
  border-color:rgba(22,57,92,.11) !important;
}
.card,
.feature-card,
.service-card,
.contact-card{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,252,255,.96)) !important;
}
.card::after,
.service-card::after,
.feature-card::after{
  content:"";
  display:block;
  height:0;
  clear:both;
}
.icon,
.feature-icon{
  background:linear-gradient(135deg, rgba(223,246,255,.95), rgba(239,249,255,.7)) !important;
  color:#0b5fab !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75), 0 10px 24px rgba(11,95,171,.10);
}
.service-card img,
.feature-card img,
.split-media img,
.about-photo img,
.gallery-grid img,
.gallery-page-grid img{
  filter:saturate(1.06) contrast(1.04);
}
.service-card img,
.feature-card img,
.about-photo img,
.split-media img{
  transition:transform .55s ease, filter .35s ease;
}
.service-card:hover img,
.feature-card:hover img,
.about-photo:hover img,
.split-media:hover img{
  transform:scale(1.018);
  filter:saturate(1.1) contrast(1.06) brightness(.98);
}
.service-card,
.feature-card,
.about-photo,
.split-media{
  overflow:hidden;
}

/* CTA should feel intentional, not empty */
.cta-wrap{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 8% 24%, rgba(93,196,255,.20), transparent 30%),
    linear-gradient(135deg,#f2fbff 0%,#fff 45%,#eff8f3 100%) !important;
}
.cta-wrap::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg, transparent 0 40%, rgba(255,255,255,.56) 50%, transparent 62%);
  transform:translateX(-120%);
  animation:bscSoftSweep 10s ease-in-out infinite;
  opacity:.55;
}
.cta-wrap > *{
  position:relative;
  z-index:1;
}

/* Inner-page banner becomes more cinematic while still using uploaded images */
body:not(.page-home) .page-hero::after,
body:not(.page-home) .premium-page-hero::after{
  box-shadow:0 34px 100px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
body:not(.page-home) .page-hero .container,
body:not(.page-home) .premium-page-hero .container{
  text-shadow:0 14px 38px rgba(0,0,0,.24);
}

/* Premium micro-interactions */
.btn{
  position:relative;
  overflow:hidden;
}
.btn::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.26), transparent 80%);
  transform:translateX(-130%);
  transition:transform .55s ease;
  pointer-events:none;
}
.btn:hover::before{
  transform:translateX(130%);
}
.site-nav a:not(.btn){
  transition:background .22s ease, color .22s ease, transform .22s ease, text-shadow .22s ease;
}
.site-nav a:not(.btn):hover{
  text-shadow:0 0 22px rgba(255,255,255,.28);
}

/* Subtle scroll reveal. JS adds .bsc-reveal; CSS stays harmless if JS does not run. */
.bsc-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .72s ease, transform .72s ease;
}
.bsc-reveal.is-visible{
  opacity:1;
  transform:none;
}

@keyframes bscAmbientDrift{
  from{transform:translate3d(-2%,0,0) scale(1);opacity:.58;}
  to{transform:translate3d(2%,1%,0) scale(1.025);opacity:.82;}
}
@keyframes bscSoftSweep{
  0%,58%{transform:translateX(-130%);}
  78%,100%{transform:translateX(130%);}
}

@media (max-width:980px){
  .hero-ref-front::after{opacity:.48;}
  .hero-ref-copy{border-radius:26px !important;}
}
@media (max-width:640px){
  .hero-ref-copy{padding:24px 20px !important;}
  .hero-ref-front::after{opacity:.38;animation-duration:18s;}
  .section::before{width:72vw;}
  .cta-wrap::before{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .hero-ref-front::after,.cta-wrap::before{animation:none !important;}
  .bsc-reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  .service-card:hover img,.feature-card:hover img,.about-photo:hover img,.split-media:hover img{transform:none !important;}
}

/* ===== v32: remove faint home hero title frame ===== */
.page-home .hero-ref-copy{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 !important;
}
.page-home .hero-ref-copy h1,
.page-home .hero-ref-copy p{
  text-shadow:0 18px 48px rgba(0,0,0,.34) !important;
}

/* ===== v33: fully remove faint glass frame behind Home hero title ===== */
.page-home .hero-ref-copy,
.page-home .hero-ref-copy:hover,
.page-home .hero-ref-copy:focus,
.page-home .hero-ref-copy:focus-within{
  background:none !important;
  background-color:transparent !important;
  background-image:none !important;
  border:none !important;
  outline:none !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.page-home .hero-ref-copy::before,
.page-home .hero-ref-copy::after{
  content:none !important;
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.page-home .hero-ref-copy > *{
  position:relative !important;
  z-index:2 !important;
}
@media (max-width:640px){
  .page-home .hero-ref-copy{
    background:none !important;
    border:none !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border-radius:0 !important;
    overflow:visible !important;
  }
}


/* v38: premium one-time glass intro screen */
.bsc-intro{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:clamp(18px,4vw,48px);
  background:rgba(4,22,42,.42);
  backdrop-filter:blur(22px) saturate(145%);
  -webkit-backdrop-filter:blur(22px) saturate(145%);
  opacity:1;
  visibility:visible;
  cursor:pointer;
  overflow:hidden;
  transition:opacity .72s cubic-bezier(.22,1,.36,1), visibility .72s cubic-bezier(.22,1,.36,1);
  transform:translateZ(0);
  will-change:opacity;
}
.bsc-intro::before,
.bsc-intro::after{
  content:"";
  position:absolute;
  width:min(58vw,720px);
  height:min(58vw,720px);
  border-radius:999px;
  pointer-events:none;
  filter:blur(38px);
  opacity:.42;
  transform:translateZ(0);
}
.bsc-intro::before{
  left:-12%;
  top:-18%;
  background:radial-gradient(circle, rgba(41,177,255,.55), transparent 64%);
  animation:bscIntroDriftA 8s ease-in-out infinite alternate;
}
.bsc-intro::after{
  right:-16%;
  bottom:-22%;
  background:radial-gradient(circle, rgba(255,102,29,.34), transparent 62%);
  animation:bscIntroDriftB 9s ease-in-out infinite alternate;
}
.bsc-intro-glass{
  position:relative;
  width:min(86vw,560px);
  min-height:clamp(360px,56vw,560px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:clamp(18px,3vw,30px);
  padding:clamp(24px,5vw,54px);
  border:1px solid rgba(255,255,255,.28);
  border-radius:clamp(26px,5vw,48px);
  background:linear-gradient(145deg, rgba(255,255,255,.22), rgba(255,255,255,.08));
  box-shadow:0 30px 95px rgba(0,18,42,.42), inset 0 1px 0 rgba(255,255,255,.42);
  overflow:hidden;
  transform:translateY(12px) scale(.965);
  opacity:0;
  animation:bscIntroCardIn .9s cubic-bezier(.22,1,.36,1) .08s forwards;
  will-change:transform,opacity;
}
.bsc-intro-glass::before{
  content:"";
  position:absolute;
  inset:-45% -20%;
  background:linear-gradient(115deg, transparent 36%, rgba(255,255,255,.32) 48%, transparent 60%);
  transform:translateX(-45%) rotate(10deg);
  animation:bscIntroSheen 2.8s cubic-bezier(.22,1,.36,1) .45s both;
  pointer-events:none;
}
.bsc-intro-logo{
  position:relative;
  z-index:1;
  width:min(62vw,390px);
  max-height:min(44vh,390px);
  object-fit:contain;
  filter:drop-shadow(0 22px 28px rgba(0,20,45,.28));
  transform:translateZ(0);
  animation:bscIntroLogoFloat 4.8s ease-in-out 1.15s infinite;
}
.bsc-intro-enter{
  position:relative;
  z-index:1;
  color:#fff;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:none;
  font-size:clamp(15px,2.6vw,22px);
  line-height:1;
  text-shadow:0 10px 30px rgba(0,0,0,.45);
  display:flex;
  align-items:center;
  gap:16px;
  opacity:0;
  transform:translateY(8px);
  animation:bscIntroTextIn .65s cubic-bezier(.22,1,.36,1) .62s forwards, bscIntroPulse 2.1s ease-in-out 1.35s infinite;
}
.bsc-intro-enter::before,
.bsc-intro-enter::after{
  content:"";
  width:clamp(34px,8vw,90px);
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.72));
}
.bsc-intro-enter::after{background:linear-gradient(90deg, rgba(255,255,255,.72), transparent)}
.bsc-intro.is-hiding{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.bsc-intro.is-hiding .bsc-intro-glass{
  transform:translateY(-18px) scale(.94);
  opacity:0;
  transition:transform .62s cubic-bezier(.22,1,.36,1), opacity .62s cubic-bezier(.22,1,.36,1);
}
.bsc-intro-hidden{display:none!important;}
html.bsc-intro-lock,
html.bsc-intro-lock body{overflow:hidden;}
@keyframes bscIntroCardIn{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes bscIntroTextIn{to{opacity:1;transform:translateY(0)}}
@keyframes bscIntroSheen{from{transform:translateX(-70%) rotate(10deg);opacity:0}20%{opacity:1}to{transform:translateX(70%) rotate(10deg);opacity:0}}
@keyframes bscIntroLogoFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.012)}}
@keyframes bscIntroPulse{0%,100%{opacity:1}50%{opacity:.72}}
@keyframes bscIntroDriftA{to{transform:translate(8%,12%) scale(1.05)}}
@keyframes bscIntroDriftB{to{transform:translate(-8%,-10%) scale(1.08)}}
@media (max-width:640px){
  .bsc-intro{padding:18px;background:rgba(4,22,42,.46);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);}
  .bsc-intro-glass{width:min(91vw,390px);min-height:min(72vh,520px);border-radius:28px;padding:28px 20px;}
  .bsc-intro-logo{width:min(76vw,310px);max-height:42vh;}
  .bsc-intro-enter{letter-spacing:.11em;font-size:15px;gap:10px;}
  .bsc-intro-enter::before,.bsc-intro-enter::after{width:42px;}
}
@media (prefers-reduced-motion:reduce){
  .bsc-intro,.bsc-intro *{animation:none!important;transition:none!important;}
  .bsc-intro-glass,.bsc-intro-logo,.bsc-intro-enter{opacity:1;transform:none;}
}


/* v39: smoother intro entrance/exit with no home layout jump */
html{scrollbar-gutter:stable;}
.bsc-intro{
  contain:layout paint style;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
  -webkit-font-smoothing:antialiased;
  transition:opacity .64s cubic-bezier(.22,1,.36,1), visibility .64s cubic-bezier(.22,1,.36,1) !important;
}
.bsc-intro:not(.is-ready) .bsc-intro-glass{
  opacity:0 !important;
  transform:translate3d(0,10px,0) scale(.985) !important;
  animation:none !important;
}
.bsc-intro.is-ready .bsc-intro-glass{
  animation:bscIntroCardInSmooth .82s cubic-bezier(.16,1,.3,1) both !important;
}
.bsc-intro-glass{
  transform-origin:center center;
  backface-visibility:hidden;
  translate:0 0;
}
.bsc-intro-logo{
  aspect-ratio:1/1;
  contain:layout paint;
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.bsc-intro.is-hiding{
  opacity:0 !important;
  visibility:hidden !important;
}
.bsc-intro.is-hiding .bsc-intro-glass{
  transform:translate3d(0,-10px,0) scale(.975) !important;
  opacity:0 !important;
  transition:transform .54s cubic-bezier(.22,1,.36,1), opacity .54s cubic-bezier(.22,1,.36,1) !important;
}
/* Keep the page dimensions stable while the intro is visible. The fixed overlay already blocks interaction. */
html.bsc-intro-lock,
html.bsc-intro-lock body{
  overflow-x:hidden !important;
  overflow-y:auto !important;
}
@keyframes bscIntroCardInSmooth{
  0%{opacity:0;transform:translate3d(0,10px,0) scale(.985)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@media (max-width:640px){
  .bsc-intro.is-hiding .bsc-intro-glass{transform:translate3d(0,-8px,0) scale(.98) !important;}
}
@media (prefers-reduced-motion:reduce){
  .bsc-intro:not(.is-ready) .bsc-intro-glass{opacity:1!important;transform:none!important;}
}

/* v40: hide the browser scrollbar visually while the first-visit intro overlay is open */
html.bsc-intro-lock,
html.bsc-intro-lock body{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  scrollbar-gutter:auto !important;
}
html.bsc-intro-lock::-webkit-scrollbar,
html.bsc-intro-lock body::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}

/* v41: globally hide browser scrollbars while keeping page scrolling enabled.
   This prevents the intro scrollbar from appearing/disappearing and causing a visible jump. */
html,
body{
  scrollbar-width:none !important;
  -ms-overflow-style:none !important;
  scrollbar-gutter:auto !important;
  overflow-x:hidden !important;
}
html::-webkit-scrollbar,
body::-webkit-scrollbar,
*::-webkit-scrollbar{
  width:0 !important;
  height:0 !important;
  display:none !important;
}


/* v44: intro/performance final pass - smoother first paint, lighter GPU work, stable layout */
.bsc-intro{
  min-height:100dvh;
  background:rgba(4,22,42,.40) !important;
  backdrop-filter:blur(14px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(130%) !important;
  transition:opacity .50s cubic-bezier(.22,1,.36,1), visibility .50s cubic-bezier(.22,1,.36,1) !important;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  isolation:isolate;
}
.bsc-intro::before,
.bsc-intro::after{
  filter:blur(20px) !important;
  opacity:.22 !important;
  animation:none !important;
  will-change:auto !important;
}
.bsc-intro-glass{
  width:min(84vw,520px) !important;
  min-height:clamp(330px,52vw,520px) !important;
  aspect-ratio:1/1;
  max-height:min(82dvh,520px);
  gap:clamp(16px,2.8vw,28px) !important;
  padding:clamp(24px,4.5vw,50px) !important;
  border-color:rgba(255,255,255,.22) !important;
  background:linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.075)) !important;
  box-shadow:0 24px 78px rgba(0,18,42,.34), inset 0 1px 0 rgba(255,255,255,.34) !important;
  will-change:transform,opacity !important;
  transform:translate3d(0,8px,0) scale(.985) !important;
  contain:layout paint style;
}
.bsc-intro.is-ready .bsc-intro-glass{
  animation:bscIntroCardInFinal .66s cubic-bezier(.16,1,.3,1) both !important;
}
.bsc-intro-glass::before{
  opacity:.65;
  animation:bscIntroSheenFinal 1.65s cubic-bezier(.22,1,.36,1) .28s both !important;
}
.bsc-intro-logo-wrap{
  position:relative;
  z-index:1;
  display:block;
  width:min(58vw,350px);
  max-width:100%;
  max-height:min(44dvh,350px);
  aspect-ratio:1/1;
  contain:layout paint;
  transform:translate3d(0,0,0);
  backface-visibility:hidden;
}
.bsc-intro-logo{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  display:block;
  object-fit:contain;
  animation:bscIntroLogoFloatFinal 5.5s ease-in-out 1.1s infinite !important;
  filter:drop-shadow(0 18px 24px rgba(0,20,45,.24)) !important;
}
.bsc-intro-enter{
  font-size:clamp(14px,2.1vw,20px) !important;
  letter-spacing:.145em !important;
  animation:bscIntroTextIn .55s cubic-bezier(.22,1,.36,1) .46s forwards, bscIntroPulseFinal 2.4s ease-in-out 1.25s infinite !important;
}
.bsc-intro.is-hiding .bsc-intro-glass{
  transform:translate3d(0,-8px,0) scale(.985) !important;
  transition:transform .44s cubic-bezier(.22,1,.36,1), opacity .44s cubic-bezier(.22,1,.36,1) !important;
}
@keyframes bscIntroCardInFinal{
  0%{opacity:0;transform:translate3d(0,8px,0) scale(.985)}
  100%{opacity:1;transform:translate3d(0,0,0) scale(1)}
}
@keyframes bscIntroSheenFinal{
  from{transform:translateX(-72%) rotate(10deg);opacity:0}
  22%{opacity:.72}
  to{transform:translateX(68%) rotate(10deg);opacity:0}
}
@keyframes bscIntroLogoFloatFinal{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,-5px,0) scale(1.006)}
}
@keyframes bscIntroPulseFinal{0%,100%{opacity:1}50%{opacity:.82}}
@media (max-width:700px){
  .bsc-intro{background:rgba(4,22,42,.44) !important;backdrop-filter:blur(11px) saturate(124%) !important;-webkit-backdrop-filter:blur(11px) saturate(124%) !important;}
  .bsc-intro::before,.bsc-intro::after{display:none !important;}
  .bsc-intro-glass{width:min(90vw,386px) !important;min-height:min(68dvh,480px) !important;max-height:76dvh !important;border-radius:28px !important;}
  .bsc-intro-logo-wrap{width:min(72vw,285px);max-height:38dvh;}
  .bsc-intro-logo{animation:none !important;}
}
@media (max-width:420px){
  .bsc-intro-glass{min-height:420px !important;padding:24px 18px !important;}
  .bsc-intro-logo-wrap{width:min(74vw,255px);}
  .bsc-intro-enter::before,.bsc-intro-enter::after{width:34px !important;}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .bsc-intro{background:rgba(4,22,42,.78) !important;}
  .bsc-intro-glass{background:rgba(255,255,255,.16) !important;}
}


/* ===== v45: public Gallery Manager render fix ===== */
.gallery-page-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))!important;
  gap:24px!important;
  align-items:start!important;
}
.gallery-page-grid .dynamic-gallery-image{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1.18/1!important;
  object-fit:cover!important;
}
@media(max-width:680px){
  .gallery-page-grid{grid-template-columns:1fr!important;gap:18px!important;}
}

/* ===== v47: mobile intro logo gentle motion restore =====
   Keep the intro logo alive on mobile with a very light transform-only animation.
   This avoids the static feeling while staying GPU-friendly and low-lag. */
@media (max-width:700px){
  .bsc-intro-logo-wrap{
    animation:bscIntroMobileSoftFloat 4.8s ease-in-out .9s infinite !important;
    will-change:transform;
    transform:translate3d(0,0,0);
    backface-visibility:hidden;
  }
  .bsc-intro-logo{
    animation:bscIntroMobileLogoBreath 5.6s ease-in-out 1.05s infinite !important;
    will-change:transform;
    transform:translate3d(0,0,0) scale(1);
    backface-visibility:hidden;
  }
}
@media (max-width:420px){
  .bsc-intro-logo-wrap{
    animation-duration:5.4s !important;
  }
  .bsc-intro-logo{
    animation-duration:6.2s !important;
  }
}
@keyframes bscIntroMobileSoftFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(0,-4px,0)}
}
@keyframes bscIntroMobileLogoBreath{
  0%,100%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(0,0,0) scale(1.006)}
}
@media (prefers-reduced-motion:reduce){
  .bsc-intro-logo-wrap,
  .bsc-intro-logo{
    animation:none !important;
  }
}

/* ===== v47: iPhone real-device Home hero balance fix =====
   Prevent long Hero title from pushing CTA buttons under the feature card on iOS/mobile. */
@media (max-width: 700px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height: 660px !important;
  }
  .page-home .hero-ref-inner{
    padding-top: 126px !important;
    padding-bottom: 92px !important;
    display: flex !important;
    align-items: flex-start !important;
  }
  .page-home .hero-ref-copy{
    width: 100% !important;
    max-width: 100% !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  .page-home .hero-ref-copy h1{
    font-size: clamp(2.35rem, 9.2vw, 2.95rem) !important;
    line-height: .98 !important;
    letter-spacing: -0.052em !important;
    max-width: 12ch !important;
    margin: 0 0 20px !important;
    text-wrap: balance !important;
  }
  .page-home .hero-ref-copy p{
    font-size: clamp(.98rem, 4.2vw, 1.12rem) !important;
    line-height: 1.55 !important;
    max-width: 36ch !important;
    margin: 0 0 24px !important;
  }
  .page-home .hero-actions{
    position: relative !important;
    z-index: 20 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap: 10px !important;
    margin: 0 !important;
  }
  .page-home .hero-actions .btn{
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    padding: 12px 10px !important;
    font-size: .82rem !important;
    line-height: 1.15 !important;
    justify-content: center !important;
    white-space: nowrap !important;
  }
  .page-home .feature-strip-wrap{
    margin-top: -54px !important;
    position: relative !important;
    z-index: 9 !important;
  }
}
@media (max-width: 700px) and (max-height: 820px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height: 690px !important;
  }
  .page-home .hero-ref-inner{
    padding-top: 120px !important;
    padding-bottom: 110px !important;
  }
  .page-home .hero-ref-copy h1{
    font-size: clamp(2.15rem, 8.7vw, 2.72rem) !important;
    max-width: 12.5ch !important;
    margin-bottom: 18px !important;
  }
  .page-home .hero-ref-copy p{
    font-size: .98rem !important;
    line-height: 1.5 !important;
    max-width: 34ch !important;
    margin-bottom: 22px !important;
  }
  .page-home .feature-strip-wrap{
    margin-top: -48px !important;
  }
}
@media (max-width: 390px){
  .page-home .hero-ref-copy h1{
    font-size: clamp(2rem, 8.4vw, 2.52rem) !important;
    max-width: 12.8ch !important;
  }
  .page-home .hero-ref-copy p{
    font-size: .95rem !important;
  }
  .page-home .hero-actions .btn{
    font-size: .78rem !important;
    padding-inline: 8px !important;
  }
}

/* ===== v48: final mobile Home hero harmony =====
   Keep title, CTA buttons and feature card balanced across iPhone/Samsung sizes. */
@media (max-width: 700px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height: clamp(550px, 72svh, 620px) !important;
  }
  .page-home .hero-ref{
    align-items: start !important;
  }
  .page-home .hero-ref-inner{
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-start !important;
    align-items:flex-start !important;
    padding-top: clamp(112px, 15svh, 138px) !important;
    padding-bottom: 72px !important;
  }
  .page-home .hero-ref-copy{
    width:100% !important;
    max-width:min(100%, 390px) !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .page-home .hero-ref-copy h1{
    font-size: clamp(2.02rem, 7.7vw, 2.48rem) !important;
    line-height: .97 !important;
    letter-spacing: -0.045em !important;
    max-width: 13.4ch !important;
    margin: 0 0 14px !important;
    text-wrap: balance !important;
  }
  .page-home .hero-ref-copy p{
    font-size: clamp(.92rem, 3.65vw, 1.02rem) !important;
    line-height: 1.46 !important;
    max-width: 39ch !important;
    margin: 0 0 18px !important;
  }
  .page-home .hero-actions{
    position:relative !important;
    z-index:20 !important;
    display:grid !important;
    grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    max-width:390px !important;
    margin:0 !important;
  }
  .page-home .hero-actions .btn{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:10px 8px !important;
    font-size:.78rem !important;
    line-height:1.15 !important;
    justify-content:center !important;
    white-space:nowrap !important;
  }
  .page-home .feature-strip-wrap{
    margin-top: clamp(-100px, -10svh, -72px) !important;
    position:relative !important;
    z-index:9 !important;
  }
  .page-home .feature-strip{
    margin-top:0 !important;
    border-radius:24px !important;
    overflow:hidden !important;
  }
}
@media (max-width: 700px) and (max-height: 820px){
  .page-home .hero-ref,
  .page-home .hero-ref-inner{
    min-height: 540px !important;
  }
  .page-home .hero-ref-inner{
    padding-top: 112px !important;
    padding-bottom: 64px !important;
  }
  .page-home .hero-ref-copy h1{
    font-size: clamp(1.78rem, 7.45vw, 2.18rem) !important;
    max-width: 13.8ch !important;
    margin-bottom: 12px !important;
  }
  .page-home .hero-ref-copy p{
    font-size: .86rem !important;
    line-height: 1.42 !important;
    max-width: 38ch !important;
    margin-bottom: 16px !important;
  }
  .page-home .hero-actions .btn{
    min-height:40px !important;
    font-size:.74rem !important;
  }
  .page-home .feature-strip-wrap{
    margin-top: -88px !important;
  }
}
@media (max-width: 380px){
  .page-home .hero-ref-copy h1{
    font-size: clamp(1.62rem, 7.2vw, 2rem) !important;
    max-width: 14ch !important;
  }
  .page-home .hero-ref-copy p{
    font-size: .80rem !important;
    line-height:1.38 !important;
  }
  .page-home .hero-actions{
    gap:8px !important;
  }
  .page-home .hero-actions .btn{
    font-size:.70rem !important;
    min-height:38px !important;
  }
  .page-home .feature-strip-wrap{
    margin-top:-82px !important;
  }
}

/* v50 final mobile hero spacing: bring feature cards closer without overlap */
@media (max-width: 980px){
  .hero-ref{
    min-height: clamp(660px, 78svh, 760px) !important;
  }
  .hero-ref-inner{
    padding-top: 104px !important;
    padding-bottom: 48px !important;
  }
  .hero-actions{
    margin-bottom: 0 !important;
  }
  .feature-strip-wrap{
    margin-top: -72px !important;
    z-index: 6 !important;
  }
  .feature-strip{
    margin-top: 0 !important;
  }
}
@media (max-width: 640px){
  .hero-ref{
    min-height: clamp(620px, 76svh, 690px) !important;
  }
  .hero-ref-inner{
    padding-top: 90px !important;
    padding-bottom: 38px !important;
  }
  .hero-ref-copy h1{
    font-size: clamp(2.22rem, 10.8vw, 3.25rem) !important;
    line-height: .98 !important;
    margin-bottom: 14px !important;
  }
  .hero-ref-copy p{
    margin-bottom: 14px !important;
  }
  .feature-strip-wrap{
    margin-top: -88px !important;
  }
}
@media (max-width: 390px){
  .hero-ref{
    min-height: 640px !important;
  }
  .hero-ref-inner{
    padding-bottom: 34px !important;
  }
  .feature-strip-wrap{
    margin-top: -78px !important;
  }
}

/* v51 mobile Home hero: tighten the space between CTA buttons and feature cards */
@media (max-width: 700px){
  .page-home .feature-strip-wrap{
    margin-top: -128px !important;
  }
}
@media (max-width: 700px) and (max-height: 820px){
  .page-home .feature-strip-wrap{
    margin-top: -122px !important;
  }
}
@media (max-width: 390px){
  .page-home .feature-strip-wrap{
    margin-top: -116px !important;
  }
}


/* v52: Hero feature cards must be visible immediately on first paint.
   This prevents an empty lower area on some mobile browsers while keeping
   scroll reveal animations for the rest of the website. */
.feature-strip-wrap .feature-strip,
.feature-strip-wrap .feature-item,
.feature-strip-wrap .bsc-reveal{
  opacity:1 !important;
  transform:none !important;
  visibility:visible !important;
}
.feature-strip-wrap .feature-item{
  transition:background .22s ease, box-shadow .22s ease, transform .22s ease !important;
}
@media (max-width:640px){
  .feature-strip-wrap .feature-strip{
    min-height:0 !important;
  }
}
