/* MaestroCoffee / coffee-pour page reveal. Progressive enhancement, zero dependencies. */
html.mc-intro-active { overflow: hidden; }
.mc-reveal { display:none; }
html.mc-intro-active .mc-reveal { display:grid; position:fixed; inset:0; z-index:10000; overflow:hidden; isolation:isolate; place-items:center; background:#1a130f; color:#fff2dc; font-family:Georgia,serif; animation:mc-reveal-close .8s ease-in 3.8s both; }
.mc-reveal::before { content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(ellipse at 40% 32%,#6e4028 0%,#321e16 35%,#140f0d 68%);opacity:.9; }
.mc-reveal__layout { width:min(1000px,calc(100% - 44px));height:min(780px,calc(100dvh - 35px));position:relative;display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:clamp(18px,4vw,65px); }
.mc-reveal__copy {align-self:center;position:relative;z-index:2;}
.mc-reveal__kicker {font:600 11px/1.5 Arial,sans-serif;letter-spacing:.25em;text-transform:uppercase;color:#e2bd99;}
.mc-reveal__title {font:normal clamp(44px,5.1vw,80px)/.99 Georgia,serif;letter-spacing:-.065em;margin:20px 0 24px;}
.mc-reveal__title em {font-style:italic;color:#e6b98b;}
.mc-reveal__sub {font:400 14px/1.75 Arial,sans-serif;max-width:32ch;color:#e2cab7;opacity:.94;}
.mc-reveal__machine {position:relative;aspect-ratio:4/5;max-height:72dvh;box-shadow:0 30px 75px #0a050570,0 0 0 1px #e8c39e45;isolation:isolate;overflow:visible;transform:translateY(12px) scale(.97);animation:mc-machine-arrive 1.1s cubic-bezier(.2,.7,.18,1) both;}
.mc-reveal__machine img {width:100%;height:100%;object-fit:cover;display:block;border:1px solid #ad815f54;border-radius:3px;filter:saturate(.8) contrast(1.1) brightness(.9);}
.mc-reveal__machine::before {content:"";position:absolute;inset:-25%;z-index:-1;background:radial-gradient(ellipse at center,#bd784e4a,transparent 66%);filter:blur(20px);}
.mc-reveal__pour {position:absolute;left:46%;top:47%;width:13%;height:51%;overflow:visible;filter:drop-shadow(0 0 5px #271209);z-index:1;pointer-events:none;}
.mc-reveal__pour svg {width:100%;height:100%;overflow:visible;}
.mc-reveal__stream {stroke:#3f1607;stroke-width:19;fill:none;stroke-linecap:round;stroke-dasharray:195;stroke-dashoffset:195;animation:mc-pour 2.6s cubic-bezier(.55,.11,.4,.92) .65s forwards;}
.mc-reveal__highlight {stroke:#cd8c46;stroke-width:4;fill:none;stroke-linecap:round;opacity:0;stroke-dasharray:195;stroke-dashoffset:195;animation:mc-pour 2.6s cubic-bezier(.55,.11,.4,.92) .7s forwards;}
.mc-reveal__splash {transform-origin:50% 95%;opacity:0;animation:mc-splash 1.8s ease-out 1.8s forwards;}
.mc-reveal__foot {position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#d6ad86;font:600 10px/1.4 Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;z-index:2;}
.mc-reveal__skip {appearance:none;border:1px solid #cba47a8c;border-radius:999px;padding:12px 17px;background:#160d09a1;color:#fff2dc;font:600 12px/1.3 Arial,sans-serif;cursor:pointer;min-height:44px;letter-spacing:0;text-transform:none;}
.mc-reveal__skip:hover,.mc-reveal__skip:focus-visible{background:#51301d;outline:2px solid #f5c998;outline-offset:3px;}
.mc-reveal__progress {position:absolute;left:0;right:0;bottom:0;height:2px;background:#e9ad70;transform-origin:left;animation:mc-reveal-progress 3.8s linear both;}
.mc-reveal__grain {position:absolute;inset:0;background-image:radial-gradient(#fff7ed0d .5px,transparent .75px);background-size:4px 4px;pointer-events:none;mix-blend-mode:screen;}
/* Dark coffee passes across the scene, then the live site appears as it withdraws upward. */
.mc-reveal__liquid {position:absolute;z-index:3;inset:0;background:linear-gradient(0deg,#28150d,#65341b 42%,#32170f 94%);transform:translateY(110%);border-radius:53% 47% 0 0 / 8% 8% 0 0;pointer-events:none;animation:mc-liquid-rise 1.6s cubic-bezier(.2,.7,.25,1) 2.2s forwards;}
.mc-bean {position:fixed;z-index:11000;pointer-events:none;width:9px;height:14px;border-radius:55% 45% 50% 50%;background:linear-gradient(115deg,#a76234,#522411 70%,#241209);box-shadow:inset -2px -1px 1px #0804015c,0 2px 5px #0003;opacity:0;animation:mc-bean-burst .95s cubic-bezier(.19,.78,.35,1) forwards;}
.mc-bean::after {content:"";position:absolute;inset:2px auto 2px 50%;width:1px;transform:rotate(12deg);border-radius:2px;background:#e9a8677a;}
@keyframes mc-machine-arrive {from{opacity:0;transform:translateY(22px) scale(.955)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes mc-pour {0%{stroke-dashoffset:195;opacity:0}10%{opacity:1}85%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes mc-splash {0%{opacity:0;transform:scale(.3)}15%{opacity:.7;transform:scale(.9)}45%{opacity:.5;transform:scale(1.15)}100%{opacity:0;transform:scale(1.5)}}
@keyframes mc-liquid-rise {0%{transform:translateY(110%)}100%{transform:translateY(-4%)}}
@keyframes mc-reveal-close {0%{opacity:1;clip-path:inset(0 0 0 0)}100%{opacity:0;clip-path:inset(0 0 100% 0);visibility:hidden}}
@keyframes mc-reveal-progress {from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes mc-bean-burst {0%{opacity:0;transform:translate3d(0,0,0) rotate(5deg) scale(.45)}16%{opacity:1}100%{opacity:0;transform:translate3d(var(--dx),var(--dy),0) rotate(var(--spin)) scale(.7)}}
@media(max-width:700px) {
 .mc-reveal__layout{grid-template-columns:1fr;align-content:center;justify-items:center;gap:18px;max-height:96dvh;}
 .mc-reveal__copy{text-align:center;order:2;}
 .mc-reveal__kicker{font-size:9px;}
 .mc-reveal__title{font-size:clamp(41px,11vw,62px);margin:8px 0 5px;}
 .mc-reveal__sub{font-size:11px;line-height:1.4;margin:auto;}
 .mc-reveal__machine{order:1;width:min(72vw,280px);height:min(46dvh,360px);aspect-ratio:4/5;}
 .mc-reveal__foot{bottom:5px;}
}
@media(prefers-reduced-motion:reduce){html.mc-intro-active .mc-reveal{display:none!important}.mc-bean{display:none!important}}
