:root { --color-bg: #fff5f7; /* Very Light Pink Background */ --color-text: #2d1a1e; /* Dark Brownish Pink for Text */ --color-primary: #ff4d94; /* Vibrant Pink */ --color-secondary: #ff1a75; /* Deep Pink */ --color-accent: #ffd1dc; /* Soft Pastel Pink */ --color-surface: #ffffff; --font-heading: 'Space Grotesk', sans-serif; --font-body: 'Inter', sans-serif; --border-width: 2px; --shadow-hard: 5px 5px 0px #ff4d94; --shadow-hover: 8px 8px 0px #ff1a75; --radius-pill: 50rem; --radius-card: 1rem; } body { font-family: var(--font-body); background-color: var(--color-bg); color: var(--color-text); overflow-x: hidden; } h1, h2, h3, h4, h5, h6, .navbar-brand { font-family: var(--font-heading); letter-spacing: -0.03em; } /* Utilities */ .text-primary { color: var(--color-primary) !important; } .bg-pink { background-color: var(--color-primary) !important; } .text-white { color: #fff !important; } .shadow-hard { box-shadow: var(--shadow-hard); } .border-2-pink { border: var(--border-width) solid var(--color-primary); } .py-section { padding-top: 5rem; padding-bottom: 5rem; } /* Navbar */ .navbar { background: rgba(255, 245, 247, 0.9); backdrop-filter: blur(10px); border-bottom: var(--border-width) solid transparent; transition: all 0.3s; padding-top: 1rem; padding-bottom: 1rem; } .navbar.scrolled { border-bottom-color: var(--color-primary); padding-top: 0.5rem; padding-bottom: 0.5rem; } .brand-text { font-size: 1.5rem; font-weight: 800; } .nav-link { font-weight: 500; color: var(--color-text); margin-left: 1rem; position: relative; } .nav-link:hover, .nav-link.active { color: var(--color-primary); } /* Buttons */ .btn { font-weight: 700; font-family: var(--font-heading); padding: 0.8rem 2rem; border-radius: var(--radius-pill); border: var(--border-width) solid var(--color-primary); transition: all 0.2s cubic-bezier(0.25, 1, 0.5, 1); box-shadow: var(--shadow-hard); } .btn:hover { transform: translate(-2px, -2px); box-shadow: var(--shadow-hover); } .btn:active { transform: translate(2px, 2px); box-shadow: 0 0 0 var(--color-primary); } .btn-primary { background-color: var(--color-primary); border-color: var(--color-secondary); color: #fff; } .btn-primary:hover { background-color: var(--color-secondary); border-color: var(--color-secondary); color: #fff; } .btn-outline-pink { background-color: #fff; color: var(--color-primary); } .btn-cta { background-color: var(--color-accent); color: var(--color-secondary); } /* Hero Section */ .hero-section { min-height: 100vh; padding-top: 80px; } .background-blob { position: absolute; border-radius: 50%; filter: blur(80px); opacity: 0.6; z-index: 1; } .blob-1 { top: -10%; right: -10%; width: 600px; height: 600px; background: radial-gradient(circle, var(--color-accent), transparent); } .blob-2 { bottom: 10%; left: -10%; width: 500px; height: 500px; background: radial-gradient(circle, var(--color-primary), transparent); } .highlight-text { background: linear-gradient(120deg, transparent 0%, transparent 40%, var(--color-accent) 40%, var(--color-accent) 100%); background-repeat: no-repeat; background-size: 100% 40%; background-position: 0 88%; padding: 0 5px; } /* Portfolio Cards */ .project-card { border: 2px solid var(--color-primary); border-radius: var(--radius-card); overflow: hidden; background: #fff; transition: transform 0.3s ease; box-shadow: var(--shadow-hard); height: 100%; display: flex; flex-direction: column; } .project-card:hover { transform: translateY(-10px); box-shadow: var(--shadow-hover); } .category-tag { position: absolute; top: 15px; right: 15px; background: var(--color-primary); color: #fff; padding: 5px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; } .form-control { border: 2px solid var(--color-accent); border-radius: 0.5rem; padding: 1rem; font-weight: 500; background: #fff; } .form-control:focus { box-shadow: 4px 4px 0 var(--color-primary); border-color: var(--color-primary); background: #fff; }