/* Custom styles that Tailwind CDN alone can't cover */

body { font-family: "Manrope", sans-serif; }
h1, h2, h3, h4 { font-family: "Cormorant Garamond", Georgia, serif; font-weight: 500; letter-spacing: -0.01em; }

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Form controls */
.form-label {
    display: block;
    font-size: 11px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: #6B6B6B;
    font-weight: 600;
}
.form-input {
    margin-top: 0.5rem;
    display: block;
    width: 100%;
    border: none;
    border-bottom: 1px solid #E6E6E6;
    background: transparent;
    padding: 0.5rem 0;
    font-size: 14px;
    color: #141414;
    outline: none;
    transition: border-color 0.2s ease;
}
.form-input:focus { border-color: #DA1B1B; }
.form-input::placeholder { color: #B0B0B0; }

/* Feature card */
.feature-icon {
    width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
    background: #FCE9E9; color: #DA1B1B;
    font-size: 20px; transition: background 0.3s, color 0.3s;
}
.bg-white:hover .feature-icon { background: #DA1B1B; color: #FFFFFF; }
.feature-title { margin-top: 1.5rem; font-family: "Cormorant Garamond", serif; font-size: 1.75rem; }
.feature-desc { margin-top: 0.75rem; color: rgba(20,20,20,0.7); font-size: 14px; line-height: 1.6; }

/* Step card */
.step-card { position: relative; padding-top: 2rem; border-top: 2px solid #DA1B1B; }
.step-number { position: absolute; top: -1.75rem; left: 0; background: #ffffff; padding-right: 1rem;
    font-family: "Cormorant Garamond", serif; font-size: 4.5rem; color: rgba(218,27,27,0.3);
    line-height: 1; transition: color 0.3s;
}
.step-card:hover .step-number { color: #DA1B1B; }
.step-title { margin-top: 2.5rem; font-family: "Cormorant Garamond", serif; font-size: 1.75rem; }
.step-desc { margin-top: 0.75rem; color: rgba(20,20,20,0.7); font-size: 14px; line-height: 1.6; }

/* FAQ */
.faq-item { border-bottom: 1px solid #E6E6E6; padding: 1.5rem 0; cursor: pointer; }
.faq-item summary {
    list-style: none;
    display: flex; justify-content: space-between; align-items: center;
    font-family: "Cormorant Garamond", serif; font-size: 1.5rem; color: #141414;
    transition: color 0.2s;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; font-size: 1.5rem; color: #DA1B1B; transition: transform 0.2s; }
.faq-item[open] summary::after { content: "−"; }
.faq-item summary:hover { color: #DA1B1B; }
.faq-a { margin-top: 1rem; color: rgba(20,20,20,0.7); font-size: 15px; line-height: 1.7; }

/* Link underline animation */
.link-underline {
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 1px;
    transition: background-size 0.35s ease;
}
.link-underline:hover { background-size: 100% 1px; }

/* Selection */
::selection { background-color: #DA1B1B; color: #FFFFFF; }

/* Animations */
@keyframes fade-up { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.animate-fade-up { animation: fade-up 0.8s ease-out both; }

@keyframes soft-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.12); } }
.animate-soft-pulse { animation: soft-pulse 2.4s ease-in-out infinite; }

/* Scrollbar */
::-webkit-scrollbar { width: 10px; }
::-webkit-scrollbar-track { background: #FAFAFA; }
::-webkit-scrollbar-thumb { background: #DA1B1B; }
::-webkit-scrollbar-thumb:hover { background: #a91515; }
