/* i❤️PDFunity — Main Stylesheet */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:wght@300;400;500;700&family=JetBrains+Mono:wght@400;500&display=swap');
@import url('variables.css');

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:var(--font-body); background:var(--bg-primary); color:var(--text-primary); line-height:1.6; overflow-x:hidden; }
a { color:var(--accent-pink); text-decoration:none; transition:color var(--transition); }
a:hover { color:var(--accent-pink-light); }
img { max-width:100%; display:block; }
ul,ol { list-style:none; }
button { cursor:pointer; font-family:inherit; border:none; outline:none; }
input,textarea,select { font-family:inherit; outline:none; }
section { padding:80px 0; }
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
h1,h2,h3,h4,h5,h6 { font-family:var(--font-display); line-height:1.2; }

/* ---- Navbar ---- */
.navbar { position:fixed; top:0; left:0; width:100%; z-index:1000; padding:16px 0; transition:all var(--transition); background:transparent; }
.navbar.scrolled { background:rgba(13,13,13,0.85); backdrop-filter:blur(12px); border-bottom:1px solid var(--border-pink); }
.navbar .container { display:flex; align-items:center; justify-content:space-between; }
.nav-logo { display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-size:1.5rem; font-weight:800; color:var(--text-primary); }
.nav-logo svg { width:32px; height:32px; }
.nav-logo span.accent { color:var(--accent-pink); }
.nav-links { display:flex; align-items:center; gap:32px; }
.nav-links a { color:var(--text-secondary); font-weight:500; position:relative; padding:4px 0; }
.nav-links a::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2px; background:var(--accent-pink); transition:width var(--transition); }
.nav-links a:hover, .nav-links a.active { color:var(--text-primary); }
.nav-links a:hover::after, .nav-links a.active::after { width:100%; }
.nav-cta { background:var(--accent-pink); color:#fff; padding:10px 24px; border-radius:8px; font-weight:600; transition:all var(--transition); }
.nav-cta:hover { background:var(--accent-pink-light); color:#fff; transform:translateY(-2px); box-shadow:var(--glow-pink); }
.hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; z-index:1001; }
.hamburger span { width:24px; height:2px; background:var(--text-primary); transition:all var(--transition); border-radius:2px; }
.hamburger.active span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ---- Hero ---- */
.hero { min-height:100vh; display:flex; align-items:center; position:relative; overflow:hidden; padding-top:80px; }
.hero-bg { position:absolute; inset:0; z-index:0; }
.hero-bg .blob { position:absolute; border-radius:50%; filter:blur(120px); opacity:0.4; }
.hero-bg .blob-1 { width:500px; height:500px; background:var(--accent-pink-dark); top:-100px; left:-100px; animation:blobMove1 8s ease-in-out infinite; }
.hero-bg .blob-2 { width:400px; height:400px; background:var(--accent-pink); bottom:-50px; right:-50px; animation:blobMove2 10s ease-in-out infinite; }
.hero-bg .blob-3 { width:300px; height:300px; background:#2a0a1a; top:50%; left:50%; animation:blobMove3 12s ease-in-out infinite; }
@keyframes blobMove1 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(80px,60px)} }
@keyframes blobMove2 { 0%,100%{transform:translate(0,0)} 50%{transform:translate(-60px,-80px)} }
@keyframes blobMove3 { 0%,100%{transform:translate(-50%,-50%)} 50%{transform:translate(-30%,-30%)} }
.hero-grid { position:absolute; inset:0; background-image:radial-gradient(rgba(233,30,140,0.06) 1px,transparent 1px); background-size:40px 40px; z-index:0; }
.hero-content { display: flex; align-items: center; justify-content: space-between; gap: 40px; position:relative; z-index:1; max-width: 1200px; margin:0 auto; text-align: left; }
.hero-text-col { flex: 1; max-width: 640px; }
.hero-image-col { flex: 1; display: flex; justify-content: center; }
.hero-img { max-width: 100%; border-radius: var(--radius-lg); box-shadow: var(--glow-pink); animation: float 6s ease-in-out infinite; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-15px)} }
.hero h1 { font-size:clamp(2.2rem,5vw,3.8rem); font-weight:800; margin-bottom:24px; text-align: left; }
.hero h1 .highlight { color:var(--accent-pink); }
.hero .subtitle { font-size:clamp(1rem,2vw,1.25rem); color:var(--text-secondary); margin-bottom:40px; text-align: left; }
.hero-buttons { display:flex; gap:16px; justify-content:flex-start; flex-wrap:wrap; }
.btn-primary { background:var(--accent-pink); color:#fff; padding:14px 32px; border-radius:8px; font-weight:700; font-size:1rem; transition:all var(--transition); display:inline-flex; align-items:center; gap:8px; }
.btn-primary:hover { background:var(--accent-pink-light); color:#fff; transform:translateY(-2px); box-shadow:var(--glow-pink); }
.btn-outline { background:transparent; color:var(--text-primary); padding:14px 32px; border-radius:8px; font-weight:700; font-size:1rem; border:2px solid var(--border-pink); transition:all var(--transition); }
.btn-outline:hover { border-color:var(--accent-pink); color:var(--accent-pink); transform:translateY(-2px); }
.stats-bar { display:flex; justify-content:flex-start; gap:40px; flex-wrap:wrap; margin-top:60px; padding:24px; background:rgba(26,26,26,0.6); border:1px solid var(--border-pink); border-radius:var(--radius); backdrop-filter:blur(10px); }
.stats-bar .stat { text-align:center; font-family:var(--font-display); }
.stats-bar .stat strong { color:var(--accent-pink); font-size:1.1rem; }
.stats-bar .stat span { display:block; color:var(--text-muted); font-size:0.85rem; margin-top:4px; }

/* ---- Section Headings ---- */
.section-header { text-align:center; margin-bottom:48px; }
.section-header h2 { font-size:clamp(1.8rem,4vw,2.5rem); margin-bottom:16px; }
.section-header p { color:var(--text-secondary); max-width:600px; margin:0 auto; }

/* ---- Category Cards ---- */
.categories-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:20px; }
.category-card { background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); padding:28px 20px; text-align:center; cursor:pointer; transition:all var(--transition); }
.category-card:hover { transform:translateY(-6px); box-shadow:var(--glow-pink); border-color:var(--accent-pink); }
.category-card .cat-icon { font-size:2.5rem; margin-bottom:12px; }
.category-card h3 { font-size:1.1rem; margin-bottom:8px; }
.category-card p { font-size:0.85rem; color:var(--text-secondary); }

