/* ═══════════════════════════════════════════════════════════════
   NURE HASSAN — LUXURY HOSPITALITY SEO CONSULTANT
   Single clean CSS block · No conflicts · Mobile-first
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. CSS VARIABLES ── */
:root {
  --orange:    #F06A28;
  --amber:     #F5A623;
  --coral:     #E84D1C;
  --grad:      linear-gradient(135deg,#F06A28 0%,#F5A623 50%,#E84D1C 100%);
  --grad-t:    linear-gradient(90deg,#F06A28,#F5A623 40%,#F06A28 80%);
  --bg:        #0D0C0B;
  --bg-card:   #161412;
  --bg-card2:  #1C1916;
  --surface:   #232019;
  --ink:       #FAFAF8;
  --ink-2:     #C8C4BC;
  --ink-3:     #7A756D;
  --ink-4:     #3D3A35;
  --border:    rgba(255,255,255,0.08);
  --border-hi: rgba(240,106,40,0.35);
  --fd:        'Bricolage Grotesque', sans-serif;
  --fb:        'Instrument Sans', sans-serif;
  --r:         12px;
  --nav-h:     64px;
  --ub-h:      38px;
  --px:        clamp(1rem,5vw,4rem);
  --max-w:     1240px;
  --touch:     44px;
  --nav-offset: calc(var(--ub-h) + var(--nav-h));
}

/* ── LIGHT MODE ── */
body.light {
  --bg:       #F5F3EF;
  --bg-card:  #FFFFFF;
  --bg-card2: #EDE8E0;
  --surface:  #E5DFD6;
  --ink:      #1A1714;
  --ink-2:    #3D3832;
  --ink-3:    #7A756D;
  --ink-4:    #B8B0A6;
  --border:   rgba(0,0,0,0.08);
  --border-hi:rgba(240,106,40,0.4);
}
body.light .site-nav        { background: rgba(245,243,239,.94); }
body.light .mobile-menu     { background: rgba(245,243,239,.98); }
body.light .urgency-bar     { background: linear-gradient(90deg,rgba(240,106,40,.08),rgba(245,166,35,.06),rgba(240,106,40,.08)); }
body.light .marquee-wrap::before { background: linear-gradient(to right,#F5F3EF,transparent); }
body.light .marquee-wrap::after  { background: linear-gradient(to left, #F5F3EF,transparent); }
body.light .hero-section::before,
body.light .hero-section::after  { opacity: .4; }

/* ── 2. RESET ── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: var(--fb);
  font-size: clamp(.9375rem,.5vw + .85rem,1rem);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a    { text-decoration: none; color: inherit; }
img  { max-width: 100%; height: auto; display: block; }
ul   { list-style: none; }
button { font-family: var(--fb); cursor: pointer; border: none; background: none; }
input, select, textarea { font-family: var(--fb); }

/* ── 3. ANIMATIONS ── */
@keyframes shimmer   { to { background-position: 200% center } }
@keyframes marquee   { to { transform: translateX(-50%) } }
@keyframes pulse     { 0%,100%{opacity:1} 50%{opacity:.4} }
@keyframes glowPulse { 0%,100%{box-shadow:0 6px 28px rgba(240,106,40,.38)} 50%{box-shadow:0 10px 48px rgba(240,106,40,.6)} }
@keyframes slideDown { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:translateY(0)} }
@keyframes fadeIn    { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:none} }
@keyframes spin      { to{transform:rotate(360deg)} }

.glow-pulse { animation: glowPulse 2.5s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
}

/* ── 4. URGENCY BAR ── */
.urgency-bar {
  position: fixed; inset: 0 0 auto;
  z-index: 600;
  height: var(--ub-h);
  background: linear-gradient(90deg,rgba(240,106,40,.12),rgba(245,166,35,.1),rgba(240,106,40,.12));
  border-bottom: 1px solid rgba(240,106,40,.25);
  display: flex; align-items: center; justify-content: center;
  gap: .625rem; padding: 0 var(--px);
  font-size: clamp(.68rem,1.5vw,.78rem);
  font-weight: 600; color: var(--ink-2);
  overflow: hidden;
}
.urgency-bar strong { color: var(--orange); }
.urgency-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: #4ADE80; animation: pulse 1.5s infinite; flex-shrink: 0;
}
.urgency-cta {
  background: var(--grad); color: #fff;
  font-size: .72rem; font-weight: 700;
  padding: .3rem .875rem; border-radius: 6px;
  min-height: 28px; cursor: pointer;
  transition: transform .15s, opacity .15s;
  white-space: nowrap; flex-shrink: 0;
}
.urgency-cta:hover { transform: translateY(-1px); opacity: .9; }
@media (max-width: 520px) {
  .urgency-cta { display: none; }
  .urgency-bar { font-size: .67rem; }
}

/* ── 5. NAV ── */
.site-nav {
  position: fixed; left: 0; right: 0;
  top: var(--ub-h);          /* sits directly below urgency bar */
  z-index: 500;
  height: var(--nav-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--px);
  background: rgba(13,12,11,.92);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
}
.nav-logo {
  display: flex; align-items: center; gap: .5rem;
  cursor: pointer; flex-shrink: 0; text-decoration: none;
}
.nav-logo img        { height: 30px; width: auto; max-width: 130px; }
.nav-logo-icon {
  width: 30px; height: 30px; border-radius: 7px;
  background: var(--grad);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fd); font-weight: 800; font-size: .78rem; color: #fff;
}
.nav-logo-text       { font-family: var(--fd); font-weight: 700; font-size: .9rem; }
.nav-logo-fallback   { display: none; align-items: center; gap: .5rem; }
.nav-right           { display: flex; align-items: center; gap: .25rem; }
.nav-links           { display: flex; align-items: center; gap: .125rem; }
.nav-link {
  font-size: .84rem; color: var(--ink-2); font-weight: 500;
  padding: .5rem .75rem; border-radius: 7px;
  transition: color .2s, background .2s;
  white-space: nowrap; min-height: var(--touch);
  display: flex; align-items: center;
}
.nav-link:hover, .nav-link.active { color: var(--ink); background: rgba(255,255,255,.04); }

/* Availability badge */
.nav-avail {
  display: flex; align-items: center; gap: .35rem;
  font-size: .68rem; font-weight: 700; color: #4ADE80;
  background: rgba(74,222,128,.07); border: 1px solid rgba(74,222,128,.2);
  padding: .25rem .625rem; border-radius: 100px;
  white-space: nowrap; margin-right: .375rem;
}
.nav-avail-dot { width: 5px; height: 5px; border-radius: 50%; background: #4ADE80; animation: pulse 2s infinite; }

/* Theme toggle */
.theme-btn {
  width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--surface); border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; font-size: 1rem;
  transition: border-color .2s, background .2s;
  flex-shrink: 0; margin: 0 .375rem;
  position: relative; overflow: hidden;
}
.theme-btn:hover { border-color: var(--orange); background: rgba(240,106,40,.08); }
.theme-btn .icon-sun, .theme-btn .icon-moon {
  position: absolute; transition: opacity .25s, transform .25s;
  line-height: 1;
}
.theme-btn .icon-sun  { opacity: 1; transform: rotate(0); }
.theme-btn .icon-moon { opacity: 0; transform: rotate(90deg) scale(.7); }
body.light .theme-btn .icon-sun  { opacity: 0; transform: rotate(-90deg) scale(.7); }
body.light .theme-btn .icon-moon { opacity: 1; transform: rotate(0) scale(1); }

.nav-cta {
  background: var(--grad); color: #fff;
  font-size: .84rem; font-weight: 600;
  padding: .5rem 1.25rem; border-radius: 8px;
  min-height: 38px; white-space: nowrap;
  box-shadow: 0 4px 18px rgba(240,106,40,.35);
  transition: transform .2s, box-shadow .2s;
}
.nav-cta:hover { transform: translateY(-1px); box-shadow: 0 6px 26px rgba(240,106,40,.5); }

/* Hamburger */
.hamburger {
  display: none; flex-direction: column; gap: 5px; justify-content: center;
  width: var(--touch); height: var(--touch);
  padding: 10px; border-radius: 8px;
  transition: background .2s;
}
.hamburger:hover { background: var(--surface); }
.hamburger span {
  display: block; width: 22px; height: 2px;
  background: var(--ink-2); border-radius: 2px;
  transition: transform .3s, opacity .3s;
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu */
.mobile-menu {
  display: none; position: fixed; left: 0; right: 0;
  top: calc(var(--ub-h) + var(--nav-h));
  z-index: 499;
  background: rgba(13,12,11,.97);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  padding: 1rem var(--px) max(1.5rem,env(safe-area-inset-bottom));
  flex-direction: column; gap: .25rem;
  animation: slideDown .2s ease;
  max-height: calc(100dvh - var(--ub-h) - var(--nav-h));
  overflow-y: auto;
}
.mobile-menu.open    { display: flex; }
.mobile-menu .nav-link {
  font-size: 1rem; padding: .875rem .5rem;
  border-bottom: 1px solid var(--border);
  width: 100%; justify-content: flex-start;
  min-height: 52px;
}
.mobile-menu .nav-cta {
  margin-top: .75rem; width: 100%; justify-content: center;
  text-align: center; padding: .875rem; font-size: 1rem;
  min-height: 52px; display: flex;
}

/* Hide/show for nav items */
@media (max-width: 900px) {
  .nav-avail { display: none; }
}
@media (max-width: 768px) {
  .nav-links, .nav-cta { display: none; }
  .hamburger { display: flex; }
  .theme-btn { margin-left: auto; }
}

/* ── 6. PAGE SYSTEM ── */
.page {
  display: none;
  padding-top: calc(var(--ub-h) + var(--nav-h));
  min-height: 100dvh;
}
.page.active { display: block; }

/* ── 7. LAYOUT UTILITIES ── */
.container   { max-width: var(--max-w); margin: 0 auto; padding: 0 var(--px); }
.section     { padding: clamp(3rem,7vw,5.5rem) var(--px); }
.section-inner { max-width: var(--max-w); margin: 0 auto; }

/* Eyebrow label */
.eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .7rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--orange); margin-bottom: .875rem;
}
.eyebrow::before { content:''; width:16px; height:2px; background:var(--orange); border-radius:2px; flex-shrink:0; }

.section-title {
  font-family: var(--fd);
  font-size: clamp(1.625rem,4vw,2.75rem);
  font-weight: 800; line-height: 1.1; letter-spacing: -.03em;
  margin-bottom: .875rem;
}
.section-sub {
  font-size: clamp(.9rem,2vw,1.05rem);
  color: var(--ink-2); line-height: 1.75; max-width: 580px;
}
.hl {
  background: var(--grad-t); background-size: 200% auto;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; animation: shimmer 4s linear infinite;
}

/* ── 8. BUTTONS ── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  font-family: var(--fb); font-weight: 600;
  border-radius: 10px; cursor: pointer;
  transition: transform .2s, box-shadow .2s, opacity .2s;
  min-height: 48px; padding: .75rem 1.75rem;
  font-size: clamp(.875rem,2vw,.95rem);
  white-space: nowrap; border: none; text-decoration: none;
}
.btn-primary {
  background: var(--grad); color: #fff;
  box-shadow: 0 6px 28px rgba(240,106,40,.38);
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 38px rgba(240,106,40,.52); }
.btn-secondary {
  background: transparent; color: var(--ink-2);
  border: 1.5px solid var(--border);
}
.btn-secondary:hover { border-color: var(--orange); color: var(--orange); }

/* ── 9. PAGE HERO BANNER ── */
.page-hero {
  padding: clamp(2.5rem,6vw,5rem) var(--px) clamp(2rem,5vw,4rem);
  background: linear-gradient(180deg,rgba(240,106,40,.07) 0%,transparent 100%);
  border-bottom: 1px solid var(--border); text-align: center;
}
.page-hero-inner { max-width: 720px; margin: 0 auto; }
.page-hero h1 { font-family:var(--fd); font-size:clamp(1.75rem,4.5vw,3rem); font-weight:800; line-height:1.1; letter-spacing:-.03em; margin-bottom:1rem; }
.page-hero p  { font-size:clamp(.9rem,1.8vw,1.05rem); color:var(--ink-2); line-height:1.75; max-width:640px; margin:0 auto; }

/* ── 10. HERO ── */
.hero-section { position:relative; overflow:hidden; }
.hero-section::before {
  content:''; position:absolute; top:10%; left:-5%; z-index:0;
  width: min(600px,70vw); height: min(600px,70vw);
  background: radial-gradient(circle,rgba(240,106,40,.1) 0%,transparent 70%);
  pointer-events:none;
}
.hero-section::after {
  content:''; position:absolute; top:50%; right:-10%; z-index:0;
  width: min(400px,50vw); height: min(400px,50vw);
  background: radial-gradient(circle,rgba(245,166,35,.07) 0%,transparent 70%);
  pointer-events:none;
}
.hero {
  position:relative; z-index:1;
  max-width: var(--max-w); margin: 0 auto;
  padding: clamp(3rem,7vw,5.5rem) var(--px) clamp(3rem,7vw,5rem);
  display: grid;
  grid-template-columns: 1fr min(440px,42%);
  gap: clamp(2rem,5vw,4rem);
  align-items: center;
  min-height: calc(100svh - var(--ub-h) - var(--nav-h));
}
.hero h1 {
  font-family: var(--fd);
  font-size: clamp(2rem,4.5vw,3.75rem);
  font-weight: 800; line-height: 1.06; letter-spacing: -.035em;
  margin-bottom: 1.25rem;
}
.grad-word {
  background: var(--grad-t); background-size: 200% auto;
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
  background-clip: text; animation: shimmer 4s linear infinite;
}
.hero-desc {
  font-size: clamp(.9rem,2vw,1.1rem);
  color: var(--ink-2); line-height: 1.78;
  max-width: 520px; margin-bottom: 2rem;
}
.hero-desc strong { color: var(--ink); font-weight: 600; }
.hero-badges   { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.badge {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: clamp(.62rem,1.3vw,.72rem); font-weight: 600;
  padding: .28rem .7rem; border-radius: 100px;
  border: 1px solid var(--border); color: var(--ink-2);
  background: var(--bg-card); white-space: nowrap;
}
.badge-hot  { border-color: var(--border-hi); color: var(--orange); background: rgba(240,106,40,.07); }
.badge-new  { border-color: rgba(74,222,128,.3); color: #4ADE80; background: rgba(74,222,128,.07); }
.hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin-bottom:2rem; }
.hero-proof   { display:flex; align-items:center; gap:.875rem; flex-wrap:wrap; }
.proof-avatars { display:flex; }
.proof-avatar {
  width:32px; height:32px; border-radius:50%;
  background: var(--surface); border: 2px solid var(--bg);
  margin-left:-9px; font-family:var(--fd); font-weight:700; font-size:.68rem;
  display:flex; align-items:center; justify-content:center;
  color:var(--ink-2); flex-shrink:0;
}
.proof-avatar:first-child { margin-left:0; }
.proof-text { font-size:.84rem; color:var(--ink-2); }
.proof-text strong { color:var(--ink); }
.hero-right  { min-width:0; }
.hero-cal {
  background: var(--bg-card); border: 1px solid var(--border);
  border-radius: 18px; overflow:hidden;
  box-shadow: 0 24px 64px rgba(0,0,0,.5), 0 0 0 1px rgba(240,106,40,.1);
  position:relative;
}
.hero-cal::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); }

