@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,700;9..144,800&display=swap');

:root { --green:#4d176f; --leaf:#76269b; --lime:#e7c8f1; --orange:#9c4dba; --cream:#fdf9ff; --ink:#2f1f35; --muted:#74657a; --white:#fff; --shadow:0 18px 50px rgba(77,23,111,.14); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'DM Sans',Arial,sans-serif; color:var(--ink); background:var(--cream); }
a { color:inherit; text-decoration:none; }
img { max-width:100%; }
.container { width:min(1160px, calc(100% - 40px)); margin:auto; }
.site-header { position:sticky; top:0; z-index:20; background:rgba(255,250,240,.94); backdrop-filter:blur(14px); border-bottom:1px solid rgba(23,60,43,.1); }
.nav { height:108px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.logo { width:190px; height:94px; display:flex; overflow:hidden; align-items:center; } .logo img { width:100%; display:block; }
.nav-links { display:flex; gap:28px; align-items:center; font-weight:700; font-size:.93rem; }
.nav-links a { position:relative; padding:12px 0; }
.nav-links a:hover,.nav-links a.active { color:var(--orange); }
.nav-links a.active:after { content:""; position:absolute; left:0; right:0; bottom:5px; height:3px; border-radius:3px; background:var(--orange); }
.menu-btn { display:none; border:0; background:var(--green); color:white; width:44px; height:44px; border-radius:50%; font-size:1.25rem; cursor:pointer; }
.hero { min-height:650px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:50px; padding:70px 0 90px; overflow:hidden; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--leaf); text-transform:uppercase; font-weight:800; letter-spacing:.13em; font-size:.78rem; }
.eyebrow:before { content:""; width:26px; height:3px; background:var(--orange); border-radius:4px; }
h1,h2,h3 { font-family:'Fraunces',Georgia,serif; color:var(--green); line-height:1.05; }
h1 { font-size:clamp(3.2rem,6vw,6rem); letter-spacing:-.055em; margin:18px 0 22px; }
h1 em { color:var(--orange); font-style:normal; }
.lead { font-size:1.16rem; color:var(--muted); line-height:1.75; max-width:590px; }
.actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:15px 22px; border-radius:999px; font-weight:800; border:2px solid var(--green); transition:.2s; }
.btn-primary { background:var(--green); color:white; }
.btn-primary:hover { background:var(--orange); border-color:var(--orange); transform:translateY(-2px); }
.btn-secondary:hover { background:white; transform:translateY(-2px); }
.hero-art { position:relative; min-height:500px; display:grid; place-items:center; }
.blob { width:430px; height:430px; border-radius:46% 54% 58% 42% / 45% 40% 60% 55%; background:var(--lime); transform:rotate(-6deg); box-shadow:var(--shadow); }
.basket { position:absolute; width:360px; height:230px; bottom:40px; background:#a45a7d; border-radius:35px 35px 100px 100px; border:10px solid #713857; box-shadow:0 25px 45px rgba(56,42,22,.24); }
.basket:after { content:""; position:absolute; left:22px; right:22px; top:42px; bottom:26px; background:repeating-linear-gradient(90deg,transparent 0 32px,rgba(89,39,82,.24) 33px 39px); border-radius:20px 20px 70px 70px; }
.produce { position:absolute; font-size:100px; filter:drop-shadow(0 10px 8px rgba(23,60,43,.16)); z-index:2; }
.p1 { left:65px; top:70px; transform:rotate(-12deg); }.p2 { right:50px; top:90px; transform:rotate(10deg); }.p3 { left:155px; top:35px; }.p4 { right:125px; top:185px; font-size:85px; }.p5 { left:105px; top:205px; font-size:80px; }
.ribbon { position:absolute; right:-10px; bottom:15px; z-index:3; background:white; border-radius:18px; padding:14px 18px; box-shadow:var(--shadow); font-weight:800; transform:rotate(-3deg); }
.strip { background:var(--green); color:white; padding:18px 0; overflow:hidden; }
.strip-inner { display:flex; justify-content:space-around; gap:28px; font-weight:800; white-space:nowrap; }
.strip span:before { content:'✦'; color:var(--lime); margin-right:24px; }
.section { padding:100px 0; }
.section.alt { background:white; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:42px; }
.section h2 { font-size:clamp(2.5rem,4vw,4.3rem); letter-spacing:-.04em; margin:12px 0 0; }
.section-copy { color:var(--muted); max-width:480px; line-height:1.7; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.feature-card { padding:34px; border-radius:28px; background:var(--cream); border:1px solid #e5e8df; transition:.25s; }
.feature-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.feature-icon { width:64px; height:64px; display:grid; place-items:center; border-radius:20px; background:var(--lime); font-size:2rem; }
.feature-card h3 { font-size:1.55rem; margin:24px 0 10px; }
.feature-card p { color:var(--muted); line-height:1.65; margin:0; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.visual-card { min-height:470px; border-radius:40px; position:relative; overflow:hidden; background:var(--orange); display:grid; place-items:center; font-size:10rem; box-shadow:var(--shadow); }
.visual-card:before { content:""; position:absolute; width:300px; height:300px; border-radius:50%; background:var(--lime); top:-80px; left:-70px; }
.visual-card span { position:relative; filter:drop-shadow(0 20px 20px rgba(0,0,0,.16)); }
.check-list { list-style:none; padding:0; margin:28px 0; display:grid; gap:15px; }
.check-list li { display:flex; gap:12px; align-items:center; font-weight:600; }
.check-list li:before { content:'✓'; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:var(--lime); color:var(--green); font-weight:900; }
.cta { margin:0 auto 100px; background:var(--orange); color:white; border-radius:36px; padding:60px; display:flex; justify-content:space-between; align-items:center; gap:30px; overflow:hidden; position:relative; }
.cta h2 { color:white; font-size:clamp(2.2rem,4vw,4rem); margin:0 0 12px; }
.cta p { margin:0; opacity:.85; }.cta .btn { background:white; border-color:white; color:var(--green); white-space:nowrap; }
.page-hero { padding:90px 0 70px; text-align:center; background:linear-gradient(135deg,#fdf7ff,#ead3f3); }
.page-hero h1 { font-size:clamp(3.3rem,6vw,5.6rem); margin-bottom:15px; }.page-hero .lead { margin:auto; }
.product-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.product-card { background:white; border-radius:26px; padding:26px; text-align:center; border:1px solid #ecebe3; transition:.25s; }
.product-card:hover { transform:translateY(-5px) rotate(-1deg); box-shadow:var(--shadow); }
.product-emoji { height:130px; display:grid; place-items:center; font-size:5.6rem; border-radius:20px; background:#f6edf9; }
.product-card h3 { margin:20px 0 5px; font-size:1.35rem; }.product-card p { margin:0; color:var(--muted); font-size:.9rem; }
.badge { display:inline-block; margin-top:13px; padding:6px 10px; border-radius:20px; background:#f0e1f5; color:var(--leaf); font-size:.75rem; font-weight:800; }
.story { max-width:780px; margin:auto; font-size:1.16rem; line-height:1.9; color:var(--muted); }.story strong { color:var(--green); }
.values { margin-top:60px; }
.contact-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:28px; }
.contact-card { background:var(--green); color:white; padding:42px; border-radius:30px; }.contact-card h2 { color:white; font-size:2.5rem; margin-top:0; }.contact-card a { color:var(--lime); font-weight:800; }
.info-row { padding:22px 0; border-top:1px solid rgba(255,255,255,.18); }.info-row strong { display:block; color:var(--lime); margin-bottom:7px; }
.map { min-height:500px; border:0; width:100%; border-radius:30px; filter:saturate(.85); }
.directions { margin-top:32px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.direction { background:white; padding:24px; border-radius:20px; }.direction b { display:block; color:var(--green); margin-bottom:8px; }.direction p { color:var(--muted); line-height:1.55; margin:0; }
footer { background:#321044; color:white; padding:60px 0 25px; }.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:50px; }.footer-logo { width:230px; border-radius:8px; margin-bottom:15px; }.footer-copy { color:#d8c7df; max-width:350px; line-height:1.7; }.footer-links { display:grid; gap:10px; color:#eadff0; }.footer-links a:hover { color:var(--lime); }.footer-title { color:var(--lime); font-weight:800; margin-bottom:18px; }.copyright { margin-top:45px; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); color:#bea9c8; font-size:.86rem; display:flex; justify-content:space-between; }
@media (max-width:900px) { .hero,.split,.contact-grid { grid-template-columns:1fr; }.hero { padding-top:40px; }.hero-art { order:-1; min-height:390px; transform:scale(.82); margin:-30px 0; }.cards { grid-template-columns:1fr; }.product-grid { grid-template-columns:repeat(2,1fr); }.nav-links { display:none; position:absolute; top:108px; left:0; right:0; background:var(--cream); padding:22px 30px; flex-direction:column; align-items:flex-start; box-shadow:0 20px 30px rgba(0,0,0,.1); }.nav-links.open { display:flex; }.menu-btn { display:block; }.section-head { display:block; }.footer-grid { grid-template-columns:1fr 1fr; }.footer-grid>div:first-child { grid-column:1/-1; } }
@media (max-width:600px) { .container { width:min(100% - 28px,1160px); }.logo { width:150px; height:86px; }.hero-art { transform:scale(.66); margin:-70px -70px; }.hero { gap:20px; }.section { padding:70px 0; }.product-grid,.directions { grid-template-columns:1fr; }.cta { padding:38px 28px; display:block; }.cta .btn { margin-top:25px; }.footer-grid { grid-template-columns:1fr; }.copyright { display:block; line-height:1.8; }.contact-card { padding:30px; } }

