/* Close product shot: the dispensing bay is the hero, with a stable camera. */
.coffee-stage{height:570px;overflow:hidden;border-radius:22px;border:1px solid var(--line);background:radial-gradient(ellipse at 45% 20%,var(--raised),var(--bg) 75%);max-width:none}
.stage-halo{display:none}
.stage-fallback{inset:0;width:100%;height:100%;border-radius:0;object-fit:contain;object-position:center;background:#fff}
.stage-controls{bottom:17px;right:17px}
.view-machine{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:30px;padding:10px 14px;min-height:44px;font:600 11px/1.4 var(--font);cursor:pointer}
.view-machine:hover{border-color:var(--accent)}
.experience-footer{padding-top:17px}
.hero-experience{padding-top:5px}
@media(min-width:1600px){.coffee-stage{height:600px}}
@media(max-width:1199px){.coffee-stage{height:510px}}
@media(max-width:900px){.coffee-stage{height:435px}}
@media(max-width:767px){.hero-experience{margin-top:30px}.coffee-stage{height:440px}.stage-controls{bottom:14px;right:14px}}
@media(max-width:374px){.coffee-stage{height:390px}}

/* Shared layout for the built-in enquiry wizard. Dialog overrides follow below. */
.setup-wizard{padding-block:80px 25px}
.wizard-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:8%;align-items:start;min-width:0}
.wizard-intro{padding-top:25px;min-width:0}
.wizard-intro h2{font-size:clamp(2.15rem,3.25vw,3.4rem)}
.wizard-intro>p:not(.eyebrow){font-size:.95rem;line-height:1.9;margin-top:22px;max-width:430px}
.wizard-intro ul{list-style:none;padding:0;margin:30px 0;border-top:1px solid var(--line)}
.wizard-intro li{font-size:.78rem;padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;align-items:baseline}
.wizard-intro li::before{content:'✓';color:var(--accent)}
.wizard-phone{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:.74rem;color:var(--muted)}
.wizard-phone strong{font-size:1.12rem;color:var(--ink);font-family:'DM Sans',sans-serif}
.wizard-card{padding:34px;background:var(--surface);border:1px solid var(--line);border-radius:20px;min-width:0;max-width:100%;overflow:clip;scroll-margin-top:10px}
.wizard-card h2{font-size:1.65rem;line-height:1.45;letter-spacing:-.02em}
.wizard-card>.muted,.wizard-card #form-content>.muted{font-size:.8rem;margin-top:10px}
.wizard-card .form-progress{margin-block:24px}
.wizard-card .field input,.wizard-card .field select,.wizard-card .field textarea{background:var(--bg)}
.wizard-card .industry-choice span{background:var(--bg)}
.wizard-card .industry-choice input:checked+span{background:var(--raised)}
.wizard-card #review-title{font-size:1.7rem}
.service-guarantees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:38px}
.service-guarantees article{border-top:1px solid var(--line);padding-top:22px;min-width:0}
.service-guarantees article>span{color:var(--accent);font-size:1.2rem}
.service-guarantees h3{font-size:1.15rem;line-height:1.6;margin-block:12px 8px;letter-spacing:-.015em}
.service-guarantees p{font-size:.83rem;line-height:1.9}
.brand img,.footer-brand img{image-rendering:auto}
@media(max-width:900px){.wizard-layout{gap:5%;grid-template-columns:.75fr 1.25fr}.wizard-card{padding:26px}.wizard-card .field-row{grid-template-columns:1fr;gap:0}.wizard-intro h2{font-size:2.2rem}}
@media(max-width:767px){.setup-wizard{padding-block:52px 5px}.wizard-layout{grid-template-columns:1fr;gap:28px}.wizard-intro{padding-top:0}.wizard-intro .eyebrow{margin-bottom:16px}.wizard-intro h2,html[lang=ar] .wizard-intro h2{font-size:2.1rem}.wizard-intro>p:not(.eyebrow){font-size:.85rem;margin-top:15px}.wizard-intro ul{margin:20px 0}.wizard-intro li{font-size:.74rem;padding:10px 0}.wizard-phone{display:none}.wizard-card{padding:26px 20px}.service-guarantees{grid-template-columns:1fr;gap:24px}.service-guarantees h3{margin-top:6px}.wizard-card .industry-choice span{font-size:.73rem}}
@media(max-width:374px){.wizard-card{padding:23px 16px}.wizard-card .industry-grid{grid-template-columns:1fr}.wizard-card h2,html[lang=ar] .wizard-card h2{font-size:1.35rem}}


