@import url('https://fonts.googleapis.com/css2?family=Inter:wght=400;700;900&display=swap');

:root {
    --black: #000000;
    --white: #ffffff;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

body {
    background-color: var(--white);
    color: var(--black); 
    line-height: 1.6;
    overflow-x: hidden;
}

/* === Spot Overlay Container === */
.spot-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    z-index: 1; /* Layer 1 */
}

.content-wrapper {
    position: relative;
    z-index: 1;
}

/* --- Typography --- */
h1 { font-size: 3.5rem; font-weight: 900; line-height: 1.2; margin-bottom: 20px;}
h2 { font-size: 2.5rem; margin-bottom: 40px; text-align: center; font-weight: 900;}
h3 { font-size: 1.3rem; margin-bottom: 10px; font-weight: 900;}
p { font-size: 1.1rem; margin-bottom: 20px; color: #111;} 

/* === Organic Buttons === */
.cow-btn {
    display: inline-block;
    background-color: var(--white);
    color: var(--black); 
    padding: 15px 35px;
    font-size: 1.1rem;
    font-weight: 900;
    text-decoration: none;
    border: 4px solid var(--white);
    border-radius: 255px 15px 225px 15px/15px 225px 15px 255px;
    transition: all 0.3s ease;
    cursor: pointer;
    margin: 10px; 
    position: relative;
    z-index: 3; /* Layer 3 */
}
.cow-btn:hover {
    background-color: var(--black);
    color: var(--white);
    transform: translate(-3px, -3px);
    box-shadow: 8px 8px 0px var(--white);
}

.cow-btn svg {
    fill: currentColor;
    color: inherit;
    transition: fill 0.3s ease, color 0.3s ease;
}

.cow-btn-dark {
    background-color: var(--black); 
    color: var(--white); 
    border-color: var(--black);
}
.cow-btn-dark:hover {
    background-color: var(--white); 
    color: var(--black);
    border-color: var(--black);
    box-shadow: 8px 8px 0px var(--black);
}

/* === Seamless Header & Hero Section === */
.hero-wrapper {
    background-color: var(--black);
    position: relative;
    padding-bottom: 80px; 
    z-index: 2; 
    overflow: hidden;
}

/* Shadow for text readability over floating white spots */
.hero-content {
    position: relative;
    z-index: 3;
}
.hero-wrapper h1 {
    color: var(--white);
    text-shadow: 0 4px 12px rgba(0, 0, 0, 0.95), 0 2px 4px rgba(0, 0, 0, 0.95);
}
.hero-wrapper p {
    color: var(--white);
    text-shadow: 0 3px 10px rgba(0, 0, 0, 0.95), 0 2px 4px rgba(0, 0, 0, 0.95);
}

header {
    display: flex; justify-content: space-between; align-items: center;
    padding: 30px 5%; background: transparent; 
    position: relative;
    z-index: 3;
}

.logo { display: flex; align-items: center; text-decoration: none;}
.css-logo-icon { 
    width: 35px; height: 35px; background: var(--white); 
    border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; 
    margin-right: 15px;
    animation: rotate-logo 2s linear infinite; 
}
.logo-text { font-size: 2rem; font-weight: 900; letter-spacing: -1.5px; color: var(--white); }

@keyframes rotate-logo {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.nav-links { display: flex; gap: 30px; list-style: none; }
.nav-links a { text-decoration: none; font-weight: 900; font-size: 1.1rem; color: var(--white); }
.nav-links a:hover { border-bottom: 3px solid var(--white); }
.hamburger { display: none; font-size: 2rem; cursor: pointer; color: var(--white); } 

.hero {
    display: flex; align-items: center; justify-content: center;
    padding: 60px 5% 40px 5%; text-align: center; max-width: 900px; margin: 0 auto;
    position: relative;
    z-index: 3;
}

/* Seamless Wave Transition */
.hero-transition {
    position: absolute; bottom: -1px; left: 0; width: 100%; height: 80px;
    background-color: transparent;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M321.39,56.44c58-10.79,114.16-30.13,172-41.86,82.39-16.72,168.19-17.73,250.45-.39C823.78,31,906.67,72,985.66,92.83c70.05,18.48,146.53,26.09,214.34,3V120H0V95.8C59.71,118.08,130.83,113.4,192.27,96.4Z' fill='%23ffffff'/%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
    z-index: 10; 
}

/* === Products Section === */
.products { 
    padding: 100px 5%; text-align: center; position: relative;
    background-color: var(--white); 
    z-index: 2; 
    margin-top: -1px; 
}

.title-box {
    background: var(--white); display: inline-block; padding: 15px 40px;
    border: 6px solid var(--black); border-radius: 50px;
    box-shadow: 8px 8px 0 var(--black); margin-bottom: 60px;
    z-index: 3; position: relative; 
}

.product-grid { 
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    gap: 40px; 
    text-align: left;
    position: relative;
    z-index: 3;
}

.product-card {
    background: var(--white);
    padding: 40px 30px;
    border: 6px solid var(--black);
    border-radius: 20px;
    box-shadow: 12px 12px 0 var(--black);
    display: flex; flex-direction: column;
    transition: 0.3s;
    z-index: 3; position: relative; 
}
.product-card:hover { transform: translateY(-10px); box-shadow: 18px 18px 0 var(--black); }

.svg-icon-wrapper {
    width: 90px; height: 90px; margin: 0 auto 20px auto; 
    background: var(--black);
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    display: flex; align-items: center; justify-content: center;
}
.svg-icon-wrapper svg { width: 45px; height: 45px; fill: var(--white); } 

.product-card p { font-weight: bold; margin-bottom: 20px; color: #111;}

.specs { list-style: none; margin-top: auto; border-top: 4px solid var(--black); padding-top: 15px;}
.specs li { padding: 8px 0; font-size: 0.95rem; font-weight: 900; border-bottom: 2px dashed var(--black); display: flex; justify-content: space-between;}
.specs li span { color: #555; }

/* === Footer === */
footer { 
    background: var(--white); 
    border-top: 8px solid var(--black); padding: 60px 5%; text-align: center; margin-top: 50px;
    z-index: 3; position: relative; 
}
footer h2, footer p { color: var(--black); } 

.contact-buttons {
    display: flex;
    flex-wrap: wrap; 
    justify-content: center;
    margin-top: 30px;
    gap: 20px; 
    position: relative;
    z-index: 4;
}
.contact-buttons .cow-btn {
    border-color: var(--black); 
}

/* === Guaranteed Organic SVG Spots (Never boxy, 100% stable cow shapes) === */
.moving-spot {
    position: absolute;
    pointer-events: none;
    z-index: 1; /* Floats underneath text and cards on Layer 1 */
    transform-origin: center;
    
    /* Elegant and very slow organic floating motion */
    animation: spot-drift 60s ease-in-out infinite alternate;
}

@keyframes spot-drift {
    0% { transform: translate(0, 0) rotate(0deg) scale(1); }
    33% { transform: translate(6vw, -5vh) rotate(8deg) scale(1.06); }
    66% { transform: translate(-5vw, 6vh) rotate(-8deg) scale(0.94); }
    100% { transform: translate(0, 0) rotate(0deg) scale(1); }
}

/* === Product Icon Animations === */
@keyframes pulse-smp {
    0% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.15); opacity: 0.8; } 
    100% { transform: scale(1); opacity: 1; }
}
.icon-smp { animation: pulse-smp 1.5s ease-in-out infinite; } 

@keyframes sway-wmp {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(5deg); } 
    50% { transform: rotate(-5deg); }
    75% { transform: rotate(5deg); }
    100% { transform: rotate(0deg); }
}
.icon-wmp { animation: sway-wmp 2s ease-in-out infinite; transform-origin: top center; } 

@keyframes flow-whey {
    0% { transform: translateY(0); }
    50% { transform: translateY(-8px); } 
    100% { transform: translateY(0); }
}
.icon-whey { animation: flow-whey 2s ease-in-out infinite; } 

@keyframes rotate-wpc {
    0% { transform: rotateY(0deg); }
    100% { transform: rotateY(360deg); }
}
.icon-wpc { animation: rotate-wpc 2.5s linear infinite; } 

@keyframes float-mpc {
    0% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(15deg); } 
    100% { transform: translateY(0) rotate(0deg); }
}
.icon-mpc path, .icon-mpc circle { transform-origin: center; animation: float-mpc 2s ease-in-out infinite; } 

