:root{
  --navy:#0f2344;
  --cream:#fff7ec;
  --paper:#fffdf8;
  --green:#b8d8ae;
  --blue:#c8e5f3;
  --orange:#f3ad86;
  --coffee:#97715d;
  --ink:#13213a;
  --muted:#747783;
  --line:rgba(15,35,68,.14);
  --shadow:0 30px 90px rgba(15,35,68,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 80% 10%, rgba(200,229,243,.55), transparent 28%),
    radial-gradient(circle at 10% 40%, rgba(243,173,134,.32), transparent 25%),
    var(--cream);
  color:var(--ink);
  font-family: Georgia, "Times New Roman", serif;
}
.loader{
  position:fixed; inset:0; z-index:999; background:var(--navy); color:var(--cream);
  display:grid; place-items:center; animation:fadeAway 1.2s ease 1.6s forwards;
}
.loader-logo{font-size:64px; letter-spacing:-.08em; font-weight:700}
.loader-line{position:absolute; bottom:42%; width:180px; height:1px; background:rgba(255,255,255,.5); transform-origin:left; animation:loadLine 1.4s ease forwards}
@keyframes loadLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes fadeAway{to{opacity:0;visibility:hidden}}
.header{
  position:fixed; top:16px; left:50%; transform:translateX(-50%); z-index:50;
  width:min(1160px, calc(100% - 32px)); padding:14px 18px;
  background:rgba(255,253,248,.74); backdrop-filter:blur(20px);
  border:1px solid var(--line); border-radius:999px;
  display:flex; align-items:center; justify-content:space-between; box-shadow:0 18px 50px rgba(15,35,68,.08);
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);font-weight:700;font-size:28px;letter-spacing:-.07em}
.logo-mark{width:34px;height:34px;border-radius:50%;background:var(--navy);color:white;display:grid;place-items:center;font-style:italic}
.nav{display:flex;gap:26px;font-family:ui-sans-serif,system-ui,sans-serif}
.nav a{text-decoration:none;color:var(--navy);font-size:14px;font-weight:650}
.menu-btn{display:none;background:none;border:0;font-size:24px;color:var(--navy)}
.hero{
  min-height:100vh; padding:150px 7vw 80px; display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; position:relative; overflow:hidden;
}
.hero-bg-word{position:absolute; left:4vw; bottom:-3vw; font-size:16vw; color:rgba(15,35,68,.045); font-weight:900; letter-spacing:-.12em; pointer-events:none}
.kicker{font-family:ui-sans-serif,system-ui,sans-serif;font-size:12px;letter-spacing:.22em;font-weight:800;color:var(--coffee);text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(54px,7vw,104px);line-height:.92;letter-spacing:-.075em;color:var(--navy);margin-bottom:28px}
h2{font-size:clamp(36px,5vw,72px);line-height:.98;letter-spacing:-.065em;color:var(--navy);margin-bottom:20px}
h3{font-size:28px;color:var(--navy);letter-spacing:-.03em}
.hero p,.section-title p,.about p,.store p,.contest p{font-size:18px;line-height:1.85;color:var(--muted)}
.hero-content{max-width:700px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;text-decoration:none;border:1px solid var(--navy);font-family:ui-sans-serif,system-ui,sans-serif;font-weight:800}
.btn.dark{background:var(--navy);color:white}.btn.light{background:rgba(255,255,255,.5);color:var(--navy)}
.hero-cake{position:relative;min-height:560px;display:grid;place-items:center}
.halo{position:absolute;width:480px;height:480px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.85),rgba(200,229,243,.5));box-shadow:var(--shadow)}
.cake-disc{position:relative;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff 0 14%,#fce5d9 15% 38%,#f3ad86 39% 55%,#0f2344 56% 100%);box-shadow:inset 0 0 0 16px rgba(255,255,255,.32);animation:bloom 6s ease-in-out infinite}
@keyframes bloom{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.035) rotate(2deg)}}
.petal{position:absolute;width:140px;height:78px;background:rgba(255,253,248,.92);border-radius:90px 12px 90px 12px;left:110px;top:140px;transform-origin:70px 38px}
.petal.a{transform:translateY(-80px)}.petal.b{transform:rotate(60deg) translateY(-80px)}.petal.c{transform:rotate(120deg) translateY(-80px)}.petal.d{transform:rotate(180deg) translateY(-80px)}.petal.e{transform:rotate(240deg) translateY(-80px)}.petal.f{transform:rotate(300deg) translateY(-80px)}
.berry{position:absolute;border-radius:50%;width:26px;height:26px;background:var(--green);box-shadow:0 0 0 8px rgba(255,255,255,.46)}
.berry.one{right:70px;top:70px}.berry.two{left:62px;bottom:82px;background:var(--blue)}.berry.three{right:92px;bottom:68px;background:var(--orange)}
.tag{position:absolute;background:rgba(255,255,255,.78);border:1px solid var(--line);padding:14px 18px;border-radius:999px;font-family:ui-sans-serif,system-ui,sans-serif;font-weight:800;color:var(--navy);box-shadow:0 16px 46px rgba(15,35,68,.12)}
.tag1{top:70px;right:2vw}.tag2{bottom:82px;left:0}
.manifesto{padding:110px 7vw;text-align:center;background:var(--navy);color:white}
.manifesto p{color:var(--blue);font-size:18px;letter-spacing:.1em}
.manifesto h2{color:white;max-width:980px;margin:0 auto}
.section{padding:110px 7vw;max-width:1320px;margin:0 auto}
.section-title{max-width:760px;margin-bottom:42px}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px}
.glass,.product,.contest-box,.contact-form{
  background:rgba(255,255,255,.66);border:1px solid var(--line);border-radius:36px;padding:34px;box-shadow:0 18px 60px rgba(15,35,68,.07);
}
.values{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.values div{background:var(--navy);color:white;border-radius:30px;padding:30px;min-height:155px}
.values strong{display:block;font-size:30px;letter-spacing:-.04em}.values span{color:rgba(255,255,255,.68)}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.product{min-height:390px;display:flex;flex-direction:column;justify-content:space-between;transition:.35s ease}
.product:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.product p{color:var(--muted);line-height:1.7}
.shell{height:145px;border-radius:88px 88px 26px 26px;background:var(--green);border-bottom:18px solid var(--navy);box-shadow:inset 0 -20px rgba(255,255,255,.36)}
.blue .shell{background:var(--blue)}.orange .shell{background:var(--orange)}.coffee .shell{background:var(--coffee)}
.store{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}
.store-visual{height:520px;background:linear-gradient(180deg,#0f2344,#172f59);border-radius:44px;position:relative;overflow:hidden;box-shadow:var(--shadow)}
.shop-sign{position:absolute;top:58px;left:50%;transform:translateX(-50%);width:96px;height:96px;border-radius:50%;background:var(--cream);color:var(--navy);font-size:68px;font-style:italic;display:grid;place-items:center}
.counter{position:absolute;left:70px;right:70px;bottom:56px;height:110px;background:#e7cfbb;border-radius:32px}
.plinth{position:absolute;bottom:190px;width:94px;height:94px;border-radius:50%;background:var(--green);box-shadow:0 18px 0 rgba(255,255,255,.22)}
.p1{left:100px}.p2{left:calc(50% - 47px);background:var(--blue)}.p3{right:100px;background:var(--orange)}
.contest{max-width:1100px}.contest-box{text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(200,229,243,.55))}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:34px 0}
.steps div{background:white;border-radius:26px;padding:22px;font-family:ui-sans-serif,system-ui,sans-serif}
.steps b{display:block;color:var(--coffee);margin-bottom:8px}.steps span{color:var(--navy);font-weight:800}
.contact{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px}
.contact-form{display:grid;gap:18px}
label{font-family:ui-sans-serif,system-ui,sans-serif;font-weight:800;color:var(--navy)}
input,textarea{width:100%;margin-top:8px;padding:17px 18px;border:1px solid var(--line);border-radius:20px;background:white;font:inherit}
textarea{min-height:150px;resize:vertical}
.footer{padding:70px 7vw;text-align:center;background:var(--navy);color:white}
.footer-logo{font-size:56px;letter-spacing:-.08em;font-weight:800}.footer p{color:rgba(255,255,255,.68)}
.reveal{opacity:0;transform:translateY(28px);transition:1s ease}.reveal.show{opacity:1;transform:none}
@media(max-width:980px){
  .menu-btn{display:block}.nav{display:none;position:absolute;left:16px;right:16px;top:72px;background:white;border-radius:28px;padding:22px;box-shadow:var(--shadow);flex-direction:column}.nav.open{display:flex}
  .hero,.about-grid,.store,.contact{grid-template-columns:1fr}.product-grid,.steps{grid-template-columns:1fr 1fr}
  .hero-cake{min-height:450px}.halo{width:380px;height:380px}.cake-disc{width:300px;height:300px}.petal{left:80px;top:110px}
}
@media(max-width:620px){
  .header{top:10px;width:calc(100% - 20px)}.hero{padding-top:130px}.product-grid,.steps,.values{grid-template-columns:1fr}
  h1{font-size:52px}.hero-cake{min-height:390px}.halo{width:320px;height:320px}.cake-disc{width:255px;height:255px}.tag{font-size:12px}
}
