@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--blue:#007ca5;--ink:#184858;--cream:#fffcf6;--pink:#f1cdd5;--sky:#d4edf0;--muted:#53717a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #ad6274;outline-offset:5px}.topline{background:var(--blue);color:white;text-align:center;font-size:11px;letter-spacing:1.5px;padding:8px}header{height:108px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #d6ded8;background:var(--cream)}.brand{display:flex;align-items:center;gap:16px}.brand>span:last-child{font-size:10px;letter-spacing:2px;max-width:75px;line-height:1.5}.logo{width:75px;height:75px;display:block;border-radius:50%;background-image:url('assets/brand.jpg');background-size:225px 400px;background-position:-75px -150px}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{color:var(--blue)}.button{background:var(--blue);color:white;border:1px solid var(--blue);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:15px 24px;font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#005e7e;transform:translateY(-2px)}.small{padding:11px 16px;gap:15px}.small span{border:1px solid #ffffff70;border-radius:50%;min-width:23px;font-size:11px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px;overflow:hidden}.hero-copy{padding:80px 8% 60px 12%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-2px}h1{font-size:clamp(48px,5.3vw,82px);margin-bottom:26px}em{font-weight:500;color:var(--blue)}.hero-copy>p:not(.eyebrow){max-width:380px;color:var(--muted);font-size:15px}.actions{display:flex;gap:24px;align-items:center;margin-top:32px}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-note{display:flex;align-items:center;gap:14px;font-size:11px;margin-top:46px}.hero-note span{font-size:32px;color:#ad6274}.hero-art{background:var(--sky);position:relative;padding:60px 8% 65px 4%;display:flex;align-items:center;justify-content:center}.photo{width:100%;max-width:550px;height:470px;overflow:hidden;border-radius:220px 220px 12px 12px;transform:rotate(3deg);box-shadow:0 18px 40px #15485512}.photo img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.65);transform-origin:center 20%}.seal{position:absolute;right:5%;top:44px;border-radius:50%;width:120px;height:120px;background:var(--pink);text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:8px;letter-spacing:1px;transform:rotate(12deg);border:1px dashed #af7f8b;outline:7px solid var(--pink)}.seal b{font:italic 35px Georgia;line-height:1}.handwritten{position:absolute;bottom:30px;font:italic 24px Georgia;transform:rotate(-4deg)}.ribbon{display:flex;justify-content:space-around;align-items:center;gap:20px;background:var(--pink);padding:20px 4%;font:italic 21px Georgia}.ribbon span:nth-child(even){font:24px Georgia}.section{padding:90px 6%}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px}.section-heading>p{max-width:370px;color:var(--muted);font-size:14px}h2{font-size:48px;margin-bottom:25px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:30px 0}.filters button{border:1px solid #b7c9cb;background:transparent;border-radius:30px;padding:10px 20px;color:var(--ink);font-size:12px}.filters button.active{background:var(--ink);border-color:var(--ink);color:white}.flavour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.flavour-card{border-bottom:1px solid #d2dad6;padding-bottom:22px}.scoop-art{height:220px;display:flex;justify-content:center;align-items:center;position:relative;overflow:hidden;background:var(--card);border-radius:6px}.scoop-art svg{width:185px;height:185px;filter:drop-shadow(0 15px 8px #533b2220);transition:transform .3s}.flavour-card:hover svg{transform:rotate(5deg) translateY(-6px)}.tag{position:absolute;top:15px;left:16px;font-size:8px;letter-spacing:1.5px}.card-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:18px;gap:10px}.card-bottom h3{font:23px 'Playfair Display',Georgia;margin:0}.card-bottom button{flex-shrink:0;width:38px;height:38px;border-radius:50%;border:1px solid var(--ink);background:transparent;color:var(--ink);font-size:23px}.card-bottom button:hover{background:var(--ink);color:white}.flavour-card p{font-size:12px;color:var(--muted);margin:8px 0 0}.caption{font-size:11px;color:var(--muted);margin:24px 0 0}.story{display:grid;grid-template-columns:1fr 1fr;background:#ecede0}.story-art{background:var(--pink);padding:60px;text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:480px}.big-flake{font-size:90px;color:var(--blue);line-height:1.1}.story-art p{font:56px/1.1 'Playfair Display',Georgia;margin:25px 0 35px}.story-art>span:last-child{font-size:9px;letter-spacing:3px}.story-copy{padding:65px 12%}.story-copy p:not(.eyebrow){font-size:14px;color:var(--muted)}.story-copy h2{font-size:42px}.order-section{text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:65px;margin:45px 0}.steps span{font:italic 35px Georgia;color:#ac6373}.steps h3{font:22px Georgia;margin:16px 0}.steps p{font-size:13px;color:var(--muted)}.alternative{max-width:500px;margin:36px auto 0;padding-top:24px;border-top:1px solid #d6ded8}.alternative p{font-size:12px;margin-bottom:8px}.alternative small{font-size:10px;color:var(--muted);display:block;margin-top:12px}#lokal{display:none}.visit{padding:70px 6%;display:grid;grid-template-columns:1.5fr 1fr;gap:9%;background:var(--sky)}.visit h2{font-size:42px}.visit p:not(.eyebrow){max-width:440px;font-size:14px}.social{border-left:1px solid #9fc1c6;padding-left:40px;align-self:center}.social>span{font-size:9px;letter-spacing:2px}.social h3{font:27px/1.3 Georgia;margin:20px 0}.social a{display:flex;justify-content:space-between;border-bottom:1px solid #9fc1c6;padding:14px 0;font-size:13px}footer{background:var(--ink);color:var(--cream);padding:30px 6%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px}.footer-brand{font-size:29px;font-weight:bold}dialog{border:none;border-radius:12px;width:min(540px,92vw);padding:30px;color:var(--ink);background:var(--cream);max-height:90vh}dialog::backdrop{background:#163e4ab0;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:start}.dialog-head h2{font-size:34px;margin:0}.dialog-head .eyebrow{margin-bottom:12px}.icon{font-size:30px;border:0;background:transparent;color:var(--ink)}dialog>p{font-size:12px;margin:20px 0}.item{display:flex;justify-content:space-between;border-bottom:1px solid #d2dad6;padding:16px 0;gap:10px;font-size:14px}.qty{display:flex;gap:12px;align-items:center}.qty button{border:1px solid #a7bcc1;background:white;color:var(--ink);border-radius:4px;width:28px;height:28px}label{display:block;margin:20px 0 8px;font-size:12px;font-weight:600}label span{font-weight:400}select,textarea{width:100%;border:1px solid #a7bcc1;border-radius:4px;background:white;padding:12px;color:var(--ink);font-size:13px}textarea{min-height:85px;resize:vertical}.checkout{width:100%;margin-top:22px}.copy{width:100%;background:none;border:0;text-decoration:underline;color:var(--ink);font-size:12px;margin-top:13px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:white;padding:12px 25px;border-radius:6px;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:4}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){header{padding:0 5%;height:90px}nav{gap:18px}.brand>span:last-child{display:none}.hero-copy{padding:45px 9%}.hero{min-height:0}.hero-art{padding:35px 8%}.photo{height:390px}.seal{width:90px;height:90px;right:4%;font-size:6px}.hero-copy h1{font-size:52px}.actions{flex-direction:column;align-items:flex-start;gap:18px}.flavour-grid{gap:18px}.section{padding:65px 6%}.scoop-art{height:180px}.story-copy{padding:45px 9%}.story-art{padding:25px}.story-art p{font-size:44px}.story-copy h2{font-size:34px}.steps{gap:25px}.visit h2{font-size:35px}}@media(max-width:580px){nav{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:42px 6% 35px}.hero-copy h1{font-size:59px}.hero-copy>p:not(.eyebrow){max-width:100%}.actions{flex-direction:row;align-items:center;gap:20px}.hero-note{margin-top:25px}.hero-art{padding:35px 10% 55px}.photo{height:350px;max-width:370px}.seal{right:8%;top:18px;width:94px;height:94px}.ribbon{font-size:16px;padding:17px}.ribbon span:nth-child(n+4){display:none}.section-heading{display:block}.section-heading>p{max-width:100%}h2{font-size:39px}.flavour-grid{grid-template-columns:repeat(2,1fr);gap:23px 15px}.scoop-art{height:160px}.scoop-art svg{width:140px;height:140px}.card-bottom h3{font-size:19px}.tag{font-size:7px;left:10px}.card-bottom button{width:30px;height:30px}.filters{gap:7px}.filters button{font-size:10px;padding:9px 14px}.story{grid-template-columns:1fr}.story-art{min-height:340px}.story-copy{padding:45px 7%}.steps{grid-template-columns:1fr;gap:15px;text-align:left}.steps>div{padding-left:55px;position:relative}.steps span{position:absolute;left:0;top:5px}.steps h3{margin:10px 0}.visit{grid-template-columns:1fr;gap:45px;padding:55px 7%}.social{border-left:0;border-top:1px solid #9fc1c6;padding:25px 0 0}footer{flex-wrap:wrap}footer>span{width:100%;order:3}.eyebrow{font-size:9px}.hero .eyebrow{letter-spacing:1.3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Product photography and expanded demo catalogue */
.scoop-art{height:auto;aspect-ratio:496/260;background:var(--sky)}
.scoop-art .product-photo{display:block;width:100%;height:100%;object-fit:cover;filter:none;transform:none;transition:transform .3s}
.flavour-card:hover .product-photo{transform:scale(1.035)}
.scoop-art .tag{z-index:1;top:10px;left:10px;padding:3px 8px;border-radius:3px;background:#fffcf6ed;font-size:8px}
.product-price{display:block;color:var(--blue);font-size:14px;font-weight:700;margin-top:7px}
.card-bottom{align-items:flex-start}.card-bottom h3{font-size:22px;line-height:1.3}.card-bottom button{margin-top:3px}
@media(max-width:580px){.card-bottom h3{font-size:18px}.product-price{font-size:12px}.scoop-art .tag{font-size:6px;top:6px;left:6px;padding:2px 5px}}

#chat-demo { background: var(--sky); }
.demo-phone { max-width: 560px; overflow: hidden; border-radius: 16px; background: #eee8df; box-shadow: 0 12px 30px #15485520; }
.demo-header { display: flex; flex-direction: column; padding: 14px 20px; color: white; background: #075e54; }
.demo-header span { font-size: 13px; }
.demo-messages { display: flex; flex-direction: column; gap: 12px; height: min(330px, 55vh); margin: 0; padding: 16px; overflow-y: auto; list-style: none; }
.demo-messages li { width: fit-content; max-width: 88%; padding: 10px 14px; border-radius: 10px; background: white; font-size: 14px; }
.demo-messages p { margin: 0; }
.demo-messages strong { font-size: 12px; }
.demo-messages .demo-customer { align-self: flex-end; background: #d9fdd3; }
.demo-controls { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px; background: #faf9f6; }
.demo-controls button { border: 1px solid #075e54; border-radius: 6px; padding: 6px 12px; background: white; color: #075e54; }
#demo-next { background: #075e54; color: white; }
.demo-controls button:disabled { opacity: .55; cursor: default; }
#demo-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (min-width: 581px) and (max-width: 900px) {
  .flavour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 580px) {
  .flavour-grid { grid-template-columns: minmax(0, 1fr); }
  .flavour-card { min-width: 0; padding-bottom: 16px; }
  .flavour-card .card-bottom { margin-top: 12px; align-items: start; }
  .flavour-card .card-bottom > div { min-width: 0; }
  .flavour-card .card-bottom button { width: 44px; height: 44px; margin-top: 0; }
  .flavour-card .tag { font-size: 9px; line-height: 1.3; }
}

#demo-launch {
  position: fixed;
  right: max(16px, env(safe-area-inset-right));
  bottom: max(16px, env(safe-area-inset-bottom));
  z-index: 5;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #075e54;
  border-radius: 999px;
  background: #075e54;
  color: white;
  font-weight: 700;
  box-shadow: 0 4px 16px #15485540;
}
#chat-demo {
  position: fixed;
  inset: auto max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) auto;
  width: min(420px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  margin: 0;
  padding: 0;
}
.demo-header { position: relative; padding-right: 62px; }
#demo-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: white;
  font-size: 24px;
}
