/*
Theme Name: Cheikhahmedabidine Final
Author: Cheikhahmedabidine
Description: قالب إبداعي عربي متجاوب وقابل للإدارة من WordPress.
Version: 3.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: cheikh-final
*/



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

:root {
  --amber: #EF9F27; /* اللون الأصفر الذهبي الأساسي للهوية الجديدة */
  --amber-dark: #BA7512;
  --amber-light: #FFF8ED;
  --amber-mid: #F7D098;
  --teal: #5B3C76;
  --teal-light: #EDE5F4;
  --bg: #0B0910; /* الأسود الداكن الملكي */
  --bg2: #13101C;
  --bg3: #21182E;
  --surface: #1B1727;
  --surface2: #281F36;
  --text: #F6F1F8;
  --text2: #B2A8BA;
  --text3: #776B82;
  --border: rgba(239,159,39,0.15);
  --border2: rgba(239,159,39,0.28);
}

html { scroll-behavior: smooth; }
body {
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  line-height: 1.6;
}

/* ─── LOADER ─── */
#loader {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--bg);
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 20px;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}
#loader.hidden { opacity: 0; visibility: hidden; }
.loader-logo { font-size: 28px; font-weight: 900; letter-spacing: 2px; }
.loader-logo span { color: var(--amber); }
.loader-sub { font-size: 12px; color: var(--text3); letter-spacing: 3px; text-transform: uppercase; }
.loader-bar-bg { width: 200px; height: 2px; background: var(--surface2); border-radius: 99px; overflow: hidden; }
.loader-bar-fill { height: 100%; background: var(--amber); border-radius: 99px; animation: loadBar 1.4s ease forwards; }
@keyframes loadBar { from { width: 0 } to { width: 100% } }

/* ─── NAV ─── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 3rem;
  background: rgba(12,11,20,0.9);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: padding 0.3s;
}
nav.scrolled { padding: 0.7rem 3rem; }
.nav-logo { font-size: 20px; font-weight: 900; letter-spacing: 1px; cursor: pointer; }
.nav-logo span { color: var(--amber); }
.nav-links { display: flex; gap: 2rem; list-style: none; }
.nav-links a {
  font-size: 14px; color: var(--text2); text-decoration: none;
  transition: color 0.2s; cursor: pointer;
  position: relative; padding-bottom: 4px;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: 0; right: 0;
  width: 0; height: 2px; background: var(--amber); border-radius: 99px;
  transition: width 0.2s;
}
.nav-links a:hover { color: var(--text); }
.nav-links a:hover::after, .nav-links a.active::after { width: 100%; }
.nav-links a.active { color: var(--text); }
.nav-cta {
  background: var(--amber); color: #000; border: none;
  padding: 9px 22px; border-radius: 8px; font-size: 14px;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; cursor: pointer; font-weight: 700;
  transition: background 0.2s, transform 0.1s;
}
.nav-cta:hover { background: var(--amber-dark); color: #fff; }
.nav-cta:active { transform: scale(0.97); }
.mobile-menu-btn {
  display: none; background: none; border: none; cursor: pointer; padding: 4px;
}
.mobile-menu-btn span {
  display: block; width: 22px; height: 2px; background: var(--text);
  margin: 5px 0; transition: all 0.2s; border-radius: 2px;
}

/* ─── PAGES ─── */
.page { display: none; }
.page.active { display: block; }

/* ─── HERO ─── */
.hero {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  text-align: center; padding: 7rem 2rem 4rem;
  position: relative; overflow: hidden;
}
.hero-canvas { position: absolute; inset: 0; pointer-events: none; }
.hero-inner { position: relative; z-index: 1; max-width: 720px; }
.hero-badge {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(239,159,39,0.12); border: 1px solid var(--border2);
  color: var(--amber-mid); font-size: 13px; font-weight: 500;
  padding: 5px 16px; border-radius: 99px; margin-bottom: 1.5rem;
}
.hero-badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--amber); display: inline-block; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(1.4)} }

.hero h1 {
  font-size: clamp(36px, 6vw, 64px);
  font-weight: 900; line-height: 1.15;
  margin-bottom: 1.2rem;
}
.hero h1 .accent { color: var(--amber); position: relative; }
.hero h1 .accent::after {
  content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
  height: 3px; background: var(--amber); border-radius: 99px;
  transform: scaleX(0); animation: underlineIn 0.8s 0.8s forwards ease;
}
@keyframes underlineIn { to { transform: scaleX(1); } }
.hero p { font-size: 17px; color: var(--text2); margin-bottom: 2.5rem; line-height: 1.8; }
.hero-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn-primary {
  background: var(--amber); color: #000; border: none;
  padding: 14px 32px; border-radius: 10px; font-size: 15px;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; cursor: pointer; font-weight: 700;
  transition: background 0.2s, transform 0.1s;
}
.btn-primary:hover { background: var(--amber-dark); color: #fff; }
.btn-primary:active { transform: scale(0.97); }
.btn-outline {
  background: transparent; color: var(--text);
  border: 1px solid var(--border2);
  padding: 14px 32px; border-radius: 10px; font-size: 15px;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; cursor: pointer; font-weight: 500;
  transition: background 0.2s, border-color 0.2s;
}
.btn-outline:hover { background: var(--surface); border-color: var(--amber); }

.showreel-prompt { margin-top: 3rem; display: flex; align-items: center; justify-content: center; gap: 10px; }
.showreel-btn {
  display: flex; align-items: center; gap: 10px;
  background: transparent; border: 1px solid var(--border2);
  color: var(--text2); padding: 10px 20px; border-radius: 99px;
  font-size: 13px; font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}
.showreel-btn:hover { border-color: var(--amber); color: var(--text); }
.play-circle {
  width: 32px; height: 32px; border-radius: 50%; background: var(--amber);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.play-circle svg { width: 12px; height: 12px; fill: #000; margin-right: -2px; }

/* ─── STATS ─── */
.stats-row {
  display: flex; justify-content: center;
  border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
  background: var(--bg2);
}
.stat-cell { text-align: center; padding: 1.6rem 3rem; border-left: 1px solid var(--border); flex: 1; max-width: 200px; }
.stat-cell:last-child { border-left: none; }
.stat-num { font-size: 30px; font-weight: 900; color: var(--amber); }
.stat-lbl { font-size: 12px; color: var(--text3); margin-top: 3px; font-weight: 500; }

/* ─── SECTIONS ─── */
section { padding: 6rem 2rem; }
.container { max-width: 1100px; margin: 0 auto; }
.sec-header { margin-bottom: 3rem; }
.sec-eyebrow { font-size: 12px; font-weight: 700; color: var(--amber); letter-spacing: 2px; text-transform: uppercase; margin-bottom: 8px; }
.sec-title { font-size: clamp(24px, 4vw, 36px); font-weight: 900; }
.sec-sub { font-size: 15px; color: var(--text2); margin-top: 8px; }

.reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ─── PORTFOLIO GRID (HOME) ─── */
.portfolio-mini { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }

/* ─── PORTFOLIO PAGE ─── */
.filter-bar { display: flex; gap: 8px; margin-bottom: 2rem; flex-wrap: wrap; }
.ftab {
  padding: 7px 20px; border-radius: 99px; border: 1px solid var(--border);
  font-size: 13px; cursor: pointer; background: transparent;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; color: var(--text2); transition: all 0.2s;
}
.ftab.active { background: var(--amber); color: #000; border-color: var(--amber); font-weight: 600; }
.ftab:hover:not(.active) { border-color: var(--amber); color: var(--text); }
.portfolio-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.p-card {
  border: 1px solid var(--border); border-radius: 16px;
  overflow: hidden; background: var(--surface);
  cursor: pointer; transition: border-color 0.2s, transform 0.2s;
}
.p-card:hover { border-color: var(--amber); transform: translateY(-4px); }
.p-thumb {
  height: 180px; display: flex; align-items: center; justify-content: center;
  position: relative; overflow: hidden;
}
.p-thumb-overlay {
  position: absolute; inset: 0; background: rgba(239,159,39,0.08);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.2s;
}
.p-card:hover .p-thumb-overlay { opacity: 1; }
.p-play { width: 52px; height: 52px; border-radius: 50%; background: var(--amber); display: flex; align-items: center; justify-content: center; }
.p-play svg { width: 18px; height: 18px; fill: #000; margin-right: -2px; }
.p-body { padding: 1rem 1.2rem; }
.p-tag { display: inline-block; font-size: 11px; padding: 2px 10px; border-radius: 99px; margin-bottom: 8px; font-weight: 600; }
.tag-motion { background: rgba(239,159,39,0.15); color: var(--amber-mid); }
.tag-edit { background: rgba(29,158,117,0.15); color: #B89ACC; }
.tag-graphic { background: rgba(239,159,39,0.25); color: #FAC775; }
.p-title { font-size: 15px; font-weight: 600; margin-bottom: 4px; }
.p-client { font-size: 12px; color: var(--text3); }

/* ─── SERVICES PAGE ─── */
.services-hero {
  background: linear-gradient(135deg, var(--bg2) 0%, var(--bg3) 100%);
  padding: 7rem 2rem 4rem; text-align: center;
  border-bottom: 1px solid var(--border);
}
.services-hero h1 { font-size: clamp(28px, 5vw, 52px); font-weight: 900; margin-bottom: 1rem; }
.services-hero p { font-size: 16px; color: var(--text2); max-width: 580px; margin: 0 auto; line-height: 1.9; }

.services-tabs { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin-bottom: 3rem; }
.stab {
  padding: 9px 24px; border-radius: 99px; border: 1px solid var(--border);
  font-size: 14px; cursor: pointer; background: transparent;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; color: var(--text2); transition: all 0.2s;
}
.stab.active { background: var(--amber); color: #000; border-color: var(--amber); font-weight: 600; }
.stab:hover:not(.active) { border-color: var(--amber); color: var(--text); }

.service-detail { display: none; }
.service-detail.active { display: block; }

/* srv card on home */
.srv-card {
  border: 1px solid var(--border); border-radius: 16px; padding: 2rem 1.5rem;
  background: var(--surface); transition: border-color 0.25s;
  position: relative; overflow: hidden; cursor: default;
}
.srv-card::before {
  content: ''; position: absolute; top: 0; right: 0;
  width: 80px; height: 80px;
  background: radial-gradient(circle at top right, rgba(239,159,39,0.12), transparent 70%);
}
.srv-card:hover { border-color: var(--amber); }
.srv-icon { font-size: 32px; margin-bottom: 1rem; }
.srv-name { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.srv-desc { font-size: 14px; color: var(--text2); line-height: 1.8; margin-bottom: 1rem; }
.srv-features { list-style: none; display: flex; flex-direction: column; gap: 6px; margin-bottom: 1.2rem; }
.srv-features li { font-size: 13px; color: var(--text2); display: flex; align-items: center; gap: 6px; }
.srv-features li::before { content: '✓'; color: var(--teal); font-weight: 700; font-size: 12px; }
.srv-price { font-size: 14px; color: var(--amber); font-weight: 700; padding: 6px 14px; border: 1px solid var(--border2); border-radius: 99px; display: inline-block; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }

.srv-main-card {
  background: var(--surface); border: 1px solid var(--border2);
  border-radius: 20px; overflow: hidden; margin-bottom: 2rem;
}
.srv-main-header {
  padding: 3rem; background: linear-gradient(135deg, rgba(239,159,39,0.08), transparent);
  border-bottom: 1px solid var(--border);
  display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: start;
}
.srv-main-icon { font-size: 56px; margin-bottom: 1rem; }
.srv-main-name { font-size: 28px; font-weight: 900; margin-bottom: 10px; }
.srv-main-desc { font-size: 16px; color: var(--text2); line-height: 1.9; max-width: 600px; }
.srv-main-badge {
  background: var(--amber); color: #000;
  font-size: 13px; font-weight: 700; padding: 8px 20px; border-radius: 99px;
  white-space: nowrap; height: fit-content;
}

.srv-packages { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; padding: 2rem; }
.pkg-card {
  border: 1px solid var(--border); border-radius: 14px; padding: 1.8rem;
  background: var(--bg2); transition: border-color 0.2s, transform 0.2s;
  position: relative;
}
.pkg-card:hover { border-color: var(--amber); transform: translateY(-3px); }
.pkg-card.featured { border-color: var(--amber); background: rgba(239,159,39,0.05); }
.pkg-badge-featured {
  position: absolute; top: -12px; right: 20px;
  background: var(--amber); color: #000;
  font-size: 11px; font-weight: 700; padding: 3px 12px; border-radius: 99px;
}
.pkg-name { font-size: 16px; font-weight: 700; margin-bottom: 6px; }
.pkg-price { font-size: 26px; font-weight: 900; color: var(--amber); margin-bottom: 4px; }
.pkg-price span { font-size: 14px; color: var(--text3); font-weight: 400; }
.pkg-desc { font-size: 13px; color: var(--text2); margin-bottom: 1.2rem; line-height: 1.7; }
.pkg-features { list-style: none; display: flex; flex-direction: column; gap: 8px; margin-bottom: 1.5rem; }
.pkg-features li { font-size: 13px; color: var(--text2); display: flex; align-items: flex-start; gap: 8px; }
.pkg-features li::before { content: '✓'; color: var(--teal); font-weight: 700; font-size: 12px; margin-top: 2px; flex-shrink: 0; }
.pkg-cta {
  width: 100%; padding: 11px; border-radius: 10px; font-size: 14px;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; font-weight: 700; cursor: pointer;
  transition: all 0.2s; border: 1px solid var(--border2); background: transparent; color: var(--text);
}
.pkg-card.featured .pkg-cta { background: var(--amber); border-color: var(--amber); color: #000; }
.pkg-card.featured .pkg-cta:hover { background: var(--amber-dark); color: #fff; }
.pkg-cta:hover { border-color: var(--amber); color: var(--amber); }

.srv-process { padding: 2rem; border-top: 1px solid var(--border); }
.srv-process h3 { font-size: 18px; font-weight: 700; margin-bottom: 1.5rem; }
.process-steps { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.process-step { display: flex; gap: 14px; align-items: flex-start; }
.step-num {
  width: 36px; height: 36px; border-radius: 10px; background: rgba(239,159,39,0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 900; color: var(--amber); flex-shrink: 0;
}
.step-info h4 { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
.step-info p { font-size: 12px; color: var(--text3); line-height: 1.7; }

/* ─── ABOUT / TEAM PAGE ─── */
.team-hero {
  padding: 7rem 2rem 4rem; text-align: center;
  background: linear-gradient(135deg, var(--bg2), var(--bg3));
  border-bottom: 1px solid var(--border);
}
.team-hero h1 { font-size: clamp(28px, 5vw, 52px); font-weight: 900; margin-bottom: 1rem; }
.team-hero p { font-size: 16px; color: var(--text2); max-width: 600px; margin: 0 auto; line-height: 1.9; }

.studio-story { display: grid; grid-template-columns: 1fr 1.4fr; gap: 5rem; align-items: center; }
.studio-visual {
  background: var(--surface); border: 1px solid var(--border2); border-radius: 20px;
  aspect-ratio: 1; display: flex; align-items: center; justify-content: center;
  font-size: 72px; font-weight: 900; color: var(--amber);
  position: relative; overflow: hidden;
}
.studio-visual::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 30% 40%, rgba(239,159,39,0.2), transparent 60%);
}
.studio-founded {
  position: absolute; bottom: -12px; left: 20px;
  background: var(--amber); color: #000;
  font-size: 13px; font-weight: 700; padding: 6px 16px; border-radius: 99px;
}
.studio-text h2 { font-size: 28px; font-weight: 900; margin-bottom: 1rem; }
.studio-text p { font-size: 15px; color: var(--text2); line-height: 1.9; margin-bottom: 1.2rem; }
.studio-values { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 1.5rem; }
.value-item {
  background: var(--surface); border: 1px solid var(--border); border-radius: 12px;
  padding: 1rem; transition: border-color 0.2s;
}
.value-item:hover { border-color: var(--amber); }
.value-icon { font-size: 22px; margin-bottom: 6px; }
.value-name { font-size: 14px; font-weight: 700; margin-bottom: 4px; }
.value-desc { font-size: 12px; color: var(--text3); line-height: 1.6; }

.team-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.team-card {
  background: var(--surface); border: 1px solid var(--border); border-radius: 16px;
  padding: 2rem 1.5rem; text-align: center;
  transition: border-color 0.2s, transform 0.2s;
}
.team-card:hover { border-color: var(--amber); transform: translateY(-4px); }
.team-avatar {
  width: 80px; height: 80px; border-radius: 50%; margin: 0 auto 1rem;
  background: linear-gradient(135deg, rgba(239,159,39,0.3), rgba(239,159,39,0.1));
  display: flex; align-items: center; justify-content: center;
  font-size: 24px; font-weight: 900; color: var(--amber);
  border: 2px solid var(--border2);
}
.team-name { font-size: 18px; font-weight: 700; margin-bottom: 4px; }
.team-role { font-size: 13px; color: var(--amber); font-weight: 600; margin-bottom: 10px; }
.team-bio { font-size: 13px; color: var(--text2); line-height: 1.7; margin-bottom: 1.2rem; }
.team-skills { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
.skill-pill {
  font-size: 11px; padding: 3px 10px; border-radius: 6px;
  background: var(--surface2); border: 1px solid var(--border); color: var(--text3);
}

.tools-section { background: var(--bg2); padding: 5rem 2rem; }
.tools-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.tool-chip {
  padding: 8px 18px; border-radius: 10px; border: 1px solid var(--border);
  background: var(--surface); font-size: 14px; font-weight: 500; color: var(--text2);
  transition: all 0.2s;
}
.tool-chip:hover { border-color: var(--amber); color: var(--text); }

/* ─── TESTIMONIALS ─── */
#testimonials { background: var(--bg2); }
.testimonials-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }
.t-card {
  border: 1px solid var(--border); border-radius: 16px; padding: 1.8rem;
  background: var(--surface); position: relative;
}
.t-quote { font-size: 36px; color: var(--amber); line-height: 1; margin-bottom: 12px; font-family: Georgia, serif; opacity: 0.6; }
.t-text { font-size: 14px; color: var(--text2); line-height: 1.8; margin-bottom: 1.2rem; }
.t-author { display: flex; align-items: center; gap: 10px; }
.t-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(239,159,39,0.15); display: flex; align-items: center; justify-content: center;
  font-size: 14px; font-weight: 700; color: var(--amber);
  flex-shrink: 0; border: 2px solid var(--border2);
}
.t-name { font-size: 14px; font-weight: 600; }
.t-role { font-size: 12px; color: var(--text3); }
.t-stars { color: var(--amber); font-size: 13px; margin-top: 3px; letter-spacing: 1px; }

/* ─── CONTACT PAGE ─── */
.contact-hero {
  padding: 7rem 2rem 4rem; text-align: center;
  background: linear-gradient(135deg, var(--bg2), var(--bg3));
  border-bottom: 1px solid var(--border);
}
.contact-hero h1 { font-size: clamp(28px, 5vw, 52px); font-weight: 900; margin-bottom: 1rem; }
.contact-hero p { font-size: 16px; color: var(--text2); max-width: 560px; margin: 0 auto; line-height: 1.9; }

.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: 4rem; align-items: start; }
.contact-info h3 { font-size: 22px; font-weight: 900; margin-bottom: 10px; }
.contact-info p { font-size: 15px; color: var(--text2); line-height: 1.8; margin-bottom: 2rem; }
.contact-links { display: flex; flex-direction: column; gap: 12px; margin-bottom: 2rem; }
.c-link {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px; border-radius: 12px;
  border: 1px solid var(--border); background: var(--surface);
  color: var(--text2); font-size: 14px; text-decoration: none; font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif;
  cursor: pointer; transition: border-color 0.2s, background 0.2s, color 0.2s;
}
.c-link:hover { border-color: var(--amber); color: var(--text); background: var(--surface2); }
.c-link.primary { background: var(--amber); border-color: var(--amber); color: #000; font-weight: 700; }
.c-link.primary:hover { background: var(--amber-dark); color: #fff; }
.c-link-icon { width: 36px; height: 36px; border-radius: 8px; background: rgba(239,159,39,0.15); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
.c-link.primary .c-link-icon { background: rgba(255,255,255,0.2); }

.contact-form { display: flex; flex-direction: column; gap: 14px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-group { display: flex; flex-direction: column; gap: 6px; }
.form-group label { font-size: 13px; color: var(--text2); font-weight: 500; }
.form-group input,
.form-group textarea,
.form-group select {
  background: var(--surface); border: 1px solid var(--border);
  border-radius: 10px; padding: 11px 14px; font-size: 14px;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; color: var(--text);
  transition: border-color 0.2s; outline: none; resize: none;
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus { border-color: var(--amber); }
.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--text3); }
.form-group select option { background: var(--bg2); }
.form-submit {
  background: var(--amber); color: #000; border: none;
  padding: 13px; border-radius: 10px; font-size: 15px;
  font-family: 'Thmanyah', 'ثمانية', Tahoma, 'Segoe UI', Arial, sans-serif; font-weight: 700; cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  display: flex; align-items: center; justify-content: center; gap: 8px;
}
.form-submit:hover { background: var(--amber-dark); color: #fff; }
.form-submit:active { transform: scale(0.98); }
.form-success {
  display: none; text-align: center; padding: 2rem;
  border: 1px solid rgba(29,158,117,0.3); border-radius: 12px;
  background: rgba(29,158,117,0.08); color: #B89ACC;
}
.form-success.visible { display: block; }

/* ─── FOOTER ─── */
footer {
  border-top: 1px solid var(--border); padding: 2rem 3rem;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px; background: var(--bg);
}
.footer-logo { font-size: 16px; font-weight: 900; }
.footer-logo span { color: var(--amber); }
footer p { font-size: 12px; color: var(--text3); }
.footer-links { display: flex; gap: 1.5rem; }
.footer-links a { font-size: 12px; color: var(--text3); cursor: pointer; transition: color 0.2s; }
.footer-links a:hover { color: var(--amber); }

@keyframes floatY { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
@keyframes spinSVG { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }

canvas { display: block; }

@media (max-width: 768px) {
  nav { padding: 1rem 1.5rem; }
  .nav-links { display: none; }
  .mobile-menu-btn { display: block; }
  section { padding: 4rem 1.2rem; }
  .studio-story, .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
  .form-row { grid-template-columns: 1fr; }
  .stats-row { flex-wrap: wrap; }
  .stat-cell { min-width: 50%; border-left: none; border-bottom: 1px solid var(--border); }
  footer { padding: 1.5rem; flex-direction: column; text-align: center; }
  .srv-main-header { grid-template-columns: 1fr; }
}

/* CSS-only preview fallback: works even when JavaScript is blocked */
.page { display:none !important; }
#page-home { display:block !important; }
.page:target { display:block !important; }
body:has(.page:target) #page-home { display:none !important; }
body:has(#page-home:target) #page-home { display:block !important; }
html { scroll-padding-top: 90px; }


/* ─── SUCCESS PARTNERS ─── */
.partners-section{
  background:var(--bg2);
}
.partners-section .sec-sub{
  max-width:620px;
  margin:.6rem auto 0;
}
.partners-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.partner-card{
  min-height:150px;
  border:1px solid var(--border);
  background:var(--surface);
  border-radius:16px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  transition:transform .2s,border-color .2s,background .2s;
}
.partner-card:hover{
  transform:translateY(-4px);
  border-color:var(--amber);
  background:var(--surface2);
}
.partner-logo{
  width:66px;height:66px;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  color:var(--amber);
  border:1px solid var(--border2);
  background:rgba(239,159,39,.08);
  font-size:12px;font-weight:900;letter-spacing:.05em;
}
.partner-name{
  color:var(--text2);
  font-size:13px;
  font-weight:600;
}

/* ─── FINAL CTA ─── */
.final-cta-section{
  padding:5rem 2rem 6rem;
  background:var(--bg);
}
.final-cta{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:4.5rem 2rem;
  border:1px solid var(--border2);
  border-radius:30px;
  background:
    radial-gradient(circle at 15% 10%, rgba(239,159,39,.12), transparent 28%),
    radial-gradient(circle at 88% 85%, rgba(91,60,118,.22), transparent 30%),
    linear-gradient(135deg,var(--surface),var(--bg2));
}
.final-cta::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(239,159,39,.025) 1px,transparent 1px),
    linear-gradient(90deg,rgba(239,159,39,.025) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
}
.final-cta > *{position:relative;z-index:1}
.final-cta-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--amber-mid);
  background:rgba(239,159,39,.1);
  border:1px solid var(--border2);
  border-radius:99px;
  padding:7px 15px;
  font-size:13px;
  font-weight:700;
  margin-bottom:1.4rem;
}
.final-cta-spark{font-size:15px}
.final-cta h2{
  font-size:clamp(30px,5vw,52px);
  line-height:1.25;
  font-weight:900;
  margin-bottom:.8rem;
}
.final-cta h2 span{color:var(--amber)}
.final-cta p{
  color:var(--text2);
  max-width:680px;
  margin:0 auto 1.8rem;
  font-size:15px;
  line-height:1.9;
}
.final-cta-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
}
.final-cta-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
}

@media(max-width:768px){
  .partners-grid{grid-template-columns:repeat(2,1fr)}
  .final-cta{padding:3.2rem 1.3rem;border-radius:22px}
}
@media(max-width:460px){
  .partners-grid{grid-template-columns:1fr}
}


/* ═══════════════════════════════════════════════════════════
   DECORATIVE ENHANCEMENTS — content/order unchanged
   ═══════════════════════════════════════════════════════════ */

/* subtle page ambience */
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 18% 15%, rgba(239,159,39,.07), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(91,60,118,.10), transparent 26%),
    radial-gradient(circle at 50% 82%, rgba(239,159,39,.035), transparent 30%);
}

/* premium navbar */
nav{
  box-shadow:0 10px 35px rgba(0,0,0,.18);
}
.nav-logo{
  position:relative;
}
.nav-logo::before{
  content:'';
  position:absolute;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--amber);
  right:-14px;
  top:50%;
  transform:translateY(-50%);
  box-shadow:0 0 14px rgba(239,159,39,.8);
}

/* richer hero ambience */
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(239,159,39,.025) 1px, transparent 1px),
    linear-gradient(90deg,rgba(239,159,39,.025) 1px, transparent 1px);
  background-size:54px 54px;
  mask-image:radial-gradient(circle at center,#000 0%,rgba(0,0,0,.72) 42%,transparent 78%);
}
.hero::after{
  content:'';
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  left:50%;
  top:50%;
  transform:translate(-50%,-48%);
  background:radial-gradient(circle,rgba(239,159,39,.07),rgba(91,60,118,.025) 45%,transparent 70%);
  filter:blur(12px);
  pointer-events:none;
}
.hero-inner{
  position:relative;
  z-index:2;
}
.hero h1{
  text-shadow:0 8px 38px rgba(0,0,0,.30);
}
.hero-badge{
  box-shadow:0 0 0 1px rgba(239,159,39,.04),0 10px 30px rgba(0,0,0,.18);
}

/* buttons micro-interactions */
.btn-primary,.btn-outline,.nav-cta,.pkg-cta,.form-submit{
  position:relative;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .22s ease, background .22s ease, border-color .22s ease, color .22s ease;
}
.btn-primary:hover,.nav-cta:hover,.form-submit:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(239,159,39,.20);
}
.btn-outline:hover,.pkg-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}

/* section rhythm + decorative separators */
section{
  position:relative;
}
section:not(.hero):not(.final-cta-section)::before{
  content:'';
  position:absolute;
  width:56px;
  height:2px;
  top:0;
  right:50%;
  transform:translateX(50%);
  background:linear-gradient(90deg,transparent,var(--amber),transparent);
  opacity:.26;
}
.sec-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.sec-eyebrow::before{
  content:'';
  width:18px;
  height:1px;
  background:var(--amber);
  opacity:.75;
}

/* portfolio cards */
.p-card{
  box-shadow:0 14px 34px rgba(0,0,0,.12);
  transform:translateZ(0);
}
.p-card:hover{
  box-shadow:0 22px 50px rgba(0,0,0,.24),0 0 0 1px rgba(239,159,39,.08);
}
.p-thumb svg{
  transition:transform .35s ease, filter .35s ease;
}
.p-card:hover .p-thumb svg{
  transform:scale(1.06);
  filter:drop-shadow(0 0 18px rgba(239,159,39,.16));
}
.p-thumb::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.12));
  pointer-events:none;
}
.p-tag{
  border:1px solid rgba(239,159,39,.10);
}

/* service cards */
.srv-card{
  box-shadow:0 14px 36px rgba(0,0,0,.11);
}
.srv-card:hover{
  box-shadow:0 22px 52px rgba(0,0,0,.22);
  transform:translateY(-4px);
}
.srv-icon{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:16px;
  background:rgba(239,159,39,.09);
  border:1px solid var(--border2);
  box-shadow:inset 0 0 20px rgba(239,159,39,.04);
  transition:transform .25s ease,background .25s ease;
}
.srv-card:hover .srv-icon{
  transform:translateY(-3px) rotate(-2deg);
  background:rgba(239,159,39,.14);
}

/* partner section refinement */
.partners-grid{
  gap:18px;
}
.partner-card{
  position:relative;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.10);
}
.partner-card::after{
  content:'';
  position:absolute;
  width:100px;height:100px;
  left:-34px;bottom:-36px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(91,60,118,.16),transparent 68%);
}
.partner-logo{
  transition:transform .25s ease,box-shadow .25s ease;
}
.partner-card:hover .partner-logo{
  transform:scale(1.05);
  box-shadow:0 0 24px rgba(239,159,39,.10);
}

