@font-face{font-family:LukkaSerif;src:url('/assets/fonts/cormorant.woff2') format('woff2');font-weight:400 600;font-display:swap}
@font-face{font-family:LukkaSerif;src:url('/assets/fonts/cormorant-ext.woff2') format('woff2');font-weight:400 600;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
@font-face{font-family:LukkaSans;src:url('/assets/fonts/dm-sans.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:LukkaSans;src:url('/assets/fonts/dm-sans-ext.woff2') format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
:root{font-family:LukkaSans,sans-serif;color:#193b31;background:#faf7f0;font-synthesis:none;--ink:#193b31;--body-ink:#354738;--accent:#80391f;--muted-ink:#5c5144}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 42% 30%,#fffdfa,#eee8dd)}
a{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #99492d;outline-offset:6px}
header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;border-bottom:1px solid #b8afa234;background:#fffefca8}
.logo{font-family:LukkaSerif,serif;font-size:34px;letter-spacing:.18em;line-height:1;text-decoration:none}.logo span{display:block;font-family:LukkaSans,sans-serif;font-size:7px;letter-spacing:.22em;margin-top:7px}
.preview-note{font-size:9px;line-height:1.8;letter-spacing:.12em;text-align:right;color:var(--muted-ink);margin:0}.preview-note span{display:block}
.pizza-hero{position:relative;isolation:isolate;max-width:1800px;margin:auto;padding:16px 10px 30px;display:grid;gap:24px;background:#f7f1e7}
/* Reuse the approved table photograph. No plate, frame or image behind the pizza itself. */
.pizza-hero::before{content:"";position:absolute;inset:0 0 auto;height:calc(100vw + 75px);z-index:-1;pointer-events:none;background:linear-gradient(0deg,#f7f1e7,transparent 25%),url('/assets/tabletop-feast-mobile-v1.webp') 48% top/cover no-repeat}
.pizza-column{min-width:0}#viewport{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:0;background:transparent;box-shadow:none;touch-action:pan-y;isolation:isolate}
#viewport canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#slice-labels{position:absolute;inset:0;z-index:2;pointer-events:none;visibility:hidden}#viewport[data-ready="true"] #slice-labels{visibility:visible}
.slice-label{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:96px;min-height:50px;padding:4px 0;color:#fff;text-align:center;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.2;letter-spacing:.015em;pointer-events:auto;text-shadow:-1px -1px 0 #203026,1px -1px 0 #203026,-1px 1px 0 #203026,1px 1px 0 #203026,0 2px 5px #12251be6;will-change:transform}
.slice-label svg{width:28px;height:28px;flex-shrink:0;filter:drop-shadow(1px 1px 0 #203026) drop-shadow(-1px -1px 0 #203026) drop-shadow(0 2px 3px #142419aa);stroke-width:2.2;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}
.slice-label:focus-visible{outline:2px solid #fff;border-radius:6px;outline-offset:3px}.slice-label[data-active="true"]{color:#fff}
#loading{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:13px;color:#795c47;padding:32px;margin:0}#loading[hidden]{display:none}
.view-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 8px 0}.view-controls p{max-width:220px;font-size:10px;line-height:1.5;color:#594939;margin:0;text-shadow:0 1px 3px #fff9ee}.view-controls button{border:0;border-bottom:1px solid #9c826c;background:transparent;color:#573523;font-size:10px;white-space:nowrap;padding:5px 0;cursor:pointer}
.view-controls p,.view-controls button{background:#fbf7eeeb;padding:6px 9px;text-shadow:none}.view-controls p{border-left:2px solid #a5563c70}
.view-controls{flex-wrap:wrap}.effect-controls{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.effect-controls button[hidden]{display:none}
aside{padding:8px 18px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.17em;color:var(--accent);margin:0 0 18px}h1{font-family:LukkaSerif,serif;font-size:clamp(46px,5vw,70px);font-weight:400;line-height:.92;letter-spacing:-.045em;margin:0 0 24px}.intro{font-size:14px;color:var(--body-ink);line-height:1.6;margin-bottom:24px}
.category-list{display:grid;border-top:1px solid #8e9a865c}.category-list a{display:flex;align-items:center;gap:14px;min-height:43px;border-bottom:1px solid #8e9a865c;text-decoration:none;font-size:14px;font-weight:500}.category-list span{color:var(--muted-ink);font-size:10px;letter-spacing:.05em}.category-list i{font-size:16px;font-style:normal;margin-left:auto;color:var(--accent)}.category-list a:hover,.category-list a[data-active="true"]{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.selection{font-size:12px;line-height:1.5;color:var(--accent);min-height:33px;margin:20px 0}.compare{font-size:11px;color:var(--body-ink);text-underline-offset:4px}
@media(min-width:760px){header{padding:20px 3vw}.logo{font-size:40px}.preview-note{font-size:9px}.pizza-hero{grid-template-columns:minmax(0,1fr) 245px;padding:24px 3vw;gap:24px}.pizza-hero::before{inset:0;height:auto;background:linear-gradient(90deg,transparent 64%,#fbf7eaf0 81%,#fbf7eaf7),url('/assets/tabletop-feast-v1.webp') center/cover no-repeat}#viewport{height:max(550px,calc(100svh - 165px));max-height:900px;aspect-ratio:auto}aside{align-self:center;padding:10px 0}.slice-label{width:124px;font-size:15px;gap:6px;min-height:70px}.slice-label svg{width:36px;height:36px}.view-controls p{font-size:11px;max-width:none}.view-controls button{font-size:11px}}
@media(min-width:1200px){.pizza-hero{grid-template-columns:minmax(0,1fr) 285px;gap:40px}.slice-label{font-size:18px;width:150px}.slice-label svg{width:43px;height:43px}.category-list a{font-size:15px;min-height:46px}.intro{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.languages a,.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:#52604c;text-decoration:none;padding:12px 8px}.languages a[aria-current="page"],.language-switch a[aria-current="page"]{color:#903c26;text-decoration:underline;text-underline-offset:6px;font-weight:700}