@keyframes glow-permeate {
    0% { fill: var(--white); }
    50% { fill: #aaaaaa; } 
    100% { fill: var(--white); }
}
.icon-permeate path { animation: glow-permeate 2s ease-in-out infinite; } 

/* Responsive */
@media (max-width: 1024px) {
    h1 { font-size: 2.8rem; }
    h2 { font-size: 2rem; }
    .product-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
    h1 { font-size: 2rem; }
    h2 { font-size: 1.8rem; }
    .product-grid { grid-template-columns: 1fr; }
    .nav-links { display: none; position: absolute; top: 90px; left: 0; width: 100%; background: var(--black); padding: 20px 0; flex-direction: column; text-align: center; border-bottom: 5px solid var(--white); z-index: 999;}
    .nav-links.active { display: flex; }
    .hamburger { display: block; }
    .logo-text { font-size: 1.5rem; }
}
@media (max-width: 480px) {
    .hero-wrapper header { padding: 20px 3%; }
    .hero { padding: 40px 3% 20px 3%; }
    .cow-btn { padding: 12px 25px; font-size: 1rem; margin: 5px;}
    .contact-buttons { flex-direction: column; align-items: center; gap: 10px;}
    .css-logo-icon { width: 30px; height: 30px; margin-right: 10px;}
    .logo-text { font-size: 1.3rem; }
    .svg-icon-wrapper { width: 70px; height: 70px; } 
    .svg-icon-wrapper svg { width: 35px; height: 35px; }
}