/* team / story cards */
.value-item,.team-card,.tool-chip{
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.team-avatar{
  box-shadow:0 0 0 6px rgba(239,159,39,.025),0 12px 26px rgba(0,0,0,.18);
}

/* contact */
.c-link{
  transition:transform .2s ease,border-color .2s ease,background .2s ease,color .2s ease;
}
.c-link:hover{
  transform:translateX(-3px);
}
.form-group input,
.form-group textarea,
.form-group select{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015);
}
.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus{
  box-shadow:0 0 0 3px rgba(239,159,39,.07);
}

/* final CTA polish */
.final-cta{
  box-shadow:0 28px 70px rgba(0,0,0,.22);
}
.final-cta::after{
  content:'';
  position:absolute;
  width:230px;height:230px;
  border-radius:50%;
  top:-110px;left:-90px;
  border:1px solid rgba(239,159,39,.14);
  box-shadow:0 0 0 26px rgba(239,159,39,.025),0 0 0 52px rgba(91,60,118,.018);
  pointer-events:none;
}
.final-cta .btn-primary{
  box-shadow:0 14px 30px rgba(239,159,39,.16);
}

/* footer */
footer{
  position:relative;
}
footer::before{
  content:'';
  position:absolute;
  top:-1px;
  left:0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.32),transparent);
}

/* subtle scrollbar */
::-webkit-scrollbar{width:10px}
::-webkit-scrollbar-track{background:#0b0910}
::-webkit-scrollbar-thumb{
  background:linear-gradient(var(--amber-dark),var(--teal));
  border-radius:99px;
  border:2px solid #0b0910;
}

/* mobile refinements */
@media(max-width:768px){
  nav{box-shadow:0 8px 24px rgba(0,0,0,.22)}
  .hero::after{width:340px;height:340px}
  .srv-card:hover,.p-card:hover,.partner-card:hover{transform:none}
  .final-cta::after{display:none}
}


/* ═══════════════════════════════════════════════════════════
   V12 — LUXURY VISUAL LAYER
   Decorative only: text, sections and order are untouched.
   ═══════════════════════════════════════════════════════════ */

:root{
  --glow-amber: rgba(239,159,39,.26);
  --glow-purple: rgba(91,60,118,.28);
}

/* global decorative grain + vignette */
body{
  position:relative;
}
body::after{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9998;
  opacity:.035;
  mix-blend-mode:screen;
  background-image:
    radial-gradient(circle at 20% 20%, #fff 0 0.6px, transparent .7px),
    radial-gradient(circle at 80% 30%, #fff 0 0.5px, transparent .6px),
    radial-gradient(circle at 35% 75%, #fff 0 0.5px, transparent .6px);
  background-size:11px 11px,13px 13px,17px 17px;
}

/* floating ambient shapes */
.decor-orb{
  position:fixed;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
  filter:blur(4px);
  opacity:.45;
  animation:orbFloat 14s ease-in-out infinite;
}
.decor-orb.o1{
  width:190px;height:190px;
  right:-70px;top:18vh;
  background:radial-gradient(circle,var(--glow-amber),transparent 68%);
}
.decor-orb.o2{
  width:240px;height:240px;
  left:-90px;top:58vh;
  background:radial-gradient(circle,var(--glow-purple),transparent 70%);
  animation-delay:-5s;
}
@keyframes orbFloat{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-24px) scale(1.05)}
}

/* premium nav glass */
nav{
  border-bottom-color:rgba(239,159,39,.10);
  background:linear-gradient(180deg,rgba(11,9,16,.93),rgba(11,9,16,.80));
}
nav::after{
  content:'';
  position:absolute;
  left:12%;
  right:12%;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.30),rgba(91,60,118,.22),transparent);
}

/* hero — more cinematic */
.hero{
  isolation:isolate;
}
.hero .hero-inner::before,
.hero .hero-inner::after{
  content:'';
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  z-index:-1;
}
.hero .hero-inner::before{
  width:360px;height:360px;
  top:-130px;right:-180px;
  border:1px solid rgba(239,159,39,.10);
  box-shadow:
    0 0 0 30px rgba(239,159,39,.015),
    0 0 0 60px rgba(91,60,118,.012);
  animation:ringDrift 12s ease-in-out infinite;
}
.hero .hero-inner::after{
  width:200px;height:200px;
  bottom:-90px;left:-110px;
  border:1px dashed rgba(91,60,118,.18);
  animation:spinSlow 26s linear infinite;
}
@keyframes ringDrift{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-15px,18px,0)}
}
@keyframes spinSlow{to{transform:rotate(360deg)}}

.hero h1{
  letter-spacing:-.02em;
}
.hero h1::before{
  content:'✦';
  position:absolute;
  transform:translate(55px,-26px);
  font-size:18px;
  color:var(--amber);
  opacity:.7;
  text-shadow:0 0 18px rgba(239,159,39,.45);
}
.hero p{
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
}

/* stylish section titles */
.sec-header{
  position:relative;
}
.sec-title{
  position:relative;
  display:inline-block;
}
.sec-title::after{
  content:'';
  position:absolute;
  bottom:-10px;
  right:0;
  width:42%;
  height:2px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--amber),transparent);
  opacity:.65;
}

