/* PAGE HERO */
.page-hero { background: linear-gradient(135deg, #1B3A5C 0%, #0E2034 100%); padding-block: clamp(4rem, 8vw, 6rem); position: relative; overflow: hidden; }
.page-hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 85% 50%, rgba(201,151,10,0.1) 0%, transparent 50%), radial-gradient(circle at 15% 50%, rgba(1,105,111,0.15) 0%, transparent 50%); pointer-events: none; }
.page-hero-inner { position: relative; max-width: 800px; }
.page-hero-title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 1.2rem + 3vw, 3.5rem); font-weight: 700; color: #fff; line-height: 1.1; margin: 1rem 0 1.25rem; }
.page-hero-title em { font-style: italic; color: var(--color-gold); }
.page-hero-body { font-size: var(--text-lg); color: rgba(255,255,255,0.75); line-height: 1.65; max-width: 58ch; }

/* SERVICES NAV */
.services-nav { background: var(--color-surface); border-bottom: 1px solid var(--color-divider); padding-block: var(--space-4); position: relative; z-index: 10; }
.sn-inner { display: flex; gap: var(--space-2); overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.sn-inner::-webkit-scrollbar { display: none; }
.sn-link { font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600; color: var(--color-text-muted); text-decoration: none; padding: var(--space-2) var(--space-5); border-radius: var(--radius-full); white-space: nowrap; border: 1.5px solid transparent; transition: all var(--transition-interactive); }
.sn-link:hover { color: var(--color-primary); background: var(--color-primary-light); }

/* SERVICE SECTIONS */
.service-section { border-bottom: 1px solid var(--color-divider); }
.service-section:nth-child(odd) { background: var(--color-bg); }
.service-section:nth-child(even) { background: var(--color-surface); }

/* FULL-WIDTH SERVICE CARD */
.service-card-full { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-2xl); overflow: hidden; box-shadow: var(--shadow-md); }
.service-section:nth-child(even) .service-card-full { background: var(--color-bg); }

/* CARD HEADER */
.scf-header { padding: var(--space-8) var(--space-10) var(--space-6); border-bottom: 1px solid var(--color-divider); }
.scf-badges { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); flex-wrap: wrap; }
.scf-timeline { font-size: var(--text-xs); color: var(--color-text-faint); letter-spacing: 0.04em; }
.scf-title { font-family: 'Playfair Display', serif; font-size: var(--text-2xl); font-weight: 700; color: var(--color-primary); line-height: 1.15; margin-bottom: var(--space-2); }
[data-theme="dark"] .scf-title { color: var(--color-text); }
.scf-tagline { font-size: var(--text-lg); color: var(--color-text-muted); font-style: italic; }

/* CARD BODY */
.scf-body { padding: var(--space-8) var(--space-10); }
.scf-desc p { font-size: var(--text-base); color: var(--color-text-muted); line-height: 1.75; margin-bottom: var(--space-4); }
.scf-columns { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-8); margin-top: var(--space-6); }
.scf-col-title { font-family: var(--font-body); font-size: var(--text-sm); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-primary); margin-bottom: var(--space-4); padding-bottom: var(--space-2); border-bottom: 2px solid var(--color-gold); }
[data-theme="dark"] .scf-col-title { color: var(--color-primary); }

/* LIST ITEMS */
.sd-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-3); }
.sd-list li { font-size: var(--text-base); color: var(--color-text); padding-left: var(--space-5); position: relative; line-height: 1.55; }
.sd-list li::before { content: ''; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--color-gold); flex-shrink: 0; }

/* BADGE STYLES */
.service-package-badge { font-family: var(--font-display); font-size: var(--text-sm); font-weight: 700; padding: var(--space-1) var(--space-4); border-radius: var(--radius-full); letter-spacing: 0.04em; }
.sp-navy { background: var(--color-primary-light); color: var(--color-primary); }
.sp-teal { background: var(--color-accent-light); color: var(--color-accent); }
.sp-gold { background: var(--color-gold-light); color: var(--color-gold); }
[data-theme="dark"] .sp-navy { background: rgba(74,139,181,0.15); }
[data-theme="dark"] .sp-teal { background: rgba(42,168,174,0.15); }
[data-theme="dark"] .sp-gold { background: rgba(232,180,32,0.15); }

/* CARD FOOTER */
.scf-footer { padding: var(--space-6) var(--space-10); background: var(--color-surface-2); border-top: 1px solid var(--color-divider); display: flex; align-items: center; gap: var(--space-4); }

/* SURVEY CALLOUT */
.survey-callout { background: var(--color-primary); border-radius: var(--radius-xl); padding: var(--space-7) var(--space-8); margin-top: var(--space-6); }
.src-label { font-size: var(--text-xs); font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--color-gold); margin-bottom: var(--space-4); }
.src-stats { display: flex; gap: var(--space-8); flex-wrap: wrap; margin-bottom: var(--space-5); }
.src-stat { display: flex; flex-direction: column; gap: 2px; }
.src-num { font-family: var(--font-display); font-size: var(--text-xl); font-weight: 700; color: var(--color-gold); line-height: 1; }
.src-desc { font-size: var(--text-xs); color: rgba(255,255,255,0.65); }
.src-attribution { font-size: var(--text-xs); color: rgba(255,255,255,0.4); line-height: 1.5; }

/* CTA BANNER */
.cta-banner { background: linear-gradient(135deg, #1B3A5C 0%, #0E2034 100%); position: relative; overflow: hidden; }
.cta-banner::before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 90% 50%, rgba(201,151,10,0.12) 0%, transparent 60%), radial-gradient(circle at 10% 50%, rgba(1,105,111,0.15) 0%, transparent 60%); pointer-events: none; }
.cta-inner { position: relative; text-align: center; padding-block: var(--space-8); }
.cta-title { font-family: 'Playfair Display', serif; font-size: var(--text-2xl); font-weight: 700; color: #fff; line-height: 1.15; margin-bottom: var(--space-5); }
.cta-body { font-size: var(--text-lg); color: rgba(255,255,255,0.75); line-height: 1.6; max-width: 60ch; margin: 0 auto var(--space-10); }
.cta-actions { display: flex; gap: var(--space-4); justify-content: center; flex-wrap: wrap; }

/* RESPONSIVE */
@media (max-width: 768px) {
  .scf-header, .scf-body, .scf-footer { padding-inline: var(--space-6); }
  .scf-columns { grid-template-columns: 1fr; }
  .src-stats { gap: var(--space-5); }
}
@media (max-width: 500px) {
  .cta-actions { flex-direction: column; align-items: stretch; }
  .cta-actions .btn { justify-content: center; }
}