/* Hero stat bar */
.hero-stat-bar {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 1px; background: var(--border);
  border: 1px solid var(--border); border-radius: 12px;
  overflow: hidden; margin-top: 2.5rem;
  max-width: 720px;
}
.hero-stat {
  background: var(--bg-card); padding: 1.125rem 1rem;
  text-align: center;
}
.hero-stat-n {
  font-family: var(--fd); font-size: clamp(1.1rem,2.5vw,1.375rem);
  font-weight: 800; color: var(--orange);
}
.hero-stat-l {
  font-size: .7rem; color: var(--ink-3);
  margin-top: .2rem; line-height: 1.3;
}

/* ── 11. MARQUEE ── */
.clients-section {
  padding: clamp(1.75rem,4vw,3.5rem) 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  overflow: hidden;
}
.clients-label {
  text-align:center; font-size:.68rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); margin-bottom:1.125rem;
  padding: 0 var(--px);
}
.marquee-wrap { overflow:hidden; position:relative; }
.marquee-wrap::before,
.marquee-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:80px; z-index:2;
}
.marquee-wrap::before { left:0;  background:linear-gradient(to right,var(--bg),transparent); }
.marquee-wrap::after  { right:0; background:linear-gradient(to left, var(--bg),transparent); }
.marquee-track { display:flex; width:max-content; animation:marquee 35s linear infinite; }
.client-chip {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem 1.375rem;
  font-family:var(--fd); font-size:.875rem; font-weight:700;
  color:var(--ink-3); white-space:nowrap;
}
.client-dot { font-size:.3rem; color:rgba(255,255,255,.15); }

/* ── 12. CARDS — wins, service, testi, value, process, price ── */
.wins-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:clamp(.75rem,2vw,1.125rem); }
.win-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r); padding:clamp(1.25rem,3vw,1.75rem);
  transition:border-color .3s,transform .3s; cursor:pointer;
  position:relative; overflow:hidden;
}
.win-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--grad); opacity:0; transition:opacity .3s; }
.win-card:hover { border-color:var(--border-hi); transform:translateY(-3px); }
.win-card:hover::after { opacity:1; }
.win-brand  { font-size:.68rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); margin-bottom:.625rem; }
.win-number {
  font-family:var(--fd); font-size:clamp(1.75rem,4vw,2.5rem);
  font-weight:800; line-height:1; letter-spacing:-.03em;
  background:var(--grad-t); background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; animation:shimmer 4s linear infinite;
  margin-bottom:.5rem;
}
.win-desc { font-size:.82rem; color:var(--ink-2); line-height:1.55; }
.win-link {
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.76rem; font-weight:600; color:var(--orange);
  margin-top:.875rem; transition:gap .2s; min-height:36px;
}
.win-link:hover { gap:.55rem; }

.services-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(.875rem,2vw,1.125rem); }
.service-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r); padding:clamp(1.25rem,3vw,1.875rem);
  transition:border-color .3s,transform .3s; cursor:pointer;
  position:relative; overflow:hidden;
}
.service-card:hover  { border-color:var(--border-hi); transform:translateY(-3px); }
.service-icon  { font-size:1.5rem; margin-bottom:.875rem; }
.service-name  { font-family:var(--fd); font-size:1rem; font-weight:700; margin-bottom:.5rem; }
.service-desc  { font-size:.855rem; color:var(--ink-2); line-height:1.7; margin-bottom:1rem; }
.s-tags        { display:flex; flex-wrap:wrap; gap:.375rem; }
.s-tag         { font-size:.67rem; font-weight:600; color:var(--ink-3); background:var(--surface); border-radius:4px; padding:.2rem .5rem; }
.service-cta-link {
  font-size:.78rem; font-weight:600; color:var(--orange);
  display:inline-flex; align-items:center; gap:.35rem;
  margin-top:1rem; transition:gap .2s; min-height:36px;
}
.service-cta-link:hover { gap:.55rem; }

.testi-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(.875rem,2vw,1.25rem); }
.testi-card {
  background:var(--bg-card2); border:1px solid var(--border);
  border-radius:var(--r); padding:clamp(1.25rem,3vw,1.625rem);
  transition:border-color .3s; display:flex; flex-direction:column;
}
.testi-card:hover { border-color:var(--border-hi); }
.testi-stars  { color:var(--amber); font-size:.9rem; letter-spacing:.04em; margin-bottom:.875rem; }
.testi-text   { font-size:.875rem; color:var(--ink-2); line-height:1.75; font-style:italic; flex:1; margin-bottom:1.25rem; }
.testi-author { display:flex; align-items:center; gap:.75rem; margin-top:auto; }
.testi-avatar {
  width:38px; height:38px; border-radius:50%;
  background:var(--surface); flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--fd); font-weight:700; font-size:.8rem; color:var(--orange);
}
.testi-name { font-size:.84rem; font-weight:600; }
.testi-role { font-size:.74rem; color:var(--ink-3); }

.values-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:clamp(.875rem,2vw,1.25rem); }
.value-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:14px; padding:clamp(1.25rem,3vw,1.75rem);
  transition:border-color .3s,transform .3s;
}
.value-card:hover { border-color:var(--border-hi); transform:translateY(-3px); }
.value-icon  { font-size:1.625rem; margin-bottom:.875rem; display:block; }
.value-title { font-family:var(--fd); font-size:.95rem; font-weight:800; margin-bottom:.5rem; }
.value-desc  { font-size:.84rem; color:var(--ink-2); line-height:1.65; }

.process-steps { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:clamp(.875rem,2vw,1.375rem); }
.process-step {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:14px; padding:clamp(1.25rem,3vw,1.75rem);
  transition:border-color .3s,transform .3s;
}
.process-step:hover { border-color:var(--border-hi); transform:translateY(-3px); }
.step-n     { font-family:var(--fd); font-size:2rem; font-weight:800; color:rgba(240,106,40,.14); line-height:1; margin-bottom:.875rem; }
.step-title { font-family:var(--fd); font-size:.975rem; font-weight:700; margin-bottom:.5rem; }
.step-desc  { font-size:.84rem; color:var(--ink-2); line-height:1.65; }