/* content sections get large ghost numerals */
#page-home > section:not(.hero):nth-of-type(2)::after,
#page-home > section:not(.hero):nth-of-type(3)::after,
#page-home > section:not(.hero):nth-of-type(4)::after{
  position:absolute;
  left:3%;
  top:10%;
  font-size:120px;
  line-height:1;
  font-weight:900;
  color:rgba(255,255,255,.018);
  pointer-events:none;
  letter-spacing:-.08em;
}
#page-home > section:not(.hero):nth-of-type(2)::after{content:'01'}
#page-home > section:not(.hero):nth-of-type(3)::after{content:'02'}
#page-home > section:not(.hero):nth-of-type(4)::after{content:'03'}

/* portfolio cards: richer frame + shine */
.p-card{
  position:relative;
}
.p-card::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(239,159,39,.45),transparent 35%,rgba(91,60,118,.24) 75%,transparent);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
  z-index:2;
}
.p-card:hover::before{opacity:1}
.p-card .p-body{
  position:relative;
}
.p-card .p-body::after{
  content:'↗';
  position:absolute;
  left:18px;
  top:18px;
  color:var(--amber);
  opacity:.0;
  transform:translate(-6px,6px);
  transition:.25s ease;
}
.p-card:hover .p-body::after{
  opacity:.85;
  transform:none;
}

/* services: accent rail */
.srv-card{
  border-color:rgba(239,159,39,.12);
}
.srv-card::after{
  content:'';
  position:absolute;
  top:18px;
  bottom:18px;
  right:0;
  width:2px;
  background:linear-gradient(180deg,transparent,var(--amber),transparent);
  opacity:.18;
  transition:opacity .25s ease,height .25s ease;
}
.srv-card:hover::after{opacity:.7}
.srv-name{
  position:relative;
  display:inline-block;
}
.srv-name::after{
  content:'';
  position:absolute;
  bottom:-6px;
  right:0;
  width:28px;
  height:1px;
  background:var(--amber);
  opacity:.45;
}

/* partners as premium logo wall */
.partners-section{
  overflow:hidden;
}
.partners-section::after{
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% 0%,rgba(239,159,39,.055),transparent 35%),
    linear-gradient(90deg,rgba(11,9,16,.75),transparent 15%,transparent 85%,rgba(11,9,16,.75));
}
.partners-grid{
  position:relative;
  z-index:1;
}
.partner-card{
  min-height:170px;
  backdrop-filter:blur(6px);
}
.partner-card::before{
  content:'';
  position:absolute;
  top:0;right:0;
  width:72px;height:72px;
  background:
    linear-gradient(135deg,rgba(239,159,39,.12),transparent 60%);
  clip-path:polygon(100% 0,0 0,100% 100%);
}

/* CTA: dramatic end section */
.final-cta{
  min-height:420px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.final-cta::before{
  opacity:.75;
}
.final-cta::after{
  box-shadow:
    0 0 0 24px rgba(239,159,39,.03),
    0 0 0 48px rgba(91,60,118,.02),
    0 0 90px rgba(239,159,39,.09);
}
.final-cta h2{
  max-width:840px;
}
.final-cta .btn-primary{
  min-width:220px;
  border-radius:12px;
  animation:ctaPulse 3.2s ease-in-out infinite;
}
@keyframes ctaPulse{
  0%,100%{box-shadow:0 14px 30px rgba(239,159,39,.16)}
  50%{box-shadow:0 16px 40px rgba(239,159,39,.28)}
}

/* animated underline on nav */
.nav-links a::after{
  box-shadow:0 0 14px rgba(239,159,39,.25);
}

/* cursor glow via pseudo element */
.cursor-glow{
  position:fixed;
  width:180px;height:180px;
  border-radius:50%;
  pointer-events:none;
  z-index:0;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(239,159,39,.06),transparent 68%);
  mix-blend-mode:screen;
  transition:opacity .2s ease;
}

/* reveal feels more premium */
.reveal{
  transition:
    opacity .8s cubic-bezier(.2,.65,.3,1),
    transform .8s cubic-bezier(.2,.65,.3,1);
}

/* subtle text selection */
::selection{
  background:rgba(239,159,39,.28);
  color:#fff;
}

@media(max-width:768px){
  .hero h1::before{display:none}
  .decor-orb{opacity:.25}
  .cursor-glow{display:none}
  #page-home > section:not(.hero)::after{display:none!important}
}


/* ═══════════════════════════════════════════════════════════
   V13 — ART DIRECTION EDITION
   Stronger composition, quieter effects, more editorial depth.
   Content/order preserved.
   ═══════════════════════════════════════════════════════════ */

/* overall rhythm */
:root{
  --section-space: clamp(5rem, 8vw, 8rem);
}
section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
.container{max-width:1160px}

/* hero composition */
.hero{
  min-height:92vh;
  padding-top:8.5rem;
  padding-bottom:6rem;
}
.hero-inner{
  max-width:860px;
}
.hero-badge{
  margin-bottom:1.8rem;
  letter-spacing:.01em;
}
.hero h1{
  font-size:clamp(44px,7vw,78px);
  line-height:1.05;
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}
.hero p{
  font-size:18px;
  max-width:760px;
  line-height:1.95;
  margin-top:.4rem;
}
.hero-btns{
  margin-top:.4rem;
}

/* editorial side marker */
.hero-inner::before{
  content:'RIM / ADP';
  position:absolute;
  right:-140px;
  top:48%;
  transform:translateY(-50%) rotate(90deg);
  color:rgba(246,241,248,.12);
  font-size:11px;
  letter-spacing:.38em;
  font-weight:700;
}
@media(max-width:1100px){
  .hero-inner::before{display:none}
}

/* section headings stronger hierarchy */
.sec-header{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.35rem;
}
.sec-eyebrow{
  font-size:11px;
  letter-spacing:.18em;
}
.sec-title{
  font-size:clamp(30px,4.4vw,46px);
  line-height:1.15;
}
.sec-sub{
  max-width:650px;
  line-height:1.9;
}

/* featured work more like case studies */
.portfolio-mini,
.portfolio-grid{
  gap:26px;
}
.p-card{
  border-radius:20px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.015),transparent 25%),
    var(--surface);
}
.p-thumb{
  height:220px;
}
.p-body{
  padding:1.35rem 1.4rem 1.45rem;
}
.p-title{
  font-size:18px;
  margin-bottom:7px;
}
.p-client{
  font-size:13px;
  line-height:1.7;
}
.p-tag{
  margin-bottom:11px;
}
.p-card:nth-child(2){
  transform:translateY(18px);
}
.p-card:nth-child(2):hover{
  transform:translateY(12px);
}
@media(max-width:768px){
  .p-card:nth-child(2),
  .p-card:nth-child(2):hover{transform:none}
  .p-thumb{height:190px}
}

/* services: more asymmetric editorial feel */
.services-grid{
  gap:24px;
}
.srv-card{
  min-height:330px;
  padding:2.25rem 1.7rem;
  border-radius:18px;
}
.srv-card:nth-child(2){
  transform:translateY(22px);
}
.srv-card:nth-child(2):hover{
  transform:translateY(16px);
}
.srv-name{
  font-size:20px;
}
.srv-desc{
  font-size:14px;
  line-height:1.9;
}
@media(max-width:768px){
  .srv-card:nth-child(2),
  .srv-card:nth-child(2):hover{transform:none}
}

/* visual bands between sections */
#page-home > section:nth-of-type(2),
#page-home > section:nth-of-type(4){
  background:
    linear-gradient(180deg,rgba(255,255,255,.008),transparent 20%),
    var(--bg);
}
#page-home > section:nth-of-type(3){
  background:
    radial-gradient(circle at 80% 20%,rgba(91,60,118,.08),transparent 28%),
    var(--bg2);
}

/* partners — quieter, more premium */
.partners-section{
  padding-top:6rem;
  padding-bottom:6rem;
}
.partners-grid{
  grid-template-columns:repeat(4,1fr);
}
.partner-card{
  min-height:135px;
  border-radius:14px;
  background:rgba(255,255,255,.012);
}
.partner-logo{
  width:58px;
  height:58px;
  border-radius:14px;
}
.partner-name{
  letter-spacing:.01em;
}
@media(max-width:768px){
  .partners-grid{grid-template-columns:repeat(2,1fr)}
}

