@font-face{font-family:Oswald;src:url('assets/catalog/oswald-600.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
:root{--red:#d9292c;--red-dark:#b51920;--ink:#333;--muted:#777;--cream:#efede8;--white:#fff;--line:#e9e9e9;--display:Oswald,'Arial Narrow',Arial,sans-serif}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--cream);font-family:Arial,Helvetica,sans-serif;color:var(--ink);touch-action:none;user-select:none}button{font:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:default}button:focus-visible{outline:3px solid var(--red);outline-offset:4px}button[hidden],[hidden]{display:none!important}
.app{position:relative;width:100vw;height:100dvh;min-height:540px;display:grid;grid-template-rows:12vh 1fr 11vh;overflow:hidden}
.topbar{display:flex;align-items:center;gap:2vw;padding:1.2vh 4vw;background:#fff;z-index:10;border-bottom:1px solid var(--line)}.brand-logo{width:7.3vw;max-height:8vh;object-fit:contain}.topbar-copy{flex:1}.topbar h1{font-family:var(--display);font-size:clamp(25px,2.1vw,46px);text-transform:uppercase;line-height:1.15;margin:.4vh 0 0;font-weight:600}.eyebrow{font-size:clamp(10px,.75vw,15px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.icon-button{border:1px solid var(--line);width:46px;height:46px;border-radius:50%;font-size:26px;background:#fafafa;color:#444}.experience{position:relative;min-height:0;overflow:hidden}.scene{position:absolute;inset:0;background:radial-gradient(ellipse at 40% 30%,#faf9f5,#edeae3);overflow:hidden}.pig-visual{position:absolute;inset:0;width:100%;height:100%}.pig-visual canvas{display:block;width:100%;height:100%;touch-action:none}.model-loader{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:15px 24px;border-radius:40px;background:#333e;color:white;font-weight:700;transition:opacity .3s}.model-loader.ready{opacity:0;pointer-events:none}
.scene-hint{position:absolute;left:4vw;bottom:3vh;color:#666;font-size:clamp(13px,1vw,20px);pointer-events:none}.app:not([data-mode="idle"]) .scene-hint{display:none}.welcome-card{position:absolute;right:3vw;top:3vh;width:25vw;min-width:240px;max-width:390px;background:#fffffff0;border:1px solid #e5e2dc;padding:2.5vh 1.8vw;box-shadow:0 8px 30px #33300009}.welcome-card h2{font-family:var(--display);font-size:clamp(24px,2vw,40px);font-weight:600;line-height:1.2;margin:1vh 0;text-transform:uppercase}.welcome-card p{font-size:clamp(14px,1vw,20px);line-height:1.5;margin:0 0 2vh;color:#777}.app:not([data-mode="idle"]) .welcome-card{visibility:hidden;pointer-events:none}
.primary-button,.nav-button{border:0;background:var(--red);color:white;font-family:var(--display);font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:1.4vh 2vw;font-size:clamp(15px,1.1vw,22px)}.primary-button.large{width:100%}.bottom-bar{display:flex;align-items:center;justify-content:space-between;gap:2vw;background:#fff;padding:1.5vh 4vw;z-index:12;border-top:1px solid var(--line)}.bottom-bar p{font-size:clamp(13px,1vw,21px);text-align:center;margin:0;color:#777}.nav-button.secondary{background:#f3f3f3;color:#444}.nav-button{min-width:10vw}.id3as-mark{position:absolute;right:1.3vw;bottom:11.7vh;width:5vw;z-index:2;opacity:.5;pointer-events:none}
.hotspots{position:absolute;inset:0;pointer-events:none;z-index:3}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #d9292c70;background:#fffffff2;color:#555;border-radius:3px;min-height:38px;padding:8px 13px;font-size:clamp(11px,.8vw,16px);font-weight:700;pointer-events:auto;box-shadow:0 4px 14px #00000008}.hotspot.is-hovered{background:var(--red);border-color:var(--red);color:white}.cut-hover-hint{position:absolute;top:2vh;left:50%;transform:translateX(-50%);background:var(--red);color:white;padding:10px 20px;z-index:4;pointer-events:none;font-weight:700;font-size:14px}
/* Product sheet: official red, condensed headings and pale cut/preparation cards. */
.info-panel{position:fixed;z-index:30;left:50%;top:50%;transform:translate(-50%,-50%);width:min(1280px,92vw);height:min(940px,91dvh);background:white;display:grid;grid-template-rows:auto minmax(0,1fr) auto;box-shadow:0 0 0 100vmax #28231d80,0 25px 90px #0003;border:1px solid #ececec;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .18s}
.app[data-panel="open"] .info-panel{visibility:visible;opacity:1;pointer-events:auto}.sheet-toolbar{display:flex;align-items:center;gap:20px;padding:16px 26px;border-bottom:1px solid var(--line)}.back-to-cuts{border:0;background:none;color:#555;font-size:14px;font-weight:700;display:flex;gap:12px;align-items:center;min-height:44px;padding:0}.back-to-cuts span{font-size:24px;color:var(--red)}.back-to-cuts:hover{color:var(--red)}.sheet-context{margin-left:auto;display:flex;gap:12px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#888}.sheet-context span:first-child{color:var(--red);font-weight:700}.close-button{flex-shrink:0;position:static;display:grid;place-items:center;background:#f5f5f5;border:1px solid #eee;width:46px;height:46px;color:#444;font-size:30px;line-height:1;border-radius:50%}.close-button:hover{background:var(--red);color:white;border-color:var(--red)}
.sheet-content{overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:24px 36px 26px;display:flex;flex-direction:column;gap:24px}.product-overview{display:grid;grid-template-columns:1fr 1fr;gap:38px;min-height:290px;flex:1}.section-kicker{font-size:11px;color:#999;text-transform:uppercase;letter-spacing:.15em}.product-summary h2{font-family:var(--display);font-weight:600;font-size:clamp(27px,2.45vw,46px);text-transform:uppercase;line-height:1.18;margin:12px 0 20px;max-width:560px}.red-rule{display:block;width:50px;height:4px;background:var(--red)}.other-products-label{margin:26px 0 12px;font-size:12px;font-weight:700;color:#888}.product-options{display:grid;gap:6px}.product-option{border:1px solid transparent;border-left:3px solid transparent;background:#fafafa;display:flex;align-items:center;gap:12px;text-align:left;padding:5px 12px;min-height:58px;color:#666;font-size:13px}.product-option img{width:45px;height:45px;object-fit:contain}.product-option[aria-pressed="true"]{border-left-color:var(--red);background:#fff5f5;color:#b51920;font-weight:700}.product-option:hover{border-color:#f2c5c5}
.product-gallery{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.gallery-zoom{border:0;background:white;position:relative;width:100%;height:clamp(210px,32vh,360px);padding:0}.gallery-zoom img{width:100%;height:100%;object-fit:contain}.zoom-hint{position:absolute;bottom:0;right:8px;font-size:11px;color:#999;background:#fffe;padding:5px 8px}.gallery-tabs{display:flex;justify-content:center;gap:18px}.gallery-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 2px;color:#999;font-size:12px;min-height:40px}.gallery-tabs button[aria-pressed="true"]{color:var(--red);border-color:var(--red)}
.product-facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;flex-shrink:0}.fact-card{background:#f7f7f7;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;min-height:180px}.fact-card h3{font-family:var(--display);font-size:clamp(17px,1.4vw,24px);font-weight:600;text-transform:uppercase;line-height:1.25;margin:0 0 15px;text-align:center}.cut-card img{width:min(90%,300px);height:clamp(90px,12vh,145px);object-fit:contain;mix-blend-mode:multiply}.product-methods{display:flex;justify-content:center;align-items:center;gap:clamp(12px,2vw,40px);height:clamp(90px,12vh,145px)}.product-methods img{height:100%;max-width:27%;object-fit:contain;mix-blend-mode:multiply}
.sheet-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 30px}.catalog-caption{font-size:12px;color:#999}.product-navigation{display:flex;align-items:center;gap:18px}.round-button{width:44px;height:44px;border:1px solid #e5e5e5;background:white;color:var(--red);font-size:28px}.round-button:hover:not(:disabled){background:var(--red);color:white}.product-navigation>span{font-size:13px;letter-spacing:.1em;color:#777;min-width:55px;text-align:center;font-variant-numeric:tabular-nums}
.media-viewer{border:0;padding:20px;background:white;width:min(900px,94vw);height:min(1000px,94dvh);max-width:94vw;max-height:94dvh;box-shadow:0 20px 90px #0005}.media-viewer::backdrop{background:#222b}.media-viewer[open]{display:flex;flex-direction:column;gap:20px}.media-viewer header{display:flex;align-items:center;justify-content:space-between;gap:20px}.media-viewer h2{font-family:var(--display);font-size:22px;text-transform:uppercase;margin:0}.media-viewer>img{width:100%;height:calc(100% - 66px);min-height:0;object-fit:contain}
@media(max-width:900px){.sheet-toolbar{padding:10px 16px;gap:12px}.sheet-context{display:none}.sheet-toolbar .close-button{margin-left:auto}.sheet-content{padding:20px;gap:18px}.product-overview{gap:22px;min-height:220px}.gallery-zoom{height:240px}.product-summary h2{font-size:28px}.fact-card{padding:16px 10px;min-height:150px}.other-products-label{margin-top:18px}.product-options{gap:4px}.product-option{font-size:12px;min-height:50px;padding:4px 6px}.product-option img{width:35px;height:35px}.welcome-card{width:34vw}.sheet-footer{padding:12px 20px}}
@media(max-width:580px){.product-overview{grid-template-columns:1fr}.product-gallery{grid-row:2}.product-summary h2{font-size:26px}.product-options{grid-template-columns:1fr 1fr}.product-option{font-size:11px}.product-facts{grid-template-columns:1fr}.info-panel{width:96vw;height:96dvh}.catalog-caption{display:none}.sheet-footer{justify-content:center}.welcome-card{right:4vw;width:55vw;min-width:0;padding:18px}.welcome-card h2{font-size:22px}.bottom-bar{gap:10px;padding:12px}.bottom-bar p{font-size:11px}.nav-button{font-size:12px;padding:12px}.brand-logo{width:60px}.topbar h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