.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(1rem,2vw,1.375rem); align-items:start; }
.price-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:14px; padding:clamp(1.5rem,3vw,2.25rem);
  display:flex; flex-direction:column; transition:border-color .3s;
}
.price-card.featured { border-color:var(--border-hi); box-shadow:0 0 0 1px rgba(240,106,40,.2),0 20px 48px rgba(0,0,0,.3); position:relative; }
.price-card.featured::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); border-radius:14px 14px 0 0; }
.price-label     { font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin-bottom:1rem; }
.price-label.feat { color:var(--orange); }
.price-amount    { font-family:var(--fd); font-size:clamp(1.875rem,4vw,2.5rem); font-weight:800; letter-spacing:-.04em; margin-bottom:.25rem; }
.price-amount span { font-size:.95rem; font-weight:500; color:var(--ink-3); margin-left:.2rem; }
.price-desc      { font-size:.855rem; color:var(--ink-2); margin-bottom:1.625rem; line-height:1.65; }
.price-features  { display:flex; flex-direction:column; gap:.625rem; margin-bottom:1.75rem; flex:1; }
.price-features li {
  font-size:.84rem; color:var(--ink-2);
  display:flex; align-items:flex-start; gap:.5rem; list-style:none;
}
.price-features li::before { content:'✓'; color:#4ADE80; font-weight:700; flex-shrink:0; }
.price-features li.no::before { content:'✕'; color:var(--ink-3); }
.price-features li.no { color:var(--ink-3); }
.price-card .btn { margin-top:auto; width:100%; justify-content:center; }

/* ── 13. AI TRACKER ── */
.tracker-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.tracker-platforms { display:flex; flex-direction:column; gap:.75rem; }
.tracker-platform {
  display:flex; align-items:center; gap:.875rem;
  padding:.875rem 1.125rem;
  background:var(--bg-card2); border:1px solid var(--border);
  border-radius:var(--r); transition:border-color .3s;
}
.tracker-platform:hover { border-color:var(--border-hi); }
.tp-icon   { font-size:1.25rem; width:36px; text-align:center; flex-shrink:0; }
.tp-name   { font-family:var(--fd); font-size:.875rem; font-weight:700; min-width:110px; }
.tp-bar-wrap { flex:1; height:7px; background:var(--surface); border-radius:4px; overflow:hidden; }
.tp-bar    { height:100%; border-radius:4px; background:var(--grad); transition:width 1s ease; }
.tp-pct    { font-size:.75rem; font-weight:700; color:var(--orange); min-width:36px; text-align:right; }

/* ── 14. VIDEO ── */
.video-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:clamp(1rem,2.5vw,1.5rem); }
.video-card {
  background:var(--bg); border:1px solid var(--border);
  border-radius:14px; overflow:hidden;
  transition:border-color .3s,transform .3s,box-shadow .3s;
}
.video-card:hover { border-color:var(--border-hi); transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,.4); }
.video-thumb {
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  background:linear-gradient(135deg,rgba(240,106,40,.12),rgba(240,106,40,.03)); cursor:pointer;
}
.video-thumb iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:none; }
.video-thumb-placeholder {
  position:absolute; inset:0; display:flex;
  align-items:center; justify-content:center;
  flex-direction:column; gap:.875rem;
}
.play-btn {
  width:56px; height:56px; border-radius:50%; background:var(--grad);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(240,106,40,.5); transition:transform .2s;
}
.video-thumb-placeholder:hover .play-btn { transform:scale(1.12); }
.play-icon { width:0; height:0; border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:16px solid #fff; margin-left:4px; }
.video-body { padding:clamp(1rem,2vw,1.375rem); }
.video-result { font-family:var(--fd); font-size:1.1rem; font-weight:800; background:var(--grad-t); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; margin-bottom:.3rem; }
.video-headline { font-family:var(--fd); font-size:.9rem; font-weight:700; line-height:1.3; margin-bottom:.25rem; }
.video-client-label { font-size:.74rem; color:var(--ink-3); }

/* ── 15. FAQ ── */
.faq-list { max-width:760px; margin:2.5rem auto 0; }
.faq-item { border-bottom:1px solid var(--border); }
.faq-q {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:1.125rem 0; gap:1rem;
  font-family:var(--fd); font-weight:600;
  font-size:clamp(.875rem,2vw,.975rem);
  cursor:pointer; color:var(--ink); text-align:left;
  min-height:56px; transition:color .2s;
}
.faq-q:hover { color:var(--orange); }
.faq-icon {
  width:26px; height:26px; border-radius:50%; flex-shrink:0;
  background:rgba(240,106,40,.1); border:1px solid rgba(240,106,40,.2);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; color:var(--orange); transition:transform .3s,background .2s;
}
.faq-item.open .faq-icon { transform:rotate(45deg); background:rgba(240,106,40,.2); }
.faq-a {
  max-height:0; overflow:hidden;
  font-size:.875rem; color:var(--ink-2); line-height:1.78;
  transition:max-height .4s ease,padding .3s;
}
.faq-item.open .faq-a { max-height:600px; padding-bottom:1.125rem; }

/* ── 16. BOOKING SECTION ── */
.booking-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:start; }
.bk-benefit {
  display:flex; align-items:flex-start; gap:.875rem;
  padding:.875rem 1.125rem;
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:var(--r); transition:border-color .2s; margin-bottom:.75rem;
}
.bk-benefit:hover { border-color:var(--border-hi); }
.bk-benefit-icon  { font-size:1.2rem; flex-shrink:0; }
.bk-benefit-title { font-family:var(--fd); font-size:.875rem; font-weight:700; margin-bottom:.15rem; }
.bk-benefit-desc  { font-size:.79rem; color:var(--ink-3); line-height:1.5; }

