
/*
Theme Name: Vivalta V4
Version: 4.0
Description: Forced front-page Vivalta design with colourful responsive mockup-inspired layout.
*/

:root{
--navy:#243B6B;
--dark:#08264D;
--coral:#F27461;
--teal:#8FB9B7;
--cream:#F8F5F1;
--ink:#172B55;
--white:#ffffff;
}

*{box-sizing:border-box}

body{
margin:0;
font-family:Inter, Arial, sans-serif;
background:var(--cream);
color:var(--ink);
}

a{text-decoration:none;color:inherit}

.wrap{
width:min(1180px, calc(100% - 40px));
margin:auto;
}

.site-header{
position:sticky;
top:0;
z-index:999;
background:rgba(255,255,255,.94);
backdrop-filter:blur(14px);
border-bottom:1px solid rgba(36,59,107,.08);
}

.header-inner{
height:82px;
display:flex;
justify-content:space-between;
align-items:center;
gap:28px;
}

.logo{
font-size:42px;
font-weight:900;
letter-spacing:2px;
color:var(--navy);
}

.logo span{
color:var(--teal);
}

.nav{
display:flex;
gap:24px;
font-size:13px;
font-weight:800;
text-transform:uppercase;
letter-spacing:.04em;
align-items:center;
}

.nav a:hover{color:var(--coral)}

.header-btn,.btn{
background:var(--coral);
color:#fff;
padding:14px 24px;
border-radius:999px;
font-weight:900;
display:inline-flex;
align-items:center;
justify-content:center;
box-shadow:0 12px 28px rgba(242,116,97,.25);
}

.btn.secondary{
background:white;
color:var(--navy);
box-shadow:none;
border:2px solid rgba(36,59,107,.14);
}

