:root { --primary: #020617;
--accent: #e30613;
--accent-hover: #c40510;
--text: #0f172a;
--text-muted: #64748b;
--bg: #ffffff;
--bg-alt: #f8fafc; --container: 1280px;
--container-padding: clamp(1.5rem, 5vw, 5rem); --section-gap: clamp(5rem, 12vw, 10rem); --glass: rgba(255, 255, 255, 0.75);
--glass-dark: rgba(0, 0, 0, 0.9);
--shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
--radius-sm: 0.5rem;
--radius: 1rem;
--radius-full: 9999px;
--ease: cubic-bezier(0.4, 0, 0.2, 1);
--transition: 0.4s var(--ease); --topbar-height: 41px;
--header-height: 104px;
--topbar-font-size: 8px;
--menu-font-size: 16px;
--accent-red: #E31E24; --font-heading: 'Montserrat', sans-serif;
--font-body: 'Inter', sans-serif;
} * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: var(--font-body);
color: var(--text);
background: var(--bg);
line-height: 1.6;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
}
html {
overflow-x: hidden;
}
h1,
h2,
h3,
h4,
h5,
h6,
.section-title,
.stat-number,
.btn {
font-family: var(--font-heading);
}
.section-padding {
padding: 96px 100px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.section-title {
color: #0F172A;
text-align: center;
font-family: var(--font-heading);
font-size: 36px;
font-style: normal;
font-weight: 900;
line-height: 40px;
text-transform: uppercase;
margin-bottom: 0.75rem;
position: relative;
}
.title-underline {
width: 60px;
height: 4px;
background: var(--accent-red);
margin: 1.5rem auto 3rem;
border-radius: var(--radius-full);
}
@media (max-width: 768px) {
.section-title {
font-size: 28px;
line-height: 32px;
}
}
@media (max-width: 991px) {
.section-padding {
padding: 60px 20px;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
a {
color: inherit;
text-decoration: none;
transition: var(--transition);
}
a:hover {
color: var(--accent);
}
.container {
max-width: var(--container);
margin: 0 auto;
padding: 0 var(--container-padding);
}
.section {
padding: var(--section-gap) 0;
position: relative;
width: 100%;
} .section-header {
max-width: 800px;
margin: 0 auto 4rem;
text-align: center;
}
.section-title {
font-size: clamp(2rem, 5vw, 3rem);
font-weight: 900;
color: var(--primary);
text-transform: uppercase;
margin-bottom: 1.5rem;
line-height: 1.1;
letter-spacing: -0.02em;
}
.section-subtitle {
font-size: 1.125rem;
color: var(--text-muted);
max-width: 600px;
margin: 0 auto;
line-height: 1.6;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 1rem 2.5rem;
border-radius: var(--radius-sm);
font-weight: 600;
cursor: pointer;
transition: var(--transition);
border: none;
font-size: 0.9375rem;
letter-spacing: -0.01em;
}
.btn-primary {
background: var(--accent);
color: white;
}
.btn-primary:hover {
transform: translateY(-4px);
box-shadow: var(--shadow);
background: var(--accent-hover);
color: #fff;
}
.glass {
background: var(--glass);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
border: 1px solid rgba(255, 255, 255, 0.4);
} h1,
h2,
h3,
h4 {
color: var(--primary);
line-height: 1.15;
font-weight: 800;
letter-spacing: -0.03em;
} .alignwide {
margin-left: -5vw;
margin-right: -5vw;
max-width: 110vw;
width: 110vw;
}
.alignfull {
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
width: 100vw;
max-width: 100vw;
}
.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
height: 1px;
overflow: hidden;
position: absolute;
width: 1px;
} .text-gradient {
background: linear-gradient(135deg, var(--accent) 0%, #1e40af 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
} .home-slider-container {
width: 100%;
min-height: 500px;
height: auto;
background: #ffffff;
position: relative;
overflow: hidden;
display: block;
}
.slider-placeholder {
width: 100%;
height: 500px;
background: #f8fafc;
border-bottom: 1px solid #e2e8f0;
} .home-stats-section {
position: relative;
z-index: 10;
margin-top: -60px; padding-bottom: 20px;
}
.home-stats-grid {
background: #ffffff;
border-radius: 20px;
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.08);
display: flex;
justify-content: space-around;
padding: 40px 20px;
border: 1px solid #f1f5f9;
}
.stat-item {
text-align: center;
flex: 1;
position: relative;
}
.stat-item:not(:last-child)::after {
content: '';
position: absolute;
right: 0;
top: 20%;
height: 60%;
width: 1px;
background: #f1f5f9;
}
.stat-number {
font-size: 2.5rem;
font-weight: 900;
color: var(--accent-red);
line-height: 1;
margin-bottom: 8px;
letter-spacing: -0.02em;
}
.stat-label {
font-size: 0.875rem;
font-weight: 600;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.05em;
} @media (max-width: 768px) {
.home-stats-grid {
flex-direction: column;
gap: 30px;
margin-top: -40px;
padding: 30px;
}
.stat-item:not(:last-child)::after {
display: none;
}
.stat-number {
font-size: 2rem;
}
} .home-how-section {
background: #ffffff;
position: relative;
overflow: hidden;
}
.how-background-text {
position: absolute;
bottom: -55px;
left: 50%;
transform: translateX(-50%);
font-size: clamp(8rem, 20vw, 350px);
font-weight: 900;
color: rgba(241, 245, 249, 0.5);
z-index: 1;
white-space: nowrap;
pointer-events: none;
line-height: 1;
}
.home-how-section .container {
position: relative;
z-index: 2;
}
.home-how-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
margin-top: 4rem;
}
.how-step-card {
background: rgba(255, 255, 255, 0.9);
padding: 3rem 2rem;
border-radius: 24px;
text-align: center;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
border: 1px solid rgba(241, 245, 249, 0.8);
transition: transform 0.3s ease;
}
.how-step-card:hover {
transform: translateY(-10px);
}
.how-step-icon {
width: 80px;
height: 80px;
background: #fff1f2;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 1.5rem;
}
.how-step-icon img {
max-width: 40px;
height: auto;
}
.icon-placeholder {
width: 32px;
height: 32px;
background: var(--accent-red);
clip-path: circle();
}
.how-step-title {
font-size: 1.25rem;
font-weight: 800;
color: var(--primary);
margin-bottom: 1rem;
}
.how-step-desc {
color: #64748b;
font-size: 0.9375rem;
line-height: 1.6;
} @media (max-width: 991px) {
.home-about-grid {
grid-template-columns: 1fr;
gap: 3rem;
}
.home-about-image {
order: -1;
}
.home-how-grid {
grid-template-columns: 1fr;
}
.how-background-text {
font-size: 150px;
}
} .home-categories-section {
background: #F8FAFC;
}
.section-subtitle {
color: #64748B;
font-size: 1.125rem;
margin: 0 auto 0.5rem;
max-width: 650px;
line-height: 1.6;
text-align: center;
}
.categories-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
width: 100%;
}
.home-categories-desc {
position: relative;
margin-top: 60px;
padding: 40px;
background: #ffffff;
border-radius: 24px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
border: 1px solid #F1F5F9;
color: #475569;
line-height: 1.8;
} .peeking-child-wrap {
position: absolute;
right: 0;
bottom: -10px;
width: 300px;
z-index: 5;
opacity: 0;
transform: translateX(55%) rotate(5deg);
transition: all 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none;
transition-delay: 0.5s;
}
.home-categories-desc.is-visible .peeking-child-wrap {
opacity: 1;
transform: translateX(92%) rotate(0deg);
}
.peeking-child-wrap img {
width: 100%;
height: auto;
display: block;
}
@media (max-width: 1200px) {
.peeking-child-wrap {
display: none;
}
}
.home-categories-desc-header {
margin-bottom: 40px;
}
.home-categories-desc-content h3,
.home-categories-desc-content h4,
.home-categories-desc-content strong {
color: #0f172a;
font-weight: 800;
margin-top: 1.5em;
margin-bottom: 0.5em;
display: block;
}
.home-categories-desc-content p {
margin-bottom: 1em;
}
.home-categories-desc-content p:last-child {
margin-bottom: 0;
}
.category-card {
background: #ffffff;
border-radius: 24px;
overflow: hidden;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
border: 1px solid #F1F5F9;
display: flex;
flex-direction: column;
height: 100%;
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.category-card:hover {
transform: translateY(-12px);
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
}
.category-image {
width: 100%;
height: 255px;
overflow: hidden;
flex-shrink: 0;
}
.category-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s var(--ease);
}
.category-card:hover .category-image img {
transform: scale(1.05);
}
.image-placeholder {
width: 100%;
height: 100%;
background: #F1F5F9;
}
.category-content {
padding: 1.25rem 1.5rem;
flex-grow: 1;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.category-badge {
padding: 0.25rem 0.75rem;
border-radius: 6px;
font-weight: 800;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 0.75rem;
}
.cat-1 {
background: #DBEAFE;
color: #2563EB;
}
.cat-2 {
background: #DCFCE7;
color: #16A34A;
}
.cat-3 {
background: #FEF9C3;
color: #CA8A04;
}
.category-title {
font-size: 1.75rem;
font-weight: 900;
color: #0F172A;
margin-bottom: 0.5rem;
text-transform: uppercase;
min-height: 2.2rem;
}
.category-desc {
color: #64748B;
font-size: 0.9375rem;
margin-bottom: 1rem;
line-height: 1.4; }
.category-stats {
list-style: none;
padding: 0;
margin: 0 0 1.25rem 0;
width: 100%;
}
.category-stats li {
display: flex;
align-items: center;
gap: 0.75rem;
color: #0F172A;
font-weight: 600;
font-size: 1rem;
margin-bottom: 0.75rem;
}
.category-stats i {
color: var(--accent-red);
font-size: 1.1rem;
}
.btn-category {
width: 100%;
padding: 1.25rem;
border-radius: 16px;
font-weight: 800;
font-size: 1rem;
text-transform: capitalize;
margin-top: auto;
transition: 0.3s var(--ease);
}
.cat-btn-1,
.cat-btn-2,
.cat-btn-3 {
background: #020617;
color: #ffffff;
border: none;
}
.btn-category:hover {
background: var(--accent-red);
color: #ffffff;
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(227, 30, 36, 0.2);
} @media (max-width: 1024px) {
.categories-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.categories-grid {
grid-template-columns: 1fr;
}
.category-content {
padding: 2rem;
}
} .site-footer {
background: #F8FAFC;
color: #64748B;
padding: 5rem 0 3rem;
width: 100%;
border-top: 1px solid #E2E8F0;
}
.footer-grid {
display: grid;
grid-template-columns: 1.2fr 1fr 1fr 1.2fr;
gap: 3rem;
margin-bottom: 4rem;
}
.footer-heading {
font-size: 1rem;
font-weight: 700;
color: #0F172A;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 2rem;
}
.footer-desc {
font-size: 0.875rem;
line-height: 1.6;
margin-top: 2rem;
margin-bottom: 2rem;
max-width: 260px;
} .footer-socials {
display: flex;
gap: 1rem;
}
.footer-socials a {
width: 44px;
height: 44px;
background: #E2E8F0;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #475569;
font-size: 1rem;
transition: 0.3s var(--ease);
}
.footer-socials a:hover {
background: var(--accent-red);
color: #fff;
transform: translateY(-3px);
} .footer-links ul {
list-style: none;
padding: 0;
margin: 0;
}
.footer-links li {
margin-bottom: 1rem;
}
.footer-links a {
font-size: 0.9375rem;
color: #64748B;
}
.footer-links a:hover {
color: var(--accent-red);
} .contact-list {
display: flex;
flex-direction: column;
gap: 1.25rem;
}
.contact-item {
display: flex;
align-items: flex-start;
gap: 1rem;
font-size: 0.9375rem;
}
.contact-item i {
color: var(--accent-red);
font-size: 0.9rem;
margin-top: 0.3rem;
}
.contact-item a:hover {
color: var(--accent-red);
} .organizer-text {
font-size: 0.875rem;
font-weight: 600;
color: #475569;
margin-bottom: 1.5rem;
line-height: 1.5;
}
.footer-partner-img {
max-width: 100%;
height: auto;
} .footer-seo {
border-top: 1px solid #E2E8F0;
padding: 2.5rem 0;
font-size: 0.75rem;
line-height: 1.8;
color: #94A3B8;
text-align: justify;
}
.footer-bottom {
border-top: 1px solid #E2E8F0;
padding-top: 2rem;
}
.footer-bottom-flex {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.8125rem;
color: #94A3B8;
}
.footer-legal {
display: flex;
gap: 2rem;
}
.footer-legal a:hover {
color: var(--accent-red);
}
@media (max-width: 992px) {
.footer-grid {
grid-template-columns: 1fr 1fr;
gap: 4rem 2rem;
}
}
@media (max-width: 640px) {
.footer-grid {
grid-template-columns: 1fr;
}
.footer-bottom-flex {
flex-direction: column;
gap: 1rem;
text-align: center;
}
} .scroll-to-top {
position: fixed;
bottom: 30px;
right: 30px;
width: 50px;
height: 50px;
background: #020617;
color: #ffffff;
border: none;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 999;
opacity: 0;
visibility: hidden;
transition: all 0.3s var(--ease);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.scroll-to-top.visible {
opacity: 1;
visibility: visible;
}
.scroll-to-top:hover {
background: var(--accent-red);
transform: translateY(-5px);
box-shadow: 0 8px 25px rgba(227, 30, 36, 0.3);
}
.scroll-to-top i {
font-size: 1.25rem;
}
@media (max-width: 768px) {
.scroll-to-top {
bottom: 20px;
right: 20px;
width: 44px;
height: 44px;
}
} .home-starter-section {
background: #ffffff;
overflow: hidden;
}
.starter-pack-box {
position: relative;
background-color: #020617;
background-size: cover;
background-position: center;
border-radius: 40px;
padding: 5rem;
color: #ffffff;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
width: 100%;
max-width: 1200px;
margin: 0 auto;
} .peeking-girl-wrap {
position: absolute;
left: 0;
bottom: -10px;
width: 250px;
z-index: 5;
opacity: 0;
transform: translateX(-55%) rotate(-5deg);
transition: all 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none;
transition-delay: 0.5s;
}
.starter-pack-box.is-visible .peeking-girl-wrap {
opacity: 1;
transform: translateX(-88%) rotate(0deg);
}
.peeking-girl-wrap img {
width: 100%;
height: auto;
display: block;
}
@media (max-width: 1200px) {
.peeking-girl-wrap {
display: none;
}
}
.starter-pack-grid {
display: grid;
grid-template-columns: 4.5fr 5.5fr;
gap: 2rem;
align-items: center;
}
.starter-box-title {
font-family: var(--font-heading);
font-size: 3rem;
line-height: 1.1;
font-weight: 900;
margin-bottom: 2.5rem;
text-transform: uppercase;
letter-spacing: -0.02em;
color: #ffffff;
text-align: left;
}
.starter-box-title .text-red {
color: var(--accent-red);
}
.starter-features-list {
list-style: none;
padding: 0;
margin: 0 0 3rem 0;
text-align: left;
}
.starter-features-list li {
display: flex;
align-items: center;
gap: 1.25rem;
margin-bottom: 1.5rem;
font-size: 1.25rem;
font-weight: 500;
color: #CBD5E1;
transition: transform 0.3s var(--ease), color 0.3s var(--ease);
}
.starter-features-list li:hover {
transform: translateX(10px);
color: #ffffff;
}
.check-icon {
flex-shrink: 0;
width: 32px;
height: 32px;
background: rgba(227, 30, 36, 0.2);
border: 1px solid var(--accent-red);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent-red);
font-size: 0.875rem;
}
.btn-starter {
padding: 1.25rem 3rem;
font-size: 1.125rem;
}
.starter-pack-visual {
position: relative;
display: flex;
justify-content: flex-end;
align-items: center;
width: 100%;
}
.starter-image-wrap {
position: relative;
width: 120%; margin-right: -10%;
z-index: 1;
}
.starter-main-img {
width: 100%;
height: auto;
filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.4));
transition: transform 0.5s var(--ease);
}
.starter-pack-box:hover .starter-main-img {
transform: scale(1.05) rotate(2deg);
}
.top-badge {
position: absolute;
bottom: -10px;
right: 20px;
width: 110px;
height: 110px;
background: var(--accent-red);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-family: var(--font-heading);
font-weight: 900;
font-size: 1.75rem;
text-transform: uppercase;
transform: rotate(15deg);
box-shadow: 0 10px 25px rgba(227, 30, 36, 0.4);
border: 4px solid #020617;
z-index: 2;
}
@media (max-width: 1024px) {
.starter-pack-box {
padding: 4rem 3rem;
}
.starter-box-title {
font-size: 2.5rem;
}
}
@media (max-width: 768px) {
.starter-pack-grid {
grid-template-columns: 1fr;
gap: 3rem;
}
.starter-pack-box {
padding: 3rem 2rem;
text-align: center;
}
.starter-features-list li {
justify-content: center;
}
.starter-box-title {
font-size: 2rem;
}
.top-badge {
width: 80px;
height: 80px;
font-size: 1.25rem;
right: 0;
}
} .video-cta-section {
position: relative;
height: 550px;
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background-color: #020617;
overflow: hidden;
}
.video-cta-content {
max-width: 800px;
margin: 0 auto;
position: relative;
z-index: 2;
}
.video-cta-title {
font-family: var(--font-heading);
font-size: 3.5rem;
font-weight: 900;
margin-bottom: 1.5rem;
text-transform: uppercase;
color: #ffffff;
}
.video-cta-desc {
font-size: 1.125rem;
line-height: 1.6;
margin-bottom: 2.5rem;
color: rgba(255, 255, 255, 0.9);
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.btn-video-play {
width: 100px;
height: 100px;
background: var(--accent-red);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
border: none;
cursor: pointer;
transition: all 0.4s var(--ease);
box-shadow: 0 15px 35px rgba(227, 30, 36, 0.4);
margin: 0 auto;
text-decoration: none;
}
.btn-video-play i {
font-size: 2.5rem;
margin-left: 8px; }
.btn-video-play:hover {
background: #ffffff;
color: var(--accent-red);
transform: scale(1.1);
box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
} .video-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 10000;
display: none;
align-items: center;
justify-content: center;
}
.video-modal.active {
display: flex;
}
.video-modal-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(2, 6, 23, 0.95);
backdrop-filter: blur(10px);
}
.video-modal-container {
position: relative;
width: 95%;
max-width: 1400px;
aspect-ratio: 16/9;
max-height: 90vh;
background: #000;
border-radius: 24px;
overflow: hidden;
box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
z-index: 2;
}
.video-modal-content,
#video-iframe-container {
width: 100%;
height: 100%;
}
#video-iframe-container iframe {
width: 100%;
height: 100%;
border: none;
}
.video-modal-close {
position: absolute;
top: 20px;
right: 20px;
width: 44px;
height: 44px;
background: rgba(255, 255, 255, 0.1);
border: none;
border-radius: 50%;
color: #ffffff;
font-size: 1.25rem;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.3s var(--ease);
z-index: 10;
}
.video-modal-close:hover {
background: var(--accent-red);
transform: rotate(90deg);
}
@media (max-width: 768px) {
.video-cta-section {
padding: 6rem 1.5rem;
}
.video-cta-title {
font-size: 2.25rem;
}
.video-cta-desc {
font-size: 1.125rem;
}
} .testimonials-section {
background: var(--bg);
position: relative;
overflow: hidden;
z-index: 0;
}
.testimonials-section .container {
position: relative;
z-index: 2;
}
.section-background-text {
position: absolute;
bottom: -100px;
left: 50%;
transform: translateX(-50%);
font-size: clamp(10rem, 35vw, 30rem);
font-weight: 900;
color: rgba(15, 23, 42, 0.04);
z-index: 1;
white-space: nowrap;
pointer-events: none;
line-height: 1;
text-transform: uppercase;
user-select: none;
}
.testimonials-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
margin-top: 4rem;
}
.testimonial-card {
background: #ffffff;
padding: 3rem 2.5rem;
border-radius: 24px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.05);
border: 1px solid #F1F5F9;
display: flex;
flex-direction: column;
height: 100%;
transition: transform 0.3s var(--ease);
}
.testimonial-card:hover {
transform: translateY(-10px);
}
.testimonial-stars {
display: flex;
gap: 0.25rem;
margin-bottom: 2rem;
color: var(--accent-red);
font-size: 1rem;
}
.testimonial-content {
color: #475569;
font-size: 1rem;
line-height: 1.6;
margin-bottom: 2.5rem;
font-style: italic;
flex-grow: 1;
}
.testimonial-content p {
margin: 0;
}
.testimonial-author {
margin-top: auto;
border-top: 1px solid #F1F5F9;
padding-top: 1.5rem;
}
.author-name {
font-size: 1.125rem;
font-weight: 800;
color: var(--primary);
margin: 0;
}
.author-subtitle {
font-size: 0.75rem;
font-weight: 700;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-top: 0.25rem;
}
@media (max-width: 991px) {
.testimonials-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.testimonials-grid {
grid-template-columns: 1fr;
}
.testimonial-card {
padding: 2.5rem 2rem;
}
} .newsletter-section {
background-color: var(--accent-red);
color: #ffffff;
padding: 5rem 0;
position: relative;
z-index: 10;
}
.newsletter-grid {
display: flex;
justify-content: space-between;
align-items: center;
gap: 4rem;
}
.newsletter-text {
flex: 1;
}
.newsletter-title {
font-size: 2.5rem;
font-weight: 900;
text-transform: uppercase;
margin-bottom: 0.5rem;
color: #ffffff !important;
letter-spacing: -0.02em;
}
.newsletter-desc {
font-size: 1.125rem;
opacity: 0.95;
margin: 0;
font-weight: 500;
}
.newsletter-form-side {
flex: 1;
max-width: 550px;
} .newsletter-inline-form {
display: flex;
gap: 0.75rem;
}
.newsletter-input {
flex: 1;
height: 64px;
border-radius: 16px;
border: 2px solid #ffffff;
padding: 0 1.5rem;
font-size: 1rem;
outline: none;
background: #ffffff;
color: var(--primary);
font-weight: 500;
}
.newsletter-input::placeholder {
color: #94a3b8;
}
.newsletter-submit {
height: 64px;
padding: 0 2.5rem;
background-color: var(--primary);
color: #ffffff;
border: none;
border-radius: 16px;
font-weight: 800;
cursor: pointer;
transition: all 0.3s var(--ease);
text-transform: uppercase;
letter-spacing: 0.05em;
}
.newsletter-submit:hover {
background-color: #0f172a;
transform: translateY(-2px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.newsletter-rodo {
font-size: 0.7rem;
line-height: 1.4;
opacity: 0.9;
margin-top: 1rem;
}
.rodo-label {
display: flex;
align-items: flex-start;
gap: 0.75rem;
cursor: pointer;
color: #ffffff;
}
.rodo-label input[type="checkbox"] {
margin-top: 0.15rem;
width: 14px;
height: 14px;
accent-color: var(--primary);
}
@media (max-width: 1199px) {
.newsletter-title {
font-size: 2rem;
}
}
@media (max-width: 991px) {
.newsletter-grid {
flex-direction: column;
text-align: center;
gap: 2.5rem;
}
.newsletter-form-side {
width: 100%;
max-width: 100%;
}
.rodo-label {
justify-content: center;
text-align: left;
}
}
@media (max-width: 576px) {
.newsletter-inline-form {
flex-direction: column;
}
.newsletter-input,
.newsletter-submit {
width: 100%;
border-radius: 12px;
}
.newsletter-title {
font-size: 1.75rem;
}
} .partners-section {
background: #ffffff;
padding: 80px 0;
text-align: center;
}
.partners-wrapper {
position: relative;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
} .partners-peek {
position: absolute;
left: 0;
bottom: -80px;
width: 320px;
z-index: 5;
opacity: 0;
transform: translateX(-55%) rotate(-5deg);
transition: all 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none;
transition-delay: 0.5s;
}
.partners-section.is-visible .partners-peek {
opacity: 1;
transform: translateX(-80%) rotate(0deg);
}
@media (max-width: 1200px) {
.partners-peek {
display: none;
}
}
.partners-row {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
gap: 60px; margin-bottom: 80px; }
.partners-row:last-child {
margin-bottom: 0;
}
.partners-group {
flex: 0 1 auto;
min-width: 280px;
display: flex;
flex-direction: column;
align-items: center;
}
.partners-group-title {
font-size: 1rem;
font-weight: 800;
color: #475569; text-transform: uppercase;
letter-spacing: 0.15em;
margin-bottom: 30px; width: 100%;
}
.partners-logos-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 40px; width: 100%;
}
.partner-logo-item {
display: flex;
align-items: center;
justify-content: center;
transition: transform 0.3s var(--ease);
}
.partner-logo-item:hover {
transform: scale(1.05);
}
.partner-logo-item img {
width: auto;
height: auto;
max-width: 100%;
object-fit: contain;
}  .top-row .partner-logo-item img {
max-height: 80px;
} .middle-row .partner-logo-item img {
max-height: 55px;
} .bottom-row .partner-logo-item img {
max-height: 50px;
}
.partner-name-fallback {
font-weight: 700;
color: #94A3B8;
font-size: 1.25rem;
}
@media (max-width: 991px) {
.partners-row {
margin-bottom: 4rem;
}
.partners-row.top-row {
gap: 3rem;
}
.sponsor-glowny .partner-logo-item img,
.sponsor-tytularny .partner-logo-item img {
max-height: 140px;
}
}
@media (max-width: 768px) {
.partners-row.top-row {
grid-template-columns: 1fr;
}
.partners-logos-grid {
gap: 2.5rem;
}
.sponsorzy .partner-logo-item img {
max-height: 60px;
}
.partnerzy .partner-logo-item img {
max-height: 45px;
}
} .reveal-item {
opacity: 0;
transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
will-change: transform, opacity;
} .reveal-item.fade-up {
transform: translateY(50px);
}
.reveal-item.fade-down {
transform: translateY(-50px);
}
.reveal-item.fade-left {
transform: translateX(-50px);
}
.reveal-item.fade-right {
transform: translateX(50px);
}
.reveal-item.zoom-in {
transform: scale(0.92);
} .reveal-item.is-visible {
opacity: 1;
transform: translate(0, 0) scale(1);
} .delay-1 {
transition-delay: 0.1s;
}
.delay-2 {
transition-delay: 0.2s;
}
.delay-3 {
transition-delay: 0.3s;
}
.delay-4 {
transition-delay: 0.4s;
}
.delay-5 {
transition-delay: 0.5s;
}
.delay-6 {
transition-delay: 0.6s;
}
.delay-7 {
transition-delay: 0.7s;
}
.delay-8 {
transition-delay: 0.8s;
} .error-404 {
min-height: calc(100vh - 100px);
display: flex;
align-items: center;
justify-content: center;
position: relative;
padding-top: 15vw;
overflow: hidden;
background-color: #f8fafc;
}
.error-background-text {
position: absolute;
bottom: -10vw;
left: 50%;
transform: translateX(-50%);
font-size: 35vw;
font-weight: 900;
color: rgba(15, 23, 42, 0.03);
pointer-events: none;
line-height: 1;
z-index: 0;
white-space: nowrap;
}
.error-404 .container {
position: relative;
z-index: 1;
}
.error-404 .page-title {
font-size: clamp(2rem, 5vw, 4rem);
font-weight: 800;
margin-bottom: 1.5rem;
color: #0f172a;
line-height: 1.2;
}
.error-404 .page-content p {
font-size: clamp(1rem, 2vw, 1.25rem);
color: #64748b;
margin-bottom: 3rem;
max-width: 600px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.error-actions {
margin-top: 2rem;
text-align: center;
}
.error-actions .btn {
padding: 1.25rem 3rem;
font-size: 1.125rem;
}
@media (max-width: 768px) {
.error-404 {
padding-top: 40vw;
}
.error-background-text {
font-size: 60vw;
bottom: -5vw;
}
} .page-hero {
min-height: 650px;
padding: 120px 0;
position: relative;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
color: #fff;
overflow: hidden;
}
.page-hero-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(180deg, rgba(15, 23, 42, 0.75) 0%, rgba(15, 23, 42, 0.85) 100%);
z-index: 1;
}
.page-hero .container {
position: relative;
z-index: 2;
}
.page-hero-content {
margin: 0 auto;
text-align: center;
width: 100%;
}
.page-hero-badge {
display: inline-block;
background: #334155;
color: #fff;
padding: 8px 20px;
border-radius: 999px;
font-size: 0.8rem;
font-weight: 800;
letter-spacing: 0.1em;
text-transform: uppercase;
margin-bottom: 2rem;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}
.page-hero-title {
font-size: clamp(2.5rem, 6vw, 4rem);
font-weight: 900;
margin: 0 auto 1.5rem;
line-height: 1.1;
color: #fff;
letter-spacing: -0.02em;
text-align: center;
}
.page-hero-subtitle {
font-size: clamp(1.1rem, 2vw, 1.35rem);
color: rgba(255, 255, 255, 0.85);
max-width: 750px;
margin: 0 auto;
line-height: 1.6;
text-align: center;
} .page-default-content {
background-color: #ffffff;
padding: 6rem 0;
}
.entry-content {
font-size: 1.15rem;
line-height: 1.9;
color: #1e293b;
margin: 0 auto;
}
.entry-content p {
margin-bottom: 2rem;
} .text-red {
color: var(--accent-red);
}
.underline-green {
position: relative;
display: inline-block;
}
.underline-green::after {
content: '';
position: absolute;
bottom: -8px;
left: 0;
width: 100%;
height: 12px;
background-image: url("data:image/svg+xml,%3Csvg width='240' height='10' viewBox='0 0 240 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2 8C50 3 150 2 238 5' stroke='%2322C55E' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E");
background-size: 100% 100%;
background-repeat: no-repeat;
z-index: -1;
}
@media (max-width: 768px) {
.page-hero {
min-height: 400px;
padding: 160px 0 60px;
}
.page-hero-title {
font-size: 2.25rem;
}
} .contact-section {
background-color: #fcfcfc;
}
.contact-grid {
display: grid;
grid-template-columns: 1.2fr 0.8fr;
gap: 3rem;
align-items: start;
}
.contact-card {
background: #fff;
border-radius: 2rem;
padding: 3rem;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
border: 1px solid rgba(0, 0, 0, 0.05);
}
.contact-card-header {
display: flex;
gap: 1.5rem;
align-items: flex-start;
margin-bottom: 2.5rem;
}
.header-icon {
width: 48px;
height: 48px;
background: #fff1f2;
color: var(--accent-red);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
}
.header-text h3 {
font-size: 1.75rem;
font-weight: 800;
margin-bottom: 0.5rem;
color: #0f172a;
}
.header-text p {
color: #64748b;
font-size: 1rem;
line-height: 1.5;
} .contact-info-column {
display: flex;
flex-direction: column;
gap: 1.5rem;
}
.contact-info-box {
border-radius: 1.5rem;
padding: 1.5rem 2rem;
transition: var(--transition);
}
.contact-info-box:hover {
transform: translateY(-5px);
}
.box-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 1rem;
}
.box-title h4 {
font-size: 1.25rem;
font-weight: 800;
margin-bottom: 0.25rem;
color: #0f172a;
}
.box-title p {
font-size: 0.85rem;
color: #64748b;
}
.box-icon {
font-size: 1.25rem;
}
.box-content {
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.info-item {
display: flex;
align-items: center;
gap: 1rem;
}
.info-icon-circle {
width: 32px;
height: 32px;
background: rgba(255, 255, 255, 0.8);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.85rem;
color: #64748b;
}
.info-item a {
color: #0f172a;
font-weight: 600;
text-decoration: none;
font-size: 1.1rem;
transition: color 0.3s;
}
.info-item a:hover {
color: var(--accent-red);
} .box-biuro {
background-color: #fef2f2; }
.box-biuro .box-icon {
color: var(--accent-red);
}
.box-coop {
background-color: #fff;
border: 1px solid #f1f5f9;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}
.box-coop .box-icon {
color: #f43f5e;
}
.box-volunteer {
background-color: #f0fdf4; }
.box-volunteer .box-icon {
color: #22c55e;
}
.box-volunteer .info-icon-circle i {
color: #22c55e;
} @media (max-width: 992px) {
.contact-grid {
grid-template-columns: 1fr;
}
}
@media (max-width: 768px) {
.contact-card {
padding: 2rem;
}
} .contact-social-bar {
margin-top: 4rem;
}
.social-bar-content {
background: #fff;
border-radius: 999px;
padding: 1rem 2.5rem;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
border: 1px solid rgba(0, 0, 0, 0.05);
}
.social-bar-info {
display: flex;
align-items: center;
gap: 1.5rem;
}
.social-bar-icon {
width: 48px;
height: 48px;
background: #fff1f2;
color: var(--accent-red);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.1rem;
}
.social-bar-text h4 {
font-size: 1.125rem;
font-weight: 800;
color: #0f172a;
margin-bottom: 0.125rem;
}
.social-bar-text p {
font-size: 0.875rem;
color: #64748b;
}
.social-bar-links {
display: flex;
gap: 1rem;
}
.social-link-circle {
width: 42px;
height: 42px;
background: #f8fafc;
color: #334155;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1rem;
transition: var(--transition);
}
.social-link-circle:hover {
background: var(--accent);
color: #fff;
transform: translateY(-3px);
box-shadow: 0 10px 15px -3px rgba(227, 30, 36, 0.2);
}
@media (max-width: 768px) {
.social-bar-content {
flex-direction: column;
border-radius: 2rem;
padding: 2rem;
text-align: center;
gap: 1.5rem;
}
.social-bar-info {
flex-direction: column;
gap: 0.75rem;
}
} .contact-faq-section {
position: relative;
}
.faq-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
}
.faq-card {
background: #fff;
padding: 2.5rem;
border-radius: 2rem;
border: 1px solid #f1f5f9;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.02);
transition: var(--transition);
display: flex;
flex-direction: column;
align-items: flex-start;
}
.faq-card:hover {
transform: translateY(-8px);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
}
.faq-card-icon-wrapper {
width: 48px;
height: 48px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 1.5rem;
font-size: 1.25rem;
}
.faq-card-icon-wrapper.color-green {
background: #f0fdf4;
color: #22c55e;
}
.faq-card-icon-wrapper.color-red {
background: #fef2f2;
color: var(--accent-red);
}
.faq-card-icon-wrapper.color-pink {
background: #fdf2f8;
color: #db2777;
}
.faq-card-content h4 {
font-size: 1.25rem;
font-weight: 800;
color: #0f172a;
margin-bottom: 1rem;
line-height: 1.3;
}
.faq-card-content p {
font-size: 0.9375rem;
line-height: 1.6;
color: #64748b;
}
@media (max-width: 992px) {
.faq-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.faq-grid {
grid-template-columns: 1fr;
}
.faq-header .section-title {
font-size: 2rem;
}
} .contact-faq-section-wrapper {
background-color: #ffffff;
border-top: 1px solid #f1f5f9;
} .about-mission-section {
background-color: #fff;
}
.mission-badge {
color: var(--accent);
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.1em;
font-size: 0.875rem;
display: inline-block;
margin-bottom: 1rem;
}
.mission-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 2.5rem;
margin: 0 auto;
width: 100%; }
.mission-card {
background: #fff;
padding: 3rem;
border-radius: 1rem;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05);
border-left: 6px solid var(--accent);
display: flex;
flex-direction: column;
align-items: flex-start;
transition: var(--transition);
}
.mission-card:hover {
transform: translateY(-10px);
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.08);
}
.card-icon-wrapper {
width: 60px;
height: 60px;
background: #fff1f2;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 2rem;
}
.card-icon {
color: var(--accent);
font-size: 1.5rem;
}
.card-content h3 {
font-size: 1.5rem;
font-weight: 800;
color: var(--primary);
margin-bottom: 1.25rem;
text-transform: uppercase;
}
.card-content p {
color: var(--text-muted);
line-height: 1.7;
font-size: 1rem;
}
@media (max-width: 900px) {
.mission-grid {
grid-template-columns: 1fr;
}
.mission-card {
padding: 2rem;
}
} .about-history-section {
position: relative;
overflow: hidden;
background-color: #fcfcfc;
}
.history-bg-text {
position: absolute;
bottom: -5px;
left: 50%;
transform: translateX(-50%);
font-size: clamp(8rem, 20vw, 350px);
font-weight: 1000;
color: rgba(15, 23, 42, 0.03);
text-transform: uppercase;
white-space: nowrap;
z-index: 0;
pointer-events: none;
line-height: 0.75;
margin: 0;
}
.timeline-container {
position: relative;
max-width: 1100px;
margin: 0 auto;
padding: 2rem 0;
}
.timeline-line {
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 2px;
background: rgba(227, 30, 36, 0.15);
transform: translateX(-50%);
}
.timeline-item {
position: relative;
margin-bottom: 4rem;
width: 100%;
}
.timeline-item:last-child {
margin-bottom: 0;
}
.timeline-content-wrapper {
display: flex;
align-items: center;
width: 100%;
}
.timeline-item-odd .timeline-content-wrapper {
flex-direction: row;
}
.timeline-item-even .timeline-content-wrapper {
flex-direction: row-reverse;
} .timeline-year-label,
.timeline-card {
width: calc(50% - 55px);
}
.timeline-year-label {
display: flex;
flex-direction: column;
}
.timeline-item-odd .timeline-year-label {
text-align: right;
}
.timeline-item-even .timeline-year-label {
text-align: left;
}
.timeline-year-label .year {
font-size: 2.5rem;
font-weight: 900;
color: var(--accent);
line-height: 1;
margin-bottom: 0.5rem;
}
.timeline-year-label .label {
font-size: 0.875rem;
font-weight: 800;
color: var(--primary);
text-transform: uppercase;
letter-spacing: 0.1em;
}
.timeline-dot {
width: 110px;
display: flex;
justify-content: center;
position: relative;
z-index: 2;
}
.dot-inner {
width: 50px;
height: 50px;
background: var(--accent);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
box-shadow: 0 0 0 8px #fff, 0 10px 25px rgba(227, 30, 36, 0.3);
}
.timeline-card {
background: #fff;
padding: 2.5rem;
border-radius: 1rem;
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.04);
border: 1px solid rgba(0, 0, 0, 0.03);
border-bottom: 4px solid #fff;
transition: var(--transition);
}
.timeline-item-even .timeline-card {
border-bottom-color: rgba(227, 30, 36, 0.1);
}
.timeline-item:hover .timeline-card {
transform: translateY(-5px);
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
border-bottom-color: var(--accent);
}
.timeline-card h3 {
font-size: 1.25rem;
font-weight: 800;
color: var(--primary);
margin-bottom: 1rem;
text-transform: uppercase;
}
.timeline-card p {
font-size: 0.9375rem;
color: var(--text-muted);
line-height: 1.6;
} @media (max-width: 991px) {
.timeline-line {
left: 40px;
}
.timeline-item-odd .timeline-content-wrapper,
.timeline-item-even .timeline-content-wrapper {
flex-direction: column;
align-items: flex-start;
padding-left: 80px;
}
.timeline-year-label,
.timeline-card {
width: 100%;
text-align: left !important;
}
.timeline-dot {
position: absolute;
left: 0;
top: 0;
width: auto;
}
.timeline-year-label {
margin-bottom: 1.5rem;
}
.history-bg-text,
.how-background-text {
font-size: 15rem; }
}
@media (max-width: 767px) {
.history-bg-text,
.how-background-text {
font-size: 8rem; bottom: 5%; }
} .about-obstacles-section {
background-color: var(--accent); color: white;
text-align: center;
}
.about-obstacles-section .section-title {
color: white;
}
.about-obstacles-section .section-subtitle {
color: rgba(255, 255, 255, 0.9);
}
.obstacles-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
margin-top: 4rem;
margin-bottom: 5rem;
}
.obstacle-card {
background: rgba(255, 255, 255, 0.10);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border: 1px solid rgba(255, 255, 255, 0.25);
padding: 3.5rem 2.5rem;
border-radius: 2rem;
transition: var(--transition);
display: flex;
flex-direction: column;
align-items: center;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}
.obstacle-card:hover {
transform: translateY(-10px);
background: rgba(255, 255, 255, 0.18);
border-color: rgba(255, 255, 255, 0.4);
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.2);
}
.obstacle-icon {
font-size: 2.5rem;
margin-bottom: 2.25rem;
color: white;
width: 80px;
height: 80px;
background: rgba(255, 255, 255, 0.15);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: var(--transition);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.obstacle-card:hover .obstacle-icon {
background: white;
color: var(--accent);
transform: rotate(10deg);
}
.obstacle-card h3 {
font-size: 1.375rem;
font-weight: 900;
margin-bottom: 1.25rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #ffffff;
}
.obstacle-card p {
font-size: 1rem;
line-height: 1.7;
color: #ffffff;
font-weight: 500;
} .obstacles-footer {
display: flex;
justify-content: center;
gap: 4rem;
padding-top: 3rem;
border-top: 1px solid rgba(255, 255, 255, 0.2);
}
.obstacles-footer .footer-item {
display: flex;
align-items: center;
gap: 1rem;
font-weight: 800;
text-transform: uppercase;
font-size: 0.875rem;
letter-spacing: 0.1em;
}
.obstacles-footer .footer-item i {
font-size: 1.25rem;
}
@media (max-width: 991px) {
.obstacles-grid {
grid-template-columns: 1fr;
gap: 1.5rem;
}
.obstacles-footer {
flex-direction: column;
gap: 1.5rem;
align-items: center;
}
} .about-cta-section {
position: relative;
padding: 100px 0;
background-color: #1a1a1a;
background-size: cover;
background-position: center;
background-attachment: fixed;
overflow: hidden;
}
.cta-overlay {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.4);
z-index: 1;
}
.about-cta-section .container {
position: relative;
z-index: 2;
}
.cta-banner {
background-color: transparent;
padding: 2rem 0;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
box-shadow: none;
}
.cta-content {
flex: 1;
position: relative;
z-index: 2;
}
.cta-title {
font-size: clamp(1.75rem, 4vw, 2.5rem);
font-weight: 900;
color: white;
margin-bottom: 0.75rem;
text-transform: uppercase;
line-height: 1.1;
}
.cta-desc {
font-size: 1.125rem;
color: rgba(255, 255, 255, 0.9);
font-weight: 500;
}
.cta-actions {
margin-left: 3rem;
position: relative;
z-index: 2;
}
.cta-button-white {
display: inline-block;
background: white;
color: var(--accent);
padding: 1.25rem 2.5rem;
border-radius: 1rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.05em;
text-decoration: none;
transition: var(--transition);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
white-space: nowrap;
}
.cta-button-white:hover {
transform: translateY(-5px);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
background: #f8f8f8;
color: var(--accent-hover);
} .cta-circle {
display: none;
}
@media (max-width: 991px) {
.cta-banner {
flex-direction: column;
text-align: center;
padding: 2rem 1rem;
}
.cta-actions {
margin-left: 0;
margin-top: 2.5rem;
}
.cta-title {
font-size: 2rem;
}
.about-cta-section {
padding: 60px 0;
}
}  @media (min-width: 993px) {
.main-navigation li {
position: relative;
}
.main-navigation .sub-menu {
position: absolute;
top: 100%;
left: 0;
background: white;
min-width: 220px;
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
border-radius: 0.75rem;
padding: 0.5rem 0;
opacity: 0;
visibility: hidden;
transform: translateY(15px);
transition: var(--transition);
z-index: 100;
display: block !important;
border-top: 3px solid var(--accent);
margin-top: 10px;
} .main-navigation .sub-menu::before {
content: '';
position: absolute;
top: -15px;
left: 0;
width: 100%;
height: 15px;
background: transparent;
}
.main-navigation li:hover>.sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.main-navigation .sub-menu li {
width: 100%;
margin: 0;
}
.main-navigation .sub-menu a {
display: block;
padding: 0.5rem 1.5rem;
font-size: 0.9375rem;
font-weight: 500;
color: var(--text);
white-space: nowrap;
}
.main-navigation .sub-menu a:hover {
background: var(--bg-alt);
color: var(--accent);
padding-left: 1.75rem;
}
} .mobile-menu-toggle {
display: none;
background: transparent;
border: none;
cursor: pointer;
padding: 0.5rem;
position: relative;
z-index: 1100;
width: 44px;
height: 44px;
}
.hamburger-icon {
width: 24px;
height: 18px;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.hamburger-icon span {
display: block;
width: 100%;
height: 2px;
background-color: var(--primary);
border-radius: 2px;
transition: var(--transition);
}
.menu-open .hamburger-icon span:nth-child(1) {
transform: translateY(8px) rotate(45deg);
}
.menu-open .hamburger-icon span:nth-child(2) {
opacity: 0;
}
.menu-open .hamburger-icon span:nth-child(3) {
transform: translateY(-8px) rotate(-45deg);
}
.header-action-mobile {
display: none;
}
@media (max-width: 992px) {
.mobile-menu-toggle {
display: block;
}
.main-navigation {
position: fixed;
top: 0;
right: 0;
width: 80%;
max-width: 400px;
height: 100vh;
background: white;
z-index: 1050;
padding: 100px 2rem 50px;
transition: transform 0.4s var(--ease), visibility 0.4s;
box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
display: block !important;
transform: translateX(100%);
visibility: hidden;
}
.menu-open .main-navigation {
transform: translateX(0);
visibility: visible;
}
.main-navigation ul {
flex-direction: column;
gap: 1.5rem;
}
.main-navigation a {
font-size: 1.25rem;
font-weight: 700;
}
.main-navigation .sub-menu {
display: none;
}
.main-navigation .menu-item-has-children.active>.sub-menu,
.main-navigation .menu-item-has-children:hover>.sub-menu {
display: block;
}
.main-navigation .sub-menu .sub-menu {
margin-top: 0;
padding-left: 1rem;
border-left: 2px solid var(--accent);
}
.main-navigation .sub-menu a {
font-size: 1rem;
font-weight: 500;
color: var(--text-muted);
padding: 0.5rem 0;
}
.header-action-mobile {
display: block;
margin-top: 2.5rem;
}
.header-action-mobile .btn-primary {
background: var(--accent-red);
color: #FFFFFF;
border-radius: 9999px;
padding: 14px 24px;
font-weight: 700;
font-size: 16px;
text-transform: uppercase;
text-align: center;
display: block;
width: 100%;
box-shadow: 0px 4px 6px -4px rgba(227, 30, 36, 0.2), 0px 10px 15px -3px rgba(227, 30, 36, 0.2);
}
} .menu-item-has-children>a {
display: flex;
align-items: center;
}
.menu-item-has-children>a::after {
content: '\f107';
font-family: 'Font Awesome 6 Free';
font-weight: 900;
font-size: 0.7rem;
margin-left: 0.5rem;
opacity: 0.6;
transition: var(--transition);
}
.menu-item-has-children:hover>a::after {
transform: rotate(180deg);
opacity: 1;
} @media (max-width: 992px) {
.menu-item-has-children>a::after {
margin-left: auto;
}
} @media (max-width: 576px) {
.header-action .btn-primary {
padding: 8px 16px;
font-size: 14px;
white-space: nowrap;
}
.site-branding img {
height: 50px;
}
}
.no-scroll {
overflow: hidden;
} .about-gallery-section {
padding: 100px 0;
background-color: #ffffff;
overflow: hidden;
}
.gallery-swiper-outer {
margin-top: 3rem;
position: relative;
padding: 0 40px;
}
.aboutGallerySwiper {
width: 100%;
height: 450px;
border-radius: 20px;
}
.aboutGallerySwiper .swiper-slide {
width: auto;
height: 100%;
}
.gallery-img-wrapper {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
border-radius: 1.5rem;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}
.gallery-img-wrapper img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.gallery-img-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(180deg, rgba(227, 6, 19, 0) 0%, rgba(227, 6, 19, 0.1) 100%);
opacity: 0;
transition: opacity 0.4s ease;
}
.gallery-img-wrapper:hover img {
transform: scale(1.08);
}
.gallery-img-wrapper:hover .gallery-img-overlay {
opacity: 1;
} .aboutGallerySwiper .swiper-button-next,
.aboutGallerySwiper .swiper-button-prev {
width: 50px;
height: 50px;
background: rgba(255, 255, 255, 0.9);
backdrop-filter: blur(10px);
border-radius: 50%;
color: var(--accent);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.aboutGallerySwiper .swiper-button-next::after,
.aboutGallerySwiper .swiper-button-prev::after {
font-size: 1.25rem;
font-weight: 900;
}
.aboutGallerySwiper .swiper-pagination-bullet {
background: var(--accent);
opacity: 0.3;
}
.aboutGallerySwiper .swiper-pagination-bullet-active {
opacity: 1;
width: 24px;
border-radius: 5px;
}
@media (max-width: 991px) {
.about-gallery-section {
padding: 60px 0;
}
.aboutGallerySwiper {
height: 350px;
}
.gallery-swiper-outer {
padding: 0 15px;
}
.aboutGallerySwiper .swiper-button-next,
.aboutGallerySwiper .swiper-button-prev {
display: none; }
}
@media (max-width: 767px) {
.aboutGallerySwiper {
height: 280px;
}
} .newsletter-form-side .fluentform {
max-width: 100% !important;
}
.newsletter-form-side .ff_form_instance_2 {
display: flex !important;
gap: 0.75rem !important;
flex-wrap: wrap;
}
.newsletter-form-side .ff_form_instance_2 .ff-el-group {
flex: 1;
margin-bottom: 0 !important;
min-width: 250px;
}
.newsletter-form-side .ff_form_instance_2 input.ff-el-form-control {
height: 64px !important;
border-radius: 16px !important;
border: 2px solid #ffffff !important;
padding: 0 1.5rem !important;
font-size: 1rem !important;
background: #ffffff !important;
color: var(--primary) !important;
font-weight: 500 !important;
}
.newsletter-form-side .ff_form_instance_2 .ff-el-form-control::placeholder {
color: #94a3b8 !important;
}
.newsletter-form-side .ff_form_instance_2 .ff_btn_container {
margin-top: 0 !important;
}
.newsletter-form-side .ff_form_instance_2 button.ff-btn-submit {
height: 64px !important;
padding: 0 2.5rem !important;
background-color: var(--primary) !important;
color: #ffffff !important;
border: none !important;
border-radius: 16px !important;
font-weight: 800 !important;
text-transform: uppercase !important;
letter-spacing: 0.05em !important;
margin: 0 !important;
transition: all 0.3s var(--ease) !important;
}
.newsletter-form-side .ff_form_instance_2 button.ff-btn-submit:hover {
background-color: #0f172a !important;
transform: translateY(-2px) !important;
} .newsletter-form-side .ff-el-p-0 {
padding: 0 !important;
}
.newsletter-form-side .ff-el-is-label-inline {
display: none !important;
}
@media (max-width: 640px) {
.newsletter-form-side .ff_form_instance_2 {
flex-direction: column !important;
}
.newsletter-form-side .ff_form_instance_2 .ff-el-group {
width: 100% !important;
min-width: 100% !important;
}
.newsletter-form-side .ff_form_instance_2 button.ff-btn-submit {
width: 100% !important;
}
}
.fluentform .ff-el-group {
margin-bottom: 0 !important;
} .coop-packages-section {
background-color: #fbfbfb;
}
.coop-packages-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-top: 50px;
align-items: center;
}
.coop-package-card {
background: #ffffff;
border-radius: 24px;
padding: 40px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
border: 2px solid transparent;
transition: all 0.3s var(--ease);
position: relative;
display: flex;
flex-direction: column;
height: 100%;
}
.coop-package-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
}
.coop-package-card.is-featured {
border-color: var(--accent-red);
box-shadow: 0 20px 50px rgba(225, 29, 72, 0.15);
z-index: 2;
transform: scale(1.05);
}
.coop-package-card.is-featured:hover {
transform: scale(1.05) translateY(-5px);
}
.package-featured-badge {
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -50%);
background: var(--accent-red);
color: #ffffff;
padding: 6px 20px;
border-radius: 100px;
font-size: 0.75rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.05em;
white-space: nowrap;
}
.package-header {
margin-bottom: 10px;
}
.package-badge {
display: block;
font-size: 0.875rem;
font-weight: 800;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 10px;
}
.is-featured .package-badge {
color: var(--accent-red);
}
.package-title {
font-size: 2.5rem;
font-weight: 900;
color: #0f172a;
line-height: 1.1;
margin: 0;
}
.package-suffix {
font-size: 1rem;
color: #94a3b8;
font-weight: 500;
margin-left: 5px;
}
.is-featured .package-suffix {
color: rgba(255, 255, 255, 0.8);
}
.package-features {
list-style: none;
padding: 0;
margin: 0 0 40px 0;
flex-grow: 1;
}
.package-features li {
display: flex;
align-items: flex-start;
gap: 12px;
margin-bottom: 16px;
font-size: 1rem;
color: #334155;
line-height: 1.4;
}
.is-featured .package-features li {
color: #fff;
}
.package-features li i {
color: var(--accent-red);
font-size: 1.125rem;
margin-top: 3px;
}
.is-featured .package-features li i {
color: #fff;
}
.package-footer {
margin-top: auto;
}
.package-btn {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 60px;
background-color: #f1f5f9;
color: #0f172a;
border-radius: 14px;
font-weight: 800;
text-decoration: none;
transition: all 0.3s var(--ease);
}
.package-btn:hover {
background-color: #e2e8f0;
color: #000;
}
.is-featured .package-btn {
background-color: var(--accent-red);
color: #ffffff;
box-shadow: 0 10px 20px rgba(225, 29, 72, 0.2);
}
.is-featured .package-btn:hover {
background-color: #be123c;
transform: scale(1.02);
}
@media (max-width: 1024px) {
.coop-packages-grid {
grid-template-columns: repeat(2, 1fr);
}
.coop-package-card.is-featured {
transform: none;
grid-column: span 2;
}
.coop-package-card.is-featured:hover {
transform: translateY(-5px);
}
}
@media (max-width: 768px) {
.coop-packages-grid {
grid-template-columns: 1fr;
}
.coop-package-card.is-featured {
grid-column: span 1;
}
.package-title {
font-size: 2rem;
}
} .coop-packages-list {
display: flex;
flex-direction: column;
gap: 40px;
margin-top: 50px;
}
.coop-package-row {
background: #ffffff;
border-radius: 30px;
padding: 0;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.04);
border: 1px solid #f1f5f9;
transition: all 0.3s var(--ease);
position: relative;
overflow: hidden;
}
.coop-package-row:hover {
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
border-color: #e2e8f0;
}
.coop-package-row.is-featured {
border: 2px solid var(--accent-red);
box-shadow: 0 20px 50px rgba(225, 29, 72, 0.1);
}
.package-row-badge {
position: absolute;
top: 20px;
right: 30px;
background: var(--accent-red);
color: #ffffff;
padding: 5px 15px;
border-radius: 100px;
font-size: 0.7rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.05em;
z-index: 10;
}
.package-row-main {
display: flex;
width: 100%;
}
.package-info-col {
width: 30%;
padding: 60px 40px;
background: #fbfbfb;
border-right: 1px solid #f1f5f9;
display: flex;
flex-direction: column;
justify-content: center;
}
.is-featured .package-info-col {
background: rgba(225, 29, 72, 0.02);
}
.package-details-col {
width: 70%;
padding: 60px 50px;
display: flex;
gap: 40px;
}
.details-group {
flex: 1;
}
.details-title {
font-size: 0.875rem;
font-weight: 800;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 25px;
display: flex;
align-items: center;
gap: 10px;
}
.details-title::after {
content: '';
height: 1px;
flex: 1;
background: #f1f5f9;
}
.package-features {
list-style: none;
padding: 0;
margin: 0;
display: grid;
grid-template-columns: 1fr;
gap: 12px;
}
.package-features li {
display: flex;
align-items: flex-start;
gap: 12px;
font-size: 0.9375rem;
color: #334155;
line-height: 1.4;
}
.package-features li i {
color: var(--accent-red);
font-size: 1rem;
margin-top: 2px;
flex-shrink: 0;
}
@media (max-width: 1200px) {
.package-info-col {
width: 35%;
}
.package-details-col {
width: 65%;
}
}
@media (max-width: 992px) {
.package-row-main {
flex-direction: column;
}
.package-info-col {
width: 100%;
padding: 40px;
border-right: none;
border-bottom: 1px solid #f1f5f9;
text-align: center;
}
.package-details-col {
width: 100%;
padding: 40px;
flex-direction: column;
gap: 30px;
}
}
@media (max-width: 640px) {
.package-title {
font-size: 2rem;
}
.package-details-col {
padding: 30px 20px;
}
} .coop-package-row {
padding: 0 !important;
}
.package-row-header {
padding: 40px 50px 30px;
background: #fbfbfb;
border-bottom: 1px solid #f1f5f9;
}
.is-featured .package-row-header {
background: rgba(225, 29, 72, 0.02);
}
.package-row-header .package-badge {
margin-bottom: 5px;
}
.package-row-header .package-title {
font-size: 2.25rem;
}
.package-row-details {
padding: 40px 50px 50px;
display: flex;
gap: 60px;
}
@media (max-width: 992px) {
.package-row-header {
padding: 30px;
text-align: center;
}
.package-row-details {
padding: 30px;
flex-direction: column;
gap: 30px;
}
} .package-row-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 30px;
}
.package-row-header .package-badge {
margin-bottom: 0;
font-size: 1rem; padding: 8px 20px;
background: #f1f5f9;
border-radius: 8px;
order: 2; }
.is-featured .package-row-header .package-badge {
background: rgba(225, 29, 72, 0.1);
}
.package-row-header .package-title {
order: 1; }
@media (max-width: 768px) {
.package-row-header {
flex-direction: column;
gap: 10px;
}
.package-row-header .package-badge {
order: 1;
}
.package-row-header .package-title {
order: 2;
}
} .package-row-header {
display: block !important;
text-align: left;
}
.package-row-header .package-badge {
display: inline-block !important;
margin-bottom: 10px !important;
order: 0 !important;
background: none !important;
padding: 0 !important;
font-size: 0.875rem !important;
color: #94a3b8 !important;
}
.is-featured .package-row-header .package-badge {
color: var(--accent-red) !important;
}
.package-row-header .package-title {
order: 0 !important;
}  .package-row-header {
display: flex !important;
align-items: center;
justify-content: space-between;
gap: 30px;
padding: 30px 50px !important; }
.header-left {
display: flex;
flex-direction: column;
}
.package-row-badge {
position: static !important; transform: none !important;
font-size: 0.9rem !important; padding: 10px 25px !important;
white-space: nowrap;
}
@media (max-width: 992px) {
.package-row-header {
flex-direction: column;
text-align: center;
gap: 20px;
padding: 30px !important;
}
.header-left {
align-items: center;
}
} .coop-contact-section {
background-color: #f7f7f7;
}
.coop-contact-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 80px;
align-items: center;
}
.coop-contact-info .section-title {
font-size: 3rem;
margin-bottom: 30px;
line-height: 1.1;
}
.coop-contact-info .section-desc {
font-size: 1.125rem;
line-height: 1.6;
margin-bottom: 40px;
color: #64748b;
text-align: left;
}
.contact-details-list {
display: flex;
flex-direction: column;
gap: 25px;
}
.contact-detail-item {
display: flex;
align-items: center;
gap: 20px;
}
.detail-icon {
width: 60px;
height: 60px;
background: rgba(225, 29, 72, 0.1);
color: var(--accent-red);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.25rem;
flex-shrink: 0;
}
.detail-label {
display: block;
font-size: 0.75rem;
font-weight: 800;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 2px;
}
.detail-link {
font-size: 1.25rem;
font-weight: 900;
color: #0f172a;
text-decoration: none;
transition: color 0.3s var(--ease);
}
.detail-link:hover {
color: var(--accent-red);
}
.coop-contact-card {
background: #ffffff;
border-radius: 40px;
padding: 45px;
box-shadow: 0 40px 100px rgba(0, 0, 0, 0.08);
} .coop-contact-card .fluent_form_3 .ff-el-form-control,
.coop-contact-card .fluent_form_3 .ff-el-net-control {
background: #f8fafc;
border: 1px solid #f1f5f9;
border-radius: 14px;
height: 60px;
padding: 10px 20px;
font-size: 1rem;
font-weight: 600;
}
.coop-contact-card .fluent_form_3 textarea.ff-el-form-control {
height: 150px;
}
.coop-contact-card .fluent_form_3 .ff-el-form-control:focus {
background: #fff;
border-color: var(--accent-red);
box-shadow: 0 0 0 4px rgba(225, 29, 72, 0.1);
}
.coop-contact-card .fluent_form_3 label {
font-size: 0.75rem;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #64748b;
margin-bottom: 8px;
}
.coop-contact-card .fluent_form_3 .ff-btn-submit {
width: 100%;
height: 70px;
background-color: var(--accent-red) !important;
color: #fff !important;
border-radius: 18px !important;
font-size: 1.25rem !important;
font-weight: 900 !important;
border: none !important;
box-shadow: 0 15px 35px rgba(225, 29, 72, 0.3) !important;
transition: all 0.3s var(--ease) !important;
margin-top: 20px;
}
.coop-contact-card .fluent_form_3 .ff-btn-submit:hover {
transform: translateY(-3px);
box-shadow: 0 20px 45px rgba(225, 29, 72, 0.4) !important;
background-color: #be123c !important;
}
.form-placeholder {
padding: 60px 40px;
text-align: center;
background: #f8fafc;
border: 2px dashed #e2e8f0;
border-radius: 20px;
color: #94a3b8;
}
@media (max-width: 1024px) {
.coop-contact-grid {
grid-template-columns: 1fr;
gap: 60px;
}
.coop-contact-info {
text-align: center;
}
.contact-details-list {
align-items: center;
}
}
@media (max-width: 768px) {
.coop-contact-info .section-title {
font-size: 2.25rem;
}
.coop-contact-card {
padding: 40px 30px;
}
} .coop-contact-info {
text-align: left;
}
.coop-contact-info .section-title {
text-align: left !important;
margin-left: 0;
} .coop-contact-card .fluent_form_3 .ff-el-tc,
.coop-contact-card .fluent_form_3 .ff-el-tc-label,
.coop-contact-card .fluent_form_3 .ff-el-form-check-label {
font-size: 0.75rem !important;
text-transform: none !important;
letter-spacing: normal !important;
font-weight: 400 !important;
color: #94a3b8 !important;
line-height: 1.5 !important;
}
.coop-contact-card .fluent_form_3 .ff-el-tc p {
margin: 0;
font-size: inherit;
} .coop-packages-list.expandable-mode .coop-package-row {
cursor: pointer;
margin-bottom: 20px;
}
.coop-packages-list.expandable-mode .package-row-header {
padding: 25px 40px !important;
display: flex;
align-items: center;
justify-content: space-between;
transition: background 0.3s var(--ease);
}
.header-right {
display: flex;
align-items: center;
gap: 20px;
}
.package-toggle-btn {
width: 40px;
height: 40px;
border-radius: 50%;
background: #f1f5f9;
border: none;
display: flex;
align-items: center;
justify-content: center;
color: #0f172a;
transition: all 0.3s var(--ease);
}
.coop-package-row.is-open .package-toggle-btn {
transform: rotate(180deg);
background: var(--accent-red);
color: #fff;
}
.package-row-details {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 0.4s var(--ease);
padding: 0 !important;
overflow: hidden;
}
.coop-package-row.is-open .package-row-details {
grid-template-rows: 1fr;
}
.package-details-inner {
min-height: 0;
}
.details-grid {
padding: 40px 50px 50px;
display: flex;
gap: 60px;
}
@media (max-width: 992px) {
.details-grid {
flex-direction: column;
padding: 30px;
gap: 30px;
}
}
.coop-packages-list.expandable-mode {
gap: 30px !important;
max-width: 1400px;
margin-left: auto;
margin-right: auto;
}
.coop-packages-list.expandable-mode .coop-package-row {
margin-bottom: 30px;
}
.expandable-mode .package-row-header {
padding: 35px 50px !important;
}
.expandable-mode .package-title {
font-size: 2.5rem !important;
} .container.container-wide {
max-width: 1500px !important;
}
.coop-packages-list.expandable-mode {
gap: 40px !important;
}
.coop-packages-list.expandable-mode .coop-package-row {
margin-bottom: 40px !important;
border-radius: 40px; }
.expandable-mode .package-row-header {
padding: 40px 60px !important; }
.expandable-mode .package-title {
font-size: 2.75rem !important;
} .packages-tabs-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-bottom: 50px;
}
.package-tab-trigger {
background: #ffffff;
border-radius: 20px;
padding: 30px;
border: 1px solid #f1f5f9;
cursor: pointer;
transition: all 0.3s var(--ease);
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
position: relative;
overflow: hidden;
text-align: center;
}
.package-tab-trigger:hover {
transform: translateY(-5px);
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}
.package-tab-trigger.is-active {
border-color: var(--accent-red);
box-shadow: 0 20px 50px rgba(225, 29, 72, 0.1);
background: #fff;
}
.package-tab-trigger::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 4px;
background: var(--accent-red);
transform: scaleX(0);
transition: transform 0.3s var(--ease);
}
.package-tab-trigger.is-active::after {
transform: scaleX(1);
}
.trigger-footer {
margin-top: 20px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
font-size: 0.875rem;
font-weight: 800;
color: var(--accent-red);
opacity: 0.7;
transition: opacity 0.3s var(--ease);
}
.package-tab-trigger:hover .trigger-footer,
.package-tab-trigger.is-active .trigger-footer {
opacity: 1;
} .packages-content-display {
background: #ffffff;
border-radius: 30px;
box-shadow: 0 30px 80px rgba(0, 0, 0, 0.05);
border: 1px solid #f1f5f9;
padding: 60px;
min-height: 300px;
position: relative;
}
.package-content-block {
display: none;
opacity: 0;
transform: translateY(10px);
transition: all 0.4s var(--ease);
}
.package-content-block.is-active {
display: block;
opacity: 1;
transform: translateY(0);
}
@media (max-width: 1024px) {
.packages-tabs-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.packages-tabs-grid {
grid-template-columns: 1fr;
}
.packages-content-display {
padding: 40px 25px;
}
} .packages-tabs-grid {
gap: 25px;
align-items: stretch;
}
.package-tab-trigger {
background: #ffffff;
border-radius: 30px;
padding: 50px 40px;
border: 2px solid #f1f5f9;
box-shadow: 0 15px 45px rgba(0, 0, 0, 0.04);
display: flex;
flex-direction: column;
justify-content: space-between;
height: 100%;
}
.package-tab-trigger.is-featured {
border-color: var(--accent-red);
box-shadow: 0 25px 60px rgba(225, 29, 72, 0.1);
}
.package-tab-trigger.is-active {
background-color: #ffffff;
border-color: var(--accent-red);
transform: scale(1.02);
}
.tab-featured-badge {
position: absolute;
top: 0;
left: 50%;
transform: translate(-50%, -50%);
background: var(--accent-red);
color: #ffffff;
padding: 8px 25px;
border-radius: 100px;
font-size: 0.75rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.1em;
white-space: nowrap;
z-index: 10;
}
.package-tab-trigger .package-badge {
font-size: 0.8rem;
font-weight: 800;
color: var(--accent-red);
text-transform: uppercase;
letter-spacing: 0.15em;
margin-bottom: 15px;
display: block;
}
.package-tab-trigger .package-title {
font-size: 2.75rem;
font-weight: 900;
line-height: 1;
margin-bottom: 40px;
}
.trigger-btn {
width: 100%;
height: 60px;
border-radius: 15px;
border: none;
background: #f1f5f9;
color: #0f172a;
font-size: 1rem;
font-weight: 800;
transition: all 0.3s var(--ease);
}
.package-tab-trigger.is-active .trigger-btn,
.package-tab-trigger:hover .trigger-btn {
background-color: var(--accent-red);
color: #ffffff;
box-shadow: 0 10px 25px rgba(225, 29, 72, 0.3);
}
.package-tab-trigger.is-active .package-badge {
color: var(--accent-red);
}
@media (max-width: 768px) {
.package-tab-trigger {
padding: 40px 30px;
}
.package-tab-trigger .package-title {
font-size: 2.25rem;
}
} .packages-tabs-grid {
margin-top: 40px; overflow: visible !important;
}
.coop-packages-section {
overflow: visible !important; }
.trigger-btn {
text-transform: uppercase;
letter-spacing: 0.1em;
font-size: 0.875rem !important;
} .package-tab-trigger {
min-height: 400px; justify-content: space-between;
text-align: center !important;
}
.package-tab-trigger .package-title {
text-align: center;
margin-bottom: 5px !important; }
.package-tab-trigger .package-suffix {
display: block;
font-size: 1.125rem;
color: #94a3b8;
margin-bottom: 40px;
font-weight: 500;
}
.package-tab-trigger .package-badge {
margin-bottom: 25px !important;
} .tab-featured-badge {
position: relative !important;
top: auto !important;
left: auto !important;
transform: none !important;
display: inline-block !important;
margin: -50px auto 20px !important; width: fit-content;
}
.package-tab-trigger {
padding-top: 60px !important; } .package-tab-trigger {
padding: 50px 40px !important; display: flex;
flex-direction: column;
justify-content: space-between;
}
.tab-featured-badge {
margin: 0 auto 25px !important; }
.trigger-action {
margin-top: auto; } .tab-featured-badge {
background: #e2e8f0 !important; color: #475569 !important;
}
.is-featured .tab-featured-badge,
.is-active .tab-featured-badge {
background: var(--accent-red) !important; color: #ffffff !important;
} .template-cooperation .coop-contact-section {
padding-bottom: 40px !important;
}
.template-cooperation .partners-section {
padding-top: 0 !important;
} .partner-logo-inner {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.partner-hover-name {
position: absolute;
bottom: -30px;
left: 50%;
transform: translateX(-50%) translateY(10px);
background: #0f172a;
color: #ffffff;
padding: 6px 15px;
border-radius: 8px;
font-size: 0.75rem;
font-weight: 700;
white-space: nowrap;
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 20;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.partner-hover-name::after {
content: '';
position: absolute;
top: -5px;
left: 50%;
transform: translateX(-50%);
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-bottom: 5px solid #0f172a;
}
.partner-logo-item:hover .partner-hover-name {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
.partner-logo-item:hover {
transform: translateY(-5px);
} .partner-hover-name {
text-transform: uppercase !important;
} .media-hub-section {
padding: 100px 0 0 0;
background: #fff;
}
.media-hub-header {
text-align: left;
margin-bottom: 4rem;
}
.media-hub-header .section-badge {
color: var(--accent-red);
font-weight: 800;
text-transform: uppercase;
letter-spacing: 2.4px;
font-size: 14px;
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 24px;
}
.media-hub-header .section-badge::before {
content: '';
width: 32px;
height: 3px;
background: var(--accent-red);
display: inline-block;
}
.media-hub-header h1 {
font-size: 80px;
font-weight: 900;
text-transform: uppercase;
line-height: 1;
margin-bottom: 2rem;
color: var(--primary);
}
.media-hub-header p {
color: #94A3B8;
font-size: 18px;
max-width: 500px;
line-height: 1.5;
} .filter-bar-container {
background: #171717;
border-radius: 12px;
padding: 24px 32px;
margin-bottom: 60px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.filter-bar {
display: flex;
align-items: center;
gap: 1.5rem;
flex-wrap: wrap;
}
.filter-group {
flex: 1;
min-width: 250px;
}
.filter-group label {
display: block;
color: #fff;
font-size: 10px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 12px;
}
.filter-input-wrap {
position: relative;
}
.filter-input-wrap select {
width: 100%;
background: var(--accent-red);
color: #fff;
border: none;
border-radius: 8px;
padding: 14px 20px;
font-size: 14px;
font-weight: 700;
appearance: none;
cursor: pointer;
padding-left: 20px;
}
.filter-input-wrap i {
position: absolute;
right: 20px;
top: 50%;
transform: translateY(-50%);
color: #fff;
pointer-events: none;
}
.btn-filter {
background: #64748B;
color: #fff;
border: none;
border-radius: 8px;
padding: 14px 40px;
font-size: 14px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.1em;
display: flex;
align-items: center;
gap: 12px;
cursor: pointer;
transition: var(--transition);
align-self: flex-end;
}
.btn-filter:hover {
background: var(--primary);
transform: translateY(-2px);
}
#btn-load-more {
align-self: center !important;
margin: 50px auto !important;
min-width: 250px;
justify-content: center;
}
#gallery-load-more-container {
width: 100%;
display: flex;
justify-content: center;
} .gallery-grid-masonry {
column-count: 3;
column-gap: 20px;
width: 100%;
}
.gallery-item-masonry {
margin-bottom: 20px;
break-inside: avoid;
border-radius: 12px;
overflow: hidden;
position: relative;
display: block;
width: 100%; aspect-ratio: 1 / 1;
} .gallery-item-masonry:nth-child(even) {
aspect-ratio: 3 / 4; }
.gallery-item-masonry:nth-child(3n) {
aspect-ratio: 4 / 3; }
.gallery-item-masonry:nth-child(5n) {
aspect-ratio: 4 / 5; }
.gallery-item-masonry:nth-child(7n) {
aspect-ratio: 3 / 2; }
.gallery-item-masonry img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ease);
}
@media (max-width: 1024px) {
.gallery-grid-masonry {
column-count: 2;
}
}
@media (max-width: 640px) {
.gallery-grid-masonry {
column-count: 1;
}
}
.gallery-item-masonry:hover img {
transform: scale(1.05);
}
.gallery-video-wrapper {
margin-bottom: 100px;
}
.gallery-video-wrapper iframe {
width: 100% !important;
height: auto !important;
aspect-ratio: 16 / 9;
display: block;
border: none;
}
.gallery-item-hover {
position: absolute;
inset: 0;
background: rgba(227, 30, 36, 0.4);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
transition: var(--transition);
color: #fff;
font-size: 2rem;
}
.gallery-item-masonry:hover .gallery-item-hover {
opacity: 1;
} .no-results {
grid-column: 1 / -1;
padding: 60px;
text-align: center;
background: #f8fafc;
border-radius: 20px;
color: #64748b;
font-weight: 600;
} .gallery-grid-masonry.loading {
opacity: 0.5;
pointer-events: none;
}
@media (max-width: 991px) {
.media-hub-header h1 {
font-size: 60px;
}
} .gallery-support-section {
padding: 100px 0;
background: #ffffff;
}
.gallery-support-row {
display: flex;
align-items: center;
gap: 80px;
}
.gallery-support-image {
flex: 0 0 45%;
text-align: center;
}
.gallery-support-image img {
max-width: 100%;
height: auto;
border-radius: 12px;
}
.gallery-support-text {
flex: 1;
}
.gallery-support-wysiwyg {
color: #0f172a;
font-size: 1.15rem;
line-height: 1.8;
}
.gallery-support-wysiwyg strong {
font-weight: 800;
}
@media (max-width: 991px) {
.gallery-support-section {
padding: 60px 0;
}
.gallery-support-row {
flex-direction: column;
gap: 40px;
}
.gallery-support-image {
flex: 0 0 100%;
}
.gallery-support-text {
text-align: left;
}
.gallery-support-wysiwyg {
font-size: 1.05rem;
}
} .events-main-section {
padding: 80px 0;
background-color: #f9fafb;
}
.events-grid-layout {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 30px;
margin-top: 50px;
}
@media (max-width: 1100px) {
.events-grid-layout {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 768px) {
.events-grid-layout {
grid-template-columns: 1fr;
}
}
.event-card-item {
background: #fff;
border-radius: 20px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
transition: var(--transition);
display: flex;
flex-direction: column;
position: relative;
border: 1px solid #f1f5f9;
}
.event-card-item:hover {
transform: translateY(-10px);
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}
.event-card-top {
position: relative;
height: 235px;
overflow: hidden;
border-radius: 20px 20px 0 0;
}
.event-image {
height: 100%;
width: 100%;
}
.event-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.event-card-item:hover .event-image img {
transform: scale(1.1);
}
.event-badge {
position: absolute;
top: 20px;
left: 20px;
z-index: 10;
padding: 10px 24px;
border-radius: 50px;
font-size: 13px;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.1em;
color: #fff;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
.badge-open {
background: #FF0000; }
.badge-closed {
background: #0F172A; }
.event-card-body {
padding: 30px;
flex: 1;
display: flex;
flex-direction: column;
}
.event-header-flex {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 20px;
}
.event-city-title {
font-size: 22px;
font-weight: 900;
text-transform: uppercase;
color: #0f172a;
margin: 0;
}
.event-price-tag {
font-size: 18px;
font-weight: 900;
color: #FF0000;
white-space: nowrap;
}
.event-info-list {
margin-bottom: 30px;
}
.info-item {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 8px;
color: #475569;
font-size: 14px;
font-weight: 600;
}
.info-item i {
color: #FF0000;
width: 16px;
} .registration-deadline {
display: flex;
align-items: center;
gap: 12px;
margin: 10px 0 15px;
padding-bottom: 12px;
border-bottom: 1px dashed rgba(15, 23, 42, 0.1);
}
.registration-deadline i {
color: var(--accent-red) !important;
font-size: 1.1rem;
}
.registration-deadline span {
font-size: 14px;
color: #475569;
}
.registration-deadline strong {
color: #0f172a;
font-weight: 800;
}
.closed-registration-info {
margin: 15px 0;
padding: 12px 15px;
background: #f0f9ff;
border-radius: 10px;
display: flex;
align-items: flex-start;
gap: 12px;
border-left: 4px solid #0ea5e9;
}
.closed-registration-info i {
color: #0ea5e9 !important;
font-size: 1.1rem;
margin-top: 2px;
}
.closed-registration-info span {
font-size: 13.5px;
line-height: 1.5;
color: #0c4a6e;
font-weight: 600;
} .info-item.package-row {
flex-direction: column;
align-items: flex-start;
gap: 4px;
margin-bottom: 15px;
}
.package-header {
display: flex;
align-items: center;
gap: 10px;
width: 100%;
}
.package-title-label {
font-size: 13px;
font-weight: 900;
text-transform: uppercase;
color: #0f172a;
line-height: 1;
}
.package-date-val {
margin-left: 28px; color: #FF0000;
font-weight: 700;
font-size: 15px;
line-height: 1.2;
}
.package-info-icon {
position: relative;
cursor: pointer;
color: #FF0000;
font-size: 16px;
display: flex;
align-items: center;
}
.package-tooltip {
position: absolute;
bottom: calc(100% + 15px);
left: 50%;
transform: translateX(-50%) translateY(10px);
background: rgba(255, 255, 255, 0.98);
backdrop-filter: blur(15px);
-webkit-backdrop-filter: blur(15px);
width: 300px;
padding: 20px;
border-radius: 16px;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
border: 1px solid rgba(255, 255, 255, 0.3);
color: #0f172a;
font-size: 13px;
line-height: 1.6;
opacity: 0;
visibility: hidden;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
z-index: 999;
text-align: left;
pointer-events: none;
font-weight: 500;
}
.package-tooltip::after {
content: '';
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
border-width: 10px;
border-style: solid;
border-color: rgba(255, 255, 255, 0.98) transparent transparent transparent;
}
.package-info-icon:hover .package-tooltip {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}
@media (max-width: 768px) {
.package-tooltip {
left: auto;
right: -50px;
transform: translateY(10px);
}
.package-tooltip::after {
left: auto;
right: 55px;
}
.package-info-icon:hover .package-tooltip {
transform: translateY(-10px);
}
}
.event-card-action {
margin-top: auto;
}
.btn-event-card {
width: 100%;
padding: 16px;
border-radius: 50px;
font-weight: 900;
text-transform: uppercase;
font-size: 14px;
letter-spacing: 0.05em;
border: none;
cursor: pointer;
text-align: center;
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
transition: var(--transition);
}
.btn-event-card.btn-primary {
background: #FF0000;
color: #fff;
}
.btn-event-card.btn-primary:hover,
.btn-filter:hover {
background: var(--accent);
color: #fff;
transform: scale(1.02);
}
.btn-event-card.btn-disabled {
background: #f1f5f9;
color: #94a3b8;
cursor: not-allowed;
}
.event-card-patrons {
padding: 0 30px 25px;
background: transparent;
display: flex;
align-items: center;
justify-content: center;
gap: 25px;
flex-wrap: wrap;
}
.event-card-patrons img {
height: auto;
max-height: 65px;
width: auto;
max-width: 100%;
object-fit: contain;
filter: grayscale(1);
opacity: 0.6;
transition: var(--transition);
}
.event-card-item:hover .event-card-patrons img {
filter: grayscale(0);
opacity: 1;
} .ministry-support-section {
padding: 80px 0;
background-color: #f8fafc;
}
.ministry-support-title {
font-size: clamp(24px, 4vw, 36px);
font-weight: 900;
color: #0f172a;
line-height: 1.2;
margin-bottom: 50px;
max-width: 900px;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.ministry-support-logo {
margin: 40px 0;
text-align: center;
}
.ministry-support-logo img {
max-width: 100%;
height: auto;
max-height: 180px;
display: block;
margin: 0 auto;
}
.ministry-support-footer {
font-size: 14px;
color: #64748b;
max-width: 800px;
margin: 40px auto 0;
line-height: 1.6;
letter-spacing: 0.05em;
text-transform: uppercase;
text-align: center;
}
@media (max-width: 768px) {
.ministry-support-section {
padding: 60px 0;
}
} .community-stats-section {
padding: 100px 0;
background-color: #FF0000; position: relative;
overflow: hidden;
color: #fff;
display: flex;
align-items: center;
min-height: 420px;
} .community-stats-section::after {
content: '';
position: absolute;
top: 0;
right: 0;
width: 38%;
height: 100%;
background: #E60000; clip-path: polygon(25% 0, 100% 0, 100% 100%, 0% 100%);
z-index: 1;
}
.community-flex {
display: flex;
align-items: center;
justify-content: space-between;
gap: 80px;
position: relative;
z-index: 2;
width: 100%;
}
.community-content {
flex: 1.2;
}
.community-title {
font-size: clamp(2.5rem, 4.5vw, 4.2rem);
font-weight: 900;
line-height: 0.95;
margin: 0 0 25px;
padding: 0;
text-transform: uppercase;
letter-spacing: -0.02em;
color: #fff;
}
.community-desc {
font-size: 1.15rem;
line-height: 1.6;
opacity: 0.95;
max-width: 550px;
margin: 0;
}
.community-stats {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
gap: 80px;
}
.stat-box {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.stat-value {
font-size: clamp(3rem, 7vw, 7rem);
font-weight: 900;
line-height: 1;
letter-spacing: -0.03em;
}
.stat-label {
font-size: 12px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.2em;
margin-top: 15px;
opacity: 0.9;
}
.community-stats-section .stat-value,
.community-stats-section .stat-label {
color: #fff;
}
@media (max-width: 1200px) {
.community-stats {
gap: 40px;
}
}
@media (max-width: 991px) {
.community-stats-section {
padding: 80px 0;
}
.community-flex {
flex-direction: column;
text-align: center;
gap: 60px;
}
.community-desc {
margin: 0 auto;
}
.community-stats-section::after {
width: 100%;
height: 35%;
top: auto;
bottom: 0;
clip-path: polygon(0 30%, 100% 0, 100% 100%, 0 100%);
}
}
@media (max-width: 768px) {
.stat-value {
font-size: 5rem;
}
.community-stats {
flex-direction: column;
gap: 50px;
}
} .vol-benefits-section {
padding: 100px 0;
background: #fff;
}
.vol-benefits-section .section-header {
margin-bottom: 60px;
}
.vol-benefits-subtitle {
color: var(--accent-red);
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.15em;
font-size: 0.875rem;
display: block;
margin-bottom: 12px;
}
.vol-benefits-title {
font-size: clamp(2.5rem, 5vw, 4.5rem);
font-weight: 900;
color: #000;
text-transform: uppercase;
margin-bottom: 15px;
line-height: 1.1;
}
.vol-benefits-title .text-accent {
color: var(--accent-red);
}
.vol-benefits-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 30px;
}
.vol-benefit-card {
background: #fff;
padding: 50px 30px;
border-radius: 20px;
box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05);
text-align: center;
transition: transform 0.3s var(--ease), box-shadow 0.3s var(--ease);
height: 100%;
display: flex;
flex-direction: column;
border: 1px solid #F1F5F9;
}
.vol-benefit-card:hover {
transform: translateY(-10px);
box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1);
}
.vol-benefit-icon-wrapper {
margin-bottom: 30px;
display: flex;
justify-content: center;
}
.vol-benefit-icon {
width: 80px;
height: 80px;
background: var(--accent-red);
border-radius: 18px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
font-size: 2rem;
box-shadow: 0 10px 20px rgba(227, 30, 36, 0.2);
}
.vol-benefit-card h3 {
font-size: 1.35rem;
font-weight: 900;
color: #000;
text-transform: uppercase;
margin-bottom: 15px;
line-height: 1.2;
}
.vol-benefit-card p {
font-size: 0.9375rem;
color: #64748b;
line-height: 1.6;
}
@media (max-width: 1200px) {
.vol-benefits-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.vol-benefits-grid {
grid-template-columns: 1fr;
}
} .mission-cards-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 30px;
}
.mission-card {
position: relative;
height: 500px;
border-radius: 24px;
overflow: hidden;
background-size: cover;
background-position: center;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 40px;
color: #fff;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
transition: transform 0.4s var(--ease);
}
.mission-card:hover {
transform: translateY(-10px);
}
.mission-card-overlay {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.8));
z-index: 1;
}
.mission-card-content {
position: relative;
z-index: 2;
width: 100%;
}
.mission-title {
font-size: 2rem;
font-weight: 900;
text-transform: uppercase;
color: #fff;
margin-bottom: 20px;
line-height: 1.1;
letter-spacing: -0.02em;
}
.mission-desc {
font-size: 1.1rem;
line-height: 1.6;
color: rgba(255, 255, 255, 0.9);
margin-bottom: 30px;
max-width: 280px;
margin-left: auto;
margin-right: auto;
}
.mission-line {
width: 80px;
height: 6px;
background: var(--accent-red);
margin: 0 auto;
border-radius: 10px;
}
@media (max-width: 1024px) {
.mission-cards-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.mission-cards-grid {
grid-template-columns: 1fr;
}
.mission-card {
height: 400px;
}
} .vol-contact-section {
position: relative;
padding: 100px 0;
background: #fff;
overflow: hidden; } .vol-peek-wrap {
position: absolute;
right: 0;
bottom: -10px;
width: 350px;
z-index: 5;
opacity: 0;
transform: translateX(55%) rotate(5deg);
transition: all 1.2s cubic-bezier(0.34, 1.56, 0.64, 1);
pointer-events: none;
transition-delay: 0.5s;
}
.vol-contact-section.is-visible .vol-peek-wrap {
opacity: 1;
transform: translateX(65%) rotate(0deg);
}
.vol-peek-wrap img {
width: 100%;
height: auto;
display: block;
}
.vol-contact-section .container {
position: relative;
}
@media (max-width: 1200px) {
.vol-peek-wrap {
display: none;
}
}
.vol-steps-row {
display: flex;
justify-content: center;
gap: 80px;
margin: 60px 0 80px;
}
.vol-step-item {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
max-width: 200px;
}
.vol-step-icon {
width: 48px;
height: 48px;
background: #FFF1F1;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent-red);
font-size: 1.25rem;
margin-bottom: 20px;
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
.vol-step-label {
font-size: 1.1rem;
font-weight: 900;
text-transform: uppercase;
color: #000;
letter-spacing: -0.01em;
}
.vol-contact-card-wrap {
max-width: 100%;
margin: 0 auto;
}
.vol-contact-card {
background: #fff;
border-radius: 30px;
overflow: hidden;
box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1);
position: relative;
}
.vol-contact-card-top {
height: 12px;
background: var(--accent-red);
width: 100%;
}
.vol-contact-card-inner {
padding: 60px;
} .vol-contact-card .ff-el-form-control {
background: #F8FAFC !important;
border: 1px solid #E2E8F0 !important;
border-radius: 12px !important;
padding: 15px 20px !important;
font-family: inherit !important;
font-size: 1rem !important;
color: #000 !important;
height: auto !important;
}
.vol-contact-card label {
font-weight: 900 !important;
text-transform: uppercase !important;
font-size: 0.85rem !important;
color: #64748b !important;
margin-bottom: 10px !important;
letter-spacing: 0.02em !important;
}
.vol-contact-card .ff-btn-submit {
width: 100% !important;
background: var(--accent-red) !important;
color: #fff !important;
font-weight: 900 !important;
text-transform: uppercase !important;
padding: 22px !important;
border-radius: 15px !important;
font-size: 1.2rem !important;
letter-spacing: 0.05em !important;
border: none !important;
transition: all 0.3s ease !important;
box-shadow: 0 10px 20px rgba(227, 30, 36, 0.3) !important;
margin-top: 30px !important;
}
.vol-contact-card .ff-btn-submit:hover {
transform: translateY(-5px) !important;
box-shadow: 0 15px 30px rgba(227, 30, 36, 0.4) !important;
}
@media (max-width: 850px) {
.vol-steps-row {
gap: 40px;
flex-wrap: wrap;
}
.vol-contact-card-inner {
padding: 40px 25px;
}
}
@media (max-width: 600px) {
.vol-steps-row {
gap: 30px;
}
.vol-step-item {
max-width: 150px;
}
.vol-step-label {
font-size: 0.9rem;
}
}
.vol-contact-card .ff-el-tc,
.vol-contact-card .ff-el-tc-label,
.vol-contact-card .ff-el-form-check-label {
font-size: 12px !important;
text-transform: none !important;
line-height: 1.5 !important;
font-weight: 400 !important;
color: #64748b !important;
margin-top: 15px !important;
display: block !important;
}
.vol-contact-card .ff-el-tc p {
margin: 0 !important;
font-size: 12px !important;
} .vol-contact-card .fluent_form_4,
.vol-contact-card .fluentform,
.vol-contact-card form {
width: 100% !important;
max-width: none !important;
}
.vol-contact-card .ff-t-container {
max-width: none !important;
} .section-desc {
font-size: 1.125rem;
color: var(--text-muted);
line-height: 1.6;
margin-left: auto;
margin-right: auto;
text-align: center;
}
.text-muted {
color: var(--text-muted) !important;
}
.text-center {
text-align: center !important;
}
.mx-auto {
margin-left: auto !important;
margin-right: auto !important;
} .vol-faq-section {
padding: 100px 0;
}
.vol-faq-accordion {
max-width: 1000px;
margin: 60px auto 0;
}
.vol-faq-item {
background: #fff;
border-radius: 20px;
margin-bottom: 25px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
border: 1px solid #f1f5f9;
overflow: hidden;
transition: all 0.3s ease;
}
.vol-faq-item.active {
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
border-color: rgba(227, 30, 36, 0.1);
}
.vol-faq-header {
width: 100%;
padding: 30px 40px;
background: none;
border: none;
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
text-align: left;
gap: 20px;
}
.vol-faq-question {
font-size: 1.15rem;
font-weight: 900;
color: #000;
line-height: 1.3;
}
.vol-faq-icon {
width: 32px;
height: 32px;
min-width: 32px;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent-red);
transition: transform 0.4s var(--ease);
}
.vol-faq-item.active .vol-faq-icon {
transform: rotate(180deg);
}
.vol-faq-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s var(--ease);
}
.vol-faq-content-inner {
padding: 0 40px 40px;
}
.vol-faq-content p {
font-size: 1rem;
color: #64748b;
line-height: 1.7;
margin: 0;
}
.ff-column-container {
margin-top: 15px !important;
}
@media (max-width: 768px) {
.vol-faq-header {
padding: 25px;
}
.vol-faq-content-inner {
padding: 0 25px 25px;
}
.vol-faq-question {
font-size: 1.05rem;
}
} .vol-benefits-section,
.vol-missions-section,
.vol-contact-section,
.vol-faq-section {
padding-left: 0 !important;
padding-right: 0 !important;
}
.vol-benefits-section .container,
.vol-missions-section .container,
.vol-contact-section .container,
.vol-faq-section .container {
width: 100%;
} .home-bespoke-hero {
position: relative;
min-height: 70vh;
display: flex;
align-items: center;
overflow: hidden;
padding: 100px 0;
}
.parallax-bg-layer {
position: absolute;
inset: -5%; background-size: cover;
background-position: center;
background-repeat: no-repeat;
z-index: 0;
will-change: transform;
}
.home-hero-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(90deg, rgba(15, 23, 42, 0.98) 0%, rgba(15, 23, 42, 0.85) 45%, rgba(15, 23, 42, 0.2) 100%);
z-index: 1;
}
.home-bespoke-hero .container {
position: relative;
z-index: 2;
width: 100%;
max-width: 1600px;
}
.home-hero-grid {
display: grid;
grid-template-columns: 1fr 1.3fr;
gap: 60px;
align-items: center;
}
.home-hero-badge {
margin-bottom: 30px;
}
.home-hero-badge span {
display: inline-block;
background: #fff;
color: var(--accent-red);
padding: 8px 16px;
border-radius: 50px;
font-size: 0.85rem;
font-weight: 900;
text-transform: uppercase;
letter-spacing: 0.05em;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.home-hero-title {
font-size: clamp(3rem, 5vw, 4.5rem);
color: #fff;
font-weight: 900;
line-height: 1.1;
margin-bottom: 25px;
text-transform: none;
letter-spacing: -0.02em;
}
.home-hero-title .text-accent {
color: var(--accent-red) !important;
display: block;
}
.home-hero-subtitle {
font-size: 1.15rem;
color: rgba(255, 255, 255, 0.85);
line-height: 1.6;
margin-bottom: 40px;
max-width: 500px;
}
.home-hero-actions {
display: flex;
gap: 20px;
flex-wrap: wrap;
}
.home-hero-actions .btn {
padding: 16px 36px;
border-radius: 12px;
font-size: 1.1rem;
font-weight: 900;
text-transform: none;
display: flex;
align-items: center;
transition: all 0.3s ease;
}
.home-hero-actions .btn-white {
background: #fff;
color: var(--primary);
}
.home-hero-actions .btn-white:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}
.home-hero-actions .btn-primary {
background: var(--accent-red);
color: #fff;
border: none;
box-shadow: 0 10px 20px rgba(227, 30, 36, 0.3);
}
.home-hero-actions .btn-primary:hover {
background: #c4181e;
transform: translateY(-3px);
box-shadow: 0 15px 30px rgba(227, 30, 36, 0.4);
}
.home-hero-collage {
position: relative;
width: 100%;
height: clamp(500px, 40vw, 750px);
}
.collage-item {
position: absolute;
width: clamp(300px, 22vw, 460px);
}
.collage-img-wrap {
border-radius: 20px;
overflow: hidden;
border: 6px solid #fff;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
background: #fff;
transition: transform 0.4s var(--ease);
}
.collage-img-wrap img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
} .collage-1 {
top: 30px;
left: 0px;
z-index: 1;
}
.collage-1 .collage-img-wrap {
transform: rotate(4deg);
}
.collage-2 {
bottom: 30px;
left: 40px;
z-index: 3;
}
.collage-2 .collage-img-wrap {
transform: rotate(-6deg);
}
.collage-3 {
top: 10px;
right: 20px;
z-index: 2;
}
.collage-3 .collage-img-wrap {
transform: rotate(-3deg);
}
.collage-4 {
bottom: 10px;
right: 0px;
z-index: 4;
}
.collage-4 .collage-img-wrap {
transform: rotate(5deg);
} @keyframes popIn {
0% {
transform: scale(0.8) translateY(30px);
opacity: 0;
}
100% {
transform: scale(1) translateY(0);
opacity: 1;
}
}
.reveal-item.pop-in.is-visible {
animation: popIn 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}
@media (max-width: 1024px) {
.home-hero-grid {
grid-template-columns: 1fr;
gap: 40px;
}
.home-hero-overlay {
background: linear-gradient(180deg, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.8) 100%);
}
.home-hero-collage {
height: 500px;
transform: scale(0.8);
transform-origin: center;
}
}
@media (max-width: 768px) {
.home-hero-title {
font-size: 2.5rem;
}
.home-hero-actions {
flex-direction: column;
}
.home-hero-actions .btn {
width: 100%;
justify-content: center;
}
.home-hero-collage {
height: auto;
display: flex;
flex-direction: column;
align-items: center;
gap: 30px;
padding: 40px 0;
transform: none;
margin-left: 0;
}
.collage-item {
position: relative;
width: 100%;
max-width: 320px;
top: auto !important;
left: auto !important;
right: auto !important;
bottom: auto !important;
}
.collage-3,
.collage-4 {
display: none;
}
.collage-1 .collage-img-wrap {
transform: rotate(3deg);
}
.collage-2 .collage-img-wrap {
transform: rotate(-3deg);
}
} .hero-particles-box {
position: absolute;
inset: 0;
pointer-events: none;
z-index: 1; overflow: hidden;
}
.hero-particle {
position: absolute;
border-radius: 50%;
filter: blur(1px);
pointer-events: none;
will-change: transform;
} .scroll-runner-track {
position: fixed;
bottom: 0;
left: 0;
width: 100%;
height: 3px;
background: rgba(15, 23, 42, 0.1);
z-index: 10000;
pointer-events: none;
}
.scroll-runner-icon {
position: absolute;
bottom: 0;
left: 0;
width: 130px;
height: 60px;
margin-bottom: 30px;
transform: translateX(-50%);
will-change: left;
transition: left 0.1s linear;
}
.scroll-runner-icon::before,
.scroll-runner-icon::after {
content: '';
position: absolute;
bottom: -20px;
left: 80%;
width: 25px;
height: 15px;
background: rgba(71, 85, 105, 0.6);
filter: blur(8px);
border-radius: 50%;
z-index: -1;
pointer-events: none;
animation: runner-smoke 2s infinite ease-in-out;
}
.scroll-runner-icon::after {
width: 35px;
height: 20px;
background: rgba(71, 85, 105, 0.4);
animation-delay: -0.7s;
filter: blur(10px);
left: 30%;
}
@keyframes runner-smoke {
0%,
100% {
transform: translate(-150%, 0) scale(0.8);
opacity: 0.3;
}
50% {
transform: translate(-250%, -10px) scale(1.3);
opacity: 0.7;
}
} .scroll-runner-icon.is-reversed::before,
.scroll-runner-icon.is-reversed::after {
animation-name: runner-smoke-reversed;
}
@keyframes runner-smoke-reversed {
0%,
100% {
transform: translate(50%, 0) scale(0.8);
opacity: 0.3;
}
50% {
transform: translate(150%, -10px) scale(1.3);
opacity: 0.7;
}
}
.scroll-runner-icon img {
width: 100%;
height: auto;
display: block;
position: relative;
z-index: 1;
transition: transform 0.3s ease-out;
}
.scroll-runner-icon.is-reversed img {
transform: scaleX(-1);
}
@media (max-width: 768px) {
.scroll-runner-track {
display: none; }
} .thanks-page {
padding-bottom: 80px;
background-color: #fff;
}
.thanks-header {
text-align: center;
margin-top: 80px;
margin-bottom: 60px;
}
.thanks-title {
font-size: 3.5rem;
font-weight: 900;
color: #0f172a;
margin-bottom: 15px;
letter-spacing: -0.02em;
}
.thanks-line {
width: 60px;
height: 3px;
background-color: var(--accent-red);
margin: 0 auto;
}
.thanks-grid {
display: grid;
grid-template-columns: 1fr 1.5fr;
gap: 80px;
align-items: flex-start;
}
.thanks-visual {
position: relative;
border-radius: 20px;
}
.thanks-visual img {
width: 100%;
height: auto;
display: block;
}
.thanks-img-placeholder {
width: 100%;
aspect-ratio: 1;
background: #f1f5f9;
border: 2px dashed #cbd5e1;
border-radius: 20px;
display: flex;
align-items: center;
justify-content: center;
color: #94a3b8;
font-weight: 700;
}
.thanks-subtitle {
font-size: 0.9rem;
font-weight: 700;
color: #64748b;
text-transform: uppercase;
letter-spacing: 0.1em;
margin-bottom: 30px;
border-bottom: 1px solid #f1f5f9;
padding-bottom: 30px;
}
.thanks-text-area {
font-size: 1.15rem;
line-height: 1.7;
color: #334155;
}
.thanks-text-area p {
margin-bottom: 1.5rem;
}
.thanks-logos-section {
display: flex;
gap: 60px;
margin-top: 50px;
padding-top: 40px;
border-top: 1px solid #f1f5f9;
}
.thanks-logo-group {
flex: 1;
}
.logo-label {
display: block;
font-size: 0.75rem;
font-weight: 800;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 15px;
}
.thanks-logo-group img {
max-width: 100%;
height: auto;
max-height: 100px;
object-fit: contain;
}
.logo-placeholder {
height: 80px;
background: #f8fafc;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: #cbd5e1;
font-size: 0.8rem;
font-weight: 700;
}
@media (max-width: 1024px) {
.thanks-grid {
grid-template-columns: 1fr;
gap: 40px;
}
.thanks-visual {
max-width: 500px;
margin: 0 auto;
}
.thanks-title {
font-size: 2.5rem;
}
}
@media (max-width: 768px) {
.thanks-logos-section {
flex-direction: column;
gap: 40px;
}
.thanks-page {
padding: 50px 0;
}
} .thanks-peek-left {
left: -180px;
bottom: -80px;
width: 260px;
z-index: 5;
}
.thanks-peek-right {
right: -180px;
bottom: -80px;
width: 260px;
z-index: 5;
}
.thanks-peek-left img,
.thanks-peek-right img {
opacity: 0;
transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.5s ease;
}
.thanks-peek-left img {
transform: translateX(-50%) rotate(-15deg);
}
.thanks-peek-right img {
transform: translateX(50%) rotate(15deg);
}
.thanks-peek-left.is-visible img,
.thanks-peek-right.is-visible img {
opacity: 1;
transform: translateX(0) rotate(0deg);
} @media (max-width: 1350px) {
.thanks-peek-left,
.thanks-peek-right {
display: none;
}
} .thanks-page .partners-section .partners-peek {
display: none !important;
}