/* ===================== DESIGN TOKENS ===================== */
:root{
  /* canonical site-wide aliases for cross-page consistency */
  --ivory:#FFFFFF;
  --ivory-soft:#EDEEF0;
  --charcoal:#0A1128;
  --charcoal-soft:#121B3D;
  --bronze:#E5E4E2;
  --bronze-deep:#B7B6B4;
  --muted:#9BA3B4;
  --line:rgba(229,228,226,.28);
  --navy-900:#0A1128;
  --navy-800:#111a38;
  --navy-700:#1b2a52;
  --navy-600:#28396b;
  --silver:#E5E4E2;
  --silver-dark:#c7c5c1;
  --silver-ink:#8b8985;
  --white:#FFFFFF;
  --ink:#14172a;
  --ink-soft:#454a5f;
  --whatsapp:#25D366;
  --whatsapp-dark:#1da851;
  --radius-sm:6px;
  --radius-md:14px;
  --radius-lg:26px;
  --shadow-1:0 2px 10px rgba(10,17,40,.06);
  --shadow-2:0 14px 40px rgba(10,17,40,.14);
  --maxw:1080px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--white);
  color:var(--ink);
  font-family:'Cairo',sans-serif;
  line-height:1.85;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{padding-inline-start:1.35em;margin:0;}
li{margin-block-end:.55em;}
h1,h2,h3,h4{margin:0;line-height:1.25;color:var(--navy-900);}
p{margin:0 0 1.1em;}
.i18n-block.en{display:none;}
:lang(en) h1,:lang(en) h2,:lang(en) h3,:lang(en) h4,
.i18n-block.en h1,.i18n-block.en h2,.i18n-block.en h3,.i18n-block.en h4{
  font-family:'Cormorant Garamond',serif;
}
body.lang-en{font-family:'Cormorant Garamond',serif;}
body.lang-en p, body.lang-en li, body.lang-en span, body.lang-en a, body.lang-en button, body.lang-en td, body.lang-en dt, body.lang-en dd{
  font-family:'Cairo',sans-serif;
}
:focus-visible{outline:3px solid var(--navy-600);outline-offset:2px;}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:20px;}
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.78rem;letter-spacing:.14em;font-weight:700;
  color:var(--navy-600);text-transform:uppercase;margin-bottom:.9em;
}
.eyebrow .num{
  display:inline-flex;align-items:center;justify-content:center;
  width:1.9em;height:1.9em;border-radius:50%;
  background:var(--navy-900);color:var(--silver);font-size:.85em;font-weight:800;
}

/* ===================== HEADER ===================== */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(10,17,40,.96);backdrop-filter:blur(6px);
  border-block-end:1px solid rgba(229,228,226,.14);
}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:14px;}
.brand{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:1.55rem;color:var(--white);letter-spacing:.02em;}
.brand small{display:block;font-family:'Cairo',sans-serif;font-size:.62rem;letter-spacing:.22em;color:var(--silver-dark);font-weight:600;margin-top:2px;}
.header-actions{display:flex;align-items:center;gap:10px;}
.nav-links{display:none;gap:22px;color:var(--silver);font-size:.92rem;font-weight:600;}
@media(min-width:860px){.nav-links{display:flex;}}
.nav-links a:hover{color:var(--white);}
.lang-toggle{display:flex;background:rgba(255,255,255,.08);border-radius:999px;padding:3px;gap:2px;}
.lang-toggle button{
  border:0;background:transparent;color:var(--silver-dark);
  font-family:'Cairo',sans-serif;font-weight:700;font-size:.78rem;
  padding:6px 13px;border-radius:999px;cursor:pointer;transition:.2s;
}
.lang-toggle button.is-active{background:var(--silver);color:var(--navy-900);}
.header-wa{
  display:flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;background:var(--whatsapp);color:var(--white);flex-shrink:0;
}
.header-wa svg{width:19px;height:19px;fill:currentColor;}

