.machine-header { display:flex; justify-content:space-between; gap:24px; padding:24px 5vw; border-bottom:1px solid var(--line); }
.machine-header a { color:var(--charcoal); text-decoration:none; }
.machine-header nav { display:flex; flex-wrap:wrap; gap:20px; }
.machine-main { max-width:1200px; margin:auto; padding:64px 5vw; }
.machine-main h1 { max-width:850px; font-size:clamp(2.4rem,5vw,4.6rem); line-height:1.05; letter-spacing:-.045em; }
.machine-intro { font-size:1.2rem; line-height:1.7; max-width:720px; color:var(--graphite); }
.family-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(225px,1fr)); gap:16px; margin:40px 0; }
.family-card { border:1px solid var(--line); border-radius:12px; padding:22px; color:var(--charcoal); text-decoration:none; background:var(--cream); }
.family-card strong { color:var(--gold-dark); font-size:1.3rem; }
.family-card h2 { font-size:1.15rem; }
.family-card p { line-height:1.5; }
.services { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr)); gap:20px; }
.service { border:1px solid var(--line); border-radius:16px; padding:28px; margin:20px 0; overflow-wrap:anywhere; background:rgba(255,255,255,.35); }
.price { font-size:1.6rem; color:var(--gold-dark); }
.machine-form { display:grid; gap:12px; margin-top:20px; }
.machine-form label { display:grid; gap:8px; }
.machine-form textarea { width:100%; padding:14px; background:var(--paper); border:1px solid var(--line); border-radius:8px; font-family:monospace; }
.machine-form button { background:var(--charcoal); color:var(--paper); border-radius:8px; border:0; padding:12px 18px; }
.machine-form pre { white-space:pre-wrap; max-height:420px; overflow:auto; padding:16px; background:var(--paper-deep); border-radius:8px; }
summary { cursor:pointer; padding:14px 0; }
@media(max-width:600px) { .machine-header { flex-direction:column; } .machine-main { padding-top:30px; } }