/* final CTA — bolder editorial block */
.final-cta-section{
  padding-top:7rem;
  padding-bottom:7rem;
}
.final-cta{
  min-height:460px;
  border-radius:34px;
  padding:5rem 3rem;
  background:
    radial-gradient(circle at 12% 18%,rgba(239,159,39,.13),transparent 24%),
    radial-gradient(circle at 86% 80%,rgba(91,60,118,.20),transparent 26%),
    linear-gradient(135deg,#17121f 0%,#0d0a12 65%,#16101f 100%);
}
.final-cta h2{
  font-size:clamp(38px,6vw,64px);
  max-width:880px;
  line-height:1.1;
  margin-left:auto;
  margin-right:auto;
}
.final-cta p{
  font-size:16px;
  max-width:680px;
}
.final-cta-badge{
  letter-spacing:.01em;
}
.final-cta .btn-primary{
  padding:15px 34px;
  min-width:235px;
}

/* footer more refined */
footer{
  padding-top:2.4rem;
  padding-bottom:2.4rem;
}

/* subtle floating editorial marks */
.art-mark{
  position:absolute;
  pointer-events:none;
  opacity:.16;
  z-index:0;
}
.art-mark.cross{
  width:20px;height:20px;
}
.art-mark.cross::before,
.art-mark.cross::after{
  content:'';
  position:absolute;
  background:var(--amber);
}
.art-mark.cross::before{
  width:20px;height:1px;top:9px;left:0;
}
.art-mark.cross::after{
  width:1px;height:20px;left:9px;top:0;
}
.art-mark.ring{
  width:46px;height:46px;
  border:1px solid var(--teal);
  border-radius:50%;
}
.art-mark.dots{
  width:44px;height:44px;
  background-image:radial-gradient(circle,var(--amber) 1px,transparent 1.5px);
  background-size:9px 9px;
}


/* ═══════════════════════════════════════════════════════════
   V14 — SOFTER INTERACTIONS
   Reduce exaggerated expansion/movement on cards and buttons.
   ═══════════════════════════════════════════════════════════ */

.p-card,
.srv-card,
.partner-card,
.btn-primary,
.btn-outline,
.nav-cta,
.pkg-cta,
.form-submit{
  transform:none !important;
}

.p-card:hover,
.srv-card:hover,
.partner-card:hover{
  transform:translateY(-2px) !important;
}

.btn-primary:hover,
.btn-outline:hover,
.nav-cta:hover,
.pkg-cta:hover,
.form-submit:hover{
  transform:translateY(-1px) !important;
}

.btn-primary:active,
.btn-outline:active,
.nav-cta:active,
.pkg-cta:active,
.form-submit:active,
.p-card:active,
.srv-card:active,
.partner-card:active{
  transform:scale(.995) !important;
}

.p-card,
.srv-card,
.partner-card{
  transition:
    transform .18s ease,
    border-color .22s ease,
    box-shadow .22s ease !important;
}

.btn-primary,
.btn-outline,
.nav-cta,
.pkg-cta,
.form-submit{
  transition:
    transform .14s ease,
    background .2s ease,
    border-color .2s ease,
    color .2s ease,
    box-shadow .2s ease !important;
}


/* ═══════════════════════════════════════════════════════════
   V15 — EXTENDED FOOTER
   ═══════════════════════════════════════════════════════════ */
.site-footer{
  position:relative;
  background:
    radial-gradient(circle at 12% 0%,rgba(239,159,39,.05),transparent 24%),
    linear-gradient(180deg,#100d17 0%,#0b0910 100%);
  border-top:1px solid var(--border);
  padding:4.5rem 2rem 1.8rem;
}
.site-footer::before{
  content:'';
  position:absolute;
  top:-1px;
  left:8%;
  right:8%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--amber),rgba(91,60,118,.5),transparent);
  opacity:.45;
}
.footer-main{
  display:grid;
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  gap:3rem;
  align-items:start;
}
.footer-col{
  display:flex;
  flex-direction:column;
  gap:.8rem;
}
.footer-col h4{
  font-size:16px;
  font-weight:800;
  margin-bottom:.45rem;
  color:var(--text);
}
.footer-col a{
  color:var(--text2);
  text-decoration:none;
  font-size:13px;
  transition:color .2s ease,transform .2s ease;
  width:max-content;
}
.footer-col a:hover{
  color:var(--amber);
  transform:translateX(-3px);
}
.footer-brand-name{
  font-size:22px;
  font-weight:900;
  margin-bottom:.4rem;
}
.footer-brand-name span{
  color:var(--amber);
}
.footer-brand p{
  color:var(--text2);
  font-size:13px;
  line-height:1.9;
  max-width:300px;
}
.footer-socials{
  display:flex;
  gap:10px;
  margin-top:.6rem;
}
.footer-socials a{
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--border2);
  background:var(--surface);
  color:var(--text2);
  font-size:13px;
  font-weight:800;
  transition:.2s ease;
}
.footer-socials a:hover{
  transform:translateY(-2px);
  color:#000;
  background:var(--amber);
  border-color:var(--amber);
}
.footer-bottom{
  margin-top:3rem;
  padding-top:1.3rem;
  border-top:1px solid rgba(239,159,39,.12);
  color:var(--text3);
  font-size:12px;
  text-align:center;
}
@media(max-width:900px){
  .footer-main{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .site-footer{padding:3.5rem 1.2rem 1.5rem}
  .footer-main{grid-template-columns:1fr;gap:2rem}
  .footer-brand p{max-width:none}
}

/* WordPress compatibility only */
body.admin-bar nav#navbar{top:32px}
@media(max-width:782px){body.admin-bar nav#navbar{top:46px}}
.nav-links.mobile-open{display:flex!important;position:absolute;top:100%;right:0;left:0;background:var(--bg2);padding:1rem 1.5rem;flex-direction:column;border-bottom:1px solid var(--border)}
.p-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.partner-card img{max-width:120px;max-height:76px;object-fit:contain}
.team-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}


/* V2.0.1 — WordPress body-class compatibility
   WordPress adds class="page" to <body>

<!--
STEP 4 WORDPRESS MANAGEMENT SPEC
- SERVICES: repeatable/dynamic admin items; add/edit/delete/reorder/show-hide.
- PROJECTS: repeatable/dynamic admin items; add/edit/delete/reorder/show-hide.
  Each project also has a "featured on homepage" toggle for "من أحدث أعمالنا".
- PARTNERS: repeatable/dynamic admin items; add/edit/delete/reorder/show-hide.
- Front-end visual appearance remains unchanged.
-->
 on Pages.
   The original HTML prototype also used .page for its internal screens,
   so without this override WordPress hid the entire body and showed a blank page. */
body.page,
body.home,
body.page-template,
body.page-template-default {
  display: block !important;
}

/* Keep the prototype screen switching limited to the actual screen containers only. */
div.page { display: none !important; }
div#page-home { display: block !important; }
div.page:target { display: block !important; }
body:has(div.page:target) div#page-home { display: none !important; }
body:has(div#page-home:target) div#page-home { display: block !important; }


/* =========================================================
   V2.3.1 — Responsive Checked
   Desktop / Tablet / iPad / Mobile refinements
   ========================================================= */

/* Large desktop */
@media (min-width: 1400px){
  .container{max-width:1180px}
  .hero-inner{max-width:900px}
}

/* iPad landscape / small laptop */
@media (max-width: 1180px){
  nav{padding-left:1.5rem;padding-right:1.5rem}
  .container{max-width:calc(100% - 48px)}
  .hero{padding-left:2rem;padding-right:2rem}
  .portfolio-mini,
  .portfolio-grid,
  .services-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .footer-main{grid-template-columns:1.2fr 1fr 1fr 1fr;gap:2rem}
}

/* iPad portrait / tablet */
@media (max-width: 980px){
  nav{padding:0.85rem 1.25rem}
  .nav-links{gap:1.15rem}
  .nav-links a{font-size:13px}
  .nav-cta{padding:8px 16px;font-size:13px}

  .hero{
    min-height:auto;
    padding-top:8rem;
    padding-bottom:5rem;
  }
  .hero-inner{max-width:760px}
  .hero h1{font-size:clamp(38px,7vw,58px)}
  .hero p{font-size:16px}

  section{padding-left:1.5rem;padding-right:1.5rem}
  .container{max-width:100%}

  .portfolio-mini,
  .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .partners-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  .studio-story{grid-template-columns:1fr;gap:2.5rem}
  .studio-visual{max-width:420px;margin-inline:auto;width:100%}

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

  .final-cta{padding:4rem 2rem}
  .final-cta h2{font-size:clamp(34px,6vw,52px)}

  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2rem}
}

/* Mobile / narrow tablet */
@media (max-width: 768px){
  body{font-size:15px}
  nav{padding:0.9rem 1rem}
  .nav-logo{font-size:18px}
  .nav-links{display:none}
  .mobile-menu-btn{display:block}
  .nav-cta{display:none}

  .nav-links.mobile-open{
    display:flex!important;
    position:absolute;
    top:100%;
    right:0;
    left:0;
    flex-direction:column;
    gap:0;
    background:rgba(19,16,28,.98);
    border-bottom:1px solid var(--border);
    padding:.75rem 1rem 1rem;
    box-shadow:0 18px 35px rgba(0,0,0,.28);
  }
  .nav-links.mobile-open li{width:100%}
  .nav-links.mobile-open a{
    display:block;
    padding:.8rem .4rem;
    font-size:14px;
    border-bottom:1px solid rgba(239,159,39,.08);
  }

  .hero{
    padding:7.2rem 1rem 4.2rem;
    text-align:center;
  }
  .hero-inner{max-width:100%}
  .hero-badge{font-size:12px;padding:5px 12px}
  .hero h1{
    font-size:clamp(34px,10vw,48px);
    line-height:1.16;
    margin-bottom:1rem;
  }
  .hero p{
    font-size:15px;
    line-height:1.9;
    margin-bottom:2rem;
  }
  .hero-btns{
    flex-direction:column;
    align-items:stretch;
    max-width:360px;
    margin-inline:auto;
  }
  .hero-btns .btn-primary,
  .hero-btns .btn-outline{
    width:100%;
    text-align:center;
  }

  section{padding:4.25rem 1rem}
  .sec-header{margin-bottom:2rem}
  .sec-title{font-size:clamp(26px,8vw,34px)}
  .sec-sub{font-size:14px}

  .sec-header[style*="display:flex"]{
    display:block!important;
  }
  .sec-header[style*="display:flex"] > .btn-outline{
    margin-top:1rem;
    display:inline-flex;
  }

  .portfolio-mini,
  .portfolio-grid,
  .services-grid,
  .partners-grid,
  .team-grid{
    grid-template-columns:1fr;
  }

  .p-card,
  .srv-card,
  .partner-card,
  .team-card{width:100%}

  .p-thumb{height:210px}
  .srv-card{min-height:unset}
  .srv-icon{margin-bottom:.9rem}

  .filter-bar{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:.5rem;
    -webkit-overflow-scrolling:touch;
  }
  .ftab{white-space:nowrap;flex:0 0 auto}

  .services-tabs{
    justify-content:flex-start;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:.5rem;
    -webkit-overflow-scrolling:touch;
  }
  .stab{white-space:nowrap;flex:0 0 auto}

  .srv-main-header{grid-template-columns:1fr;padding:1.5rem}
  .srv-packages{grid-template-columns:1fr;padding:1rem}
  .srv-process{padding:1.2rem}
  .process-steps{grid-template-columns:1fr}

  .team-hero,
  .services-hero,
  .contact-hero{padding:6.5rem 1rem 3rem}

  .studio-values{grid-template-columns:1fr}
  .studio-visual{max-width:320px}

  .form-row{grid-template-columns:1fr}
  .contact-grid{gap:1.5rem}

  .final-cta-section{padding:4rem 1rem}
  .final-cta{
    min-height:unset;
    padding:3.2rem 1.2rem;
    border-radius:22px;
  }
  .final-cta h2{font-size:clamp(30px,9vw,42px)}
  .final-cta p{font-size:14px}
  .final-cta .btn-primary{width:100%;max-width:320px}

  .site-footer{padding:3.5rem 1rem 1.5rem}
  .footer-main{grid-template-columns:1fr;gap:2rem}
  .footer-brand p{max-width:none}
  .footer-bottom{margin-top:2rem}
}

/* Small phones */
@media (max-width: 480px){
  nav{padding:.8rem .85rem}
  .nav-logo{font-size:16px;letter-spacing:0}
  .mobile-menu-btn span{width:20px}

  .hero{padding-top:6.5rem}
  .hero h1{font-size:clamp(30px,10vw,40px)}
  .hero p{font-size:14px}

  section{padding:3.6rem .85rem}
  .sec-title{font-size:28px}

  .p-thumb{height:185px}
  .p-body{padding:1rem}
  .p-title{font-size:16px}

  .srv-card{padding:1.35rem 1rem}
  .srv-name{font-size:17px}

  .partner-card{min-height:120px}
  .partner-logo{width:58px;height:58px}

  .final-cta{padding:2.7rem 1rem}
  .final-cta-badge{font-size:12px}
  .final-cta h2{font-size:30px}

  footer p,.footer-col a{font-size:12px}
}

/* WordPress admin bar spacing on mobile/tablet */
@media (max-width: 782px){
  body.admin-bar nav#navbar{top:46px}
}
@media (min-width: 783px){
  body.admin-bar nav#navbar{top:32px}
}




:root{
  --site-font:'Cairo',sans-serif;
}
html{
  font-size:16px;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,button,input,textarea,select{
  font-family:var(--site-font)!important;
}
body{
  line-height:1.8;
  overflow-x:hidden;
}
img,svg,video,canvas{
  max-width:100%;
}
.container{
  width:min(1180px,calc(100% - 40px));
}
#navbar{
  min-height:78px;
  padding-inline:clamp(18px,3vw,42px);
}
.nav-logo{
  font-size:clamp(1.18rem,1.5vw,1.45rem)!important;
}
.nav-links a,.nav-cta{
  font-size:clamp(.96rem,1.1vw,1.08rem)!important;
}
.hero-inner{
  width:min(900px,100%);
}
.hero h1{
  font-size:clamp(2.55rem,6.2vw,5.6rem)!important;
  line-height:1.18!important;
}
.hero p{
  font-size:clamp(1.05rem,1.7vw,1.3rem)!important;
  line-height:2!important;
}
.hero-badge{
  font-size:clamp(.88rem,1.05vw,1rem)!important;
}
.btn-primary,.btn-outline{
  font-size:clamp(.98rem,1.1vw,1.08rem)!important;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.sec-eyebrow{
  font-size:clamp(.82rem,.95vw,.95rem)!important;
}
.sec-title{
  font-size:clamp(2rem,4.2vw,3.35rem)!important;
  line-height:1.28!important;
}
.sec-sub{
  font-size:clamp(1rem,1.45vw,1.18rem)!important;
  line-height:1.9!important;
}
.p-title,.srv-name{
  font-size:clamp(1.08rem,1.35vw,1.25rem)!important;
}
.p-client,.srv-desc,.srv-features,.srv-price,.partner-name{
  font-size:clamp(.94rem,1.15vw,1.05rem)!important;
}
.team-hero h1,.services-hero h1,.contact-hero h1{
  font-size:clamp(2.5rem,5vw,4.4rem)!important;
}
.team-hero p,.services-hero p,.contact-hero p{
  font-size:clamp(1rem,1.5vw,1.2rem)!important;
  line-height:1.95!important;
}
.footer-col,.footer-col a,.footer-col p,.footer-bottom{
  font-size:clamp(.92rem,1vw,1rem)!important;
}
input,textarea,select{
  font-size:16px!important;
}
@media (max-width: 1024px){
  .container{width:min(100% - 32px,960px)}
  .portfolio-mini,.portfolio-grid,.services-grid,.partners-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .contact-grid,.studio-story{
    gap:28px!important;
  }
}
@media (max-width: 768px){
  #navbar{
    min-height:68px;
    padding-inline:16px;
  }
  .nav-logo{
    font-size:1.12rem!important;
  }
  section{
    padding-top:64px!important;
    padding-bottom:64px!important;
  }
  .hero{
    min-height:auto!important;
    padding:110px 18px 72px!important;
  }
  .hero h1{
    font-size:clamp(2.35rem,11vw,3.5rem)!important;
  }
  .hero p{
    font-size:1.04rem!important;
  }
  .hero-btns,.final-cta-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .hero-btns a,.final-cta-actions a{
    width:100%;
  }
  .portfolio-mini,.portfolio-grid,.services-grid,.partners-grid,
  .contact-grid,.studio-story,.footer-main{
    grid-template-columns:1fr!important;
  }
  .sec-header{
    align-items:flex-start!important;
  }
  .p-thumb{
    min-height:210px;
  }
  .final-cta{
    padding:34px 20px!important;
  }
  .final-cta h2{
    font-size:clamp(2rem,9vw,3rem)!important;
  }
  .contact-form{
    padding:22px!important;
  }
  .form-row{
    grid-template-columns:1fr!important;
  }
}
@media (max-width: 480px){
  .container{width:calc(100% - 24px)}
  .hero{
    padding-inline:12px!important;
  }
  .hero h1{
    font-size:2.25rem!important;
  }
  .sec-title{
    font-size:2rem!important;
  }
  .p-card,.srv-card,.partner-card{
    border-radius:16px!important;
  }
  .mobile-menu-btn{
    width:44px;
    height:44px;
  }
}
@media (min-width: 1440px){
  html{font-size:17px}
  .container{width:min(1240px,calc(100% - 64px))}
}



html, body,
body *,
body *::before,
body *::after,
button,
input,
textarea,
select,
option {
  font-family: "Cairo", Arial, sans-serif !important;
}



.nav-logo,
.footer-brand-name {
  color: #FFFFFF !important;
}
.nav-logo span,
.footer-brand-name span {
  color: #EF9F27 !important;
}



/* Preserve the original visual identity; refine spacing, motion and hierarchy only. */
#page-portfolio .team-hero{
  position:relative;
  overflow:hidden;
  padding-top:8rem!important;
  padding-bottom:4.5rem!important;
  background:
    radial-gradient(circle at 15% 10%, rgba(91,60,118,.10), transparent 34%),
    linear-gradient(180deg,#0b0910 0%,#0d0a12 100%);
  border-bottom:1px solid rgba(239,159,39,.10);
}
#page-portfolio .team-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px, transparent .7px);
  background-size:14px 14px;
  mask-image:linear-gradient(to bottom,#000 0%,transparent 95%);
}
#page-portfolio .team-hero > *{
  position:relative;
  z-index:1;
}
#page-portfolio .team-hero h1{
  margin-bottom:.9rem!important;
  letter-spacing:-.02em;
}
#page-portfolio .team-hero p{
  max-width:720px;
  margin-inline:auto;
}
#page-portfolio section{
  padding-top:4.5rem!important;
}
#page-portfolio .filter-bar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:2.4rem!important;
  padding:8px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.018);
}
#page-portfolio .ftab{
  min-height:44px;
  padding:10px 18px!important;
  border-radius:12px!important;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease!important;
}
#page-portfolio .ftab:hover{
  transform:translateY(-1px);
}
#page-portfolio .portfolio-grid{
  gap:24px!important;
  align-items:stretch;
}
#page-portfolio .p-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border-radius:20px!important;
  border-color:rgba(255,255,255,.08)!important;
  background:linear-gradient(180deg,rgba(27,22,35,.98),rgba(18,15,24,.98))!important;
  transition:
    transform .28s cubic-bezier(.2,.7,.2,1),
    border-color .28s ease,
    box-shadow .28s ease,
    opacity .25s ease!important;
  will-change:transform,opacity;
}
#page-portfolio .p-card:hover{
  transform:translateY(-5px);
  border-color:rgba(239,159,39,.42)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}
#page-portfolio .p-thumb{
  min-height:290px;
  overflow:hidden;
  position:relative;
}
#page-portfolio .p-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 64%,rgba(7,6,10,.18));
}
#page-portfolio .p-body{
  padding:22px 22px 24px!important;
  flex:1;
}
#page-portfolio .p-tag{
  margin-bottom:4px;
}
#page-portfolio .p-title{
  margin-top:10px!important;
  line-height:1.5!important;
}
#page-portfolio .p-client{
  line-height:1.75!important;
}
#page-portfolio .p-card.portfolio-hiding{
  opacity:0!important;
  transform:translateY(8px) scale(.985)!important;
  pointer-events:none;
}
#page-portfolio .p-card.portfolio-hidden{
  display:none!important;
}
@media (max-width:1024px){
  #page-portfolio .portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:700px){
  #page-portfolio .team-hero{
    padding-top:7rem!important;
    padding-bottom:3.5rem!important;
  }
  #page-portfolio section{
    padding-top:3.4rem!important;
  }
  #page-portfolio .filter-bar{
    justify-content:stretch;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-radius:16px;
  }
  #page-portfolio .ftab{
    width:100%;
  }
  #page-portfolio .portfolio-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #page-portfolio .p-thumb{
    min-height:235px;
  }
  #page-portfolio .p-body{
    padding:19px!important;
  }
}
@media (max-width:420px){
  #page-portfolio .filter-bar{
    grid-template-columns:1fr;
  }
}
@media (prefers-reduced-motion: reduce){
  #page-portfolio .p-card,
  #page-portfolio .ftab{
    transition:none!important;
  }
}



/* Decorative layer: subtle, premium, non-intrusive */
#page-portfolio .team-hero{
  isolation:isolate;
}
#page-portfolio .team-hero::before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  border-radius:50%;
  border:1px solid rgba(239,159,39,.10);
  right:-180px;
  top:-150px;
  box-shadow:
    0 0 0 70px rgba(239,159,39,.018),
    0 0 0 145px rgba(91,60,118,.022);
  z-index:0;
}
#page-portfolio .team-hero h1{
  position:relative;
  display:inline-block;
}
#page-portfolio .team-hero h1::after{
  content:"";
  position:absolute;
  width:54px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef9f27,rgba(239,159,39,.18));
  bottom:-14px;
  right:0;
}
#page-portfolio .team-hero .sec-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
}
#page-portfolio .team-hero .sec-eyebrow::before{
  content:"✦";
  color:#ef9f27;
  font-size:.8rem;
  opacity:.9;
}
#page-portfolio section .container{
  position:relative;
}
#page-portfolio section .container::before{
  content:"";
  position:absolute;
  inset:-20px -8px auto auto;
  width:84px;
  height:84px;
  opacity:.15;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(239,159,39,.5) 1px,transparent 1px),
    linear-gradient(rgba(239,159,39,.5) 1px,transparent 1px);
  background-size:14px 14px;
  mask-image:linear-gradient(135deg,#000,transparent 75%);
}
#page-portfolio .filter-bar{
  position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#page-portfolio .filter-bar::before,
#page-portfolio .filter-bar::after{
  content:"";
  position:absolute;
  top:50%;
  width:44px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.32));
}
#page-portfolio .filter-bar::before{right:-56px;}
#page-portfolio .filter-bar::after{
  left:-56px;
  transform:rotate(180deg);
}
#page-portfolio .p-card{
  position:relative;
}
#page-portfolio .p-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 38%,rgba(239,159,39,.14));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
  opacity:.7;
}
#page-portfolio .p-thumb{
  isolation:isolate;
}
#page-portfolio .p-thumb::before{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.07);
  left:-38px;
  bottom:-46px;
  box-shadow:0 0 0 26px rgba(255,255,255,.015);
  z-index:0;
}
#page-portfolio .p-thumb > *{
  position:relative;
  z-index:1;
}
#page-portfolio .p-body{
  position:relative;
}
#page-portfolio .p-body::after{
  content:"↗";
  position:absolute;
  left:20px;
  bottom:20px;
  width:32px;
  height:32px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#ef9f27;
  border:1px solid rgba(239,159,39,.22);
  background:rgba(239,159,39,.035);
  opacity:.72;
  transition:.25s ease;
}
#page-portfolio .p-card:hover .p-body::after{
  color:#111;
  background:#ef9f27;
  border-color:#ef9f27;
  transform:translate(-2px,-2px);
}
#page-portfolio .portfolio-grid .p-card:nth-child(1)::after,
#page-portfolio .portfolio-grid .p-card:nth-child(2)::after,
#page-portfolio .portfolio-grid .p-card:nth-child(3)::after{
  position:absolute;
  top:16px;
  right:18px;
  font-size:.75rem;
  letter-spacing:.12em;
  color:rgba(255,255,255,.34);
  z-index:2;
  font-weight:700;
}
#page-portfolio .portfolio-grid .p-card:nth-child(1)::after{content:"01 / SELECTED";}
#page-portfolio .portfolio-grid .p-card:nth-child(2)::after{content:"02 / SELECTED";}
#page-portfolio .portfolio-grid .p-card:nth-child(3)::after{content:"03 / SELECTED";}
#page-portfolio .portfolio-grid{
  position:relative;
}
#page-portfolio .portfolio-grid::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(91,60,118,.11),transparent 68%);
  left:-90px;
  bottom:-90px;
  pointer-events:none;
  z-index:0;
}
#page-portfolio .portfolio-grid > *{
  z-index:1;
}
#page-portfolio .portfolio-grid + *{
  position:relative;
  z-index:1;
}
#page-portfolio .portfolio-grid::before{
  content:"";
  position:absolute;
  right:-18px;
  top:-18px;
  width:44px;
  height:44px;
  border-top:1px solid rgba(239,159,39,.35);
  border-right:1px solid rgba(239,159,39,.35);
  pointer-events:none;
}
@media(max-width:900px){
  #page-portfolio .filter-bar::before,
  #page-portfolio .filter-bar::after{
    display:none;
  }
}
@media(max-width:700px){
  #page-portfolio .team-hero::before{
    width:260px;
    height:260px;
    right:-140px;
    top:-80px;
  }
  #page-portfolio section .container::before{
    width:58px;
    height:58px;
    background-size:12px 12px;
  }
  #page-portfolio .p-body::after{
    width:30px;
    height:30px;
    left:16px;
    bottom:16px;
  }
  #page-portfolio .portfolio-grid .p-card:nth-child(1)::after,
  #page-portfolio .portfolio-grid .p-card:nth-child(2)::after,
  #page-portfolio .portfolio-grid .p-card:nth-child(3)::after{
    font-size:.66rem;
    top:13px;
    right:14px;
  }
}