/* ---- Tool Tiles ---- */
.tools-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.tool-tile { background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); padding:24px; cursor:pointer; transition:all var(--transition); display:flex; flex-direction:column; }
.tool-tile:hover { transform:translateY(-6px); box-shadow:var(--glow-pink); border-color:var(--accent-pink); }
.tool-tile .tool-icon { font-size:2.2rem; margin-bottom:12px; }
.tool-tile h4 { font-size:1rem; margin-bottom:8px; font-family:var(--font-display); }
.tool-tile p { font-size:0.82rem; color:var(--text-secondary); margin-bottom:16px; flex-grow:1; }
.tool-tile .tool-link { color:var(--accent-pink); font-weight:600; font-size:0.85rem; display:inline-flex; align-items:center; gap:4px; }
.tool-tile .tool-intro { font-size:0.78rem; color:var(--text-muted); line-height:1.6; margin-top:14px; padding-top:12px; border-top:1px solid var(--border-pink); flex-grow:0; }
.tools-section-title { font-family:var(--font-display); font-size:1.3rem; margin:40px 0 20px; padding-bottom:12px; border-bottom:1px solid var(--border-pink); display:flex; align-items:center; gap:10px; }

/* ---- SEO Content ---- */
.seo-content { background:var(--bg-secondary); border-radius:var(--radius-lg); padding:48px; border:1px solid var(--border-pink); }
.seo-content h2 { font-size:1.8rem; margin-bottom:20px; }
.seo-content h3 { font-size:1.2rem; margin:24px 0 12px; color:var(--accent-pink); }
.seo-content p { color:var(--text-secondary); margin-bottom:16px; line-height:1.8; }

