/*
Theme Name: Cheikhahmedabidine V15 Admin Easy
Author: Cheikhahmedabidine
Description: نسخة WordPress مطابقة بصريًا لتصميم V15 مع إدارة المحتوى من لوحة التحكم.
Version: 2.3.1
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: cheikhv15
*/

*, *::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> 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}
}