.hero{
position:relative;
overflow:hidden;
background:
radial-gradient(circle at 85% 10%, rgba(143,185,183,.35), transparent 25%),
radial-gradient(circle at 15% 85%, rgba(242,116,97,.16), transparent 26%),
linear-gradient(180deg, #fff 0%, #fbf7f3 100%);
padding:78px 0 0;
}

.hero-grid{
display:grid;
grid-template-columns:0.95fr 1.05fr;
align-items:center;
gap:48px;
min-height:610px;
}

.kicker{
font-size:13px;
font-weight:900;
letter-spacing:.16em;
text-transform:uppercase;
color:#0E9E92;
margin-bottom:14px;
}

h1{
font-size:clamp(48px, 6vw, 84px);
line-height:1.02;
letter-spacing:-.05em;
margin:0 0 22px;
color:var(--navy);
}

h1 .orange{color:var(--coral)}

.hero p{
font-size:18px;
line-height:1.7;
max-width:540px;
font-weight:600;
}

.actions{
display:flex;
gap:14px;
flex-wrap:wrap;
margin-top:30px;
}

.hero-art{
height:520px;
position:relative;
}

.big-a{
position:absolute;
right:0;
top:0;
width:380px;
height:380px;
opacity:.95;
}

.big-a:before{
content:"";
position:absolute;
inset:0;
clip-path:polygon(45% 0, 55% 0, 100% 100%, 82% 100%, 50% 25%, 18% 100%, 0 100%);
background:var(--teal);
border-radius:28px;
}

.big-a:after{
content:"";
position:absolute;
left:126px;
top:224px;
width:120px;
height:54px;
border-bottom:18px solid var(--coral);
border-radius:0 0 90px 90px;
}

.product{
position:absolute;
box-shadow:0 20px 55px rgba(23,43,85,.16);
}

.bag{
right:110px;
bottom:0;
width:260px;
height:360px;
border-radius:42px;
background:linear-gradient(145deg,#102d59,#071d3f);
}

.bag:before{
content:"";
position:absolute;
left:70px;
top:-35px;
width:120px;
height:70px;
border:14px solid #0b234d;
border-bottom:0;
border-radius:70px 70px 0 0;
}

.bag:after{
content:"VIVALTA";
position:absolute;
right:24px;
bottom:32px;
background:white;
color:var(--navy);
font-size:12px;
font-weight:900;
padding:6px 12px;
border-radius:5px;
}

.bottle{
left:225px;
bottom:14px;
width:76px;
height:292px;
border-radius:40px;
background:linear-gradient(90deg,#0f366f,#3b76bd,#0f366f);
}

.lunch{
left:12px;
bottom:36px;
width:222px;
height:144px;
border-radius:30px;
border:10px solid var(--teal);
background:linear-gradient(145deg,#102d59,#071d3f);
}

.ball{
right:0;
bottom:38px;
width:116px;
height:116px;
border-radius:50%;
background:radial-gradient(circle,#fff 0 50%,#111 51% 56%,#fff 57%);
}

.feature-strip{
background:var(--dark);
border-radius:38px 38px 0 0;
padding:34px 0;
margin-top:36px;
}

.features{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:22px;
}

.feature{
color:white;
padding:24px;
border-radius:26px;
background:rgba(255,255,255,.06);
}

.feature h3{
margin:0 0 10px;
font-size:20px;
}

.feature p{
margin:0;
color:rgba(255,255,255,.78);
font-size:14px;
line-height:1.55;
}

.section{
padding:88px 0;
}

.white{background:white}

.center{text-align:center}

h2{
font-size:clamp(34px, 4vw, 56px);
line-height:1.08;
letter-spacing:-.04em;
margin:0 0 18px;
color:var(--navy);
}

.intro{
max-width:760px;
margin:0 auto 42px;
font-size:18px;
font-weight:600;
color:#496184;
}

.grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:22px;
}

.tile{
background:white;
border-radius:30px;
padding:32px;
box-shadow:0 14px 38px rgba(23,43,85,.08);
font-weight:900;
color:var(--navy);
}

.tile:before{
content:"";
display:block;
width:54px;
height:54px;
border-radius:50%;
background:linear-gradient(135deg,var(--teal),#d7efec);
margin:0 auto 18px;
}

.cta{
margin:70px auto;
background:linear-gradient(120deg,#0E9E92,var(--teal));
color:white;
border-radius:44px;
padding:64px;
display:grid;
grid-template-columns:1fr auto;
gap:30px;
align-items:center;
position:relative;
overflow:hidden;
}

.cta h2{color:white}

.cta:after{
content:"";
position:absolute;
right:-80px;
bottom:-120px;
width:300px;
height:300px;
background:rgba(255,255,255,.25);
border-radius:42% 58% 60% 40%;
}

.site-footer{
background:var(--dark);
color:white;
padding:58px 0;
}

.footer-grid{
display:grid;
grid-template-columns:1.2fr 1fr 1fr 1fr;
gap:32px;
}

.footer-grid a{
display:block;
color:rgba(255,255,255,.75);
margin:8px 0;
}

.footer-logo{
font-size:38px;
font-weight:900;
letter-spacing:2px;
}

.mobile-note{display:none}

@media(max-width:960px){
.nav,.header-btn{display:none}
.mobile-note{display:block;font-weight:900}
.hero-grid{grid-template-columns:1fr;min-height:auto}
.hero-art{order:-1;height:390px}
.hero{padding-top:34px}
.features{grid-template-columns:1fr 1fr}
.grid{grid-template-columns:1fr}
.cta{grid-template-columns:1fr;padding:38px;margin:40px auto}
.footer-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
.wrap{width:min(100% - 28px, 1180px)}
.header-inner{height:72px}
.logo{font-size:32px}
h1{font-size:46px}
.hero-art{height:340px}
.big-a{width:250px;height:250px;right:-30px}
.big-a:after{left:82px;top:146px;width:82px;height:42px;border-bottom-width:12px}
.bag{width:190px;height:270px;right:52px}
.bottle{left:130px;height:220px;width:58px}
.lunch{width:170px;height:110px}
.ball{width:86px;height:86px}
.features{grid-template-columns:1fr}
.actions{display:grid}
.btn{width:100%}
.section{padding:58px 0}
}