.portfolio-end-cta{
  padding:1.5rem 0 6.5rem!important;
  background:#0b0910;
}
.portfolio-end-cta-box{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:clamp(3.8rem,7vw,6.5rem) clamp(1.3rem,5vw,4rem);
  border:1px solid rgba(239,159,39,.30);
  border-radius:32px;
  background:
    radial-gradient(circle at 12% 14%,rgba(239,159,39,.10),transparent 28%),
    radial-gradient(circle at 88% 82%,rgba(91,60,118,.10),transparent 28%),
    linear-gradient(135deg,#17121d 0%,#17121e 45%,#1b1622 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  isolation:isolate;
}
.portfolio-end-cta-box::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.16;
  background-image:radial-gradient(rgba(255,255,255,.22) .7px,transparent .7px);
  background-size:14px 14px;
  z-index:-1;
}
.portfolio-end-cta-decor{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.portfolio-end-cta-decor-a{
  width:250px;
  height:250px;
  top:-110px;
  left:-90px;
  border:1px solid rgba(239,159,39,.12);
  box-shadow:0 0 0 28px rgba(239,159,39,.025);
}
.portfolio-end-cta-decor-b{
  width:190px;
  height:190px;
  right:-70px;
  bottom:-90px;
  border:1px solid rgba(91,60,118,.13);
  box-shadow:0 0 0 24px rgba(91,60,118,.025);
}
.portfolio-end-cta-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 18px;
  border-radius:999px;
  border:1px solid rgba(239,159,39,.36);
  background:rgba(239,159,39,.08);
  color:#ef9f27;
  font-size:.95rem;
  font-weight:700;
  margin-bottom:1.6rem;
}
.portfolio-end-cta-badge span{
  color:#f4e7d0;
}
.portfolio-end-cta-box h2{
  margin:0;
  color:#fff;
  font-size:clamp(2.35rem,5vw,5.2rem)!important;
  line-height:1.15!important;
  letter-spacing:-.035em;
}
.portfolio-end-cta-box h2 span{
  color:#ef9f27;
}
.portfolio-end-cta-box p{
  max-width:760px;
  margin:1.4rem auto 0;
  color:#b8b1c0;
  font-size:clamp(1rem,1.4vw,1.16rem);
  line-height:1.95;
}
.portfolio-end-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  margin-top:2rem;
  padding:0 34px;
  border-radius:14px;
  text-decoration:none;
  color:#111!important;
  background:#ef9f27;
  font-weight:800;
  font-size:1.05rem;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease;
  box-shadow:0 10px 26px rgba(239,159,39,.12);
}
.portfolio-end-cta-btn:hover{
  transform:translateY(-2px);
  background:#f5a92f;
  box-shadow:0 16px 32px rgba(239,159,39,.18);
}
@media(max-width:700px){
  .portfolio-end-cta{
    padding-bottom:4.5rem!important;
  }
  .portfolio-end-cta-box{
    border-radius:24px;
    padding:3.2rem 1.1rem;
  }
  .portfolio-end-cta-box h2{
    font-size:clamp(2.15rem,10vw,3.2rem)!important;
  }
  .portfolio-end-cta-btn{
    width:100%;
  }
}



/* Services page refinement — preserve visual identity */
#page-services{
  position:relative;
  overflow:hidden;
  background:#0b0910;
}
#page-services::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 16% 16%,rgba(91,60,118,.055),transparent 24%),
    radial-gradient(circle at 86% 62%,rgba(239,159,39,.035),transparent 26%);
  z-index:0;
}
#page-services > *{
  position:relative;
  z-index:1;
}
#page-services .services-hero{
  position:relative;
  overflow:hidden;
  min-height:420px;
  padding:8rem 2rem 4.7rem!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 82% 12%,rgba(239,159,39,.07),transparent 25%),
    linear-gradient(180deg,#0b0910 0%,#0e0b13 100%);
  border-bottom:1px solid rgba(239,159,39,.10);
}
#page-services .services-hero::before{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  right:-160px;
  top:-110px;
  border:1px solid rgba(239,159,39,.10);
  box-shadow:
    0 0 0 54px rgba(239,159,39,.018),
    0 0 0 110px rgba(91,60,118,.02);
}
#page-services .services-hero::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px);
  background-size:14px 14px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
}
#page-services .services-hero > *{
  position:relative;
  z-index:1;
}
#page-services .services-hero .sec-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
}
#page-services .services-hero .sec-eyebrow::before{
  content:"✦";
  color:#ef9f27;
  font-size:.8rem;
}
#page-services .services-hero h1{
  margin-bottom:.9rem!important;
  letter-spacing:-.02em;
  position:relative;
  display:inline-block;
}
#page-services .services-hero h1::after{
  content:"";
  position:absolute;
  width:54px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef9f27,rgba(239,159,39,.14));
  right:0;
  bottom:-14px;
}
#page-services .services-hero p{
  max-width:760px;
  margin-inline:auto;
  color:#b8b1c0!important;
  line-height:2!important;
}
#page-services section{
  padding-top:4.8rem!important;
  padding-bottom:5.8rem!important;
  position:relative;
}
#page-services section::before{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:min(68%,760px);
  height:1px;
  transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.16),rgba(91,60,118,.13),transparent);
}
#page-services .container{
  position:relative;
}
#page-services .container::after{
  content:"";
  position:absolute;
  left:-12px;
  top:-18px;
  width:74px;
  height:74px;
  opacity:.13;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(239,159,39,.5) 1px,transparent 1px),
    linear-gradient(rgba(239,159,39,.5) 1px,transparent 1px);
  background-size:14px 14px;
  mask-image:linear-gradient(315deg,#000,transparent 76%);
}
#page-services .services-grid{
  gap:24px!important;
  align-items:stretch;
}
#page-services .srv-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  border-radius:22px!important;
  border:1px solid rgba(255,255,255,.085)!important;
  background:
    linear-gradient(180deg,rgba(30,25,38,.98),rgba(19,16,25,.98))!important;
  padding:28px!important;
  transition:
    transform .28s cubic-bezier(.2,.75,.2,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background-color .28s ease!important;
}
#page-services .srv-card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 40%,rgba(239,159,39,.14));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
#page-services .srv-card::after{
  content:"";
  position:absolute;
  width:150px;
  height:150px;
  border-radius:50%;
  left:-66px;
  bottom:-72px;
  border:1px solid rgba(239,159,39,.075);
  box-shadow:0 0 0 28px rgba(91,60,118,.018);
  pointer-events:none;
}
#page-services .srv-card:hover{
  transform:translateY(-6px);
  border-color:rgba(239,159,39,.38)!important;
  box-shadow:0 20px 48px rgba(0,0,0,.22);
}
#page-services .srv-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:16px;
  margin-bottom:20px!important;
  background:linear-gradient(135deg,rgba(239,159,39,.10),rgba(91,60,118,.15));
  border:1px solid rgba(239,159,39,.24);
  font-size:1.7rem!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03);
}
#page-services .srv-name{
  margin-bottom:10px!important;
  font-size:clamp(1.2rem,1.6vw,1.4rem)!important;
  line-height:1.5!important;
}
#page-services .srv-name::after{
  content:"";
  display:block;
  width:36px;
  height:2px;
  margin-top:9px;
  border-radius:999px;
  background:linear-gradient(90deg,#ef9f27,rgba(239,159,39,.10));
}
#page-services .srv-desc{
  color:#b5afba!important;
  line-height:1.95!important;
  margin-bottom:18px!important;
}
#page-services .srv-features{
  position:relative;
  z-index:1;
  display:grid;
  gap:7px;
  margin-top:18px!important;
  margin-bottom:20px!important;
}
#page-services .srv-features li{
  line-height:1.8!important;
}
#page-services .srv-price{
  display:inline-flex!important;
  align-items:center;
  min-height:40px;
  padding:8px 14px!important;
  border-radius:999px;
  border:1px solid rgba(239,159,39,.24);
  background:rgba(239,159,39,.045);
  color:#ef9f27!important;
  font-weight:700;
}
#page-services .srv-card:nth-child(2) .srv-icon{
  background:linear-gradient(135deg,rgba(91,60,118,.17),rgba(239,159,39,.07));
  border-color:rgba(145,96,174,.28);
}
#page-services .srv-card:nth-child(3) .srv-icon{
  background:linear-gradient(135deg,rgba(239,159,39,.12),rgba(239,159,39,.04));
}
@keyframes serviceCardRise{
  from{opacity:0;transform:translateY(18px)}
  to{opacity:1;transform:translateY(0)}
}
#page-services.active .services-grid .srv-card{
  animation:serviceCardRise .52s cubic-bezier(.2,.75,.2,1) both;
}
#page-services.active .services-grid .srv-card:nth-child(2){animation-delay:.08s}
#page-services.active .services-grid .srv-card:nth-child(3){animation-delay:.16s}
@media(max-width:1024px){
  #page-services .services-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  #page-services .services-hero{
    min-height:350px;
    padding:7rem 1rem 3.5rem!important;
  }
  #page-services section{
    padding-top:3.7rem!important;
    padding-bottom:4.5rem!important;
  }
  #page-services .services-grid{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }
  #page-services .srv-card{
    padding:22px!important;
  }
  #page-services .srv-icon{
    width:54px;
    height:54px;
  }
}
@media(prefers-reduced-motion:reduce){
  #page-services.active .services-grid .srv-card{
    animation:none!important;
  }
  #page-services .srv-card{
    transition:none!important;
  }
}



#page-services .services-category-wrap{
  display:flex;
  justify-content:center;
  margin-bottom:2.6rem;
}
#page-services .services-category-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  padding:8px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:18px;
  background:rgba(255,255,255,.018);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
#page-services .service-filter{
  min-height:46px;
  padding:10px 20px;
  border-radius:13px;
  border:1px solid rgba(239,159,39,.18);
  background:rgba(15,12,19,.64);
  color:#bdb6c3;
  cursor:pointer;
  font-weight:600;
  transition:
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    transform .22s ease,
    box-shadow .22s ease;
}
#page-services .service-filter:hover{
  color:#fff;
  border-color:rgba(239,159,39,.40);
  transform:translateY(-1px);
}
#page-services .service-filter.active{
  color:#111;
  background:#ef9f27;
  border-color:#ef9f27;
  box-shadow:0 8px 22px rgba(239,159,39,.12);
}
#page-services .srv-card.service-hiding{
  opacity:0!important;
  transform:translateY(8px) scale(.985)!important;
  pointer-events:none;
}
#page-services .srv-card.service-hidden{
  display:none!important;
}
@media(max-width:700px){
  #page-services .services-category-wrap{
    margin-bottom:2rem;
  }
  #page-services .services-category-bar{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-radius:16px;
  }
  #page-services .service-filter{
    width:100%;
  }
}
@media(max-width:420px){
  #page-services .services-category-bar{
    grid-template-columns:1fr;
  }
}



#page-services .offers-grid{
  align-items:stretch;
}
#page-services .offer-card{
  display:flex;
  flex-direction:column;
}
#page-services .offer-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
#page-services .offer-top .srv-icon{
  margin-bottom:0!important;
  flex:0 0 auto;
}
#page-services .offer-badge{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(239,159,39,.22);
  background:rgba(239,159,39,.05);
  color:#ef9f27;
  font-size:.82rem;
  font-weight:700;
}
#page-services .offer-footer{
  margin-top:auto;
  padding-top:20px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  border-top:1px solid rgba(255,255,255,.06);
}
#page-services .offer-price{
  display:flex;
  flex-direction:column;
  gap:3px;
}
#page-services .offer-price small{
  color:#827b89;
  font-size:.78rem;
}
#page-services .offer-price strong{
  color:#ef9f27;
  font-size:.94rem;
  line-height:1.45;
}
#page-services .offer-cta{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:9px 16px;
  border-radius:12px;
  text-decoration:none;
  color:#111!important;
  background:#ef9f27;
  font-weight:800;
  font-size:.9rem;
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;
}
#page-services .offer-cta:hover{
  transform:translateY(-2px);
  background:#f5a92f;
  box-shadow:0 10px 24px rgba(239,159,39,.14);
}
#page-services .featured-offer{
  border-color:rgba(239,159,39,.50)!important;
  background:
    radial-gradient(circle at 85% 7%,rgba(239,159,39,.085),transparent 24%),
    linear-gradient(180deg,rgba(31,25,38,.99),rgba(19,16,25,.99))!important;
}
#page-services .offer-ribbon{
  position:absolute;
  top:18px;
  left:18px;
  padding:6px 10px;
  border-radius:999px;
  color:#1a1206;
  background:#ef9f27;
  font-size:.72rem;
  font-weight:900;
  z-index:3;
}
#page-services .featured-offer .offer-top{
  padding-left:88px;
}
@media(max-width:700px){
  #page-services .offer-footer{
    align-items:stretch;
    flex-direction:column;
  }
  #page-services .offer-cta{
    width:100%;
  }
  #page-services .featured-offer .offer-top{
    padding-left:0;
    padding-top:34px;
  }
}



/* Decorative treatment for Services page only.
   Categories and offer-card layout/design are intentionally untouched. */

#page-services{
  position:relative;
  overflow:hidden;
}

/* Softer layered background to distinguish services from portfolio */
#page-services::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(115deg,transparent 0 68%,rgba(239,159,39,.018) 68% 69%,transparent 69% 100%),
    radial-gradient(circle at 8% 34%,rgba(91,60,118,.055),transparent 24%),
    radial-gradient(circle at 91% 74%,rgba(239,159,39,.035),transparent 25%);
}
#page-services > *{
  position:relative;
  z-index:1;
}

/* Header receives a more architectural feel than Portfolio */
#page-services .services-hero{
  isolation:isolate;
}
#page-services .services-hero .sec-eyebrow{
  position:relative;
}
#page-services .services-hero .sec-eyebrow::after{
  content:"";
  width:46px;
  height:1px;
  background:linear-gradient(90deg,rgba(239,159,39,.65),transparent);
  display:inline-block;
  margin-inline-start:10px;
  vertical-align:middle;
}
#page-services .services-hero h1{
  text-shadow:0 8px 28px rgba(0,0,0,.22);
}
#page-services .services-hero p{
  position:relative;
}
#page-services .services-hero p::before{
  content:"";
  position:absolute;
  right:50%;
  transform:translateX(50%);
  top:-18px;
  width:74px;
  height:1px;
  background:linear-gradient(90deg,transparent,#ef9f27,transparent);
  opacity:.6;
}

/* Decorative rails */
#page-services .services-hero::marker{display:none}
#page-services .services-hero .services-rail{
  display:none;
}
#page-services .services-hero::before{
  box-shadow:
    0 0 0 50px rgba(239,159,39,.012),
    0 0 0 96px rgba(91,60,118,.015),
    0 0 70px rgba(91,60,118,.04);
}
#page-services .services-hero > .sec-eyebrow::before{
  content:"✦";
}

/* Large decorative number, different from portfolio */
#page-services .services-hero h1::before{
  content:"02";
  position:absolute;
  left:-115px;
  top:-64px;
  font-size:8.5rem;
  line-height:1;
  font-weight:900;
  letter-spacing:-.08em;
  color:rgba(255,255,255,.025);
  z-index:-1;
  pointer-events:none;
}

/* Services section framing */
#page-services section > .container{
  position:relative;
  padding-top:18px;
}
#page-services section > .container::before{
  content:"";
  position:absolute;
  right:-8px;
  top:-2px;
  width:120px;
  height:34px;
  border-top:1px solid rgba(239,159,39,.22);
  border-right:1px solid rgba(239,159,39,.22);
  border-radius:0 14px 0 0;
  pointer-events:none;
}
#page-services section > .container::after{
  content:"";
  position:absolute;
  left:-8px;
  bottom:-20px;
  width:92px;
  height:92px;
  pointer-events:none;
  opacity:.12;
  background:
    linear-gradient(90deg,rgba(91,60,118,.55) 1px,transparent 1px),
    linear-gradient(rgba(91,60,118,.55) 1px,transparent 1px);
  background-size:13px 13px;
  mask-image:linear-gradient(315deg,#000,transparent 72%);
}

/* Thin decorative divider around categories without changing their design */
#page-services .services-category-wrap{
  position:relative;
}
#page-services .services-category-wrap::before,
#page-services .services-category-wrap::after{
  content:"";
  position:absolute;
  top:50%;
  height:1px;
  width:min(13vw,150px);
  opacity:.55;
}
#page-services .services-category-wrap::before{
  right:calc(50% + 260px);
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.32));
}
#page-services .services-category-wrap::after{
  left:calc(50% + 260px);
  background:linear-gradient(90deg,rgba(91,60,118,.30),transparent);
}

/* A subtle ambient glow behind the offers grid, without changing cards */
#page-services .offers-grid{
  position:relative;
}
#page-services .offers-grid::before{
  content:"";
  position:absolute;
  width:280px;
  height:280px;
  border-radius:50%;
  top:22%;
  right:-120px;
  background:radial-gradient(circle,rgba(239,159,39,.055),transparent 68%);
  pointer-events:none;
  z-index:0;
}
#page-services .offers-grid::after{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  border-radius:50%;
  left:-110px;
  bottom:4%;
  background:radial-gradient(circle,rgba(91,60,118,.075),transparent 70%);
  pointer-events:none;
  z-index:0;
}
#page-services .offers-grid > *{
  position:relative;
  z-index:1;
}

/* Bottom decorative closure */
#page-services section{
  border-bottom:1px solid rgba(255,255,255,.025);
}
#page-services section::after{
  content:"";
  position:absolute;
  bottom:18px;
  left:50%;
  transform:translateX(-50%);
  width:min(76%,820px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(91,60,118,.16),rgba(239,159,39,.18),transparent);
}

/* Scroll-in softness for the page structure, not for cards themselves */
#page-services .services-category-wrap,
#page-services .services-hero h1,
#page-services .services-hero p{
  transition:opacity .35s ease,transform .35s ease;
}
#page-services:not(.active) .services-category-wrap{
  opacity:.92;
}