/* ===================== HERO ===================== */
.hero{
  position:relative;background:linear-gradient(160deg,var(--navy-900) 0%,var(--navy-700) 100%);
  color:var(--white);padding-block:64px 74px;overflow:hidden;
}
.bubble-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;}
.bubble{
  position:absolute;bottom:-40px;border-radius:50%;
  background:radial-gradient(circle at 32% 28%,rgba(255,255,255,.55),rgba(229,228,226,.05) 70%);
  border:1px solid rgba(229,228,226,.28);
  animation:rise linear infinite;
}
@keyframes rise{
  0%{transform:translateY(0) translateX(0);opacity:0;}
  10%{opacity:.55;}
  90%{opacity:.35;}
  100%{transform:translateY(-620px) translateX(12px);opacity:0;}
}
@media(prefers-reduced-motion:reduce){.bubble{animation:none;display:none;}}
.breadcrumb{position:relative;font-size:.82rem;color:var(--silver-dark);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:6px;}
.breadcrumb a{color:var(--silver-dark);}
.breadcrumb a:hover{color:var(--white);}
.hero h1{
  position:relative;font-family:'Cormorant Garamond',serif;font-weight:700;
  font-size:clamp(1.85rem,4.6vw,3.15rem);color:var(--white);max-width:19ch;
}
body.lang-ar .hero h1{font-family:'Cairo',sans-serif;font-weight:800;max-width:none;}
.hero p.lead{position:relative;color:var(--silver);font-size:1.12rem;max-width:62ch;margin-top:18px;}
.hero-meta{position:relative;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:.85rem;color:var(--silver-dark);min-height:26px;}
.hero-meta span{display:flex;align-items:center;gap:6px;}
.hero-cta{position:relative;display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;min-height:48px;}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:12px 22px;border-radius:999px;font-weight:700;font-size:.92rem;
  cursor:pointer;border:2px solid transparent;transition:.2s;
}
.btn-light{background:var(--white);color:var(--navy-900);}
.btn-light:hover{background:var(--silver);}
.btn-outline-light{border-color:rgba(255,255,255,.5);color:var(--white);}
.btn-outline-light:hover{border-color:var(--white);background:rgba(255,255,255,.08);}
.btn-wa{background:var(--whatsapp);color:var(--white);}
.btn-wa:hover{background:var(--whatsapp-dark);}
.btn-navy{background:var(--navy-900);color:var(--white);}
.btn-navy:hover{background:var(--navy-700);}
.btn svg{width:17px;height:17px;fill:currentColor;flex-shrink:0;}

/* ===================== TOC ===================== */
.toc-card{
  background:var(--white);border:1px solid var(--silver);border-radius:var(--radius-lg);
  box-shadow:var(--shadow-2);padding:26px 28px;margin-top:-40px;position:relative;z-index:5;
}
.toc-card h2{font-size:1.05rem;margin-bottom:14px;}
.toc-grid{display:grid;grid-template-columns:1fr;gap:8px 28px;list-style:none;padding:0;margin:0;column-count:1;}
@media(min-width:640px){.toc-grid{grid-template-columns:1fr 1fr;}}
.toc-grid li{margin:0;}
.toc-grid a{
  display:flex;gap:10px;align-items:baseline;color:var(--ink-soft);font-size:.92rem;
  padding:6px 4px;border-radius:8px;
}
.toc-grid a:hover{color:var(--navy-900);background:rgba(10,17,40,.04);}
.toc-grid a .n{color:var(--navy-600);font-weight:800;min-width:1.4em;}

/* ===================== SECTIONS ===================== */
.section{padding-block:56px;}
.section.tint{background:linear-gradient(180deg,rgba(229,228,226,.35),rgba(229,228,226,.15));}
.section h2{font-size:clamp(1.4rem,3vw,1.9rem);margin-bottom:18px;}
.section h3{font-size:1.18rem;margin:1.4em 0 .6em;color:var(--navy-700);}
.section .content p:last-child{margin-bottom:0;}
.lead-p{font-size:1.08rem;color:var(--ink-soft);}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--silver-dark),transparent);margin-block:8px 0;}

/* ===================== PRODUCT CALLOUT ===================== */
.product-card{
  display:flex;gap:18px;align-items:flex-start;
  background:var(--white);border:1px solid var(--silver);border-inline-start:5px solid var(--navy-900);
  border-radius:var(--radius-md);padding:22px 24px;margin:28px 0;box-shadow:var(--shadow-1);
}
.product-card .icon{
  flex-shrink:0;width:52px;height:52px;border-radius:50%;
  background:var(--navy-900);display:flex;align-items:center;justify-content:center;
}
.product-card .icon svg{width:26px;height:26px;stroke:var(--silver);fill:none;stroke-width:1.6;}
.product-card h4{font-size:1.05rem;margin-bottom:6px;}
.product-card p{font-size:.94rem;color:var(--ink-soft);margin-bottom:12px;}
.product-card .actions{display:flex;flex-wrap:wrap;gap:10px;}
.product-card .actions a{
  font-size:.82rem;font-weight:700;padding:8px 16px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;
}
.pc-view{background:var(--navy-900);color:var(--white);}
.pc-view:hover{background:var(--navy-700);}
.pc-wa{background:rgba(37,211,102,.12);color:var(--whatsapp-dark);}
.pc-wa:hover{background:rgba(37,211,102,.22);}
.pc-wa svg{width:14px;height:14px;fill:currentColor;}

/* ===================== TABLE ===================== */
.table-wrap{overflow-x:auto;margin:24px 0;border-radius:var(--radius-md);box-shadow:var(--shadow-1);}
table.lux-table{width:100%;border-collapse:collapse;background:var(--white);font-size:.9rem;min-width:640px;}
.lux-table th{background:var(--navy-900);color:var(--white);padding:13px 14px;text-align:start;font-weight:700;}
.lux-table td{padding:12px 14px;border-block-end:1px solid var(--silver);}
.lux-table tr:nth-child(even) td{background:rgba(229,228,226,.28);}
.lux-table td:first-child, .lux-table th:first-child{font-weight:700;color:var(--navy-800);}