/* Inline calendar widget */
.cal-widget {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:20px; overflow:hidden;
  box-shadow:0 24px 64px rgba(0,0,0,.4);
  animation:borderGlow 4s ease-in-out infinite;
  position:relative;
}
@keyframes borderGlow { 0%,100%{border-color:rgba(240,106,40,.3)} 50%{border-color:rgba(240,106,40,.6)} }
.cal-widget::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--grad); }
.cal-head { padding:1.25rem 1.5rem 1rem; border-bottom:1px solid var(--border); }
.cal-head-top { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.5rem; margin-bottom:.3rem; }
.cal-head-title { font-family:var(--fd); font-size:1rem; font-weight:800; }
.cal-live-badge { display:flex; align-items:center; gap:.375rem; font-size:.68rem; font-weight:700; color:#4ADE80; }
.cal-live-badge::before { content:''; width:6px; height:6px; border-radius:50%; background:#4ADE80; animation:pulse 2s infinite; }
.cal-sub { font-size:.78rem; color:var(--ink-3); }
.cal-month-row { display:flex; align-items:center; justify-content:space-between; padding:.75rem 1.5rem; border-bottom:1px solid var(--border); }
.cal-month-name { font-family:var(--fd); font-size:.9rem; font-weight:700; }
.cal-nav { background:var(--surface); border:1px solid var(--border); border-radius:6px; color:var(--ink-2); cursor:pointer; padding:.35rem .625rem; font-size:.8rem; transition:border-color .2s,color .2s; min-height:var(--touch); display:flex; align-items:center; }
.cal-nav:hover { border-color:var(--orange); color:var(--orange); }
.cal-days-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; padding:.875rem 1.25rem; }
.cal-day-hdr { font-size:.6rem; font-weight:700; color:var(--ink-4); text-align:center; padding:.2rem 0; text-transform:uppercase; letter-spacing:.06em; }
.cal-day {
  font-size:.8rem; text-align:center; padding:.45rem .1rem;
  border-radius:6px; cursor:pointer; transition:background .15s,color .15s;
  color:var(--ink-3); min-height:34px;
  display:flex; align-items:center; justify-content:center; position:relative;
}
.cal-day.has-slot { color:var(--ink-2); background:var(--surface); }
.cal-day.has-slot::after { content:''; position:absolute; bottom:4px; left:50%; transform:translateX(-50%); width:4px; height:4px; border-radius:50%; background:#4ADE80; }
.cal-day.has-slot:hover { background:rgba(240,106,40,.1); color:var(--orange); }
.cal-day.selected { background:var(--grad)!important; color:#fff!important; font-weight:700; box-shadow:0 2px 10px rgba(240,106,40,.4); }
.cal-day.empty,.cal-day.past { cursor:default; color:var(--ink-4); background:none; }
.cal-slots { padding:0 1.25rem .75rem; display:none; animation:slideDown .25s ease; }
.cal-slots.show { display:block; }
.cal-slots-title { font-size:.68rem; font-weight:700; color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.5rem; }
.cal-slots-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); gap:.45rem; }
.cal-slot-btn {
  padding:.45rem; border:1px solid var(--border); border-radius:7px;
  font-size:.73rem; text-align:center; cursor:pointer; background:var(--surface);
  color:var(--ink-2); min-height:38px; display:flex; align-items:center; justify-content:center;
  transition:all .2s;
}
.cal-slot-btn:hover { border-color:var(--orange); color:var(--orange); background:rgba(240,106,40,.05); }
.cal-slot-btn.picked { background:var(--grad); color:#fff; border-color:transparent; font-weight:700; }
.cal-cta-area { padding:1rem 1.25rem 1.375rem; border-top:1px solid var(--border); }
.cal-book-btn {
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  width:100%; padding:.875rem;
  background:var(--grad); color:#fff; border:none; border-radius:12px;
  font-family:var(--fb); font-size:1rem; font-weight:700; cursor:pointer;
  min-height:52px; box-shadow:0 6px 28px rgba(240,106,40,.4);
  animation:glowPulse 2.5s ease-in-out infinite; transition:transform .2s;
}
.cal-book-btn:hover { transform:translateY(-2px); }
.cal-book-btn:disabled { opacity:.45; cursor:not-allowed; animation:none; }
.cal-fine  { font-size:.7rem; color:var(--ink-3); text-align:center; margin-top:.625rem; }
.cal-spots { font-size:.75rem; color:var(--orange); font-weight:700; text-align:center; margin-top:.375rem; }

/* ── 17. HERO CAL ── */
.hcal-top { display:flex; align-items:center; justify-content:space-between; padding:1rem 1.375rem .875rem; border-bottom:1px solid var(--border); flex-wrap:wrap; gap:.5rem; }
.hcal-top-left { display:flex; align-items:center; gap:.75rem; }
.hcal-avatar { width:36px; height:36px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-family:var(--fd); font-weight:800; font-size:.72rem; color:#fff; flex-shrink:0; box-shadow:0 4px 12px rgba(240,106,40,.35); }
.hcal-name { font-family:var(--fd); font-size:.875rem; font-weight:700; }
.hcal-role { font-size:.66rem; color:var(--ink-3); }
.hcal-badge { display:flex; align-items:center; gap:.35rem; font-size:.66rem; font-weight:700; color:#4ADE80; background:rgba(74,222,128,.08); border:1px solid rgba(74,222,128,.2); padding:.25rem .5rem; border-radius:100px; }
.hcal-dot { width:5px; height:5px; border-radius:50%; background:#4ADE80; animation:pulse 2s infinite; }
.hcal-session { padding:.75rem 1.375rem; border-bottom:1px solid var(--border); background:rgba(240,106,40,.03); }
.hcal-session-title { font-family:var(--fd); font-size:.875rem; font-weight:700; margin-bottom:.35rem; }
.hcal-session-meta { display:flex; gap:.75rem; flex-wrap:wrap; }
.hcal-session-meta span { font-size:.68rem; color:var(--ink-3); font-weight:600; }
.hcal-month-row { display:flex; align-items:center; justify-content:space-between; padding:.625rem 1.375rem; border-bottom:1px solid var(--border); }
.hcal-month-label { font-family:var(--fd); font-size:.85rem; font-weight:700; }
.hcal-nav { background:var(--surface); border:1px solid var(--border); border-radius:6px; color:var(--ink-2); cursor:pointer; width:var(--touch); height:var(--touch); display:flex; align-items:center; justify-content:center; font-size:1rem; transition:border-color .2s,color .2s; }
.hcal-nav:hover { border-color:var(--orange); color:var(--orange); }
.hcal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; padding:.625rem 1rem; }
.hcal-day-hdr { font-size:.57rem; font-weight:700; color:var(--ink-4); text-align:center; padding:.25rem 0; text-transform:uppercase; letter-spacing:.05em; }
.hcal-day { font-size:.76rem; text-align:center; padding:.35rem .1rem; border-radius:6px; cursor:pointer; transition:background .15s,color .15s; color:var(--ink-4); min-height:32px; display:flex; align-items:center; justify-content:center; position:relative; }
.hcal-day.avail { color:var(--ink-2); background:var(--surface); }
.hcal-day.avail::after { content:''; position:absolute; bottom:2px; left:50%; transform:translateX(-50%); width:3px; height:3px; border-radius:50%; background:#4ADE80; }
.hcal-day.avail:hover { background:rgba(240,106,40,.1); color:var(--orange); }
.hcal-day.sel { background:var(--grad)!important; color:#fff!important; font-weight:700; box-shadow:0 2px 8px rgba(240,106,40,.4); }
.hcal-day.empty,.hcal-day.past { cursor:default; }
.hcal-slots-wrap { padding:0 1rem .625rem; display:none; animation:slideDown .25s ease; }
.hcal-slots-wrap.show { display:block; }
.hcal-slots-label { font-size:.62rem; font-weight:700; color:var(--ink-3); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.5rem; }
.hcal-slots-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(68px,1fr)); gap:.35rem; }
.hcal-slot { padding:.4rem; border:1px solid var(--border); border-radius:5px; font-size:.67rem; text-align:center; cursor:pointer; transition:all .15s; color:var(--ink-2); background:var(--surface); min-height:34px; display:flex; align-items:center; justify-content:center; }
.hcal-slot:hover { border-color:var(--orange); color:var(--orange); }
.hcal-slot.picked { background:var(--grad); color:#fff; border-color:transparent; font-weight:700; }
.hcal-footer { padding:.75rem 1rem 1rem; border-top:1px solid var(--border); }
.hcal-book-btn { display:flex; align-items:center; justify-content:center; width:100%; padding:.8rem; background:var(--grad); color:#fff; border:none; border-radius:10px; font-family:var(--fb); font-size:.875rem; font-weight:700; cursor:pointer; min-height:48px; transition:transform .2s,box-shadow .2s; box-shadow:0 4px 18px rgba(240,106,40,.4); }
.hcal-book-btn:hover { transform:translateY(-2px); box-shadow:0 8px 28px rgba(240,106,40,.6); }
.hcal-book-btn:disabled { opacity:.45; cursor:not-allowed; }
.hcal-foot-note { display:flex; align-items:center; justify-content:center; gap:.375rem; font-size:.66rem; color:var(--ink-3); margin-top:.5rem; }
.hcal-spots-dot { width:5px; height:5px; border-radius:50%; background:var(--orange); animation:pulse 1.5s infinite; }

/* ── 18. BOOKING POPUP ── */
.bpop-overlay {
  position:fixed; inset:0; z-index:900;
  background:rgba(0,0,0,.75); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  display:flex; align-items:center; justify-content:center;
  padding:1rem; opacity:0; pointer-events:none; transition:opacity .3s;
}
.bpop-overlay.open { opacity:1; pointer-events:all; }
.bpop-modal {
  background:var(--bg-card); border:1px solid var(--border);
  border-radius:24px; width:100%; max-width:860px;
  max-height:90dvh; overflow-y:auto;
  position:relative;
  transform:translateY(24px) scale(.98);
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  display:grid; grid-template-columns:1fr 1fr;
}
.bpop-overlay.open .bpop-modal { transform:translateY(0) scale(1); }
.bpop-modal::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); border-radius:24px 24px 0 0; }
.bpop-left  { padding:clamp(1.5rem,3vw,2.5rem) clamp(1.25rem,3vw,2rem); border-right:1px solid var(--border); display:flex; flex-direction:column; gap:1.25rem; background:linear-gradient(160deg,rgba(240,106,40,.04),transparent); }
.bpop-right { padding:clamp(1.375rem,3vw,2rem) clamp(1.25rem,3vw,1.75rem); display:flex; flex-direction:column; }
.bpop-close { position:absolute; top:1rem; right:1rem; width:36px; height:36px; border-radius:50%; background:var(--surface); border:1px solid var(--border); color:var(--ink-2); cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.1rem; transition:background .2s,color .2s; z-index:10; }
.bpop-close:hover { background:var(--bg-card2); color:var(--ink); }
.bpop-host { display:flex; align-items:center; gap:.875rem; }
.bpop-host-av { width:52px; height:52px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-family:var(--fd); font-weight:800; font-size:1rem; color:#fff; flex-shrink:0; box-shadow:0 6px 20px rgba(240,106,40,.35); }
.bpop-host-name { font-family:var(--fd); font-size:1rem; font-weight:800; }
.bpop-host-role { font-size:.76rem; color:var(--ink-3); }
.bpop-title { font-family:var(--fd); font-size:clamp(1rem,2.5vw,1.375rem); font-weight:800; line-height:1.2; }
.bpop-meta { display:flex; flex-direction:column; gap:.5rem; }
.bpop-meta-item { display:flex; align-items:center; gap:.625rem; font-size:.84rem; color:var(--ink-2); }
.bpop-perk { display:flex; align-items:flex-start; gap:.625rem; font-size:.82rem; color:var(--ink-2); line-height:1.5; }
.bpop-perk::before { content:'✓'; color:#4ADE80; font-weight:700; flex-shrink:0; margin-top:.05rem; }
.bpop-scarcity { display:flex; align-items:center; gap:.5rem; padding:.75rem 1rem; background:rgba(240,106,40,.07); border:1px solid rgba(240,106,40,.2); border-radius:8px; font-size:.78rem; color:var(--ink-2); }
.bpop-sc-dot { width:6px; height:6px; border-radius:50%; background:var(--orange); animation:pulse 1.5s infinite; flex-shrink:0; }
.bpop-step-label { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:.875rem; }
.bpop-month-nav { display:flex; align-items:center; justify-content:space-between; margin-bottom:.75rem; }
.bpop-month-name { font-family:var(--fd); font-size:.95rem; font-weight:700; }
.bpop-nav-btn { background:var(--surface); border:1px solid var(--border); border-radius:6px; color:var(--ink-2); cursor:pointer; min-width:var(--touch); min-height:var(--touch); display:flex; align-items:center; justify-content:center; transition:border-color .2s,color .2s; font-size:1rem; }
.bpop-nav-btn:hover { border-color:var(--orange); color:var(--orange); }
.bpop-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:1rem; }
.bpop-day-hdr { font-size:.6rem; font-weight:700; color:var(--ink-4); text-align:center; padding:.2rem 0; text-transform:uppercase; }
.bpop-cal-day { font-size:.8rem; text-align:center; padding:.4rem .1rem; border-radius:6px; cursor:pointer; transition:all .15s; color:var(--ink-4); min-height:34px; display:flex; align-items:center; justify-content:center; position:relative; }
.bpop-cal-day.avail { color:var(--ink-2); background:var(--surface); }
.bpop-cal-day.avail::after { content:''; position:absolute; bottom:3px; left:50%; transform:translateX(-50%); width:3px; height:3px; border-radius:50%; background:#4ADE80; }
.bpop-cal-day.avail:hover { background:rgba(240,106,40,.1); color:var(--orange); }
.bpop-cal-day.sel { background:var(--grad)!important; color:#fff!important; font-weight:700; box-shadow:0 2px 8px rgba(240,106,40,.35); }
.bpop-cal-day.empty,.bpop-cal-day.past { cursor:default; }
.bpop-slots-section { display:none; animation:slideDown .25s ease; }
.bpop-slots-section.show { display:block; }
.bpop-slots-title { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3); margin-bottom:.5rem; }
.bpop-slots-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(72px,1fr)); gap:.375rem; margin-bottom:1.25rem; }
.bpop-slot { padding:.4rem; border:1px solid var(--border); border-radius:6px; font-size:.73rem; text-align:center; cursor:pointer; transition:all .15s; color:var(--ink-2); background:var(--surface); min-height:36px; display:flex; align-items:center; justify-content:center; }
.bpop-slot:hover { border-color:var(--orange); color:var(--orange); }
.bpop-slot.picked { background:var(--grad); color:#fff; border-color:transparent; font-weight:700; }
.bpop-confirm-btn { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; padding:.875rem; background:var(--grad); color:#fff; border:none; border-radius:12px; font-family:var(--fb); font-size:1rem; font-weight:700; cursor:pointer; min-height:52px; box-shadow:0 6px 24px rgba(240,106,40,.4); animation:glowPulse 2.5s ease-in-out infinite; transition:transform .2s; margin-top:auto; }
.bpop-confirm-btn:hover { transform:translateY(-2px); }
.bpop-confirm-btn:disabled { opacity:.4; cursor:not-allowed; animation:none; }
.bpop-fine { font-size:.7rem; color:var(--ink-3); text-align:center; margin-top:.625rem; }

/* ── 19. SINGLE SERVICE PAGE ── */
.ss-hero    { padding:clamp(2rem,5vw,4.5rem) var(--px) 0; max-width:var(--max-w); margin:0 auto; }
.breadcrumb { display:flex; align-items:center; gap:.5rem; font-size:.76rem; color:var(--ink-3); margin-bottom:1.625rem; flex-wrap:wrap; }
.breadcrumb span { cursor:pointer; transition:color .2s; min-height:36px; display:inline-flex; align-items:center; }
.breadcrumb span:hover { color:var(--orange); }
.breadcrumb .sep { color:var(--border); }
.ss-layout { display:grid; grid-template-columns:1fr 300px; gap:3.5rem; align-items:start; padding:2.5rem var(--px) clamp(3rem,7vw,5.5rem); max-width:var(--max-w); margin:0 auto; }
.ss-sidebar { position:sticky; top:calc(var(--ub-h) + var(--nav-h) + 1.5rem); }
.ss-cta-box { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:1.875rem; position:relative; overflow:hidden; margin-bottom:1.5rem; }
.ss-cta-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); }
.ss-cta-box h3 { font-family:var(--fd); font-size:1rem; font-weight:700; margin-bottom:.5rem; }
.ss-cta-box p  { font-size:.84rem; color:var(--ink-2); line-height:1.65; margin-bottom:1.25rem; }
.ss-other-title { font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-3); margin:1.5rem 0 .625rem; }
.ss-other-link { display:flex; align-items:center; justify-content:space-between; padding:.7rem 1rem; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; margin-bottom:.375rem; font-size:.82rem; font-weight:500; color:var(--ink-2); cursor:pointer; transition:border-color .2s,color .2s; min-height:var(--touch); }
.ss-other-link:hover { border-color:var(--border-hi); color:var(--orange); }
.ss-main h1 { font-family:var(--fd); font-size:clamp(1.5rem,4vw,2.75rem); font-weight:800; line-height:1.1; letter-spacing:-.03em; margin-bottom:1rem; }
.ss-tags    { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1.625rem; }
.ss-tag     { font-size:.7rem; font-weight:600; padding:.28rem .7rem; border-radius:100px; background:var(--surface); color:var(--ink-2); border:1px solid var(--border); }
.ss-intro   { font-size:clamp(.9rem,2vw,1.05rem); color:var(--ink-2); line-height:1.82; margin-bottom:2.5rem; padding:1.375rem 1.5rem; background:rgba(240,106,40,.04); border-left:3px solid var(--orange); border-radius:0 10px 10px 0; }
.ss-block   { margin-bottom:2.625rem; }
.ss-block h2 { font-family:var(--fd); font-size:clamp(1.05rem,2.5vw,1.35rem); font-weight:700; margin-bottom:1rem; letter-spacing:-.02em; padding-bottom:.625rem; border-bottom:1px solid var(--border); }
.ss-block p { font-size:.9rem; color:var(--ink-2); line-height:1.8; margin-bottom:.875rem; }
.ss-list    { display:flex; flex-direction:column; gap:.5rem; }
.ss-list li { display:flex; gap:.625rem; font-size:.875rem; color:var(--ink-2); padding:.625rem 1rem; background:var(--bg-card); border:1px solid var(--border); border-radius:8px; line-height:1.5; list-style:none; }
.ss-list li::before { content:'✓'; color:#4ADE80; font-weight:700; flex-shrink:0; }
.ss-results-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:1rem; margin-top:1rem; }
.ss-result  { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r); padding:1.125rem; text-align:center; transition:border-color .2s; }
.ss-result:hover { border-color:var(--border-hi); }
.ss-result-num { font-family:var(--fd); font-size:clamp(1.375rem,3vw,2rem); font-weight:800; background:var(--grad-t); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; }
.ss-result-label { font-size:.7rem; color:var(--ink-3); margin-top:.25rem; }
.ss-process { display:flex; flex-direction:column; gap:0; }
.ss-step    { display:flex; gap:1.125rem; padding-bottom:1.75rem; position:relative; }
.ss-step:not(:last-child)::after { content:''; position:absolute; left:15px; top:34px; bottom:0; width:1px; background:var(--border); }
.ss-step-num { width:32px; height:32px; border-radius:50%; background:rgba(240,106,40,.1); border:1px solid rgba(240,106,40,.25); display:flex; align-items:center; justify-content:center; font-family:var(--fd); font-weight:700; font-size:.72rem; color:var(--orange); flex-shrink:0; }
.ss-step-content h4 { font-family:var(--fd); font-size:.92rem; font-weight:700; margin-bottom:.3rem; }
.ss-step-content p  { font-size:.84rem; color:var(--ink-2); line-height:1.68; }
.ss-why-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-top:1rem; }
.post-cta-box { background:var(--bg-card); border:1px solid var(--border-hi); border-radius:14px; padding:clamp(1.375rem,3vw,2rem); margin:2.5rem 0; position:relative; overflow:hidden; text-align:center; }
.post-cta-box::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); }
.post-cta-box h3 { font-family:var(--fd); font-size:1.1rem; font-weight:800; margin-bottom:.5rem; }
.post-cta-box p  { font-size:.875rem; color:var(--ink-2); margin-bottom:1.375rem; }