@media(max-width:1100px){
  #page-services .services-hero h1::before{
    left:-55px;
    top:-52px;
    font-size:6.5rem;
  }
  #page-services .services-category-wrap::before,
  #page-services .services-category-wrap::after{
    display:none;
  }
}

@media(max-width:700px){
  #page-services .services-hero h1::before{
    left:auto;
    right:-18px;
    top:-44px;
    font-size:5rem;
  }
  #page-services section > .container::before{
    width:74px;
    height:26px;
  }
  #page-services section > .container::after{
    width:58px;
    height:58px;
    background-size:11px 11px;
  }
  #page-services .offers-grid::before,
  #page-services .offers-grid::after{
    width:170px;
    height:170px;
  }
}

@media(prefers-reduced-motion:reduce){
  #page-services .services-category-wrap,
  #page-services .services-hero h1,
  #page-services .services-hero p{
    transition:none!important;
  }
}



#page-services .service-category-visual{
  margin:0 auto 2.4rem;
  max-width:1120px;
}
#page-services .service-category-image-wrap{
  position:relative;
  min-height:290px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 80% 20%,rgba(239,159,39,.08),transparent 30%),
    linear-gradient(135deg,#17131f,#121018);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#page-services .service-category-image{
  position:absolute;
  inset:0;
  opacity:0;
  visibility:hidden;
  transition:opacity .3s ease,visibility .3s ease;
}
#page-services .service-category-image.active{
  opacity:1;
  visibility:visible;
}
#page-services .service-category-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#page-services .service-category-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,6,12,.34),transparent 42%,rgba(8,6,12,.12)),
    linear-gradient(180deg,transparent 58%,rgba(8,6,12,.30));
}
#page-services .service-category-fallback{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#bdb6c3;
  background:
    radial-gradient(circle at 50% 50%,rgba(91,60,118,.16),transparent 36%),
    linear-gradient(135deg,#181321,#221a2b);
}
#page-services .service-category-fallback::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px);
  background-size:14px 14px;
}
#page-services .service-category-icon{
  position:relative;
  z-index:1;
  width:74px;
  height:74px;
  border-radius:20px;
  display:grid;
  place-items:center;
  font-size:2rem;
  border:1px solid rgba(239,159,39,.24);
  background:rgba(239,159,39,.07);
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
#page-services .service-category-image-label{
  position:relative;
  z-index:1;
  font-size:1rem;
  color:#9f98a6;
}
#page-services .service-category-image-wrap::before{
  content:"CATEGORY VISUAL";
  position:absolute;
  top:18px;
  left:20px;
  z-index:3;
  font-size:.72rem;
  letter-spacing:.18em;
  color:rgba(255,255,255,.28);
}
#page-services .service-category-image-wrap::after{
  content:"";
  position:absolute;
  right:18px;
  bottom:18px;
  width:58px;
  height:58px;
  border-right:1px solid rgba(239,159,39,.30);
  border-bottom:1px solid rgba(239,159,39,.30);
  border-radius:0 0 12px 0;
  z-index:3;
  pointer-events:none;
}
@media(max-width:700px){
  #page-services .service-category-visual{
    margin-bottom:1.8rem;
  }
  #page-services .service-category-image-wrap{
    min-height:220px;
    border-radius:18px;
  }
  #page-services .service-category-icon{
    width:62px;
    height:62px;
    font-size:1.65rem;
  }
}



#page-services .services-hero h1::before{
  content:none !important;
  display:none !important;
}



.services-end-cta{
  padding:1.5rem 0 6.5rem!important;
  background:#0b0910;
}
@media(max-width:700px){
  .services-end-cta{
    padding-bottom:4.5rem!important;
  }
}



#page-services .services-hero{
  position:relative;
}
#page-services .services-hero .services-balance-motif{
  position:absolute;
  left:clamp(24px,7vw,110px);
  top:50%;
  transform:translateY(-48%);
  width:150px;
  height:150px;
  pointer-events:none;
  z-index:1;
  opacity:.9;
}
#page-services .services-balance-motif .ring-a,
#page-services .services-balance-motif .ring-b{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(239,159,39,.22);
}
#page-services .services-balance-motif .ring-a{
  width:128px;
  height:128px;
  left:0;
  top:8px;
}
#page-services .services-balance-motif .ring-b{
  width:82px;
  height:82px;
  left:24px;
  top:31px;
  border-color:rgba(91,60,118,.34);
}
#page-services .services-balance-motif .dot{
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  background:#ef9f27;
  right:18px;
  top:26px;
  box-shadow:
    -24px 52px 0 rgba(239,159,39,.28),
    -52px 18px 0 rgba(91,60,118,.38);
}
#page-services .services-balance-motif .line{
  position:absolute;
  left:11px;
  bottom:14px;
  width:116px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.50),rgba(91,60,118,.25),transparent);
}
#page-services .services-balance-motif::after{
  content:"SERVICES";
  position:absolute;
  left:12px;
  bottom:-10px;
  color:rgba(255,255,255,.14);
  font-size:.68rem;
  letter-spacing:.28em;
  font-weight:700;
}
@media(max-width:900px){
  #page-services .services-balance-motif{
    width:110px;
    height:110px;
    left:18px;
    opacity:.65;
  }
  #page-services .services-balance-motif .ring-a{
    width:94px;height:94px;
  }
  #page-services .services-balance-motif .ring-b{
    width:60px;height:60px;
    left:18px;top:25px;
  }
  #page-services .services-balance-motif .line{
    width:84px;
  }
  #page-services .services-balance-motif::after{
    font-size:.58rem;
  }
}
@media(max-width:700px){
  #page-services .services-balance-motif{
    left:-18px;
    top:34%;
    transform:none;
    opacity:.32;
  }
}



#page-about{
  position:relative;
  overflow:hidden;
  background:#0b0910;
}
#page-about::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 14% 26%,rgba(91,60,118,.055),transparent 24%),
    radial-gradient(circle at 88% 74%,rgba(239,159,39,.035),transparent 28%);
}
#page-about > *{
  position:relative;
  z-index:1;
}
#page-about .team-hero-enhanced{
  position:relative;
  overflow:hidden;
  min-height:420px;
  padding:8rem 2rem 4.8rem!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 80% 18%,rgba(91,60,118,.11),transparent 28%),
    linear-gradient(180deg,#0b0910,#0e0b13);
  border-bottom:1px solid rgba(255,255,255,.05);
}
#page-about .team-hero-enhanced::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px);
  background-size:14px 14px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
}
#page-about .team-hero-enhanced > *{
  position:relative;
  z-index:2;
}
#page-about .team-hero-enhanced .sec-eyebrow{
  display:inline-flex;
  gap:8px;
  align-items:center;
}
#page-about .team-hero-enhanced .sec-eyebrow::before{
  content:"✦";
  color:#ef9f27;
  font-size:.8rem;
}
#page-about .team-hero-enhanced h1{
  margin-bottom:.9rem!important;
  letter-spacing:-.02em;
}
#page-about .team-hero-enhanced h1::after{
  content:"";
  display:block;
  width:58px;
  height:4px;
  border-radius:999px;
  margin:.8rem auto 0;
  background:linear-gradient(90deg,#ef9f27,rgba(239,159,39,.12));
}
#page-about .team-hero-enhanced p{
  max-width:760px;
  margin-inline:auto;
  color:#b8b1c0!important;
  line-height:2!important;
}
#page-about .team-hero-motif{
  position:absolute;
  left:clamp(24px,7vw,110px);
  top:50%;
  transform:translateY(-50%);
  width:150px;
  height:150px;
  opacity:.82;
  z-index:1;
}
#page-about .team-ring{
  position:absolute;
  border-radius:50%;
}
#page-about .team-ring-a{
  width:130px;
  height:130px;
  left:0;
  top:8px;
  border:1px solid rgba(239,159,39,.18);
}
#page-about .team-ring-b{
  width:86px;
  height:86px;
  left:21px;
  top:30px;
  border:1px solid rgba(91,60,118,.34);
}
#page-about .team-dot{
  position:absolute;
  border-radius:50%;
}
#page-about .team-dot-a{
  width:10px;
  height:10px;
  right:20px;
  top:23px;
  background:#ef9f27;
}
#page-about .team-dot-b{
  width:7px;
  height:7px;
  left:24px;
  bottom:30px;
  background:#5b3c76;
}
#page-about .team-line{
  position:absolute;
  left:12px;
  bottom:10px;
  width:118px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.5),rgba(91,60,118,.28),transparent);
}
#page-about section{
  position:relative;
}
#page-about .team-intro-section{
  padding:5.5rem 0!important;
}
#page-about .team-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center;
}
#page-about .team-intro-title{
  margin:.5rem 0 1rem;
  font-size:clamp(2.3rem,4.7vw,4.2rem)!important;
  line-height:1.2!important;
}
#page-about .team-intro-title span{
  color:#ef9f27;
}
#page-about .team-intro-copy > p{
  max-width:720px;
  color:#b7b0be;
  line-height:2;
}
#page-about .team-values-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:2rem;
}
#page-about .team-value-item{
  padding:18px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.07);
  background:rgba(255,255,255,.018);
}
#page-about .team-value-icon{
  display:block;
  font-size:1.35rem;
  margin-bottom:10px;
}
#page-about .team-value-item strong{
  display:block;
  color:#fff;
  margin-bottom:5px;
}
#page-about .team-value-item small{
  color:#938c99;
  line-height:1.7;
}
#page-about .team-visual-card{
  position:relative;
  min-height:360px;
  border-radius:28px;
  border:1px solid rgba(239,159,39,.18);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:
    radial-gradient(circle at 50% 45%,rgba(91,60,118,.17),transparent 34%),
    linear-gradient(145deg,#17121e,#21182a);
}
#page-about .team-visual-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px);
  background-size:14px 14px;
}
#page-about .team-visual-monogram{
  position:relative;
  z-index:2;
  font-size:clamp(4rem,8vw,7rem);
  font-weight:900;
  letter-spacing:-.06em;
}
#page-about .team-visual-monogram span{
  color:#ef9f27;
}
#page-about .team-visual-caption{
  position:relative;
  z-index:2;
  color:#a9a2af;
  letter-spacing:.12em;
  font-size:.78rem;
}
#page-about .team-visual-orbit{
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
}
#page-about .team-visual-orbit-a{
  width:240px;
  height:240px;
}
#page-about .team-visual-orbit-b{
  width:310px;
  height:310px;
  border-color:rgba(239,159,39,.08);
}
#page-about .team-members-section{
  padding:5rem 0 6rem!important;
  background:linear-gradient(180deg,rgba(255,255,255,.01),transparent);
}
#page-about .team-members-head{
  margin-bottom:2rem;
}
#page-about .team-members-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
#page-about .team-member-card{
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,#17131f,#121018);
  transition:transform .28s ease,border-color .28s ease,box-shadow .28s ease;
}
#page-about .team-member-card:hover{
  transform:translateY(-5px);
  border-color:rgba(239,159,39,.36);
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}
#page-about .team-member-photo{
  aspect-ratio:4/3;
  background:
    radial-gradient(circle at 50% 40%,rgba(91,60,118,.18),transparent 38%),
    linear-gradient(145deg,#171324,#251d31);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
#page-about .team-member-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#page-about .team-member-fallback{
  color:#8f8896;
  font-size:.95rem;
}
#page-about .team-member-body{
  padding:22px;
}
#page-about .team-member-role{
  color:#ef9f27;
  font-size:.82rem;
  font-weight:700;
}
#page-about .team-member-body h3{
  margin:.6rem 0 .4rem;
  font-size:1.25rem;
}
#page-about .team-member-body p{
  margin:0;
  color:#aaa3b0;
  line-height:1.85;
}
#page-about .team-member-socials{
  display:flex;
  gap:9px;
  margin-top:16px;
}
#page-about .team-member-socials a{
  width:36px;
  height:36px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:#c9c2ce;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
}
#page-about .team-member-socials a:hover{
  color:#111;
  background:#ef9f27;
  border-color:#ef9f27;
}
@media(max-width:1024px){
  #page-about .team-intro-grid{
    grid-template-columns:1fr;
  }
  #page-about .team-members-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:700px){
  #page-about .team-hero-enhanced{
    min-height:360px;
    padding:7rem 1rem 3.5rem!important;
  }
  #page-about .team-hero-motif{
    left:-20px;
    top:34%;
    transform:none;
    opacity:.34;
  }
  #page-about .team-intro-section{
    padding:4rem 0!important;
  }
  #page-about .team-values-grid{
    grid-template-columns:1fr;
  }
  #page-about .team-visual-card{
    min-height:280px;
  }
  #page-about .team-members-grid{
    grid-template-columns:1fr;
  }
}



#page-about .team-project-cta{
  padding:1.5rem 0 6.5rem!important;
  background:#0b0910;
}
#page-about .team-project-cta-box{
  position:relative;
  overflow:hidden;
  text-align:center;
  padding:clamp(3.6rem,7vw,5.8rem) clamp(1.3rem,5vw,4rem);
  border-radius:28px;
  border:1px solid rgba(91,60,118,.28);
  background:
    radial-gradient(circle at 12% 18%,rgba(91,60,118,.12),transparent 26%),
    radial-gradient(circle at 88% 78%,rgba(239,159,39,.07),transparent 26%),
    linear-gradient(135deg,#17121e,#1d1724);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
#page-about .team-project-cta-box::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.13;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px);
  background-size:14px 14px;
}
#page-about .team-project-cta-box > *{
  position:relative;
  z-index:1;
}
#page-about .team-project-cta-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 16px;
  border-radius:999px;
  border:1px solid rgba(239,159,39,.27);
  background:rgba(239,159,39,.06);
  color:#ef9f27;
  font-weight:700;
  margin-bottom:1.4rem;
}
#page-about .team-project-cta-box h2{
  margin:0;
  font-size:clamp(2.3rem,5vw,4.8rem)!important;
  line-height:1.18!important;
  color:#fff;
}
#page-about .team-project-cta-box h2 span{
  color:#ef9f27;
}
#page-about .team-project-cta-box p{
  max-width:720px;
  margin:1.2rem auto 0;
  color:#b7b0be;
  line-height:1.9;
  font-size:clamp(1rem,1.35vw,1.12rem);
}
#page-about .team-project-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 32px;
  margin-top:2rem;
  border-radius:14px;
  text-decoration:none;
  color:#111!important;
  background:#ef9f27;
  font-weight:800;
  font-size:1rem;
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease;
  box-shadow:0 10px 26px rgba(239,159,39,.12);
}
#page-about .team-project-cta-btn:hover{
  transform:translateY(-2px);
  background:#f5a92f;
  box-shadow:0 16px 30px rgba(239,159,39,.17);
}
@media(max-width:700px){
  #page-about .team-project-cta{
    padding-bottom:4.5rem!important;
  }
  #page-about .team-project-cta-box{
    border-radius:22px;
    padding:3rem 1.1rem;
  }
  #page-about .team-project-cta-btn{
    width:100%;
  }
}



/* Team page refinement: lighter, more human, less card-heavy */

#page-about .team-intro-section{
  padding-top:4.8rem!important;
  padding-bottom:4.8rem!important;
}
#page-about .team-intro-grid{
  grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr)!important;
  gap:clamp(2.5rem,6vw,6rem)!important;
}
#page-about .team-intro-copy{
  max-width:760px;
}
#page-about .team-intro-title{
  font-size:clamp(2.5rem,4.9vw,4.35rem)!important;
  margin-bottom:1.15rem!important;
}
#page-about .team-intro-copy > p{
  font-size:clamp(1rem,1.35vw,1.13rem)!important;
  line-height:2.05!important;
  color:#b9b2bf!important;
}

/* Replace three value cards with a clean expertise rail */
#page-about .team-expertise-strip{
  margin-top:2rem;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:14px 16px;
  border-top:1px solid rgba(239,159,39,.18);
  border-bottom:1px solid rgba(91,60,118,.18);
  color:#d4ced8;
}
#page-about .team-expertise-strip span{
  font-size:.93rem;
  font-weight:700;
}
#page-about .team-expertise-strip i{
  width:5px;
  height:5px;
  border-radius:50%;
  background:#ef9f27;
  opacity:.7;
}

/* Visual becomes more editorial and less boxed */
#page-about .team-visual-card{
  min-height:390px!important;
  border-radius:32px!important;
  background:
    radial-gradient(circle at 50% 44%,rgba(91,60,118,.22),transparent 36%),
    radial-gradient(circle at 70% 20%,rgba(239,159,39,.07),transparent 24%),
    linear-gradient(145deg,#17121e,#211829)!important;
  box-shadow:0 28px 70px rgba(0,0,0,.16);
}
#page-about .team-visual-card::after{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(255,255,255,.035);
  border-radius:24px;
  pointer-events:none;
}
#page-about .team-visual-monogram{
  font-size:clamp(4.8rem,9vw,7.8rem)!important;
}
#page-about .team-visual-caption{
  margin-top:8px;
  color:#b7afbc!important;
}

