/* Max's little laboratory: real photographs, paper and a playful invention. */
.engineer-section{padding:100px 0 92px;background-color:#e7ede2;background-image:linear-gradient(#87987913 1px,transparent 1px),linear-gradient(90deg,#87987913 1px,transparent 1px);background-size:30px 30px;overflow:hidden}
.engineer-section::before{content:"";position:absolute;inset:0 0 auto;height:7px;background:linear-gradient(135deg,var(--paper-light) 25%,transparent 25%) -4px 0,linear-gradient(225deg,var(--paper-light) 25%,transparent 25%) -4px 0;background-size:8px 8px}
.engineer-layout{display:grid;grid-template-columns:.87fr 1.13fr;gap:67px;align-items:center}
.engineer-copy .eyebrow{color:#7c8b70;font-size:9px;letter-spacing:1.8px;margin-bottom:23px}
.engineer-copy h2{font-size:55px;line-height:1.08;letter-spacing:-2px}
.engineer-copy h2>span,.engineer-copy h2>em{display:block}
.engineer-copy h2>em{color:#718361;font-size:.98em}
.engineer-copy>p{font-size:13px;line-height:1.9;color:#7d886f;max-width:300px;margin-top:25px}
.engineer-signoff{display:flex;align-items:center;gap:13px;color:#8b957a;margin-top:31px}
.engineer-signoff>.icon{width:24px;height:24px;stroke-width:1.2}
.engineer-signoff .handwritten{font-size:17px;line-height:1.45}
.engineer-id{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid #9ba58868;border-radius:3px;margin-top:28px;font-family:var(--sans);font-size:8px;letter-spacing:1.2px;color:#8a9376}
.engineer-id::before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:#8b9b70}
.engineer-photos{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative;align-items:start;min-width:0;padding:7px 2px 10px}
.engineer-photo{position:relative;background:#fffcf3;padding:10px 10px 0;box-shadow:0 9px 23px #51664024,0 1px 3px #67784f14;transform:rotate(-4deg);min-width:0}
.engineer-photo:nth-child(2){transform:rotate(5deg);margin-top:44px}
.engineer-photo .paper-tape{width:85px;height:24px;top:-11px;background:#b1b99470;transform:translateX(-50%) rotate(2deg)}
.engineer-photo:nth-child(2) .paper-tape{background:#d5b88463;transform:translateX(-50%) rotate(-7deg)}
.engineer-photo>button{display:block;width:100%;position:relative;padding:0;overflow:hidden;background:#e0dcc9}
.engineer-photo img{width:100%;height:auto;aspect-ratio:3 / 4;object-fit:contain}
.photo-zoom-hint{position:absolute;right:8px;bottom:8px;width:29px;height:29px;display:flex;align-items:center;justify-content:center;background:#fff9e8db;border:1px solid #fffefa;border-radius:50%;color:#73674e;backdrop-filter:blur(5px);transition:transform .2s}
.photo-zoom-hint .icon{width:16px;height:16px;stroke-width:1.3}
.engineer-photo>button:hover .photo-zoom-hint{transform:scale(1.14)}
.engineer-photo figcaption{padding:13px 3px 15px;line-height:1.3;color:#7d745e}
.engineer-photo figcaption>span{display:block;font-family:var(--serif);font-style:italic;font-size:18px}
.engineer-photo figcaption>small{display:block;font-size:6.5px;letter-spacing:1.2px;margin-top:7px;color:#a09980}
.engineer-photo-star{position:absolute;bottom:-20px;left:43%;font-family:var(--serif);font-size:38px;color:#a5ad8d;transform:rotate(-10deg);pointer-events:none}
.smile-machine{position:relative;margin-top:63px;border:1px solid #a7b09985;padding:28px 36px 29px;background:#f4f3e8ed;box-shadow:0 7px 18px #5a704010;border-radius:7px}
.machine-screw{position:absolute;width:8px;height:8px;border:1px solid #b0b49a;border-radius:50%;background:#e5e7d5;box-shadow:0 1px 1px #6d755d12}
.machine-screw::after{content:"";position:absolute;left:1px;right:1px;top:3px;height:1px;transform:rotate(-35deg);background:#a4ad8b}
.machine-screw:nth-child(1){top:11px;left:11px}.machine-screw:nth-child(2){top:11px;right:11px}.machine-screw:nth-child(3){bottom:11px;left:11px}.machine-screw:nth-child(4){bottom:11px;right:11px}
.machine-topline{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid #d8ddc7;padding-bottom:16px}
.machine-project{font-size:8px;letter-spacing:1.5px;color:#929b7d}
.machine-status{display:flex;gap:7px;align-items:center;font-size:9px;color:#8b9874;line-height:1.4}
.machine-status::before{content:"";flex:0 0 5px;height:5px;border-radius:50%;background:#a4ac8b}
.smile-machine.is-running .machine-status::before{background:#bb9a55;animation:lab-blink 1s ease-in-out infinite}
.smile-machine.is-complete .machine-status::before{background:#798e60;box-shadow:0 0 0 3px #8c9e6320}
.machine-body{display:grid;grid-template-columns:1fr 270px;gap:45px;align-items:center;padding-top:24px}
.machine-title{display:flex;align-items:flex-start;gap:17px;min-width:0}
.machine-chip{display:flex;align-items:center;justify-content:center;width:47px;height:47px;flex-shrink:0;border:1px solid #c7ceaf;background:#e8ebd8;border-radius:9px;color:#8d9b75;margin-top:1px}
.machine-chip .icon{width:26px;height:26px;stroke-width:1.2}
.machine-title h3{font-size:31px;line-height:1.2;letter-spacing:-.7px;color:#677452}
.machine-title p{font-size:11px;line-height:1.7;color:#92997d;margin-top:9px}
.machine-control{text-align:center}
.machine-button{background:#70815e;color:#fffced;width:100%;font-size:11px;gap:15px;min-height:49px;border-radius:4px;white-space:normal}
.machine-button:hover{background:#7c8d67;box-shadow:0 6px 15px #62764a26}
.machine-button:disabled{background:#a3ab8d;transform:none;box-shadow:none}
.machine-button .icon{width:17px;height:17px}
.machine-meter{height:4px;border-radius:4px;background:#dde2cc;margin-top:15px;overflow:hidden}
.machine-meter>span{display:block;height:100%;width:0;background:#9ead7f;border-radius:4px;transition:width .65s ease}
.machine-instruction{font-family:var(--serif);font-style:italic;font-size:13px;margin-top:10px;color:#a0a58a;min-height:21px}
.engineer-message{margin-top:26px;border-top:1px dashed #c8ceb3;padding:27px 18px 3px;animation:letter-appear .55s both;text-align:center}
.engineer-message-label{font-size:7px;letter-spacing:1.7px;color:#9ea387}
.engineer-message h3{font-family:var(--serif);font-size:31px;line-height:1.3;color:#79855f;margin-top:14px}
.engineer-message>p{font-family:var(--serif);font-size:21px;line-height:1.65;color:#8b8165;max-width:668px;margin:17px auto 0}
.engineer-message-signature{display:block;font-family:var(--serif);font-style:italic;font-size:21px;color:#ad8a62;margin-top:19px}
.engineer-message .example-note{font-size:7px;color:#a8ab90;margin-top:17px}
.engineer-photo-dialog{width:min(810px,calc(100% - 32px));padding:15px 15px 22px;background:#f9f5e9;overflow-y:auto}
.engineer-photo-dialog .dialog-close{z-index:2;background:#fff9e9ed;right:22px;top:22px;box-shadow:0 2px 7px #473d2620}
.engineer-photo-dialog>img{height:auto;max-height:72dvh;width:100%;object-fit:contain;background:#e6e5d6}
.engineer-viewer-bottom{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:10px;padding:16px 6px 0;text-align:center}
.engineer-viewer-bottom h2{font-size:25px;line-height:1.2;letter-spacing:-.6px;margin:0;color:#82795f}
.engineer-viewer-bottom p{font-size:8px;color:#a19b83;margin-top:6px;letter-spacing:1px}
.engineer-viewer-bottom .icon-button{border:1px solid #dedbc7;color:#948f71}
.previous-photo .icon{transform:rotate(180deg)}
@keyframes lab-blink{0%,100%{opacity:.4}50%{opacity:1}}
@media(max-width:1100px){.engineer-layout{gap:42px;grid-template-columns:.9fr 1.1fr}.engineer-copy h2{font-size:48px}.engineer-photos{gap:18px}.engineer-photo figcaption>span{font-size:16px}.engineer-photo figcaption>small{font-size:6px;letter-spacing:.9px}.machine-body{grid-template-columns:1fr 240px;gap:28px}.machine-title h3{font-size:28px}}
@media(max-width:900px){.engineer-section{padding-block:80px 75px}.engineer-layout{grid-template-columns:1fr;gap:43px}.engineer-copy{text-align:center}.engineer-copy .eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:19px}.engineer-copy h2{font-size:53px}.engineer-copy h2>span:last-child{display:inline}.engineer-copy>p{max-width:400px;margin:23px auto 0}.engineer-signoff{justify-content:center;margin-top:21px}.engineer-id{margin-top:23px}.engineer-photos{width:100%;max-width:620px;margin:auto;gap:29px;padding-inline:8px}.engineer-photo figcaption>span{font-size:19px}.engineer-photo figcaption>small{font-size:7px;letter-spacing:1.2px}.smile-machine{margin-top:60px;padding:25px 27px 28px}.machine-body{grid-template-columns:1fr 220px;gap:20px}.machine-title{gap:12px}.machine-title h3{font-size:26px}.machine-chip{width:41px;height:41px}.machine-chip .icon{width:23px;height:23px}.machine-title p{font-size:10px}.machine-button{font-size:10px}.engineer-message>p{font-size:20px}}
@media(max-width:650px){.engineer-section{padding-block:59px 57px;background-size:26px 26px}.engineer-layout{gap:36px}.engineer-copy h2{font-size:44px;letter-spacing:-1.6px}.engineer-copy .eyebrow{font-size:7px;letter-spacing:1.5px}.engineer-copy>p{font-size:12px;max-width:310px;line-height:1.8;margin-top:21px}.engineer-signoff .handwritten{font-size:15px}.engineer-signoff>.icon{width:21px;height:21px}.engineer-id{font-size:7px;letter-spacing:1px;margin-top:20px}.engineer-photos{gap:17px;padding:4px 3px 14px;max-width:490px}.engineer-photo{padding:7px 7px 0;transform:rotate(-3deg)}.engineer-photo:nth-child(2){margin-top:29px;transform:rotate(4deg)}.engineer-photo .paper-tape{height:20px;width:62px;top:-9px}.engineer-photo figcaption{padding:11px 2px 12px}.engineer-photo figcaption>span{font-size:15px;line-height:1.25}.engineer-photo figcaption>small{font-size:5.5px;letter-spacing:.7px;line-height:1.6;margin-top:6px}.photo-zoom-hint{height:25px;width:25px;right:6px;bottom:6px}.photo-zoom-hint .icon{height:14px;width:14px}.engineer-photo-star{font-size:30px;bottom:-11px}.smile-machine{padding:23px 21px 25px;margin-top:38px}.machine-topline{align-items:flex-start;gap:13px;padding-bottom:15px}.machine-project{font-size:6px;letter-spacing:1px;max-width:130px;line-height:1.6}.machine-status{font-size:7px;justify-content:flex-end;text-align:right;gap:6px;max-width:160px;line-height:1.6}.machine-status::before{flex-basis:4px;height:4px}.machine-body{grid-template-columns:1fr;gap:23px;padding-top:22px}.machine-title{gap:13px;align-items:center}.machine-title h3{font-size:27px;line-height:1.18;letter-spacing:-.7px}.machine-title p{font-size:10px;line-height:1.6;margin-top:8px}.machine-chip{width:41px;height:45px}.machine-control{max-width:320px;width:100%;margin:auto}.machine-button{min-height:48px;font-size:10px}.machine-meter{margin-top:13px}.machine-instruction{font-size:13px;margin-top:9px;min-height:19px}.engineer-message{padding:22px 0 0;margin-top:20px}.engineer-message-label{font-size:6px;letter-spacing:1.2px}.engineer-message h3{font-size:26px;line-height:1.23;margin-top:15px}.engineer-message>p{font-size:18px;line-height:1.55;margin-top:15px}.engineer-message-signature{font-size:18px;line-height:1.45;margin-top:17px}.engineer-message .example-note{font-size:6px;margin-top:14px}.engineer-photo-dialog{padding:10px 10px 19px;width:calc(100% - 22px)}.engineer-photo-dialog .dialog-close{top:17px;right:17px;width:37px;height:37px}.engineer-photo-dialog>img{max-height:72dvh}.engineer-viewer-bottom{grid-template-columns:36px 1fr 36px;gap:7px;padding:13px 2px 0}.engineer-viewer-bottom h2{font-size:21px}.engineer-viewer-bottom p{font-size:7px;letter-spacing:.6px}.engineer-viewer-bottom .icon-button{width:36px;height:36px}}
@media(max-width:370px){.engineer-copy h2{font-size:39px}.engineer-copy .eyebrow{font-size:6.5px;letter-spacing:1.1px}.engineer-photo figcaption>span{font-size:13px}.engineer-photo figcaption>small{font-size:5px;letter-spacing:.4px}.engineer-photos{gap:13px}.machine-title{gap:10px}.machine-title h3{font-size:24px}.machine-chip{width:35px;height:40px}.machine-project{font-size:5.5px}.machine-status{font-size:6.5px}.engineer-message h3{font-size:24px}.engineer-message>p{font-size:17px}.engineer-message-signature{font-size:16px}}
@media(prefers-reduced-motion:reduce){.smile-machine.is-running .machine-status::before{animation:none}.machine-meter>span{transition:none}.engineer-message{animation:none}}
