/* FotoDesk – Global Styles */
:root {
  --dark: #111827;
  --gold: #D97706;
  --gold-light: #F59E0B;
  --white: #FFFFFF;
  --rose: #FDF2F8;
  --rose-dark: #FCE7F3;
  --gray-100: #F3F4F6;
  --gray-200: #E5E7EB;
  --gray-400: #9CA3AF;
  --gray-600: #4B5563;
  --gray-700: #374151;
  --radius: 12px;
  --shadow: 0 4px 24px rgba(0,0,0,0.10);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.16);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', 'Segoe UI', sans-serif; color: var(--dark); background: var(--white); line-height: 1.6; }
a { color: var(--gold); text-decoration: none; }
a:hover { color: var(--gold-light); }
img { max-width: 100%; }

/* NAV */
nav { position: sticky; top:0; z-index:100; background: rgba(17,24,39,0.97); backdrop-filter: blur(8px); }
.nav-inner { max-width:1200px; margin:auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; height:64px; }
.nav-logo { font-size:1.5rem; font-weight:800; color:var(--white); letter-spacing:-0.5px; text-decoration:none; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a { color:var(--gray-400); font-size:0.95rem; font-weight:500; transition:color 0.2s; }
.nav-links a:hover { color:var(--white); }
.nav-cta { background:var(--gold); color:var(--white)!important; padding:8px 20px; border-radius:8px; font-weight:600; }
.nav-cta:hover { background:var(--gold-light)!important; color:var(--white)!important; }

/* HERO */
.hero { background: linear-gradient(135deg, var(--dark) 0%, #1F2937 60%, #111827 100%); color:var(--white); padding:100px 24px 80px; text-align:center; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(217,119,6,0.18) 0%, transparent 70%); pointer-events:none; }
.hero-badge { display:inline-block; background:rgba(217,119,6,0.18); border:1px solid rgba(217,119,6,0.4); color:var(--gold); padding:6px 18px; border-radius:999px; font-size:0.85rem; font-weight:600; margin-bottom:24px; letter-spacing:0.5px; }
.hero h1 { font-size:clamp(2.2rem, 5vw, 3.8rem); font-weight:900; line-height:1.1; margin-bottom:20px; letter-spacing:-1px; }
.hero h1 em { color:var(--gold); font-style:normal; }
.hero p { font-size:1.2rem; color:#D1D5DB; max-width:600px; margin:0 auto 40px; }
.hero-ctas { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.btn-primary { background:var(--gold); color:var(--white); padding:14px 32px; border-radius:10px; font-weight:700; font-size:1.05rem; transition:all 0.2s; box-shadow:0 4px 16px rgba(217,119,6,0.4); display:inline-block; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-2px); color:var(--white); }
.btn-secondary { background:rgba(255,255,255,0.10); color:var(--white); padding:14px 32px; border-radius:10px; font-weight:600; font-size:1.05rem; border:1px solid rgba(255,255,255,0.2); transition:all 0.2s; display:inline-block; }
.btn-secondary:hover { background:rgba(255,255,255,0.18); color:var(--white); }
.hero-stats { display:flex; gap:48px; justify-content:center; margin-top:60px; flex-wrap:wrap; }
.hero-stat { text-align:center; }
.hero-stat strong { display:block; font-size:2rem; font-weight:800; color:var(--gold); }
.hero-stat span { font-size:0.9rem; color:var(--gray-400); }

/* SECTIONS */
section { padding:80px 24px; }
.section-inner { max-width:1200px; margin:auto; }
.section-label { font-size:0.8rem; font-weight:700; text-transform:uppercase; letter-spacing:2px; color:var(--gold); margin-bottom:12px; }
.section-title { font-size:clamp(1.8rem, 3.5vw, 2.8rem); font-weight:800; letter-spacing:-0.5px; line-height:1.15; }
.section-sub { color:var(--gray-600); font-size:1.05rem; margin-top:12px; max-width:560px; }
.section-head { margin-bottom:56px; }

/* FEATURES */
.features-bg { background:var(--rose); }
.features-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:28px; }
.feature-card { background:var(--white); border-radius:var(--radius); padding:32px; box-shadow:var(--shadow); border:1px solid var(--gray-200); transition:transform 0.2s, box-shadow 0.2s; }
.feature-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.feature-icon { font-size:2.2rem; margin-bottom:16px; }
.feature-card h3 { font-size:1.15rem; font-weight:700; margin-bottom:10px; }
.feature-card p { color:var(--gray-600); font-size:0.95rem; }

/* COMPLIANCE */
.compliance-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:20px; margin-top:40px; }
.compliance-item { background:var(--gray-100); border-radius:10px; padding:24px; border-left:4px solid var(--gold); }
.compliance-item h4 { font-weight:700; margin-bottom:6px; font-size:0.95rem; }
.compliance-item p { font-size:0.88rem; color:var(--gray-600); }

/* PRICING */
.pricing-bg { background:var(--dark); color:var(--white); }
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:28px; max-width:960px; margin:0 auto; }
.price-card { background:#1F2937; border-radius:var(--radius); padding:36px; border:1px solid #374151; position:relative; transition:transform 0.2s; }
.price-card:hover { transform:translateY(-4px); }
.price-card.featured { border-color:var(--gold); background:linear-gradient(160deg, #1F2937 0%, #292524 100%); }
.price-badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:var(--gold); color:var(--white); font-size:0.78rem; font-weight:700; padding:4px 16px; border-radius:999px; white-space:nowrap; }
.price-name { font-size:0.9rem; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--gray-400); margin-bottom:8px; }
.price-amount { font-size:2.8rem; font-weight:900; color:var(--white); line-height:1; }
.price-amount span { font-size:1rem; color:var(--gray-400); font-weight:400; }
.price-desc { color:var(--gray-400); font-size:0.9rem; margin:12px 0 24px; }
.price-features { list-style:none; margin-bottom:32px; }
.price-features li { padding:8px 0; border-bottom:1px solid #374151; font-size:0.92rem; color:#D1D5DB; display:flex; align-items:center; gap:8px; }
.price-features li::before { content:"✓"; color:var(--gold); font-weight:700; flex-shrink:0; }
.btn-price { display:block; text-align:center; padding:14px; border-radius:10px; font-weight:700; transition:all 0.2s; }
.btn-price-gold { background:var(--gold); color:var(--white); }
.btn-price-gold:hover { background:var(--gold-light); color:var(--white); }
.btn-price-outline { border:1px solid #4B5563; color:#D1D5DB; }
.btn-price-outline:hover { border-color:var(--gold); color:var(--gold); }

/* TESTIMONIALS */
.testi-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)); gap:24px; }
.testi-card { background:var(--white); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); border:1px solid var(--gray-200); }
.testi-stars { color:var(--gold); font-size:1.1rem; margin-bottom:12px; }
.testi-text { color:var(--gray-700); font-style:italic; margin-bottom:16px; font-size:0.97rem; }
.testi-author { font-weight:700; font-size:0.9rem; }
.testi-role { color:var(--gray-400); font-size:0.85rem; }