/* Members section gets stronger hierarchy */
#page-about .team-members-section{
  padding-top:4.5rem!important;
  padding-bottom:5.2rem!important;
}
#page-about .team-members-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  margin-bottom:2.4rem!important;
}
#page-about .team-members-head::after{
  content:"";
  flex:1 1 180px;
  max-width:320px;
  height:1px;
  background:linear-gradient(90deg,rgba(239,159,39,.34),transparent);
}
#page-about .team-members-grid{
  gap:24px!important;
}
#page-about .team-member-card{
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(25,20,32,.98),rgba(16,13,21,.98))!important;
}
#page-about .team-member-card:nth-child(2){
  transform:translateY(22px);
}
#page-about .team-member-card:nth-child(2):hover{
  transform:translateY(16px);
}
#page-about .team-member-photo{
  aspect-ratio:4/3.15!important;
  position:relative;
}
#page-about .team-member-photo::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:34%;
  background:linear-gradient(180deg,transparent,rgba(10,8,14,.35));
  pointer-events:none;
}
#page-about .team-member-body{
  padding:24px!important;
}
#page-about .team-member-role{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(239,159,39,.18);
  background:rgba(239,159,39,.045);
}
#page-about .team-member-body h3{
  font-size:1.35rem!important;
}
#page-about .team-member-socials{
  padding-top:4px;
}

/* Smoother transitions */
#page-about .team-member-card,
#page-about .team-visual-card,
#page-about .team-member-socials a{
  transition:
    transform .28s cubic-bezier(.2,.75,.2,1),
    border-color .28s ease,
    box-shadow .28s ease,
    background-color .28s ease!important;
}

/* Add a subtle connector between intro and members */
#page-about .team-members-section::before{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:min(72%,820px);
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.16),rgba(91,60,118,.16),transparent);
}

@media(max-width:1024px){
  #page-about .team-intro-grid{
    grid-template-columns:1fr!important;
  }
  #page-about .team-intro-visual{
    max-width:680px;
    width:100%;
    margin-inline:auto;
  }
  #page-about .team-member-card:nth-child(2){
    transform:none;
  }
  #page-about .team-member-card:nth-child(2):hover{
    transform:translateY(-5px);
  }
}

@media(max-width:700px){
  #page-about .team-intro-section{
    padding-top:3.7rem!important;
    padding-bottom:3.7rem!important;
  }
  #page-about .team-expertise-strip{
    justify-content:center;
    gap:10px;
    text-align:center;
  }
  #page-about .team-visual-card{
    min-height:300px!important;
    border-radius:24px!important;
  }
  #page-about .team-members-head::after{
    display:none;
  }
}



#page-about .team-hero-enhanced{
  min-height:360px!important;
  padding-top:7.2rem!important;
  padding-bottom:3.6rem!important;
}
#page-about .team-hero-enhanced p{
  max-width:560px!important;
  font-size:1.02rem!important;
}
#page-about .team-intro-section{
  padding-top:4.1rem!important;
  padding-bottom:4.2rem!important;
}
#page-about .team-intro-title{
  margin-bottom:.8rem!important;
}
#page-about .team-intro-copy > p{
  max-width:590px!important;
  font-size:1.02rem!important;
  line-height:1.9!important;
}
#page-about .team-expertise-strip{
  margin-top:1.5rem!important;
}
@media(max-width:700px){
  #page-about .team-hero-enhanced{
    min-height:320px!important;
    padding-top:6.5rem!important;
    padding-bottom:3rem!important;
  }
}



/* Replace abstract CA visual with a real leader profile card */
#page-about .team-leader-card{
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(239,159,39,.20);
  background:
    linear-gradient(180deg,rgba(28,23,35,.98),rgba(17,14,22,.98));
  box-shadow:0 28px 70px rgba(0,0,0,.18);
}
#page-about .team-leader-photo{
  aspect-ratio:4/4.2;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 38%,rgba(91,60,118,.20),transparent 36%),
    linear-gradient(145deg,#171324,#251d31);
}
#page-about .team-leader-photo::after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:38%;
  background:linear-gradient(180deg,transparent,rgba(8,6,12,.45));
  pointer-events:none;
}
#page-about .team-leader-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
#page-about .team-leader-fallback{
  color:#9b94a2;
  font-size:1rem;
}
#page-about .team-leader-info{
  padding:24px;
}
#page-about .team-leader-kicker{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  color:#ef9f27;
  border:1px solid rgba(239,159,39,.20);
  background:rgba(239,159,39,.045);
  font-size:.82rem;
  font-weight:700;
}
#page-about .team-leader-info h3{
  margin:.75rem 0 .45rem;
  font-size:1.5rem;
}
#page-about .team-leader-info p{
  margin:0;
  color:#aaa3b0;
  line-height:1.85;
}
#page-about .team-leader-socials{
  display:flex;
  gap:9px;
  margin-top:16px;
}
#page-about .team-leader-socials a{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  text-decoration:none;
  color:#c9c2ce;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.02);
  transition:.22s ease;
}
#page-about .team-leader-socials a:hover{
  color:#111;
  background:#ef9f27;
  border-color:#ef9f27;
}

/* Other members now read clearly as the team beneath the leader */
#page-about .team-members-section{
  padding-top:3.8rem!important;
}
#page-about .team-members-head{
  margin-bottom:2rem!important;
}
#page-about .team-members-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}
#page-about .team-member-card:nth-child(2){
  transform:none!important;
}
#page-about .team-member-card:nth-child(2):hover{
  transform:translateY(-5px)!important;
}
#page-about .team-member-photo{
  aspect-ratio:4/3.35!important;
}
#page-about .team-member-body h3{
  margin-top:.7rem;
}

/* Remove old abstract visual styling leftovers */
#page-about .team-visual-card,
#page-about .team-visual-monogram,
#page-about .team-visual-caption,
#page-about .team-visual-orbit{
  display:none!important;
}

@media(max-width:1024px){
  #page-about .team-intro-grid{
    grid-template-columns:1fr!important;
  }
  #page-about .team-intro-visual{
    max-width:620px;
    width:100%;
    margin-inline:auto;
  }
  #page-about .team-members-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:700px){
  #page-about .team-members-grid{
    grid-template-columns:1fr!important;
  }
  #page-about .team-leader-card{
    border-radius:22px;
  }
  #page-about .team-leader-info{
    padding:20px;
  }
}



#page-about .team-members-section{
  padding-top:2.4rem!important;
}
#page-about .team-members-grid{
  margin-top:0!important;
}



#page-contact{
  position:relative;
  overflow:hidden;
  background:#0b0910;
}
#page-contact::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 12% 28%,rgba(91,60,118,.055),transparent 24%),
    radial-gradient(circle at 88% 72%,rgba(239,159,39,.035),transparent 28%);
}
#page-contact > *{
  position:relative;
  z-index:1;
}
#page-contact .contact-hero-refined{
  position:relative;
  overflow:hidden;
  min-height:380px;
  padding:7.7rem 2rem 4rem!important;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 82% 18%,rgba(239,159,39,.07),transparent 24%),
    linear-gradient(180deg,#0b0910,#0e0b13);
  border-bottom:1px solid rgba(255,255,255,.05);
}
#page-contact .contact-hero-refined::after{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.18) .7px,transparent .7px);
  background-size:14px 14px;
  mask-image:linear-gradient(to bottom,#000,transparent 90%);
}
#page-contact .contact-hero-refined > *{
  position:relative;
  z-index:2;
}
#page-contact .contact-hero-refined .sec-eyebrow{
  display:inline-flex;
  gap:8px;
  align-items:center;
}
#page-contact .contact-hero-refined .sec-eyebrow::before{
  content:"✦";
  color:#ef9f27;
  font-size:.8rem;
}
#page-contact .contact-hero-refined h1{
  margin-bottom:.8rem!important;
}
#page-contact .contact-hero-refined h1::after{
  content:"";
  display:block;
  width:56px;
  height:4px;
  margin:.8rem auto 0;
  border-radius:999px;
  background:linear-gradient(90deg,#ef9f27,rgba(239,159,39,.10));
}
#page-contact .contact-hero-refined p{
  max-width:620px;
  margin-inline:auto;
  line-height:1.95!important;
  color:#b8b1c0!important;
}
#page-contact .contact-hero-motif{
  position:absolute;
  left:clamp(20px,7vw,100px);
  top:50%;
  transform:translateY(-50%);
  width:145px;
  height:145px;
  opacity:.82;
  z-index:1;
}
#page-contact .contact-ring{
  position:absolute;
  border-radius:50%;
}
#page-contact .contact-ring-a{
  width:124px;
  height:124px;
  left:0;
  top:8px;
  border:1px solid rgba(239,159,39,.17);
}
#page-contact .contact-ring-b{
  width:80px;
  height:80px;
  left:22px;
  top:30px;
  border:1px solid rgba(91,60,118,.34);
}
#page-contact .contact-dot{
  position:absolute;
  border-radius:50%;
}
#page-contact .contact-dot-a{
  width:10px;
  height:10px;
  right:18px;
  top:26px;
  background:#ef9f27;
}
#page-contact .contact-dot-b{
  width:7px;
  height:7px;
  left:24px;
  bottom:26px;
  background:#5b3c76;
}
#page-contact .contact-line{
  position:absolute;
  left:12px;
  bottom:10px;
  width:110px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(239,159,39,.48),rgba(91,60,118,.26),transparent);
}

#page-contact .contact-main-section{
  padding:5rem 0 6rem!important;
}
#page-contact .contact-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:28px;
  align-items:start;
}
#page-contact .contact-info-panel,
#page-contact .contact-form-panel{
  border:1px solid rgba(255,255,255,.075);
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(26,21,33,.98),rgba(17,14,22,.98));
  padding:28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02);
}
#page-contact .contact-info-head h2,
#page-contact .contact-form-head h2{
  margin:.45rem 0 .55rem;
  font-size:clamp(1.7rem,2.8vw,2.4rem)!important;
  line-height:1.4!important;
}
#page-contact .contact-info-head p,
#page-contact .contact-form-head p{
  margin:0;
  color:#aaa3b0;
  line-height:1.85;
}
#page-contact .contact-methods{
  display:grid;
  gap:12px;
  margin-top:24px;
}
#page-contact .contact-method{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:14px;
  align-items:center;
  min-height:76px;
  padding:14px 16px;
  border-radius:16px;
  text-decoration:none;
  color:#d7d1dc;
  border:1px solid rgba(255,255,255,.065);
  background:rgba(255,255,255,.018);
  transition:transform .22s ease,border-color .22s ease,background-color .22s ease;
}
#page-contact .contact-method:hover{
  transform:translateY(-2px);
  border-color:rgba(239,159,39,.30);
  background:rgba(239,159,39,.025);
}
#page-contact .primary-method{
  border-color:rgba(239,159,39,.24);
  background:rgba(239,159,39,.045);
}
#page-contact .contact-method-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,rgba(239,159,39,.10),rgba(91,60,118,.14));
  border:1px solid rgba(239,159,39,.20);
  font-size:1.2rem;
}
#page-contact .contact-method-copy{
  min-width:0;
}
#page-contact .contact-method-copy span{
  display:block;
  color:#fff;
  font-weight:700;
  margin-bottom:3px;
}
#page-contact .contact-method-copy small{
  color:#918b97;
  line-height:1.6;
}
#page-contact .contact-method-arrow{
  color:#ef9f27;
  font-size:1.1rem;
}
#page-contact .contact-availability{
  margin-top:22px;
  padding-top:20px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  border-top:1px solid rgba(255,255,255,.055);
}
#page-contact .contact-status-dot{
  width:10px;
  height:10px;
  margin-top:6px;
  border-radius:50%;
  background:#ef9f27;
  box-shadow:0 0 0 6px rgba(239,159,39,.08);
}
#page-contact .contact-availability strong{
  display:block;
  color:#fff;
  margin-bottom:3px;
}
#page-contact .contact-availability small{
  color:#918b97;
}

#page-contact .contact-form-refined{
  margin-top:22px;
}
#page-contact .contact-form-refined .form-group{
  margin-bottom:16px;
}
#page-contact .contact-form-refined label{
  display:block;
  margin-bottom:8px;
  color:#d8d2dd;
  font-weight:700;
  font-size:.92rem;
}
#page-contact .contact-form-refined input,
#page-contact .contact-form-refined select,
#page-contact .contact-form-refined textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:#100d15;
  color:#fff;
  padding:14px 15px;
  outline:none;
  transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;
}
#page-contact .contact-form-refined input,
#page-contact .contact-form-refined select{
  min-height:52px;
}
#page-contact .contact-form-refined textarea{
  resize:vertical;
  min-height:150px;
}
#page-contact .contact-form-refined input:focus,
#page-contact .contact-form-refined select:focus,
#page-contact .contact-form-refined textarea:focus{
  border-color:rgba(239,159,39,.48);
  box-shadow:0 0 0 3px rgba(239,159,39,.07);
  background:#121018;
}
#page-contact .contact-form-refined input::placeholder,
#page-contact .contact-form-refined textarea::placeholder{
  color:#6f6974;
}
#page-contact .contact-form-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-top:4px;
}
#page-contact .contact-form-footer p{
  margin:0;
  color:#817a87;
  font-size:.82rem;
  line-height:1.65;
}
#page-contact .contact-submit{
  min-width:150px;
  min-height:50px;
  border-radius:13px!important;
}
@media(max-width:900px){
  #page-contact .contact-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  #page-contact .contact-hero-refined{
    min-height:330px;
    padding:6.7rem 1rem 3rem!important;
  }
  #page-contact .contact-hero-motif{
    left:-24px;
    top:34%;
    transform:none;
    opacity:.30;
  }
  #page-contact .contact-main-section{
    padding:3.8rem 0 4.5rem!important;
  }
  #page-contact .contact-info-panel,
  #page-contact .contact-form-panel{
    border-radius:20px;
    padding:20px;
  }
  #page-contact .contact-form-footer{
    flex-direction:column;
    align-items:stretch;
  }
  #page-contact .contact-submit{
    width:100%;
  }
}



/* Strong mobile-first polish across the whole preview */
html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  overflow-x:hidden;
}
img,svg,video,canvas,iframe{
  max-width:100%;
}
button,a,input,select,textarea{
  -webkit-tap-highlight-color:transparent;
}
button,a{
  touch-action:manipulation;
}