/* ---- How It Works ---- */
.how-it-works-split { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.workflow-img { width: 100%; border-radius: var(--radius-lg); box-shadow: var(--glow-pink); }
.steps-grid { display:flex; flex-direction: column; gap:24px; }
.step-card { text-align:left; padding:24px; background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); position:relative; display:flex; gap:20px; align-items:flex-start; }
.step-card .step-num { width:48px; height:48px; border-radius:50%; background:var(--accent-pink); color:#fff; font-family:var(--font-display); font-weight:800; font-size:1.2rem; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin:0; }
.step-card h3 { margin-bottom:8px; }
.step-card p { font-size:0.9rem; color:var(--text-secondary); margin:0; }

/* ---- Features Strip ---- */
.features-strip { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }
.feature-item { display:flex; align-items:center; gap:12px; padding:16px; background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); }
.feature-item .f-icon { font-size:1.5rem; }
.feature-item span { font-size:0.9rem; font-weight:500; }

/* ---- FAQ ---- */
.faq-list { max-width:800px; margin:0 auto; }
.faq-item { border:1px solid var(--border-pink); border-radius:var(--radius); margin-bottom:12px; overflow:hidden; background:var(--bg-card); }
.faq-question { width:100%; padding:20px 24px; background:transparent; color:var(--text-primary); font-size:1rem; font-weight:600; font-family:var(--font-display); display:flex; justify-content:space-between; align-items:center; text-align:left; cursor:pointer; }
.faq-question .faq-icon { font-size:1.2rem; transition:transform var(--transition); color:var(--accent-pink); }
.faq-item.active .faq-question .faq-icon { transform:rotate(45deg); }
.faq-answer { max-height:0; overflow:hidden; transition:max-height 0.4s ease; }
.faq-answer-inner { padding:0 24px 20px; color:var(--text-secondary); line-height:1.7; }