/* CTA */
.cta-section { background:linear-gradient(135deg, var(--gold) 0%, #B45309 100%); color:var(--white); text-align:center; }
.cta-section h2 { font-size:clamp(1.8rem, 3vw, 2.5rem); font-weight:800; margin-bottom:16px; }
.cta-section p { font-size:1.1rem; opacity:0.9; margin-bottom:32px; }
.btn-cta-white { background:var(--white); color:var(--gold); padding:14px 36px; border-radius:10px; font-weight:800; font-size:1.05rem; transition:all 0.2s; display:inline-block; }
.btn-cta-white:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,0.2); color:var(--gold); }

/* FOOTER */
footer { background:var(--dark); color:var(--gray-400); padding:48px 24px 32px; }
.footer-inner { max-width:1200px; margin:auto; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand .logo { font-size:1.4rem; font-weight:800; color:var(--white); margin-bottom:12px; }
.footer-brand .logo span { color:var(--gold); }
.footer-brand p { font-size:0.9rem; line-height:1.7; }
.footer-col h4 { color:var(--white); font-weight:700; margin-bottom:16px; font-size:0.95rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:8px; }
.footer-col a { color:var(--gray-400); font-size:0.9rem; }
.footer-col a:hover { color:var(--gold); }
.footer-bottom { border-top:1px solid #374151; padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:0.87rem; }

/* LEGAL PAGES */
.legal-hero { background:var(--dark); color:var(--white); padding:60px 24px 40px; text-align:center; }
.legal-hero h1 { font-size:2.2rem; font-weight:800; }
.legal-hero p { color:var(--gray-400); margin-top:8px; }
.legal-body { max-width:860px; margin:60px auto; padding:0 24px 80px; }
.legal-body h2 { font-size:1.3rem; font-weight:700; margin:36px 0 12px; }
.legal-body h3 { font-size:1.05rem; font-weight:600; margin:24px 0 8px; }
.legal-body p, .legal-body li { color:var(--gray-700); font-size:0.97rem; line-height:1.75; margin-bottom:12px; }
.legal-body ul, .legal-body ol { padding-left:24px; }
.legal-body .box { background:var(--gray-100); border-radius:10px; padding:20px 24px; margin:20px 0; border-left:4px solid var(--gold); }

/* DEMO SHOWCASE */
.demo-hero { background: linear-gradient(135deg, #111827 0%, #1F2937 100%); color:var(--white); padding:80px 24px 60px; text-align:center; }
.demo-hero h1 { font-size:clamp(2rem,4vw,3rem); font-weight:800; margin-bottom:16px; }
.demo-hero p { color:#D1D5DB; font-size:1.1rem; max-width:600px; margin:0 auto 32px; }
.demo-modules { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:24px; max-width:1100px; margin:0 auto; padding:60px 24px; }
.demo-module { background:var(--white); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); border:1px solid var(--gray-200); text-align:center; transition:transform 0.2s; }
.demo-module:hover { transform:translateY(-4px); }
.demo-module-icon { font-size:2.5rem; margin-bottom:12px; }
.demo-module h3 { font-weight:700; margin-bottom:8px; }
.demo-module p { color:var(--gray-600); font-size:0.9rem; }
.demo-cta { text-align:center; padding:0 24px 80px; }

@media (max-width:768px) {
  .footer-grid { grid-template-columns:1fr 1fr; }
  .nav-links { display:none; }
  .hero-stats { gap:28px; }
}
@media (max-width:480px) {
  .footer-grid { grid-template-columns:1fr; }
}