/* Tablet */
@media (max-width: 900px){
  .container{
    width:min(100% - 32px, 1180px)!important;
    margin-inline:auto!important;
  }

  /* Header */
  header,
  .site-header,
  .main-header{
    min-height:72px!important;
  }
  .nav-wrap,
  .navbar,
  .header-inner{
    min-height:72px!important;
  }
  .nav-links{
    gap:18px!important;
  }

  /* Generic sections */
  section{
    scroll-margin-top:84px;
  }
  .sec-header{
    margin-bottom:28px!important;
  }

  /* Home */
  .hero{
    min-height:auto!important;
    padding-top:112px!important;
    padding-bottom:72px!important;
  }
  .hero-inner{
    width:100%!important;
    max-width:760px!important;
  }
  .hero-btns{
    gap:12px!important;
  }

  .portfolio-mini,
  .services-grid,
  .partners-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Portfolio */
  #page-portfolio .portfolio-grid,
  #page-works .portfolio-grid,
  .portfolio-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Services */
  .service-offers-grid,
  .offers-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  /* Team */
  .team-members-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

/* Phones */
@media (max-width: 700px){
  :root{
    --mobile-side:18px;
  }

  body{
    font-size:16px!important;
    line-height:1.75!important;
  }

  .container{
    width:calc(100% - (var(--mobile-side) * 2))!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }

  /* Better tap targets */
  .btn-primary,
  .btn-outline,
  .nav-cta,
  .form-submit,
  .contact-submit,
  button{
    min-height:48px!important;
  }

  /* Header / menu */
  header,
  .site-header,
  .main-header{
    min-height:66px!important;
  }
  .nav-wrap,
  .navbar,
  .header-inner{
    min-height:66px!important;
    padding-inline:var(--mobile-side)!important;
  }
  .nav-logo{
    position:relative!important;
    z-index:1002!important;
    max-width:150px!important;
  }
  .mobile-menu-btn{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    border-radius:12px!important;
    position:relative!important;
    z-index:1002!important;
  }
  .nav-links{
    max-height:calc(100dvh - 66px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .nav-links a{
    min-height:48px!important;
    display:flex!important;
    align-items:center!important;
  }

  /* Typography */
  .sec-eyebrow{
    font-size:.75rem!important;
    letter-spacing:.08em!important;
  }
  .sec-title{
    font-size:clamp(1.8rem,9vw,2.45rem)!important;
    line-height:1.35!important;
  }
  .sec-sub{
    font-size:.98rem!important;
    line-height:1.9!important;
  }
  h1{
    overflow-wrap:anywhere;
  }

  /* Home hero */
  .hero{
    min-height:100svh!important;
    padding:104px var(--mobile-side) 54px!important;
    display:flex!important;
    align-items:center!important;
  }
  .hero-inner{
    width:100%!important;
    max-width:none!important;
    text-align:center!important;
  }
  .hero-badge{
    width:fit-content!important;
    max-width:100%!important;
    margin-inline:auto!important;
    white-space:normal!important;
    line-height:1.55!important;
    text-align:center!important;
  }
  .hero h1{
    font-size:clamp(2.25rem,12.5vw,3.4rem)!important;
    line-height:1.2!important;
    margin-bottom:18px!important;
  }
  .hero p{
    font-size:1rem!important;
    line-height:1.95!important;
    max-width:34rem!important;
    margin-inline:auto!important;
  }
  .hero-btns{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin-top:26px!important;
  }
  .hero-btns a{
    width:100%!important;
    justify-content:center!important;
    min-height:52px!important;
  }

  /* Generic section spacing */
  section,
  .partners-section{
    padding-top:56px!important;
    padding-bottom:56px!important;
  }
  .sec-header{
    margin-bottom:24px!important;
  }

  /* All important grids to single column */
  .portfolio-mini,
  .portfolio-grid,
  .services-grid,
  .service-offers-grid,
  .offers-grid,
  .partners-grid,
  .team-members-grid{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  /* Cards */
  .p-card,
  .srv-card,
  .partner-card,
  .team-member-card,
  .service-offer-card,
  .offer-card{
    border-radius:18px!important;
  }
  .p-body,
  .srv-card,
  .service-offer-card,
  .offer-card,
  .team-member-card{
    padding:20px!important;
  }
  .p-thumb{
    min-height:210px!important;
  }
  .p-title,
  .srv-name{
    font-size:1.25rem!important;
    line-height:1.55!important;
  }

  /* Portfolio page */
  #page-portfolio .portfolio-hero,
  #page-works .portfolio-hero,
  .portfolio-hero{
    min-height:auto!important;
    padding:105px var(--mobile-side) 48px!important;
  }
  .portfolio-filters,
  .filter-row,
  .filters{
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    padding-bottom:8px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
  }
  .portfolio-filters::-webkit-scrollbar,
  .filter-row::-webkit-scrollbar,
  .filters::-webkit-scrollbar{
    display:none;
  }
  .portfolio-filters button,
  .filter-row button,
  .filters button{
    flex:0 0 auto!important;
    scroll-snap-align:start;
    white-space:nowrap!important;
    min-height:42px!important;
  }

  /* Services */
  .services-hero,
  #page-services .page-hero{
    min-height:auto!important;
    padding:105px var(--mobile-side) 46px!important;
  }
  .service-category-tabs,
  .services-filter,
  .service-filters{
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    padding-bottom:8px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .service-category-tabs::-webkit-scrollbar,
  .services-filter::-webkit-scrollbar,
  .service-filters::-webkit-scrollbar{
    display:none;
  }
  .service-category-tabs button,
  .services-filter button,
  .service-filters button{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    min-height:42px!important;
  }
  .service-category-image{
    min-height:230px!important;
    border-radius:18px!important;
  }
  .services-end-cta{
    margin-top:28px!important;
  }

  /* Team */
  .team-hero,
  .team-hero-enhanced{
    min-height:auto!important;
    padding:105px var(--mobile-side) 48px!important;
  }
  .team-intro-section{
    padding-top:50px!important;
    padding-bottom:38px!important;
  }
  .team-leader-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }
  .team-leader-image{
    min-height:300px!important;
    height:auto!important;
    aspect-ratio:4/5!important;
  }
  .team-leader-content{
    padding:22px!important;
  }
  .team-members-section{
    padding-top:30px!important;
  }
  .team-project-cta{
    padding-top:44px!important;
    padding-bottom:56px!important;
  }

  /* Contact */
  #page-contact .contact-hero-refined{
    min-height:auto!important;
    padding:105px var(--mobile-side) 44px!important;
  }
  #page-contact .contact-hero-refined h1{
    font-size:clamp(2rem,10vw,2.8rem)!important;
  }
  #page-contact .contact-main-section{
    padding:44px 0 56px!important;
  }
  #page-contact .contact-layout{
    gap:16px!important;
  }
  #page-contact .contact-info-panel,
  #page-contact .contact-form-panel{
    padding:20px!important;
    border-radius:18px!important;
  }
  #page-contact .contact-info-head h2,
  #page-contact .contact-form-head h2{
    font-size:1.6rem!important;
  }
  #page-contact .contact-method{
    min-height:72px!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    padding:12px!important;
    border-radius:14px!important;
  }
  #page-contact .contact-method-icon{
    width:44px!important;
    height:44px!important;
  }
  #page-contact .contact-form-refined .form-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  #page-contact .contact-form-refined input,
  #page-contact .contact-form-refined select,
  #page-contact .contact-form-refined textarea{
    font-size:16px!important; /* prevents iOS zoom */
    border-radius:13px!important;
  }
  #page-contact .contact-form-refined input,
  #page-contact .contact-form-refined select{
    min-height:52px!important;
  }
  #page-contact .contact-form-refined textarea{
    min-height:150px!important;
  }

  /* CTAs */
  .final-cta,
  .team-project-cta,
  .services-end-cta{
    text-align:center!important;
  }
  .final-cta .btn-primary,
  .team-project-cta .btn-primary,
  .services-end-cta .btn-primary,
  .final-cta .btn-outline,
  .team-project-cta .btn-outline,
  .services-end-cta .btn-outline{
    width:100%!important;
    justify-content:center!important;
  }

  /* Footer */
  footer,
  .site-footer{
    padding-left:var(--mobile-side)!important;
    padding-right:var(--mobile-side)!important;
  }
  .footer-inner,
  .footer-grid{
    grid-template-columns:1fr!important;
    gap:24px!important;
    text-align:center!important;
  }
}

/* Very small phones */
@media (max-width: 420px){
  :root{
    --mobile-side:14px;
  }
  body{
    font-size:15.5px!important;
  }
  .hero{
    padding-top:96px!important;
  }
  .hero h1{
    font-size:clamp(2.05rem,12vw,2.75rem)!important;
  }
  .sec-title{
    font-size:1.78rem!important;
  }
  .p-body,
  .srv-card,
  .service-offer-card,
  .offer-card,
  .team-member-card,
  #page-contact .contact-info-panel,
  #page-contact .contact-form-panel{
    padding:17px!important;
  }
  .p-thumb{
    min-height:190px!important;
  }
  .team-leader-image{
    min-height:260px!important;
  }
}

/* Short landscape phones */
@media (max-height: 520px) and (orientation: landscape) and (max-width: 950px){
  .hero{
    min-height:auto!important;
    padding-top:90px!important;
    padding-bottom:40px!important;
  }
  .nav-links{
    max-height:calc(100dvh - 60px)!important;
  }
}



/* Fix Arabic headline overlap on phones */
@media (max-width: 700px){
  .hero h1,
  .portfolio-hero h1,
  .services-hero h1,
  .team-hero h1,
  .team-hero-enhanced h1,
  #page-contact .contact-hero-refined h1,
  .page-hero h1,
  .sec-title,
  .final-cta h2,
  .services-end-cta h2,
  .team-project-cta h2{
    line-height:1.42!important;
    letter-spacing:0!important;
  }

  .hero h1{
    font-size:clamp(2rem,10.8vw,3rem)!important;
    margin-bottom:20px!important;
  }

  .portfolio-hero h1,
  .services-hero h1,
  .team-hero h1,
  .team-hero-enhanced h1,
  #page-contact .contact-hero-refined h1,
  .page-hero h1{
    font-size:clamp(1.95rem,9.7vw,2.7rem)!important;
  }

  .sec-title,
  .final-cta h2,
  .services-end-cta h2,
  .team-project-cta h2{
    font-size:clamp(1.75rem,8.8vw,2.35rem)!important;
  }

  /* Extra breathing room for colored inline words/spans */
  .hero h1 span,
  .portfolio-hero h1 span,
  .services-hero h1 span,
  .team-hero h1 span,
  .team-hero-enhanced h1 span,
  .page-hero h1 span,
  .sec-title span,
  .final-cta h2 span,
  .services-end-cta h2 span,
  .team-project-cta h2 span{
    line-height:inherit!important;
  }
}

@media (max-width: 420px){
  .hero h1{
    font-size:clamp(1.9rem,10.2vw,2.55rem)!important;
    line-height:1.48!important;
  }

  .portfolio-hero h1,
  .services-hero h1,
  .team-hero h1,
  .team-hero-enhanced h1,
  #page-contact .contact-hero-refined h1,
  .page-hero h1{
    font-size:clamp(1.82rem,9.2vw,2.35rem)!important;
    line-height:1.48!important;
  }

  .sec-title,
  .final-cta h2,
  .services-end-cta h2,
  .team-project-cta h2{
    font-size:clamp(1.62rem,8.2vw,2.05rem)!important;
    line-height:1.5!important;
  }
}



.site-logo-image{
  display:block;
  width:auto;
  height:42px;
  max-width:220px;
  object-fit:contain;
}
.nav-logo{
  display:inline-flex!important;
  align-items:center!important;
  text-decoration:none!important;
  line-height:1!important;
}
@media (max-width:700px){
  .site-logo-image{
    height:34px!important;
    max-width:175px!important;
  }
  .nav-logo{
    max-width:185px!important;
  }
}
@media (max-width:420px){
  .site-logo-image{
    height:31px!important;
    max-width:160px!important;
  }
}



@media (max-width:700px){
  .nav-links{
    position:fixed!important;
    top:66px!important;
    right:0!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    max-height:calc(100dvh - 66px)!important;
    margin:0!important;
    padding:14px 18px 22px!important;

    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;

    background:linear-gradient(
      180deg,
      rgba(11,9,16,.97) 0%,
      rgba(14,11,19,.96) 100%
    )!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;

    border-top:1px solid rgba(255,255,255,.05)!important;
    border-bottom:1px solid rgba(239,159,39,.08)!important;
    box-shadow:0 18px 40px rgba(0,0,0,.28)!important;

    overflow-y:auto!important;
    overscroll-behavior:contain!important;

    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-14px) scale(.99)!important;
    transform-origin:top center!important;

    transition:
      opacity .26s ease,
      transform .32s cubic-bezier(.22,1,.36,1),
      visibility 0s linear .32s!important;

    z-index:1000!important;
  }

  .nav-links.active,
  .nav-links.open,
  .nav-links.show{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0) scale(1)!important;
    transition:
      opacity .24s ease,
      transform .32s cubic-bezier(.22,1,.36,1),
      visibility 0s linear 0s!important;
  }

  .nav-links a{
    position:relative!important;
    min-height:58px!important;
    padding:15px 14px!important;
    border-radius:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;

    color:#d8d2dd!important;
    font-size:1.08rem!important;
    font-weight:700!important;
    text-decoration:none!important;

    border-bottom:0!important;
    background:rgba(255,255,255,.012)!important;

    opacity:0!important;
    transform:translateY(-6px)!important;
    transition:
      background-color .2s ease,
      color .2s ease,
      transform .2s ease,
      opacity .2s ease!important;
  }

  .nav-links.active a,
  .nav-links.open a,
  .nav-links.show a{
    opacity:1!important;
    transform:translateY(0)!important;
  }

  .nav-links.active a:nth-child(1),
  .nav-links.open a:nth-child(1),
  .nav-links.show a:nth-child(1){transition-delay:.05s!important;}

  .nav-links.active a:nth-child(2),
  .nav-links.open a:nth-child(2),
  .nav-links.show a:nth-child(2){transition-delay:.09s!important;}

  .nav-links.active a:nth-child(3),
  .nav-links.open a:nth-child(3),
  .nav-links.show a:nth-child(3){transition-delay:.13s!important;}

  .nav-links.active a:nth-child(4),
  .nav-links.open a:nth-child(4),
  .nav-links.show a:nth-child(4){transition-delay:.17s!important;}

  .nav-links a:hover,
  .nav-links a:focus{
    background:rgba(239,159,39,.055)!important;
    color:#fff!important;
    transform:translateX(-2px)!important;
  }

  .nav-links a::after{
    content:""!important;
    position:absolute!important;
    right:14px!important;
    bottom:8px!important;
    width:0!important;
    height:2px!important;
    border-radius:999px!important;
    background:linear-gradient(90deg,#ef9f27,rgba(239,159,39,.2))!important;
    transition:width .22s ease!important;
  }

  .nav-links a:hover::after,
  .nav-links a:focus::after{
    width:36px!important;
  }

  .mobile-menu-btn{
    border:1px solid rgba(255,255,255,.06)!important;
    background:rgba(255,255,255,.02)!important;
    transition:
      background-color .2s ease,
      border-color .2s ease,
      transform .2s ease!important;
  }

  .mobile-menu-btn:hover{
    background:rgba(239,159,39,.05)!important;
    border-color:rgba(239,159,39,.18)!important;
  }

  /* Keep page content from visually competing with the opened menu */
  body.menu-open::before{
    content:"";
    position:fixed;
    inset:66px 0 0;
    background:rgba(0,0,0,.20);
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
    z-index:999;
    pointer-events:none;
    opacity:1;
  }
}

@media (max-width:420px){
  .nav-links{
    top:62px!important;
    max-height:calc(100dvh - 62px)!important;
    padding:12px 14px 18px!important;
  }

  .nav-links a{
    min-height:54px!important;
    font-size:1rem!important;
    padding:13px 12px!important;
  }
}



@media (max-width:768px){

  /* Keep the header clean and above the menu */
  nav#navbar{
    z-index:1100!important;
    padding:10px 16px!important;
    min-height:66px!important;
    background:rgba(11,9,16,.94)!important;
    backdrop-filter:blur(18px)!important;
    -webkit-backdrop-filter:blur(18px)!important;
  }

  /* Hide desktop CTA on phone so header breathes */
  nav#navbar > .nav-cta{
    display:none!important;
  }

  /* Actual dropdown panel */
  nav#navbar .nav-links{
    display:flex!important;
    position:absolute!important;
    top:calc(100% + 10px)!important;
    right:12px!important;
    left:12px!important;

    width:auto!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:8px!important;

    flex-direction:column!important;
    gap:4px!important;

    border:1px solid rgba(255,255,255,.07)!important;
    border-radius:18px!important;
    background:rgba(16,13,22,.985)!important;
    box-shadow:
      0 18px 45px rgba(0,0,0,.34),
      inset 0 1px 0 rgba(255,255,255,.025)!important;

    overflow:hidden!important;

    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;

    transition:
      opacity .20s ease,
      transform .24s cubic-bezier(.22,1,.36,1),
      visibility 0s linear .24s!important;
  }

  nav#navbar .nav-links.mobile-open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:translateY(0)!important;
    transition:
      opacity .18s ease,
      transform .24s cubic-bezier(.22,1,.36,1),
      visibility 0s!important;
  }

  nav#navbar .nav-links li{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
  }

  nav#navbar .nav-links a{
    width:100%!important;
    min-height:52px!important;
    padding:13px 14px!important;
    display:flex!important;
    align-items:center!important;

    border-radius:12px!important;
    color:#d7d1dc!important;
    font-size:1rem!important;
    font-weight:700!important;
    text-decoration:none!important;

    background:transparent!important;
    border:0!important;

    opacity:1!important;
    transform:none!important;
    transition:
      background-color .18s ease,
      color .18s ease!important;
  }

  nav#navbar .nav-links li + li{
    border-top:1px solid rgba(255,255,255,.045)!important;
  }

  nav#navbar .nav-links a::after{
    display:none!important;
  }

  nav#navbar .nav-links a:hover,
  nav#navbar .nav-links a:focus,
  nav#navbar .nav-links a.active{
    color:#fff!important;
    background:rgba(239,159,39,.055)!important;
  }

  /* Hamburger */
  nav#navbar .mobile-menu-btn{
    display:flex!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.07)!important;
    border-radius:12px!important;
    background:rgba(255,255,255,.02)!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:0!important;
  }

  nav#navbar .mobile-menu-btn span{
    width:20px!important;
    height:2px!important;
    margin:3px 0!important;
    background:#fff!important;
    border-radius:99px!important;
    transform-origin:center!important;
    transition:transform .22s ease, opacity .18s ease!important;
  }

  nav#navbar .mobile-menu-btn.is-open span:nth-child(1){
    transform:translateY(8px) rotate(45deg)!important;
  }
  nav#navbar .mobile-menu-btn.is-open span:nth-child(2){
    opacity:0!important;
  }
  nav#navbar .mobile-menu-btn.is-open span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg)!important;
  }

  /* Remove previous page-darkening overlay entirely */
  body.menu-open::before{
    display:none!important;
    content:none!important;
  }
}

@media (max-width:420px){
  nav#navbar{
    padding:9px 12px!important;
  }

  nav#navbar .nav-links{
    right:10px!important;
    left:10px!important;
    top:calc(100% + 8px)!important;
    border-radius:16px!important;
  }

  nav#navbar .nav-links a{
    min-height:50px!important;
    padding:12px!important;
    font-size:.98rem!important;
  }
}


/* Anti-spam honeypot: visually hidden but still present in the form markup. */
.cf-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;}


/* Standard WordPress pages/posts: keeps plugins, shortcodes and future pages compatible. */
.wp-standard-page{min-height:100vh;background:var(--bg);color:var(--text);}
.standard-header{position:sticky;top:0;z-index:1000;background:rgba(11,9,16,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);}
.standard-header-inner{width:min(1180px,calc(100% - 36px));margin:auto;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;}
.standard-brand{display:inline-flex;align-items:center;color:var(--text);font-weight:800;text-decoration:none;}
.standard-brand .site-logo-image{max-height:42px;width:auto;}
.standard-menu ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}.standard-menu a{color:var(--text);text-decoration:none}.standard-menu a:hover{color:var(--accent)}
.standard-main{padding-top:64px;padding-bottom:72px;min-height:70vh;}
.standard-content{max-width:900px;margin:0 auto 34px;padding:28px;border:1px solid var(--border);border-radius:20px;background:var(--bg2);}
.standard-content h1,.standard-content h2{line-height:1.4;margin-bottom:20px}.standard-content h2 a{color:var(--text);text-decoration:none}.standard-content h2 a:hover{color:var(--accent)}
.standard-content .entry-content{line-height:1.95}.standard-content .entry-content>*+*{margin-top:1em}.standard-featured{max-width:100%;height:auto;border-radius:16px;margin-bottom:24px}.standard-footer{padding:28px 0;border-top:1px solid var(--border);color:var(--text2);}
@media(max-width:700px){.standard-header-inner{min-height:64px}.standard-menu{display:none}.standard-main{padding-top:34px;padding-bottom:46px}.standard-content{padding:20px;border-radius:16px}.standard-brand .site-logo-image{max-height:34px;}}
