.special-occasions-section {
width: 100%;
background-color: #FFFFFF; padding: 100px 0 72px 0;
overflow: hidden;
}
.so-container {
max-width: 1440px;
margin: 0 auto;
display: flex;
flex-direction: column;
padding: 0 40px;
} .so-top-row {
display: flex;
width: 100%;
gap: 4px;
}
.so-col {
flex: 1;
display: flex;
flex-direction: column;
}
.so-image-wrapper {
width: 100%;
overflow: hidden;
background-color: #ebebeb;
}
.so-image-wrapper img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.mobile-img {
display: none;
}
.so-left-col .main-img {
height: 650px;
}
.so-sub-images-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4px;
height: 650px; 
} .so-text-content {
margin-top: 40px;
}
.so-title {
font-family: 'Cormorant Garamond', serif;
font-size: 64px;
font-weight: 500;
line-height: 1.1;
color: #000000;
margin: 0;
text-transform: uppercase;
}
.so-info-content {
margin-top: 40px;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.so-desc {
font-family: 'General Sans', sans-serif;
font-size: 16px;
line-height: 1.6;
color: #333333;
max-width: 500px;
margin-bottom: 40px;
} .btn-so-process {
display: inline-flex;
align-items: center;
gap: 12px;
padding: 0 35px;
height: 56px;
border: 1px solid #000000;
border-radius: 0; 
text-decoration: none;
font-family: 'Cormorant Garamond', serif;
font-weight: 600;
font-size: 20px;
color: #000000;
transition: background-color 0.3s, color 0.3s;
}
.btn-so-process:hover {
background-color: #000000;
color: #FFFFFF;
} .so-exclusive-box {
width: 94.44%; 
max-width: 1360px;
margin: 56px auto 0;
background-color: #FAF9F6; display: flex;
align-items: center;
gap: 60px;
padding: 40px; 
box-sizing: border-box; 
} .so-exc-images {
width: 50%;
display: flex;
justify-content: space-between;
gap: 20px;
height: 250px; 
}
.so-img-tall {
width: 38%; object-fit: cover;
}
.so-img-wide {
width: 60%; object-fit: cover;
} .so-exc-text {
width: 50%;
display: flex;
flex-direction: column;
}
.so-exc-title {
font-family: 'Cormorant Garamond', serif;
font-size: 32px;
font-weight: 500;
color: #000000;
margin: 0 0 20px 0;
}
.so-exc-desc {
font-family: 'General Sans', sans-serif;
font-size: 16px;
font-weight: 400;
line-height: 1.6;
color: #333333;
margin: 0 0 30px 0;
}
.so-exc-feature {
display: flex;
align-items: flex-start;
gap: 20px;
}
.flower-icon {
width: 48px; 
height: 48px;
flex-shrink: 0; 
}
.so-exc-feature .so-exc-desc {
margin: 0; 
} @media (max-width: 1023px) {
.so-container {
padding: 0 20px;
}
.so-top-row {
flex-direction: column;
gap: 40px; 
}
.desktop-img {
display: none !important;
}
.mobile-img {
display: block;
margin-bottom: 20px;
}
.mobile-img img {
height: auto;
}
.so-text-content, .so-info-content {
margin-top: 0;
}
.so-title {
font-size: 40px;
}
.so-desc {
margin-bottom: 30px;
}
.so-exclusive-box {
width: 100%;
flex-direction: column;
gap: 40px;
margin-top: 40px;
padding: 40px 20px; 
}
.so-exc-images {
width: 100%;
justify-content: center; 
gap: 15px; 
height: 200px;
}
.so-img-tall { width: 40%; }
.so-img-wide { width: 55%; }
.so-exc-text {
width: 100%;
}
.so-exc-title {
font-size: 28px;
}
}