/* ===================== CHECKLIST ===================== */
.checklist{list-style:none;padding:0;display:grid;gap:12px;}
.checklist li{
  display:flex;gap:12px;align-items:flex-start;background:var(--white);
  border:1px solid var(--silver);border-radius:var(--radius-sm);padding:14px 16px;margin:0;
}
.checklist .tick{
  flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--navy-900);
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.checklist .tick svg{width:13px;height:13px;stroke:var(--white);fill:none;stroke-width:2.4;}

/* ===================== SERVICES GRID ===================== */
.services-grid{display:grid;grid-template-columns:1fr;gap:16px;}
@media(min-width:640px){.services-grid{grid-template-columns:1fr 1fr;}}
@media(min-width:960px){.services-grid{grid-template-columns:1fr 1fr 1fr;}}
.service-tile{
  background:var(--navy-900);border-radius:var(--radius-md);padding:22px 20px;color:var(--white);
  transition:.25s;border:1px solid var(--navy-700);
}
.service-tile:hover{background:var(--navy-700);transform:translateY(-3px);}
.service-tile .icon{width:38px;height:38px;margin-bottom:14px;}
.service-tile .icon svg{width:100%;height:100%;stroke:var(--silver);fill:none;stroke-width:1.5;}
.service-tile h4{color:var(--white);font-size:1rem;margin-bottom:6px;}
.service-tile p{color:var(--silver-dark);font-size:.84rem;margin-bottom:0;}

/* ===================== VIDEO / PORTFOLIO ===================== */
.portfolio-band{
  background:var(--navy-900);color:var(--white);border-radius:var(--radius-lg);
  padding:42px 34px;text-align:center;position:relative;overflow:hidden;
}
.portfolio-band h2{color:var(--white);}
.portfolio-band p{color:var(--silver-dark);max-width:56ch;margin-inline:auto;}
.portfolio-band .btn-row{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px;}

/* ===================== FAQ ===================== */
.faq-item{border-block-end:1px solid var(--silver);padding-block:6px;}
.faq-item summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;
  gap:14px;padding:16px 4px;font-weight:700;font-size:1rem;color:var(--navy-900);
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{
  flex-shrink:0;width:26px;height:26px;border-radius:50%;border:2px solid var(--navy-900);
  display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:.25s;color:var(--navy-900);
}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 4px 18px;color:var(--ink-soft);font-size:.95rem;}

/* ===================== CTA STRIP ===================== */
.cta-strip{
  background:var(--silver);border-radius:var(--radius-lg);padding:38px 30px;text-align:center;margin-block:20px;
}
.cta-strip h2{margin-bottom:10px;}
.cta-strip .btn-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;}

/* ===================== FOOTER ===================== */
footer.site-footer{background:var(--navy-900);color:var(--silver-dark);padding-block:44px 26px;margin-top:40px;}
footer .wrap{display:grid;gap:28px;grid-template-columns:1fr;}
@media(min-width:760px){footer .wrap{grid-template-columns:1.3fr 1fr 1fr;}}
footer h5{color:var(--white);font-size:.95rem;margin-bottom:12px;}
footer ul{list-style:none;padding:0;display:grid;gap:9px;font-size:.88rem;}
footer a:hover{color:var(--white);}
.footer-bottom{border-block-start:1px solid rgba(229,228,226,.15);margin-top:30px;padding-top:20px;font-size:.8rem;text-align:center;color:var(--silver-ink);}
.social-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px;}
.social-row a{
  width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
}
.social-row a svg{width:16px;height:16px;fill:var(--silver);}
.social-row a:hover{background:var(--silver);}
.social-row a:hover svg{fill:var(--navy-900);}

/* ===================== FLOATING WHATSAPP ===================== */
.wa-float{
  position:fixed;inset-block-end:22px;inset-inline-end:22px;z-index:70;
  width:58px;height:58px;border-radius:50%;background:var(--whatsapp);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.45);
}
.wa-float svg{width:29px;height:29px;fill:var(--white);}
.wa-float:hover{background:var(--whatsapp-dark);}

@media(max-width:640px){
  .hero{padding-block:48px 60px;}
  .toc-card{padding:20px;}
  .product-card{flex-direction:column;}
}

.photo-fig{margin:26px 0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1);background:var(--white);}
.photo-fig img{width:100%;display:block;max-height:460px;object-fit:cover;}
.photo-fig figcaption{padding:10px 16px;font-size:.82rem;color:var(--ink-soft);border-top:1px solid var(--silver);}
.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:26px 0;}
.photo-gallery figure{margin:0;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-1);background:var(--white);}
.photo-gallery img{width:100%;height:200px;object-fit:cover;display:block;}
.photo-gallery figcaption{padding:8px 12px;font-size:.78rem;color:var(--ink-soft);}
.logo{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;letter-spacing:.08em;display:flex;align-items:center;gap:10px;}
.logo img{height:38px;width:auto;display:block;}

/* Homey recovery: article bodies must remain visible; homepage-only journal suppression is preserved. */
body:not(.homey-homepage) .homey-journal-entry { display:block !important; visibility:visible !important; opacity:1 !important; }
