/* =========================
HERO SECTION
========================= */

.hero-section {
padding: 100px 0;
overflow: hidden;
background: #fff;
}

.hero-wrapper {
display: flex;
flex-direction: row-reverse;
align-items: center;
justify-content: space-between;
gap: 80px;

max-width: 1200px;
margin: 0 auto;
}

/* =========================
IMAGE SIDE
========================= */

.hero-visual {
display: flex;
justify-content: flex-end;
align-items: center;

flex-shrink: 0;

position: relative;
}

.hero-image-container {
position: relative;

width: 100%;
max-width: 500px;

aspect-ratio: 4 / 5;

background: #f8f8f8;

border-radius: 24px;

border: 1px solid rgba(0,0,0,0.05);

overflow: hidden;

box-shadow:
0 20px 40px rgba(0,0,0,0.05);

z-index: 1;
}

.hero-image {
width: 100%;
height: 100%;

object-fit: cover;

display: block;
}

.hero-accent-shape {
position: absolute;

top: -20px;
right: -20px;

width: 100%;
height: 100%;

background:
rgba(255,79,163,0.05);

border-radius: 30px;

z-index: -1;
}

/* =========================
CONTENT SIDE
========================= */

.hero-content {
flex: 1;
max-width: 600px;
 text-align: right; /* Align text to the right */
}

.hero-subtitle {
display: block;

margin-bottom: 12px;

text-transform: uppercase;

letter-spacing: 3px;

font-size: 0.9rem;

font-weight: 600;

color: #ff4fa3;
}

.hero-title {
margin-bottom: 20px;

font-family: var(--font-heading);

font-size: clamp(3rem, 8vw, 6rem);

line-height: 1.05;

color: #1a1a1a;
}

.hero-description {
max-width: 600px;

margin-bottom: 32px;

font-size: 1.1rem;

line-height: 1.6;

color: #666;
}

/* =========================
BUTTONS
========================= */

.hero-actions {
display: flex;
 justify-content: flex-end; /* Align buttons to the right */
gap: 16px;
flex-wrap: wrap;
}

.hero-btn {
display: inline-flex;

align-items: center;
justify-content: center;

padding: 14px 28px;

border-radius: 8px;

background: transparent;

border: 1px solid rgba(255,79,163,0.3);

text-decoration: none;

font-weight: 400;

color: #1a1a1a;

transition:
all 0.4s cubic-bezier(
0.165,
0.84,
0.44,
1
);
}

.hero-btn.primary {
border-color:
rgba(255,79,163,0.3);
}

.hero-btn.secondary {
border-color:
rgba(255,79,163,0.15);
}

.hero-btn:hover {
transform:
translateY(-5px);

box-shadow:
0 15px 30px rgba(0,0,0,0.15);

border-color:
rgba(255,79,163,0.6);
}

/* =========================
TABLET & MOBILE
========================= */

@media (max-width: 992px) {

.hero-section {
padding: 60px 0;
}

.hero-wrapper {
    flex-direction: row-reverse;
    align-items: center;
    gap: 20px;
}

.hero-visual {
width: auto;
min-width: auto;
}

.hero-image-container {
max-width: 250px;
}
 .hero-content {
 text-align: left; /* Revert to left-align for mobile readability */
 }

.hero-title {
font-size:
clamp(1.8rem, 5vw, 3rem);
}

.hero-description {
font-size: 0.95rem;
}

.hero-actions {
 justify-content: flex-start; /* Revert buttons to left-align for mobile */
gap: 10px;
}

.hero-btn {
padding: 12px 18px;
font-size: 14px;
}
}

/* =========================
SMALL MOBILE
========================= */

@media (max-width: 480px) {

.hero-wrapper {
gap: 16px;
}

.hero-image-container {
max-width: 170px;
}

.hero-title {
font-size:
clamp(1.5rem, 6vw, 2.2rem);
}

.hero-subtitle {
font-size: 0.75rem;
}

.hero-description {
font-size: 0.9rem;
}

.hero-btn {
width: 100%;
}

.hero-actions {
flex-direction: column;
width: 100%;
}
}