/* Alexandria Arabic and DM Sans Latin, with a calmer weight hierarchy. */
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3{font-weight:600;letter-spacing:0;line-height:1.5}
html[lang=ar] h1{font-size:clamp(2.5rem,4.25vw,4.2rem);line-height:1.5}
html[lang=ar] .hero-description{font-size:.94rem;line-height:2.05;max-width:460px}
html[lang=ar] .eyebrow{font-weight:500;line-height:1.8}
html[lang=ar] .button{font-weight:600}
html[lang=ar] .section-description{line-height:2}
html[lang=ar] .wizard-intro h2{font-size:clamp(1.85rem,2.7vw,2.9rem)}
html[lang=ar] .wizard-card h2{font-size:1.45rem}
:root[data-theme=dark] .sector-illustration{background:linear-gradient(115deg,#a8754420,#b48b630c)}
:root[data-theme=dark] .architectural-window{background:linear-gradient(115deg,#d5af7819,#97633d22)}
@media(max-width:767px){
 html[lang=ar] h1{font-size:clamp(2rem,7.4vw,3.4rem);line-height:1.5}
 html[lang=ar] h2{font-size:1.85rem}
 html[lang=ar] .hero-description{font-size:.88rem;line-height:2}
 html[lang=ar] .hero .eyebrow{font-size:.66rem}
 html[lang=ar] .wizard-intro h2{font-size:1.8rem}
 html[lang=ar] .wizard-card h2{font-size:1.35rem}
}
@media(max-width:374px){html[lang=ar] h1{font-size:clamp(1.55rem,7.9vw,1.8rem)}}

/* Purpose-specific vector icons: no font arrows or emoji fallback. */
.ui-icon{display:block;width:20px;height:24px;flex:0 0 20px;pointer-events:none}
.button-small .ui-icon{width:17px;height:20px;flex-basis:17px}
.link-arrow .ui-icon,.machine-cta .ui-icon,.sector-tabs .ui-icon{color:var(--accent)}
.icon-next,.icon-down{width:18px;flex-basis:18px}
html[dir=rtl] .icon-next{transform:scaleX(-1)}
.contact-direct>.ui-icon,.contact-direct a>.ui-icon{grid-column:2;grid-row:1/3;align-self:center;color:var(--accent)}
.service-guarantees .coffee-guarantee{grid-column:1/-1;display:grid;grid-template-columns:56px minmax(0,1fr);gap:24px;padding:30px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.quality-bean{color:var(--accent);padding-top:5px}
.coffee-guarantee .quality-eyebrow{font-size:.68rem;font-weight:600;color:var(--accent);letter-spacing:.08em}
.coffee-guarantee h3{font-size:clamp(1.5rem,2.3vw,2rem);margin-block:8px 14px}
.coffee-guarantee p{max-width:790px;font-size:.9rem;line-height:1.9}
.coffee-guarantee .quality-relationship{color:var(--ink);font-weight:500;margin-bottom:8px}
.quality-brand-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px;color:var(--accent);font-size:.8rem;text-decoration:underline;text-underline-offset:5px}
html[lang=ar] .quality-eyebrow{letter-spacing:0;font-size:.75rem}
@media(max-width:767px){.service-guarantees .coffee-guarantee{grid-template-columns:1fr;gap:12px;padding:24px 20px}.quality-bean svg{width:38px;height:38px}.coffee-guarantee p{font-size:.82rem}.coffee-guarantee h3{font-size:1.5rem}}

/* The enquiry is built into the page but only appears after a CTA opens it. */
body.enquiry-open{overflow:hidden}
dialog.setup-wizard:not([open]){display:none}
dialog.setup-wizard{width:min(1000px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:52px 32px 32px;overflow:auto;overscroll-behavior:contain}
.setup-wizard::backdrop{background:rgba(18,12,8,.72);backdrop-filter:blur(5px)}
.wizard-close{position:absolute;inset-inline-end:12px;top:10px;z-index:2;background:var(--surface);border:1px solid var(--line)}
.setup-wizard .wizard-layout{gap:30px;grid-template-columns:.85fr 1.15fr}
.setup-wizard .wizard-card{padding:26px;border-radius:12px;overflow:visible}
.setup-wizard .wizard-intro{padding-top:8px}
.setup-wizard .wizard-intro h2,html[lang=ar] .setup-wizard .wizard-intro h2{font-size:1.9rem}
.hero-benefits{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:10px 16px;max-width:490px}
.hero-benefits li{font-size:.75rem;font-weight:600;color:var(--ink);display:flex;align-items:baseline;gap:8px}
.hero-benefits li::before{content:'';width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--accent)}
.hero-value-note{font-size:.74rem;line-height:1.8;max-width:460px;margin-top:16px}
.hero-actions{margin-top:26px}
.brand,.brand img{width:144px}
.footer-brand img{width:136px}
@media(max-width:767px){
 dialog.setup-wizard{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:56px 16px 20px}
 .setup-wizard .wizard-layout{display:block}
 .setup-wizard .wizard-intro{display:none}
 .setup-wizard .wizard-card{padding:0;border:0;background:transparent}
 .hero-benefits{gap:8px 14px;margin-top:18px}
 .hero-benefits li{font-size:.7rem}
 .hero-value-note{font-size:.69rem}
 .brand,.brand img{width:126px}
}
