/* ── HERO ── */
.mach-hero{background:#fff;padding:52px 40px 0;text-align:center;position:relative;overflow:hidden}
.mach-hero-ey{font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--red);font-weight:600;margin-bottom:16px;display:flex;align-items:center;gap:10px;justify-content:center}
.mach-hero-ey::before,.mach-hero-ey::after{content:'';display:block;height:1px;width:16px;background:var(--gold)}
.mach-hero h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,4rem);line-height:1.06;color:var(--ink);font-weight:400;margin-bottom:12px}
.mach-hero h1 i{font-style:italic;color:var(--red)}
.mach-hero-sub{font-size:1.1rem;color:var(--ink2);margin-bottom:36px;max-width:580px;margin-left:auto;margin-right:auto;line-height:1.75}
/* Angle viewer */
.angle-viewer{max-width:520px;margin:0 auto;cursor:pointer;user-select:none}
.angle-stage{position:relative;aspect-ratio:3/4;width:100%}
.angle-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .4s ease;filter:drop-shadow(0 24px 48px rgba(200,32,32,.18)) drop-shadow(0 8px 24px rgba(0,0,0,.1))}
.angle-stage img.active{opacity:1;animation:float-idle 3.5s ease-in-out infinite}
@keyframes float-idle{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.angle-hint{font-size:.72rem;color:var(--ink4);margin-top:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.angle-dots{display:flex;justify-content:center;gap:10px;margin-top:10px;margin-bottom:52px}
.adot{width:9px;height:9px;border-radius:50%;background:var(--border2);cursor:pointer;transition:.2s}
.adot.active{background:var(--red);transform:scale(1.35)}
/* ── INSIDE THE MACHINE ── */
.inside-sec{background:var(--cream);border-top:1px solid var(--border)}
.inside-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:52px}
.inside-block{margin-bottom:36px}
.inside-block:last-child{margin-bottom:0}
.inside-block h3{font-family:var(--serif);font-size:1.45rem;color:var(--ink);font-weight:400;margin-bottom:12px;line-height:1.25}
.inside-block p{font-size:.97rem;line-height:1.87;color:var(--ink2);margin-bottom:12px}
.inside-fact{background:#fff;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 var(--r) var(--r) 0;padding:16px 20px;margin-top:14px}
.inside-fact-label{font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;color:var(--red);font-weight:700;margin-bottom:6px}
.inside-fact p{font-size:.9rem;margin:0;line-height:1.65;color:var(--ink2)}
/* Shapes pill + modal */
.shapes-pill-wrap{text-align:center;margin-top:40px;padding-bottom:8px}
.shapes-pill{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:#fff;font-size:.88rem;font-weight:600;padding:10px 22px;border-radius:30px;cursor:pointer;transition:background .2s,transform .15s;letter-spacing:.02em}
.shapes-pill:hover{background:var(--red);transform:scale(1.04)}
.shapes-pill svg{width:16px;height:16px;fill:#fff}
.shapes-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.shapes-modal-overlay.open{opacity:1;pointer-events:all}
.shapes-modal{background:var(--cream);border-radius:14px;max-width:700px;width:92%;padding:36px;position:relative;transform:scale(.93);transition:transform .3s;max-height:88vh;overflow-y:auto}
.shapes-modal-overlay.open .shapes-modal{transform:scale(1)}
.shapes-modal-close{position:absolute;top:14px;right:18px;font-size:1.5rem;color:var(--ink3);cursor:pointer;background:none;border:none;padding:4px 8px;line-height:1}
.shapes-modal-close:hover{color:var(--red)}
.shapes-modal img{width:100%;border-radius:8px;display:block}
.shapes-modal-title{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-bottom:16px;font-weight:400}
/* ── FLAVOUR SHOWCASE ── */
.flavour-showcase{background:#fff}
.flavour-tabs{display:flex;gap:0;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin-top:48px}
.flavour-tab{flex:1;padding:15px 8px;text-align:center;cursor:pointer;font-size:.88rem;font-weight:600;transition:.2s;border-right:1px solid var(--border);position:relative}
.flavour-tab:last-child{border-right:none}
.flavour-tab.red{background:#fff5f5;color:var(--deep-red)}
.flavour-tab.yellow{background:#fffdf0;color:#92400e}
.flavour-tab.blue{background:#f0f7ff;color:#1e3a8a}
.flavour-tab.white-s{background:var(--cream);color:var(--ink)}
.flavour-tab.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:currentColor}
.flavour-panel{display:none;border:1px solid var(--border);border-top:none;border-radius:0 0 var(--r) var(--r);min-height:400px;position:relative;overflow:hidden}
.flavour-panel.active{display:block}
.flavour-card-stage{width:100%;height:400px;position:relative}
.flavour-slide{position:absolute;inset:0;display:flex;align-items:center;gap:56px;padding:44px 56px;opacity:0;transition:opacity .5s ease,transform .5s ease;transform:translateX(24px)}
.flavour-slide.active{opacity:1;transform:translateX(0)}
.flavour-slide-img{flex-shrink:0;width:180px;height:180px;display:flex;align-items:center;justify-content:center}
.flavour-slide-img img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(0,0,0,.14))}
.flavour-slide-colour{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:8px;opacity:.6}
.flavour-slide-name{font-family:var(--serif);font-size:2.6rem;font-weight:400;line-height:1.08;margin-bottom:14px}
.flavour-slide-desc{font-size:1rem;line-height:1.8;color:var(--ink2);max-width:340px}
.flavour-dots{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;gap:7px;z-index:2}
.flavour-dot{width:7px;height:7px;border-radius:50%;background:var(--border2);cursor:pointer;transition:.2s}
.flavour-dot.active{background:var(--red);transform:scale(1.35)}
.flavour-hint{text-align:center;font-size:.72rem;color:var(--ink4);padding:10px 0;letter-spacing:.06em;text-transform:uppercase;border-top:1px solid var(--border);background:#fff}
/* ── YELLOW SPECS + CALCULATOR ── */
.yellow-sec{background:var(--gold);padding:80px 0}
.yellow-sec .ey{color:rgba(0,0,0,.45)}
.yellow-sec h2{color:var(--ink)}
.yellow-sec .sh-sub{color:rgba(0,0,0,.55)}
.ysg{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin-top:48px}
.ysc{padding:22px 18px;border-radius:10px;background:#fff;border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.06)}
.yscn{font-size:.63rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:7px;font-weight:600;color:var(--ink3)}
.yscv{font-family:var(--serif);font-size:1.22rem;line-height:1.2;font-weight:400;color:var(--ink)}
.yscnt{font-size:.73rem;margin-top:5px;line-height:1.4;color:var(--ink3)}
.spec-note-y{margin-top:22px;padding:18px 22px;background:var(--cream);border-radius:var(--r);font-size:.9rem;color:var(--ink);line-height:1.65;font-style:italic;max-width:540px;border-left:3px solid var(--red)}
.yellow-calc-bridge{margin-top:64px;text-align:center;padding-top:56px;border-top:1px solid var(--border)}
.yellow-calc-bridge h2{font-family:var(--serif);font-size:clamp(2rem,4vw,3rem);color:var(--ink);font-weight:400;margin-bottom:12px;line-height:1.18}
.yellow-calc-bridge p{font-size:1rem;color:var(--ink2);margin-bottom:32px;max-width:480px;margin-left:auto;margin-right:auto;line-height:1.75}
.yellow-calc-btn{display:inline-block;background:var(--red);color:#fff;font-size:1rem;font-weight:700;padding:16px 40px;border-radius:var(--r);box-shadow:0 8px 24px rgba(200,32,32,.25);transition:transform .2s,background .2s;letter-spacing:.02em}
.yellow-calc-btn:hover{transform:scale(1.04);background:var(--deep-red)}
.yellow-calc-sub{font-size:.90rem;color:var(--ink3);margin-top:12px}