/* ---- Testimonials ---- */
.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.testimonial-card { background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); padding:28px; }
.testimonial-card .stars { color:#f5a623; font-size:1rem; margin-bottom:12px; }
.testimonial-card .review { color:var(--text-secondary); font-size:0.92rem; line-height:1.7; margin-bottom:16px; font-style:italic; }
.testimonial-card .reviewer { display:flex; align-items:center; gap:12px; }
.reviewer-avatar { width:40px; height:40px; border-radius:50%; background:var(--accent-pink); display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:1rem; }
.reviewer-info .name { font-weight:600; font-size:0.9rem; }
.reviewer-info .role { font-size:0.8rem; color:var(--text-muted); }

/* ---- Modal ---- */
.modal-overlay { position:fixed; inset:0; background:rgba(0,0,0,0.85); z-index:2000; display:none; align-items:center; justify-content:center; padding:20px; }
.modal-overlay.active { display:flex; }
.modal-box { background:var(--popup-bg); border:2px solid var(--popup-border); border-radius:var(--radius-lg); box-shadow:0 0 60px rgba(233,30,140,0.4); max-width:680px; width:100%; padding:32px; max-height:90vh; overflow-y:auto; animation:modalIn 0.25s ease-out; position:relative; }
@keyframes modalIn { from{opacity:0;transform:scale(0.9)} to{opacity:1;transform:scale(1)} }
.modal-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:20px; }
.modal-header h2 { font-size:1.4rem; display:flex; align-items:center; gap:10px; }
.modal-close { background:transparent; color:var(--text-secondary); font-size:1.8rem; line-height:1; cursor:pointer; transition:color var(--transition); }
.modal-close:hover { color:var(--accent-pink); }
.modal-desc { color:var(--text-secondary); font-size:0.9rem; margin-bottom:24px; }
.upload-zone { border:2px dashed var(--border-pink); border-radius:var(--radius); padding:40px; text-align:center; cursor:pointer; transition:all var(--transition); margin-bottom:20px; }
.upload-zone:hover, .upload-zone.dragover { border-color:var(--accent-pink); background:rgba(233,30,140,0.05); }
.upload-zone .upload-icon { font-size:2.5rem; margin-bottom:8px; }
.upload-zone p { color:var(--text-secondary); font-size:0.9rem; }
.upload-zone .file-info { margin-top:12px; color:var(--accent-pink); font-weight:600; }
.options-panel { margin-bottom:20px; }
.options-panel label { display:block; font-size:0.85rem; color:var(--text-secondary); margin-bottom:6px; font-weight:500; }
.options-panel input[type="text"], .options-panel input[type="number"], .options-panel input[type="password"], .options-panel select, .options-panel textarea { width:100%; padding:10px 14px; background:var(--bg-card); border:1px solid var(--border-pink); border-radius:8px; color:var(--text-primary); font-size:0.9rem; margin-bottom:12px; }
.options-panel input:focus, .options-panel select:focus, .options-panel textarea:focus { border-color:var(--accent-pink); }
.options-panel .range-group { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.options-panel input[type="range"] { flex:1; accent-color:var(--accent-pink); }
.btn-process { width:100%; padding:14px; background:linear-gradient(135deg,var(--accent-pink),var(--accent-pink-dark)); color:#fff; border-radius:8px; font-size:1rem; font-weight:700; transition:all var(--transition); }
.btn-process:hover { box-shadow:var(--glow-pink); transform:translateY(-2px); }
.btn-process:disabled { opacity:0.5; cursor:not-allowed; transform:none; box-shadow:none; }
.progress-bar-wrap { height:6px; background:var(--bg-card); border-radius:3px; overflow:hidden; margin:16px 0; display:none; }
.progress-bar-wrap.active { display:block; }
.progress-bar { height:100%; width:0; background:linear-gradient(90deg,var(--accent-pink),var(--accent-pink-light)); border-radius:3px; transition:width 0.3s; }
.result-area { display:none; text-align:center; padding:20px 0; }
.result-area.active { display:block; }
.btn-download { display:inline-flex; align-items:center; gap:8px; padding:14px 32px; background:var(--success); color:#0d0d0d; border-radius:8px; font-weight:700; font-size:1rem; transition:all var(--transition); }
.btn-download:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,230,118,0.3); }

/* ---- Footer ---- */
.footer { background:var(--bg-secondary); border-top:1px solid var(--border-pink); padding:64px 0 0; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:48px; margin-bottom:0; }
.footer-brand .footer-logo { font-family:var(--font-display); font-size:1.5rem; font-weight:800; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.footer-brand .footer-logo .accent { color:var(--accent-pink); }
.footer-brand p { color:var(--text-secondary); font-size:0.88rem; line-height:1.8; margin-bottom:20px; max-width:320px; }
.social-icons { display:flex; gap:10px; }
.social-icons a { width:38px; height:38px; border-radius:10px; border:1px solid var(--border-pink); display:flex; align-items:center; justify-content:center; color:var(--text-secondary); transition:all var(--transition); }
.social-icons a:hover { border-color:var(--accent-pink); color:var(--accent-pink); background:rgba(233,30,140,0.1); transform:translateY(-2px); }
.footer-col h4 { font-family:var(--font-display); font-size:1.05rem; margin-bottom:20px; color:var(--text-primary); position:relative; padding-bottom:12px; }
.footer-col h4::after { content:''; position:absolute; bottom:0; left:0; width:32px; height:2px; background:var(--accent-pink); border-radius:1px; }
.footer-col a { display:block; color:var(--text-secondary); font-size:0.88rem; padding:5px 0; transition:all var(--transition); }
.footer-col a:hover { color:var(--accent-pink); padding-left:6px; }
.footer-links-split { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; }
.footer-contact-item { display:flex; align-items:center; gap:10px; margin-bottom:12px; color:var(--text-secondary); font-size:0.88rem; }
.footer-contact-icon { font-size:1rem; flex-shrink:0; }
.footer-newsletter { margin-top:20px; }
.footer-newsletter p { color:var(--text-secondary); font-size:0.85rem; margin-bottom:10px; }
.newsletter-form { display:flex; gap:8px; }
.newsletter-form input { flex:1; padding:10px 14px; background:var(--bg-card); border:1px solid var(--border-pink); border-radius:8px; color:var(--text-primary); font-size:0.85rem; transition:border-color var(--transition); }
.newsletter-form input:focus { border-color:var(--accent-pink); }
.newsletter-form button { padding:10px 20px; background:var(--accent-pink); color:#fff; border-radius:8px; font-weight:600; font-size:0.85rem; white-space:nowrap; transition:all var(--transition); }
.newsletter-form button:hover { background:var(--accent-pink-light); transform:translateY(-1px); box-shadow:var(--glow-pink); }
.footer-divider { height:1px; background:linear-gradient(90deg, transparent, var(--border-pink), var(--accent-pink), var(--border-pink), transparent); margin:40px 0 0; }
.footer-bottom { padding:20px 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; }
.footer-bottom p { color:var(--text-muted); font-size:0.82rem; }
.footer-bottom-links { display:flex; gap:20px; }
.footer-bottom-links a { color:var(--text-muted); font-size:0.82rem; transition:color var(--transition); }
.footer-bottom-links a:hover { color:var(--accent-pink); }

/* ---- Page Header (inner pages) ---- */
.page-header { padding:140px 0 60px; background:var(--gradient-hero); text-align:center; position:relative; }
.page-header h1 { font-size:clamp(2rem,4vw,3rem); margin-bottom:12px; }
.page-header p { color:var(--text-secondary); max-width:600px; margin:0 auto; }
.page-content { padding:60px 0; }
.page-content h2 { font-size:1.6rem; margin:32px 0 16px; }
.page-content h3 { font-size:1.2rem; margin:24px 0 12px; color:var(--accent-pink); }
.page-content p { color:var(--text-secondary); line-height:1.8; margin-bottom:16px; }
.page-content ul { margin:12px 0 16px 20px; }
.page-content ul li { color:var(--text-secondary); padding:4px 0; list-style:disc; }

/* ---- Contact Form ---- */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.form-group { margin-bottom:20px; }
.form-group label { display:block; font-size:0.9rem; margin-bottom:6px; font-weight:500; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:12px 16px; background:var(--bg-card); border:1px solid var(--border-pink); border-radius:8px; color:var(--text-primary); font-size:0.9rem; transition:border-color var(--transition); }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--accent-pink); }
.form-group .error-msg { color:var(--error); font-size:0.8rem; margin-top:4px; display:none; }
.form-group.error input, .form-group.error select, .form-group.error textarea { border-color:var(--error); }
.form-group.error .error-msg { display:block; }
.contact-info-cards { display:flex; flex-direction:column; gap:20px; }
.contact-info-card { background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); padding:24px; }
.contact-info-card .ci-icon { font-size:1.5rem; margin-bottom:8px; }
.contact-info-card h4 { margin-bottom:4px; }
.contact-info-card p { color:var(--text-secondary); font-size:0.85rem; }

