:root{--navy: #0b2545;--sky: #8fd0f2;--sky-low: #cbe9f8;--window: #eef6fa;--red: #d7263d;--yellow: #ffc629;--muted: #4f6178;--line: #c9dae6;--tile: 112px;--scallop: calc(var(--tile) * .25);--display: "Bagel Fat One", "Arial Rounded MT Bold", "Trebuchet MS", system-ui, sans-serif;--text: "Familjen Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--window);color:var(--navy);font:16px/1.5 var(--text)}h1,h2,h3{margin:0;font-family:var(--display);font-weight:400}h1{font-size:clamp(30px,5vw,44px);line-height:1.05;margin-bottom:20px}.muted{color:var(--muted)}code{background:#dfeaf2;padding:1px 6px;border-radius:6px;font-size:13px}:focus-visible{outline:3px solid #1d6fd1;outline-offset:2px}.topbar :focus-visible{outline-color:var(--yellow)}:where(button,input){font:inherit;color:inherit}:where(button){padding:9px 16px;border-radius:999px;border:2px solid var(--navy);background:#fff;cursor:pointer;font-weight:600}:where(button:hover:not(:disabled)){background:#f2f8fc}:where(button:active:not(:disabled)){transform:translateY(2px)}:where(button:disabled){opacity:.45;cursor:not-allowed}button.primary{background:var(--red);color:#fff;box-shadow:0 3px 0 var(--navy)}button.primary:hover:not(:disabled){background:#c41f34}button.primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--navy)}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(16px,4vw,32px);background:var(--navy);color:#fff}.brand{min-width:0;padding:0;border:0;background:none;color:var(--yellow);font:400 20px/1.2 var(--display);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .25s}.brand:hover:not(:disabled){background:none}.brand[data-hidden=true]{opacity:0;pointer-events:none}.topbar nav{display:flex;gap:8px;flex:none}.topbar nav button{padding:7px 14px;background:transparent;border-color:#fff6;color:#fff}.topbar nav button:hover:not(:disabled){background:#ffffff1f}.badge{display:inline-block;min-width:22px;margin-left:6px;padding:0 7px;border-radius:999px;background:var(--yellow);color:var(--navy);font-size:13px;font-weight:700;text-align:center}.hero{position:relative;overflow-x:clip;text-align:center;padding:clamp(28px,6vw,56px) 16px 0;background:linear-gradient(180deg,var(--sky) 0,var(--sky-low) calc(100% - var(--scallop)),var(--window) calc(100% - var(--scallop)))}.cloud{position:absolute;z-index:0;fill:#fff;opacity:.95}.cloud-a{width:clamp(120px,22vw,260px);top:18px;left:-3%}.cloud-b{width:clamp(90px,15vw,190px);top:96px;right:-2%}.cloud-c{width:clamp(60px,9vw,120px);top:8px;right:30%;opacity:.7}.sign{position:relative;z-index:1;display:inline-block;max-width:100%;margin-bottom:30px;padding:clamp(18px,3vw,28px) clamp(22px,5vw,56px) clamp(16px,2.5vw,24px);background:var(--navy);border-radius:18px;box-shadow:0 8px #0b254538;outline:2px solid rgba(255,198,41,.55);outline-offset:-9px}.sign h1{margin:0;font-size:clamp(30px,8.2vw,84px);line-height:1;color:var(--yellow);overflow-wrap:anywhere}.sign p{margin:6px 0 0;font:400 clamp(20px,3.6vw,34px) / 1.1 var(--display);color:#fff}.awning{position:relative;z-index:2;height:calc(var(--tile) * .6429);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='112' height='72' viewBox='0 0 112 72'%3E%3Cpath d='M0 0H56V44a28 28 0 0 1-56 0z' fill='%23D7263D'/%3E%3Cpath d='M56 0H112V44a28 28 0 0 1-56 0z' fill='%23fff'/%3E%3C/svg%3E") repeat-x left top / var(--tile) auto;filter:drop-shadow(0 4px 0 rgba(11,37,69,.18))}.hero .awning{margin-inline:-16px}.awning.slim{--tile: 56px}.open-sign{position:absolute;z-index:1;right:clamp(20px,9vw,120px);top:calc(100% - var(--scallop) - 14px);transform-origin:50% 0;animation:swing 2.6s ease-out .4s 1 both}.open-sign .strings{width:64px;height:calc(var(--scallop) + 30px);margin:0 auto;background:linear-gradient(var(--navy),var(--navy)) 14px 0 / 2px 100% no-repeat,linear-gradient(var(--navy),var(--navy)) calc(100% - 14px) 0 / 2px 100% no-repeat}.open-sign .board{padding:4px 16px 6px;border:3px solid var(--navy);border-radius:12px;background:var(--yellow);font:400 22px/1.1 var(--display)}@keyframes swing{0%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(6deg)}60%{transform:rotate(-3deg)}80%{transform:rotate(1deg)}to{transform:rotate(0)}}main{max-width:960px;margin:0 auto;padding:clamp(28px,5vw,44px) clamp(16px,4vw,24px) 56px}main.home{padding-top:84px}.section-title{font-size:clamp(26px,4vw,34px);line-height:1.1}.lede{max-width:46ch;margin:6px 0 32px;font-size:19px}.foot{max-width:960px;margin:0 auto;padding:0 clamp(16px,4vw,24px) 40px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:32px 24px}.card{position:relative;display:flex;flex-direction:column;padding:18px;background:#fff;border:3px solid var(--navy);border-radius:22px;box-shadow:0 7px 0 var(--navy)}.card h3{font-size:22px;line-height:1.15}.card .muted{margin:6px 0 16px;flex:1}.art{display:grid;place-items:center;height:132px;margin-bottom:14px;border-radius:14px;background:var(--tint, #ffe8a3)}.art span{font-size:68px;line-height:1}.grid .card:nth-child(6n+1){--tint: #ffe8a3}.grid .card:nth-child(6n+2){--tint: #cde8f8}.grid .card:nth-child(6n+3){--tint: #cdefd9}.grid .card:nth-child(6n+4){--tint: #fad3dc}.grid .card:nth-child(6n+5){--tint: #e1d8f7}.grid .card:nth-child(6n+6){--tint: #ffd9bf}.heart{position:absolute;top:28px;right:28px;z-index:1;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;font-size:21px;line-height:1}.heart.on{background:var(--red);color:#fff}.price{position:relative;display:inline-block;padding:5px 12px 5px 24px;background:var(--yellow);color:var(--navy);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;clip-path:polygon(14px 0,100% 0,100% 100%,14px 100%,0 50%)}.price:before{content:"";position:absolute;left:11px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#fff}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.stepper{display:inline-flex;align-items:center;gap:4px;padding:3px;border:2px solid var(--navy);border-radius:999px;background:#fff}.stepper button{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--yellow);font-size:18px;line-height:1}.stepper button:hover:not(:disabled){background:#ffd65c}.stepper span{min-width:26px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.lines{margin:0;padding:0;list-style:none;background:#fff;border:3px solid var(--navy);border-radius:22px;box-shadow:0 7px 0 var(--navy)}.lines li{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:2px dashed var(--line)}.lines li:last-child{border-bottom:0}.emoji-sm{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:12px;background:#ffe8a3;font-size:26px}.grow{flex:1;min-width:0}.line-total{min-width:70px;text-align:right;font-variant-numeric:tabular-nums}.row.total{margin:28px 4px 20px;font-size:20px}.total strong{font:400 30px/1 var(--display)}small.muted{font-size:13px}.form{display:grid;gap:16px;max-width:440px;margin-top:20px}.form label{display:grid;gap:6px;font-weight:600}.form input{padding:11px 14px;border:2px solid var(--navy);border-radius:12px;background:#fff}.receipt-wrap{max-width:440px;margin:24px 0 36px;filter:drop-shadow(0 5px 0 var(--navy))}.receipt{padding:22px 24px 30px;background:#fff;font-variant-numeric:tabular-nums;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50% / 18px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50% / 18px 100%}.receipt ul{margin:0;padding:0;list-style:none}.receipt li{display:flex;gap:12px;padding:8px 0;border-bottom:2px dashed var(--line)}.receipt-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:14px;font-size:18px}.receipt-total strong{font:400 28px/1 var(--display)}.error{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;padding:12px 16px;background:#ffe3e6;border:2px solid var(--red);border-radius:14px;color:#8a1224}.error button{padding:0 4px;border:0;background:none;font-size:22px;line-height:1;color:inherit}@media (max-width: 560px){:root{--tile: 84px}.brand-tail{display:none}.nav-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.open-sign{right:16px}.open-sign .board{font-size:18px;padding:3px 12px 5px}.lines li{flex-wrap:wrap}}@media (prefers-reduced-motion: reduce){.open-sign{animation:none}.brand{transition:none}}