/* ── 20. ABOUT PAGE ── */
.about-grid { display:grid; grid-template-columns:300px 1fr; gap:clamp(2.5rem,5vw,5rem); align-items:start; }
.about-img-box { position:sticky; top:calc(var(--ub-h)+var(--nav-h)+1.5rem); background:var(--bg-card); border:1px solid var(--border); border-radius:20px; padding:clamp(1.75rem,3vw,2.5rem); text-align:center; }
.about-initials { font-family:var(--fd); font-size:clamp(4rem,10vw,6rem); font-weight:800; background:var(--grad-t); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; line-height:1; letter-spacing:-.05em; }
.about-img-label { font-size:.76rem; color:var(--ink-3); margin-top:.875rem; text-align:center; }
.about-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:.625rem; margin-top:1.25rem; }
.about-stat   { background:var(--bg-card2); border:1px solid var(--border); border-radius:10px; padding:.875rem .75rem; text-align:center; }
.about-stat-n { font-family:var(--fd); font-size:clamp(1rem,2.5vw,1.375rem); font-weight:800; background:var(--grad-t); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; }
.about-stat-l { font-size:.63rem; color:var(--ink-3); margin-top:.15rem; }
.about-content h2 { font-family:var(--fd); font-size:clamp(1.5rem,3.5vw,2.25rem); font-weight:800; line-height:1.1; letter-spacing:-.03em; margin-bottom:1.25rem; }
.about-content p  { font-size:.935rem; color:var(--ink-2); line-height:1.8; margin-bottom:1rem; }
.about-content p strong { color:var(--ink); font-weight:600; }
.about-skills { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0; }
.about-skill  { font-size:.76rem; font-weight:600; padding:.3rem .875rem; border-radius:100px; background:var(--surface); border:1px solid var(--border); color:var(--ink-2); }
.about-btns   { display:flex; gap:.875rem; flex-wrap:wrap; }
.about-ventures { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1rem; margin-top:1.25rem; }
.venture-card { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--r); padding:1.375rem; transition:border-color .2s; }
.venture-card:hover { border-color:var(--border-hi); }
.venture-label { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-3); margin-bottom:.375rem; }
.venture-name  { font-family:var(--fd); font-size:1rem; font-weight:800; margin-bottom:.375rem; }
.venture-desc  { font-size:.82rem; color:var(--ink-2); line-height:1.6; }

/* ── 21. TIMELINE ── */
.jtl-section { overflow:hidden; }
.jtl-track   { display:flex; flex-direction:column; gap:0; }
.jtl-item    { display:grid; grid-template-columns:110px 1fr; gap:0 1.75rem; position:relative; }
.jtl-item:last-child .jtl-line { display:none; }
.jtl-spine   { display:flex; flex-direction:column; align-items:center; gap:0; padding-top:.25rem; }
.jtl-year-pill { font-family:var(--fd); font-size:.74rem; font-weight:800; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; border:1px solid var(--border-hi); padding:.3rem .625rem; border-radius:100px; white-space:nowrap; background-color:rgba(240,106,40,.06); }
.jtl-line    { flex:1; width:2px; background:linear-gradient(to bottom,rgba(240,106,40,.4),rgba(240,106,40,.05)); margin-top:.5rem; min-height:60px; }
.jtl-card    { background:var(--bg); border:1px solid var(--border); border-radius:14px; padding:clamp(1.125rem,2.5vw,1.625rem); margin-bottom:1.25rem; transition:border-color .3s; display:flex; gap:1rem; align-items:flex-start; position:relative; overflow:hidden; }
.jtl-card:hover { border-color:var(--border-hi); }
.jtl-card-icon { font-size:1.5rem; flex-shrink:0; width:38px; text-align:center; }
.jtl-card-body { flex:1; min-width:0; }
.jtl-card-tag  { display:inline-flex; font-size:.63rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; padding:.2rem .5rem; border-radius:4px; background:var(--surface); color:var(--ink-3); border:1px solid var(--border); margin-bottom:.5rem; }
.jtl-tag-hot   { background:rgba(240,106,40,.1); color:var(--orange); border-color:rgba(240,106,40,.2); }
.jtl-card-title { font-family:var(--fd); font-size:clamp(.92rem,2vw,1.025rem); font-weight:800; color:var(--ink); line-height:1.25; margin-bottom:.5rem; }
.jtl-card-desc  { font-size:.84rem; color:var(--ink-2); line-height:1.7; margin-bottom:.875rem; }
.jtl-card-stats { display:flex; gap:1.125rem; flex-wrap:wrap; }
.jtl-stat       { display:flex; flex-direction:column; gap:.1rem; }
.jtl-stat-n     { font-family:var(--fd); font-size:.95rem; font-weight:800; background:var(--grad-t); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; }
.jtl-stat-l     { font-size:.63rem; color:var(--ink-3); font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.jtl-cta-btn    { margin-top:1.125rem; display:inline-flex; align-items:center; gap:.5rem; background:var(--grad); border:none; color:#fff; font-family:var(--fb); font-size:.875rem; font-weight:700; padding:.625rem 1.375rem; border-radius:8px; cursor:pointer; transition:transform .2s; min-height:var(--touch); }
.jtl-cta-btn:hover { transform:translateY(-2px); }

/* ── 22. SPEAKING / BLOG / CASES / CONTACT ── */
.speaking-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.25rem; }
.talk-card     { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:clamp(1.25rem,3vw,1.75rem); transition:border-color .3s; }
.talk-card:hover { border-color:var(--border-hi); }
.talk-label    { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:.5rem; }
.talk-title    { font-family:var(--fd); font-size:.95rem; font-weight:800; margin-bottom:.625rem; line-height:1.3; }
.talk-desc     { font-size:.82rem; color:var(--ink-2); line-height:1.65; }
.blog-filter   { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:2rem; }
.filter-btn    { font-size:.78rem; font-weight:600; padding:.4rem .875rem; border-radius:100px; border:1px solid var(--border); background:var(--bg-card); color:var(--ink-2); cursor:pointer; transition:all .2s; min-height:var(--touch); display:flex; align-items:center; }
.filter-btn.active,.filter-btn:hover { border-color:var(--border-hi); color:var(--orange); background:rgba(240,106,40,.06); }
.blog-grid     { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:clamp(.875rem,2vw,1.25rem); }
.blog-card     { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; overflow:hidden; cursor:pointer; transition:border-color .3s,transform .3s; }
.blog-card:hover { border-color:var(--border-hi); transform:translateY(-3px); }
.blog-featured { grid-column:span 2; display:grid; grid-template-columns:1fr 1fr; }
.blog-thumb    { height:160px; background:linear-gradient(135deg,rgba(240,106,40,.12),rgba(240,106,40,.03)); display:flex; align-items:center; justify-content:center; font-size:2.5rem; }
.blog-featured .blog-thumb { height:100%; min-height:220px; font-size:3.5rem; border-right:1px solid var(--border); }
.blog-body     { padding:clamp(1.125rem,2.5vw,1.5rem); }
.blog-cat      { font-size:.65rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--orange); margin-bottom:.5rem; }
.blog-title    { font-family:var(--fd); font-size:clamp(.925rem,2vw,1rem); font-weight:800; margin-bottom:.5rem; line-height:1.3; }
.blog-excerpt  { font-size:.82rem; color:var(--ink-2); line-height:1.6; margin-bottom:.875rem; }
.blog-meta     { display:flex; align-items:center; gap:1rem; font-size:.73rem; color:var(--ink-3); flex-wrap:wrap; }
.case-card     { display:grid; grid-template-columns:220px 1fr; border:1px solid var(--border); border-radius:14px; overflow:hidden; margin-bottom:1.5rem; transition:border-color .3s; }
.case-card:hover { border-color:var(--border-hi); }
.case-thumb    { background:linear-gradient(135deg,rgba(240,106,40,.12),rgba(240,106,40,.03)); display:flex; align-items:center; justify-content:center; font-size:3.5rem; min-height:160px; }
.case-body     { padding:clamp(1.375rem,3vw,2rem); border-left:1px solid var(--border); }
.case-cat      { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--orange); margin-bottom:.5rem; }
.case-title    { font-family:var(--fd); font-size:clamp(1rem,2.5vw,1.375rem); font-weight:800; margin-bottom:.75rem; line-height:1.25; }
.case-desc     { font-size:.875rem; color:var(--ink-2); line-height:1.7; margin-bottom:1.25rem; }
.case-results  { display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1.125rem; }
.case-result-n { font-family:var(--fd); font-size:clamp(1.25rem,3vw,1.5rem); font-weight:800; background:var(--grad-t); background-size:200% auto; -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; animation:shimmer 4s linear infinite; }
.case-result-l { font-size:.7rem; color:var(--ink-3); }
.contact-grid  { display:grid; grid-template-columns:1fr 380px; gap:3.5rem; }
.cf-field      { margin-bottom:1.125rem; }
.cf-field label { display:block; font-size:.78rem; font-weight:600; color:var(--ink-2); margin-bottom:.4rem; }
.cf-input      { width:100%; padding:.8rem 1.125rem; min-height:48px; background:var(--bg-card); border:1.5px solid var(--border); border-radius:10px; color:var(--ink); font-size:.875rem; outline:none; transition:border-color .2s; -webkit-appearance:none; }
.cf-input:focus { border-color:var(--orange); }
.cf-input::placeholder { color:var(--ink-3); }
textarea.cf-input { resize:vertical; min-height:120px; }
.cf-row        { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }

/* ── 23. BLOG POST ── */
.post-layout    { display:grid; grid-template-columns:1fr 280px; gap:3.5rem; align-items:start; max-width:var(--max-w); margin:0 auto; padding:0 var(--px) clamp(3rem,7vw,5.5rem); }
.post-hero      { padding:clamp(2.5rem,6vw,5rem) var(--px) clamp(2rem,5vw,4rem); background:linear-gradient(180deg,rgba(240,106,40,.07) 0%,transparent 100%); border-bottom:1px solid var(--border); }
.post-hero-inner { max-width:var(--max-w); margin:0 auto; }
.post-h1        { font-family:var(--fd); font-size:clamp(1.625rem,4.5vw,3rem); font-weight:800; line-height:1.1; letter-spacing:-.03em; max-width:820px; margin-bottom:1.25rem; }
.post-content   { font-size:clamp(.9rem,2vw,1rem); color:var(--ink-2); line-height:1.85; }
.post-content h2 { font-family:var(--fd); font-size:clamp(1.2rem,3vw,1.5rem); font-weight:800; color:var(--ink); margin:2.5rem 0 1rem; letter-spacing:-.02em; }
.post-content p  { margin-bottom:1.25rem; }
.post-sidebar { position:sticky; top:calc(var(--ub-h)+var(--nav-h)+1.5rem); display:flex; flex-direction:column; gap:1.5rem; }
.sidebar-author-card,.sidebar-cta-card { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:1.625rem; }
.sidebar-author-card { text-align:center; }
.sidebar-author-av { width:64px; height:64px; border-radius:50%; background:var(--grad); display:flex; align-items:center; justify-content:center; font-family:var(--fd); font-weight:800; font-size:1.25rem; color:#fff; margin:0 auto .875rem; }
.sidebar-cta-card { position:relative; overflow:hidden; }
.sidebar-cta-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--grad); }

/* ── 24. CTA + NEWSLETTER ── */
.cta-section { background:var(--bg-card); border-top:1px solid var(--border); }
.cta-inner   { max-width:680px; margin:0 auto; padding:clamp(3rem,7vw,5.5rem) var(--px); text-align:center; }
.cta-inner p { color:var(--ink-2); margin-bottom:2rem; line-height:1.75; font-size:clamp(.9rem,2vw,1.05rem); }
.cta-btns    { display:flex; gap:.875rem; justify-content:center; flex-wrap:wrap; margin-bottom:2.5rem; }
.sub-wrap    { max-width:420px; margin:0 auto; }
.sub-input   { width:100%; padding:.8rem 1rem; background:var(--surface); border:1.5px solid var(--border); border-radius:10px; color:var(--ink); font-size:.9rem; outline:none; transition:border-color .2s; min-height:48px; }
.sub-input:focus { border-color:var(--orange); }
.sub-input::placeholder { color:var(--ink-3); }
.sub-btn     { width:100%; margin-top:.5rem; padding:.8rem 1.375rem; background:var(--grad); color:#fff; border:none; border-radius:10px; font-size:.9rem; font-weight:700; cursor:pointer; transition:transform .2s; min-height:48px; }
.sub-btn:hover { transform:translateY(-1px); }
.sub-note    { font-size:.73rem; color:var(--ink-3); margin-top:.625rem; }

/* ── 25. RICH FOOTER ── */
.rich-footer { border-top:1px solid var(--border); }
.footer-rich-inner { max-width:var(--max-w); margin:0 auto; padding:clamp(2.5rem,5vw,4rem) var(--px) 0; }
.footer-top {
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr;
  gap:clamp(1.5rem,3vw,3rem); padding-bottom:clamp(2rem,4vw,3rem);
  border-bottom:1px solid var(--border);
}
.footer-col-title { font-family:var(--fd); font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-bottom:1rem; }
.footer-brand-tagline { font-size:.82rem; color:var(--ink-3); margin-top:.375rem; line-height:1.5; }
.footer-link { display:block; font-size:.82rem; color:var(--ink-2); cursor:pointer; padding:.3rem 0; text-align:left; transition:color .2s; width:100%; }
.footer-link:hover { color:var(--orange); }
.footer-industry-list { display:flex; flex-direction:column; gap:.3rem; }
.footer-industry-list span { font-size:.79rem; color:var(--ink-2); }
.footer-market-grid { display:grid; grid-template-columns:1fr 1fr; gap:.35rem .5rem; }
.footer-market-grid span { font-size:.79rem; color:var(--ink-2); }
.footer-social { display:flex; gap:.5rem; margin-top:1.25rem; }
.footer-social-btn { width:34px; height:34px; border-radius:8px; background:var(--surface); border:1px solid var(--border); color:var(--ink-2); display:flex; align-items:center; justify-content:center; font-size:.85rem; font-weight:700; text-decoration:none; transition:border-color .2s,color .2s,background .2s; }
.footer-social-btn:hover { border-color:var(--orange); color:var(--orange); background:rgba(240,106,40,.08); }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding:1.25rem 0; flex-wrap:wrap; gap:.875rem; }
.footer-bottom-left { display:flex; align-items:center; gap:.75rem; font-size:.74rem; color:var(--ink-3); flex-wrap:wrap; }
.footer-sep { color:var(--ink-4); }
.footer-bottom-links { display:flex; gap:1.25rem; flex-wrap:wrap; }
.footer-bottom-links button { font-size:.78rem; color:var(--ink-3); cursor:pointer; transition:color .2s; padding:0; }
.footer-bottom-links button:hover { color:var(--ink); }

/* ── 26. SVC PAGE CARDS ── */
.svc-page-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1rem,2.5vw,1.5rem); }
.spc-card { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:clamp(1.5rem,3vw,2rem); transition:border-color .3s,transform .3s; cursor:pointer; display:flex; flex-direction:column; }
.spc-card:hover { border-color:var(--border-hi); transform:translateY(-3px); }
.spc-head  { display:flex; align-items:center; justify-content:space-between; margin-bottom:1rem; flex-wrap:wrap; gap:.5rem; }
.spc-icon  { width:44px; height:44px; border-radius:11px; background:rgba(240,106,40,.08); border:1px solid rgba(240,106,40,.15); display:flex; align-items:center; justify-content:center; font-size:1.3rem; flex-shrink:0; }
.spc-badge { font-size:.65rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:.26rem .65rem; border-radius:100px; background:rgba(240,106,40,.08); color:var(--orange); border:1px solid var(--border-hi); white-space:nowrap; }
.spc-outcome { font-size:.68rem; font-weight:700; color:var(--orange); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.625rem; opacity:.85; }
.spc-title { font-family:var(--fd); font-size:clamp(.95rem,2vw,1.1rem); font-weight:800; letter-spacing:-.02em; margin-bottom:.625rem; }
.spc-desc  { font-size:.855rem; color:var(--ink-2); line-height:1.72; margin-bottom:1.25rem; flex:1; }
.spc-features { display:flex; flex-direction:column; gap:.475rem; margin-bottom:1.375rem; }
.spc-features li { font-size:.82rem; color:var(--ink-2); display:flex; align-items:flex-start; gap:.5rem; list-style:none; }
.spc-features li::before { content:'→'; color:var(--orange); flex-shrink:0; font-weight:700; }
.spc-cta   { display:inline-flex; align-items:center; gap:.4rem; font-size:.82rem; font-weight:700; color:var(--orange); cursor:pointer; min-height:44px; padding-top:1.125rem; border-top:1px solid var(--border); margin-top:auto; transition:gap .2s; }
.spc-cta:hover { gap:.65rem; }
.spc-price { font-size:.73rem; color:var(--ink-3); margin-top:.5rem; }
.spc-price span { color:var(--ink-2); font-weight:600; }
.svc-location-chip { font-size:.65rem; font-weight:600; padding:.2rem .5rem; border-radius:4px; background:rgba(240,106,40,.07); border:1px solid rgba(240,106,40,.2); color:var(--orange); white-space:nowrap; display:inline-block; }
.svc-location-chips { display:flex; flex-wrap:wrap; gap:.375rem; margin-bottom:.875rem; }

/* ── 27. TRUST + TRACKER on SVC page ── */
.svc-trust-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,4rem); align-items:center; }