/* ---- Search/Filter Bar ---- */
.search-bar { max-width:500px; margin:0 auto 40px; position:relative; }
.search-bar input { width:100%; padding:14px 20px 14px 48px; background:var(--bg-card); border:1px solid var(--border-pink); border-radius:var(--radius); color:var(--text-primary); font-size:1rem; }
.search-bar input:focus { border-color:var(--accent-pink); }
.search-bar .search-icon { position:absolute; left:16px; top:50%; transform:translateY(-50%); color:var(--text-muted); font-size:1.1rem; }

/* ---- Toast ---- */
.toast { position:fixed; bottom:20px; right:20px; padding:14px 24px; border-radius:8px; color:#fff; font-weight:600; font-size:0.9rem; z-index:9999; transform:translateY(100px); opacity:0; transition:all 0.3s; }
.toast--visible { transform:translateY(0); opacity:1; }
.toast--success { background:var(--success); color:#0d0d0d; }
.toast--error { background:var(--error); }

/* ---- Scroll Animations ---- */
.reveal { opacity:0; transform:translateY(30px); transition:opacity 0.6s ease, transform 0.6s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ---- Mobile Nav Drawer ---- */
.mobile-nav { position:fixed; top:0; right:-100%; width:280px; height:100vh; background:var(--bg-secondary); z-index:999; padding:80px 24px 24px; transition:right var(--transition); border-left:1px solid var(--border-pink); }
.mobile-nav.open { right:0; }
.mobile-nav a { display:block; padding:14px 0; color:var(--text-secondary); font-size:1.1rem; font-weight:500; border-bottom:1px solid var(--border-pink); }
.mobile-nav a:hover { color:var(--accent-pink); }

/* ---- Theme Toggle ---- */
body { transition: background-color 0.4s ease, color 0.4s ease; }
.theme-toggle { position:relative; width:48px; height:26px; border-radius:26px; border:2px solid var(--border-pink); background:var(--bg-card); cursor:pointer; display:flex; align-items:center; padding:0; margin-left:8px; transition:all var(--transition); flex-shrink:0; }
.theme-toggle:hover { border-color:var(--accent-pink); box-shadow:var(--glow-pink); }
.theme-toggle .toggle-thumb { position:absolute; left:3px; width:18px; height:18px; border-radius:50%; background:var(--accent-pink); transition:all 0.35s cubic-bezier(0.4,0,0.2,1); display:flex; align-items:center; justify-content:center; }
[data-theme="light"] .theme-toggle .toggle-thumb { left:calc(100% - 21px); }
.theme-toggle .toggle-icon { font-size:10px; line-height:1; pointer-events:none; }
.theme-toggle .icon-moon, [data-theme="light"] .theme-toggle .icon-sun { display:none; }
[data-theme="light"] .theme-toggle .icon-moon { display:block; }
.theme-toggle .icon-sun { display:block; }
.theme-toggle-mobile { display:none; }

/* Light theme-specific overrides */
[data-theme="light"] .navbar.scrolled { background:rgba(245,245,247,0.88); }
[data-theme="light"] .hero-bg .blob-1 { background:#f7a8d4; opacity:0.25; }
[data-theme="light"] .hero-bg .blob-2 { background:#e991c3; opacity:0.2; }
[data-theme="light"] .hero-bg .blob-3 { background:#fce4ef; opacity:0.3; }
[data-theme="light"] .hero-grid { background-image:radial-gradient(rgba(214,22,122,0.06) 1px,transparent 1px); }
[data-theme="light"] .mobile-nav { background:var(--bg-secondary); }
[data-theme="light"] .stats-bar { background:rgba(255,255,255,0.7); }
[data-theme="light"] .modal-box { box-shadow:0 0 60px rgba(214,22,122,0.2); }
[data-theme="light"] .footer-logo svg rect[fill="#1a0510"] { fill:#fff0f7; }
[data-theme="light"] .nav-logo svg rect[fill="#1a0510"] { fill:#fff0f7; }

/* ---- Responsive ---- */
@media(max-width:1024px) {
  .tools-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .testimonials-grid { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; }
  .contact-grid { grid-template-columns:1fr; }
}
@media(max-width:768px) {
  .nav-links { display:none; }
  .hamburger { display:flex; }
  .theme-toggle-mobile { display:inline-flex; }
  .hero-content { flex-direction: column; text-align: center; }
  .hero-text-col, .hero h1, .hero .subtitle { text-align: center; }
  .hero-buttons, .stats-bar { justify-content: center; }
  .how-it-works-split { grid-template-columns: 1fr; }
  .tools-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; gap:32px; }
  .footer-links-split { grid-template-columns:1fr 1fr; }
  .stats-bar { flex-direction:column; gap:16px; }
  .hero h1 { font-size:2rem; }
  .categories-grid { grid-template-columns:repeat(2,1fr); }
  .seo-content { padding:24px; }
  .modal-box { padding:20px; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .footer-brand p { max-width:100%; }
  .theme-toggle { width:42px; height:24px; }
  .theme-toggle .toggle-thumb { width:16px; height:16px; }
  [data-theme="light"] .theme-toggle .toggle-thumb { left:calc(100% - 19px); }
}