/* ── 28. AVAILABILITY + CONTACT CARDS ── */
.ci-card   { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:2rem; margin-bottom:1.375rem; }
.ci-card h3 { font-family:var(--fd); font-weight:700; font-size:1rem; margin-bottom:1.25rem; }
.ci-item   { display:flex; gap:.875rem; align-items:flex-start; margin-bottom:1.125rem; }
.ci-item:last-child { margin-bottom:0; }
.ci-icon   { width:38px; height:38px; border-radius:10px; background:rgba(240,106,40,.1); display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0; }
.ci-label  { font-size:.68rem; font-weight:600; color:var(--ink-3); text-transform:uppercase; letter-spacing:.06em; }
.ci-val    { font-size:.875rem; color:var(--ink); margin-top:.1rem; }
.avail-card { background:var(--bg-card); border:1px solid var(--border); border-radius:14px; padding:1.75rem; }
.avail-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.25rem; flex-wrap:wrap; gap:.5rem; }
.avail-title { font-family:var(--fd); font-weight:700; font-size:.95rem; }
.avail-dot   { display:flex; align-items:center; gap:.4rem; font-size:.73rem; color:#4ADE80; }
.avail-dot::before { content:''; width:7px; height:7px; border-radius:50%; background:#4ADE80; animation:pulse 2s infinite; }
.avail-slots { display:flex; flex-direction:column; gap:.5rem; }
.avail-slot  { display:flex; align-items:center; justify-content:space-between; padding:.7rem 1rem; background:var(--surface); border-radius:8px; gap:.5rem; flex-wrap:wrap; min-height:var(--touch); }
.avail-slot-time   { font-size:.82rem; color:var(--ink-2); }
.avail-slot-status { font-size:.7rem; font-weight:700; color:#4ADE80; }
.avail-slot.amber .avail-slot-status { color:var(--amber); }

/* ── 29. TOC ── */
.toc { background:var(--bg-card); border:1px solid var(--border); border-radius:12px; padding:1.5rem; margin-bottom:2.5rem; }
.toc-title { font-family:var(--fd); font-weight:700; font-size:.9rem; margin-bottom:.875rem; }
.toc-item  { font-size:.82rem; color:var(--ink-2); padding:.35rem 0; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:.5rem; cursor:pointer; min-height:40px; }
.toc-item:last-child { border-bottom:none; }
.toc-item:hover { color:var(--orange); }
.toc-num   { color:var(--orange); font-weight:700; font-size:.7rem; }

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════════════════════════ */

/* ── LARGE DESKTOP 1280px+ ── */
@media (min-width: 1280px) {
  .wins-grid     { grid-template-columns: repeat(4,1fr); }
  .testi-grid    { grid-template-columns: repeat(3,1fr); }
  .video-grid    { grid-template-columns: repeat(3,1fr); }
  .process-steps { grid-template-columns: repeat(4,1fr); }
  .pricing-grid  { grid-template-columns: repeat(3,1fr); }
}

/* ── TABLET 1024px ── */
@media (max-width: 1024px) {
  .hero          { grid-template-columns: 1fr; min-height: unset; gap: 2.5rem; }
  .hero-right    { display: flex; justify-content: center; }
  .hero-cal      { max-width: 480px; width: 100%; }
  .tracker-grid  { grid-template-columns: 1fr; gap: 2.5rem; }
  .svc-trust-grid { grid-template-columns: 1fr; }
  .ss-layout     { grid-template-columns: 1fr; }
  .ss-sidebar    { position: static; }
  .about-grid    { grid-template-columns: 1fr; }
  .about-img-box { position: static; max-width: 360px; margin: 0 auto; }
  .post-layout   { grid-template-columns: 1fr; }
  .post-sidebar  { position: static; }
  .contact-grid  { grid-template-columns: 1fr; }
  .booking-grid  { grid-template-columns: 1fr; }
  .case-card     { grid-template-columns: 1fr; }
  .case-thumb    { min-height: 140px; }
  .case-body     { border-left: none; border-top: 1px solid var(--border); }
  .footer-top    { grid-template-columns: 1fr 1fr; }
  .blog-featured { grid-column: span 2; }
  .svc-page-grid { grid-template-columns: 1fr 1fr; }
  .pricing-grid  { grid-template-columns: 1fr 1fr; }
}

/* ── MOBILE 768px ── */
@media (max-width: 768px) {
  :root { --px: 1rem; }

  .hero h1       { font-size: clamp(1.875rem,8vw,2.625rem); }
  .hero-actions  { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-stat-bar { grid-template-columns: repeat(2,1fr); }

  .wins-grid     { grid-template-columns: repeat(2,1fr); }
  .testi-grid    { grid-template-columns: 1fr; }
  .video-grid    { grid-template-columns: 1fr; }
  .values-grid   { grid-template-columns: 1fr 1fr; }
  .process-steps { grid-template-columns: 1fr; }
  .pricing-grid  { grid-template-columns: 1fr; }
  .blog-grid     { grid-template-columns: 1fr; }
  .blog-featured { grid-column: span 1; grid-template-columns: 1fr; }
  .blog-featured .blog-thumb { height: 180px; border-right: none; border-bottom: 1px solid var(--border); }
  .svc-page-grid { grid-template-columns: 1fr; }

  .jtl-item      { grid-template-columns: 80px 1fr; gap: 0 .75rem; }
  .jtl-card      { flex-direction: column; }

  .about-stats   { grid-template-columns: repeat(3,1fr); }
  .about-btns    { flex-direction: column; }
  .about-btns .btn { width: 100%; }

  .footer-top    { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  .bpop-modal    { grid-template-columns: 1fr; max-height: 96dvh; }
  .bpop-left     { border-right: none; border-bottom: 1px solid var(--border); }

  .cta-btns      { flex-direction: column; align-items: stretch; }
  .cta-btns .btn { width: 100%; justify-content: center; }

  .cf-row        { grid-template-columns: 1fr; }
  .case-results  { display: grid; grid-template-columns: repeat(2,1fr); gap: .875rem; }
  .ss-why-cards  { grid-template-columns: 1fr; }
  #ss-related-grid { grid-template-columns: 1fr 1fr; }
}

/* ── SMALL MOBILE 480px ── */
@media (max-width: 480px) {
  :root { --px: .875rem; }

  .wins-grid     { grid-template-columns: 1fr; }
  .values-grid   { grid-template-columns: 1fr; }
  .hero-stat-bar { grid-template-columns: repeat(2,1fr); }
  .hero h1       { font-size: clamp(1.625rem,9vw,2.25rem); }
  .jtl-item      { grid-template-columns: 70px 1fr; }
  .bpop-overlay  { padding: 0; }
  .bpop-modal    { border-radius: 0; height: 100dvh; max-height: 100dvh; }
  #ss-related-grid { grid-template-columns: 1fr; }
  .hcal-slots-grid { grid-template-columns: repeat(2,1fr); }
  .cal-slots-grid  { grid-template-columns: repeat(2,1fr); }
  .bpop-slots-grid { grid-template-columns: repeat(2,1fr); }
  .footer-market-grid { grid-template-columns: 1fr 1fr; }
  .about-stats { gap: .375rem; }
}


/* ═══════════════════════════════════════════════════════════════
   v12 — MOBILE RESPONSIVE CORRECTIONS
   Services page + About page + global mobile polish
   ═══════════════════════════════════════════════════════════════ */

/* ── iOS auto-zoom prevention (16px inputs on mobile) ── */
@media (max-width: 768px) {
  .cf-input,
  .sub-input,
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  textarea,
  select { font-size: 16px !important; }
}

/* ── Focus-visible globally (keyboard a11y) ── */
:focus-visible {
  outline: 2px solid var(--orange);
  outline-offset: 3px;
  border-radius: 4px;
}
.btn:focus-visible,
.nav-link:focus-visible,
.nav-cta:focus-visible,
.theme-btn:focus-visible,
.faq-q:focus-visible { outline-offset: 4px; }

/* ── Active nav link (aria-current=page) ── */
.nav-link.active,
.nav-link[aria-current="page"] {
  color: var(--orange);
  background: rgba(240,106,40,0.06);
}

/* ═══════════════════════════════════════════════════════════════
   SERVICES PAGE — mobile fixes
   ═══════════════════════════════════════════════════════════════ */

/* Services hero — tighten on mobile */
@media (max-width: 768px) {
  #page-services .page-hero { padding: 1.75rem 1rem 1.5rem; }
  #page-services .page-hero h1 {
    font-size: clamp(1.5rem, 7vw, 2rem);
    line-height: 1.15;
    margin-bottom: 0.75rem;
  }
  #page-services .page-hero p {
    font-size: 0.875rem;
    line-height: 1.7;
  }
  #page-services .eyebrow {
    font-size: 0.62rem;
    margin-bottom: 0.5rem;
  }

  /* Service cards — full width, tighter padding */
  #page-services .svc-page-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  #page-services .spc-card {
    padding: 1.375rem 1.125rem;
    border-radius: 12px;
  }
  #page-services .spc-icon {
    width: 38px;
    height: 38px;
    font-size: 1.1rem;
  }
  #page-services .spc-badge {
    font-size: 0.6rem;
    padding: 0.2rem 0.5rem;
  }
  #page-services .spc-title {
    font-size: 0.975rem;
    line-height: 1.3;
  }
  #page-services .spc-outcome {
    font-size: 0.6rem;
    margin-bottom: 0.5rem;
  }
  #page-services .spc-desc {
    font-size: 0.825rem;
    line-height: 1.65;
    margin-bottom: 1rem;
  }
  #page-services .spc-features li {
    font-size: 0.78rem;
    line-height: 1.55;
  }
  #page-services .spc-cta {
    font-size: 0.78rem;
    padding-top: 0.875rem;
  }
  #page-services .spc-price {
    font-size: 0.7rem;
    line-height: 1.5;
  }

  /* Values + pricing + steps — true single column */
  #page-services .values-grid,
  #page-services .pricing-grid,
  #page-services .process-steps,
  #page-services .speaking-grid,
  #page-services .svc-trust-grid { grid-template-columns: 1fr; }

  /* Price cards on mobile */
  #page-services .price-card { padding: 1.5rem 1.25rem; }
  #page-services .price-amount { font-size: 1.875rem; }
  #page-services .price-features li { font-size: 0.8rem; line-height: 1.5; }

  /* Trust + tracker side-by-side becomes single col */
  #page-services .tracker-grid { grid-template-columns: 1fr; gap: 2rem; }
  #page-services .tracker-platform {
    padding: 0.7rem 0.875rem;
    gap: 0.625rem;
  }
  #page-services .tp-name { font-size: 0.78rem; min-width: 90px; }
  #page-services .tp-pct { font-size: 0.7rem; }

  /* Section titles on services page */
  #page-services .section-title {
    font-size: clamp(1.25rem, 5vw, 1.75rem);
    line-height: 1.15;
  }
  #page-services .section-sub {
    font-size: 0.875rem;
    line-height: 1.7;
  }

  /* Section padding compressed on services mobile */
  #page-services .section { padding: 2.25rem 1rem; }
}

@media (max-width: 480px) {
  #page-services .page-hero { padding: 1.375rem 0.875rem 1.25rem; }
  #page-services .page-hero h1 { font-size: 1.5rem; }
  #page-services .spc-card { padding: 1.125rem 1rem; }
  #page-services .spc-title { font-size: 0.925rem; }
  #page-services .spc-head { gap: 0.4rem; }
  #page-services .price-card { padding: 1.25rem 1rem; }
  #page-services .price-amount { font-size: 1.625rem; }
  #page-services .section { padding: 2rem 0.875rem; }

  /* Stat bars on hero/CTA force 2 cols */
  .svc-cta-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 0.875rem; }
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT PAGE — mobile fixes
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  /* About hero stacks cleanly */
  #page-about .about-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1.5rem 1rem 0;
  }

  /* Image box becomes inline, not sticky */
  #page-about .about-img-box {
    position: static !important;
    max-width: 320px;
    margin: 0 auto;
    padding: 1.5rem 1.25rem;
  }
  #page-about .about-initials {
    font-size: clamp(3rem, 12vw, 4.5rem);
  }
  #page-about .about-img-label {
    font-size: 0.7rem;
    line-height: 1.5;
  }
  #page-about .about-stats {
    gap: 0.5rem;
  }
  #page-about .about-stat {
    padding: 0.625rem 0.4rem;
  }
  #page-about .about-stat-n {
    font-size: 0.95rem;
  }
  #page-about .about-stat-l {
    font-size: 0.58rem;
    line-height: 1.3;
  }

  /* About headline */
  #page-about .about-content h1,
  #page-about .about-content h2 {
    font-size: clamp(1.375rem, 6vw, 1.875rem);
    line-height: 1.15;
    margin-bottom: 1rem;
  }
  #page-about .about-content p {
    font-size: 0.875rem;
    line-height: 1.75;
    margin-bottom: 0.875rem;
  }

  /* Skills wrap tighter */
  #page-about .about-skills {
    gap: 0.4rem;
    margin: 1.25rem 0;
  }
  #page-about .about-skill {
    font-size: 0.7rem;
    padding: 0.25rem 0.625rem;
  }

  /* About venture cards */
  #page-about .about-ventures {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  #page-about .venture-card {
    padding: 1.125rem;
  }
  #page-about .venture-name {
    font-size: 0.925rem;
  }
  #page-about .venture-desc {
    font-size: 0.78rem;
    line-height: 1.6;
  }

  /* Timeline — tighter on mobile */
  #page-about .jtl-item {
    grid-template-columns: 76px 1fr;
    gap: 0 0.75rem;
  }
  #page-about .jtl-year-pill {
    font-size: 0.65rem;
    padding: 0.22rem 0.5rem;
  }
  #page-about .jtl-card {
    padding: 1.125rem;
    flex-direction: column;
    gap: 0.625rem;
  }
  #page-about .jtl-card-icon {
    font-size: 1.375rem;
    width: auto;
  }
  #page-about .jtl-card-title {
    font-size: 0.925rem;
    line-height: 1.3;
  }
  #page-about .jtl-card-desc {
    font-size: 0.8rem;
    line-height: 1.65;
  }
  #page-about .jtl-card-stats {
    gap: 0.875rem;
  }
  #page-about .jtl-stat-n {
    font-size: 0.875rem;
  }
  #page-about .jtl-stat-l {
    font-size: 0.58rem;
  }

  /* Testimonial cards on about (luxury industry expertise) */
  #page-about .testi-grid {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
  #page-about .testi-card {
    padding: 1.25rem 1.125rem;
  }
  #page-about .testi-text {
    font-size: 0.825rem;
    line-height: 1.7;
  }

  /* Value cards in methodology */
  #page-about .values-grid {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
  #page-about .value-card {
    padding: 1.25rem 1.125rem;
  }
  #page-about .value-title {
    font-size: 0.9rem;
  }
  #page-about .value-desc {
    font-size: 0.8rem;
    line-height: 1.65;
  }

  /* Authority talk cards */
  #page-about .speaking-grid {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
  #page-about .talk-card {
    padding: 1.25rem 1.125rem;
  }
  #page-about .talk-title {
    font-size: 0.9rem;
  }
  #page-about .talk-desc {
    font-size: 0.8rem;
    line-height: 1.65;
  }

  /* Process steps (future of AI) */
  #page-about .process-steps {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }
  #page-about .process-step {
    padding: 1.25rem 1.125rem;
  }

  /* About FAQ */
  #page-about .faq-q {
    font-size: 0.85rem;
    padding: 1rem 0;
    min-height: 50px;
  }
  #page-about .faq-a {
    font-size: 0.82rem;
    line-height: 1.7;
  }

  /* About CTA buttons */
  #page-about .about-btns { flex-direction: column; gap: 0.625rem; }
  #page-about .about-btns .btn { width: 100%; }

  #page-about .section { padding: 2.25rem 1rem; }
  #page-about .section-title {
    font-size: clamp(1.25rem, 5vw, 1.75rem);
  }
  #page-about .section-sub {
    font-size: 0.85rem;
    line-height: 1.7;
  }
}

@media (max-width: 480px) {
  #page-about .about-grid { padding: 1.25rem 0.875rem 0; }
  #page-about .about-img-box { padding: 1.25rem 1rem; max-width: 280px; }
  #page-about .about-stats { grid-template-columns: repeat(3, 1fr); gap: 0.375rem; }
  #page-about .about-stat { padding: 0.5rem 0.3rem; }
  #page-about .about-stat-n { font-size: 0.85rem; }
  #page-about .jtl-item { grid-template-columns: 64px 1fr; gap: 0 0.5rem; }
  #page-about .jtl-year-pill { font-size: 0.6rem; padding: 0.2rem 0.4rem; }
  #page-about .jtl-card-stats { flex-direction: column; gap: 0.5rem; }
  #page-about .section { padding: 1.875rem 0.875rem; }
}

/* ═══════════════════════════════════════════════════════════════
   CONTACT PAGE — frame the form (audit critical #5)
   ═══════════════════════════════════════════════════════════════ */
.contact-form-wrap {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: clamp(1.5rem, 3.5vw, 2.25rem);
}
.contact-form-wrap h2 {
  font-family: var(--fd);
  font-size: clamp(1.125rem, 2.5vw, 1.375rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  margin-bottom: 0.625rem;
}
.contact-form-wrap > p {
  font-size: 0.875rem;
  color: var(--ink-2);
  line-height: 1.7;
  margin-bottom: 1.5rem;
}

@media (max-width: 768px) {
  #page-contact .page-hero { padding: 1.75rem 1rem 1.5rem; }
  #page-contact .page-hero h1 {
    font-size: clamp(1.5rem, 7vw, 2rem);
  }
  #page-contact .contact-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 0 1rem;
  }
  #page-contact .contact-form-wrap { padding: 1.5rem 1.25rem; }
  #page-contact .ci-card,
  #page-contact .avail-card { padding: 1.5rem 1.25rem; }
  #page-contact .cf-input { min-height: 52px; padding: 0.875rem 1rem; }
  #page-contact .cf-field label { font-size: 0.82rem; }
}

/* ═══════════════════════════════════════════════════════════════
   GLOBAL MOBILE POLISH — nav, footer, hero, sections
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Tighter section padding everywhere */
  .section { padding: 2.5rem 1rem; }
  .section-inner { padding: 0; }

  /* Hero on mobile */
  .hero { padding: 2rem 1rem 2.5rem; gap: 1.75rem; }
  .hero h1 { font-size: clamp(1.625rem, 8vw, 2.375rem); margin-bottom: 1rem; }
  .hero-desc { font-size: 0.875rem; line-height: 1.7; margin-bottom: 1.5rem; }
  .hero-badges { gap: 0.4rem; margin-bottom: 1rem; }
  .badge { font-size: 0.62rem; padding: 0.25rem 0.625rem; }

  /* Wins grid on mobile */
  .wins-grid { grid-template-columns: repeat(2, 1fr); gap: 0.625rem; }
  .win-card { padding: 1.125rem 0.875rem; }
  .win-number { font-size: 1.5rem; }
  .win-brand { font-size: 0.6rem; }
  .win-desc { font-size: 0.74rem; line-height: 1.5; }

  /* Single-service mobile */
  #page-single-service .ss-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 1.5rem 1rem 2.5rem;
  }
  #page-single-service .ss-sidebar {
    position: static;
    order: 1;
  }
  #page-single-service .ss-main { order: 2; }
  #page-single-service .ss-block h2 {
    font-size: 1.05rem;
  }
  #page-single-service .ss-intro {
    font-size: 0.875rem;
    padding: 1rem 1.125rem;
    line-height: 1.7;
  }
  #page-single-service .ss-cta-box {
    padding: 1.375rem 1.25rem;
  }
  #page-single-service .ss-step { gap: 0.75rem; }
  #page-single-service .ss-step-content h4 { font-size: 0.875rem; }
  #page-single-service .ss-step-content p { font-size: 0.8rem; }
  #page-single-service .ss-list li {
    font-size: 0.82rem;
    padding: 0.625rem 0.875rem;
  }

  /* Blog grid mobile */
  #page-blog .blog-grid { grid-template-columns: 1fr; gap: 0.875rem; }
  #page-blog .blog-card { padding: 0; }
  #page-blog .blog-thumb { height: 140px; font-size: 2rem; }
  #page-blog .blog-body { padding: 1.125rem 1rem; }
  #page-blog .blog-title { font-size: 0.95rem; }
  #page-blog .blog-excerpt { font-size: 0.8rem; line-height: 1.65; }

  /* Cases mobile */
  #page-cases .case-card { grid-template-columns: 1fr; }
  #page-cases .case-thumb { min-height: 140px; font-size: 3rem; }
  #page-cases .case-body { padding: 1.5rem 1.25rem; border-left: none; border-top: 1px solid var(--border); }
  #page-cases .case-title { font-size: 1.1rem; }
  #page-cases .case-results { gap: 1rem; }
  #page-cases .case-result-n { font-size: 1.25rem; }

  /* Booking section mobile */
  .booking-grid { grid-template-columns: 1fr; gap: 1.75rem; padding: 0 1rem; }
  .cal-widget { border-radius: 14px; }
  .bk-benefit { padding: 0.75rem 0.875rem; }
  .bk-benefit-title { font-size: 0.8rem; }
  .bk-benefit-desc { font-size: 0.72rem; line-height: 1.45; }
}

/* ═══════════════════════════════════════════════════════════════
   FOOTER mobile improvements
   ═══════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .footer-rich-inner { padding: 2rem 1rem 0; }
  .footer-top {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    padding-bottom: 1.75rem;
  }
  .footer-col-title {
    font-size: 0.65rem;
    margin-bottom: 0.625rem;
  }
  .footer-link {
    font-size: 0.84rem;
    padding: 0.4rem 0;
  }
  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.125rem 0;
    gap: 0.75rem;
  }
  .footer-bottom-left {
    font-size: 0.72rem;
    gap: 0.5rem;
  }
  .footer-bottom-links {
    width: 100%;
    gap: 1rem;
  }
  .footer-bottom-links button {
    font-size: 0.76rem;
  }
  .footer-industry-list span,
  .footer-market-grid span { font-size: 0.78rem; }
}

/* ═══════════════════════════════════════════════════════════════
   REDUCED MOTION — pause infinite animations properly
   ═══════════════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  .marquee-track,
  .urgency-dot,
  .nav-avail-dot,
  .hcal-dot,
  .glow-pulse,
  .cal-book-btn,
  .grad-word,
  .hl,
  .win-number,
  .video-result,
  .case-result-n,
  .ss-result-num,
  .hero-stat-n,
  .about-stat-n,
  .jtl-stat-n,
  .about-initials { animation: none !important; }
}


/* Skip to content (a11y) */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--ink);
  color: var(--bg);
  padding: 0.875rem 1.25rem;
  z-index: 1200;
  font-weight: 700;
  font-size: 0.875rem;
  border-radius: 0 0 8px 0;
  text-decoration: none;
}
.skip-link:focus,
.skip-link:focus-visible {
  left: 0;
  top: 0;
  outline: 2px solid var(--orange);
  outline-offset: 2px;
}

/* Multi-page override: each page is its own document, so always show its <main> */
main.page { display: block !important; }
main.page#page-home, main.page#page-services, main.page#page-single-service,
main.page#page-about, main.page#page-blog, main.page#page-blog-post,
main.page#page-cases, main.page#page-contact { opacity: 1 !important; }
/* Nav-logo as anchor — keep flex layout */
.site-nav .nav-logo { cursor: pointer; }
.nav-logo { text-decoration: none; color: inherit; }
.nav-link { text-decoration: none; }
.footer-link { text-decoration: none; }
.footer-bottom-links a { text-decoration: none; }
/* Card-wrapping anchors used in place of clickable cards should not look like links */
a.spc-card, a.win-card, a.case-card, a.blog-card, a.related-card,
a.ss-other-link, a.case-link, a.svc-card,
a[class*="value-card"], a[class*="venture-card"],
a[class*="footer-link"], a[class*="related-card"] {
  text-decoration: none; color: inherit; display: block;
}
.ss-other-link { display: block; text-decoration: none; color: inherit; }
.case-link { text-decoration: none; }
.related-card { cursor: pointer; }
.blog-card { cursor: pointer; }
.spc-card { cursor: pointer; }
