/* Inner pages. Shares tokens and components with style.css. */
.sub main{padding-top:56px}
.hd__nav a[aria-current]{color:var(--sig);opacity:1}
.crumbs{font:600 12px var(--mono);text-transform:uppercase;letter-spacing:.04em;margin-bottom:28px;opacity:.75;overflow-wrap:anywhere}
.crumbs a{text-decoration:none;border-bottom:1px solid currentColor}.crumbs span{opacity:.5;margin:0 4px}
.pg-hero{background:var(--ink);color:var(--ply);padding-block:clamp(32px,6vw,80px)}
.pg-hero h1{font-size:clamp(44px,11vw,120px);font-weight:900;text-transform:uppercase;margin-bottom:18px}
.pg-hero h1 em{color:var(--sig)}
.pg-hero__row{display:grid;gap:28px;align-items:end}
@media(min-width:900px){.pg-hero__row{grid-template-columns:1fr auto}}
.mini-plate{justify-self:start;display:flex;align-items:center;gap:12px;background:var(--plate);color:#fff;border:3px solid #fff;box-shadow:0 0 0 3px var(--plate);border-radius:8px;padding:10px 16px;transform:rotate(-1.5deg)}
.mini-plate span{font:900 22px/1 var(--f);font-stretch:82%;text-transform:uppercase}
.mini-plate b{font:900 64px/.8 var(--f);font-stretch:72%;color:var(--sig)}
.fam-jump{display:flex;flex-wrap:wrap;gap:8px;padding:24px var(--pad);background:var(--ply-2);border-bottom:2px solid var(--ink)}
.fam-jump a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:800;padding:10px 14px;border:2px solid var(--ink);border-radius:999px;background:var(--ply);min-height:44px}
.fam-jump b{background:var(--ink);color:var(--ply);font:600 11px var(--mono);padding:3px 6px;border-radius:3px}
.fam-jump--other{border-top:2px solid var(--ink)}
.fam-row{padding-block:clamp(40px,6vw,80px)}
.fam-row h2{font-size:clamp(26px,5vw,44px);font-weight:900;text-transform:uppercase}
.fam-row+.fam-row{padding-top:0}
.pgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.pc{display:flex;flex-direction:column;height:100%;text-decoration:none;background:#f6efe0;border:2px solid var(--ink);padding:12px;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
@media(hover:hover) and (pointer:fine){.pc:hover{transform:translate(-4px,-4px);box-shadow:6px 6px 0 var(--ink)}}
.pc:active{transform:scale(.98)}
.pc:focus-visible{outline:3px solid var(--plate);outline-offset:3px}
.pc__media{display:grid;place-items:center;aspect-ratio:4/3;background:#fff;border:1px solid var(--line);overflow:hidden;margin-bottom:12px}
.pc__media img{width:100%;height:100%;object-fit:cover}
.pc__none{font:900 clamp(28px,6vw,40px)/1 var(--f);font-stretch:75%;color:var(--plate);text-align:center;padding:12px;text-transform:uppercase;background:linear-gradient(rgba(22,63,148,.08) 1px,transparent 1px) 0 0/12px 12px,linear-gradient(90deg,rgba(22,63,148,.08) 1px,transparent 1px) 0 0/12px 12px;width:100%;height:100%;display:grid;place-items:center}
.pc__maker{font:600 12px var(--mono);color:var(--plate);text-transform:uppercase}
.pc__name{font-weight:800;font-size:18px;line-height:1.2;margin:4px 0 10px}
.pc__price{margin-top:auto;font:900 22px/1 var(--f);font-stretch:90%}
.pc__price small,.pd__price small,td small{font:600 11px var(--mono);opacity:.6}
.pc__go{margin-top:12px;font-weight:800;font-size:14px;border-top:1px solid var(--line);padding-top:10px}
.pc--wa .pc__go{color:var(--wa)}
.fam-list{padding-top:0}
.fam-list h2{font-size:22px;font-weight:900;text-transform:uppercase;margin-bottom:14px}
.fam-list table{width:100%;border-collapse:collapse;font-size:15px}
.fam-list th{text-align:left;font:600 11px var(--mono);text-transform:uppercase;border-bottom:2px solid var(--ink);padding:8px 6px}
.fam-list td{border-bottom:1px solid var(--line);padding:10px 6px;vertical-align:top}
@media(max-width:640px){.fam-list thead{display:none}.fam-list tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line);padding:10px 0}.fam-list td{border:0;padding:2px 0}.fam-list td:nth-child(3){grid-column:1/-1;font-weight:700}.fam-list td:nth-child(4){grid-column:1/-1}}
.cta-band{background:var(--plate);color:#fff}
.cta-band h2{font-size:clamp(34px,7vw,80px);font-weight:900;text-transform:uppercase;margin-bottom:24px}
.cta-band em{color:var(--sig)}
.cta-band__btns,.pd__btns,.contact__btns{display:flex;flex-wrap:wrap;gap:10px}
.cta-band .btn--line{color:#fff}
/* Product */
.pd{padding-block:clamp(28px,5vw,64px)}
.pd__grid{display:grid;gap:28px}
@media(min-width:960px){.pd__grid{grid-template-columns:1.2fr 1fr;align-items:start}.pd__photo,.pd__3d{position:sticky;top:76px}}
.pd__photo,.pd__3d{margin:0;background:#fff;border:2px solid var(--ink);padding:10px;position:relative}
.pd__photo img{width:100%;aspect-ratio:4/3;object-fit:cover}
figcaption{font:600 11px var(--mono);text-transform:uppercase;margin-top:8px;opacity:.75}
.pd__3d canvas{display:block;width:100%;aspect-ratio:4/3;touch-action:pan-y;cursor:grab;position:absolute;inset:10px auto auto 10px;width:calc(100% - 20px);opacity:0;transition:opacity .6s var(--ease)}
.pd__3d.is-live canvas{opacity:1}
.pd__3d-still{width:100%;aspect-ratio:3/2;object-fit:contain;transition:opacity .4s}
.pd__3d.is-live .pd__3d-still{opacity:0}
.pd__3d figcaption b{background:var(--sig);color:var(--ink);padding:2px 6px}
.pd h1{font-size:clamp(34px,6vw,64px);font-weight:900;text-transform:uppercase;margin-bottom:18px;overflow-wrap:anywhere}
.pd__var{border-top:2px solid var(--ink);padding:14px 0}
.pd__maker{font:600 12px var(--mono);color:var(--plate);text-transform:uppercase;margin:0}
.pd__name{font-size:22px;font-weight:800;line-height:1.2;margin:6px 0 10px;text-transform:none;letter-spacing:0}
.pd__price{font:900 34px/1 var(--f);font-stretch:85%;margin:0}
.pd__btns{margin:20px 0 14px}
.pd__note{font-size:14px;opacity:.7;margin:0}
.pd-svc{background:var(--ink);color:var(--ply);padding-block:clamp(40px,6vw,72px)}
.pd-svc h2{font-size:clamp(26px,5vw,44px);font-weight:900;text-transform:uppercase;margin-bottom:20px}
.mini-steps{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.mini-steps li{border:1px solid rgba(236,225,201,.25);padding:14px;font-weight:700}
.mini-steps b{display:block;font:900 30px/1 var(--f);font-stretch:75%;color:var(--sig);margin-bottom:6px}
.path--page{padding-top:clamp(32px,5vw,64px)}
/* About */
.about{display:grid;gap:32px}
@media(min-width:900px){.about{grid-template-columns:1fr 1fr}}
.about h2{font-size:clamp(26px,4vw,40px);font-weight:900;text-transform:uppercase;margin-bottom:14px}
.about p{font-size:17px;max-width:34em}
.about__facts{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:0}
.about__facts div{border:2px solid var(--ink);padding:14px;background:#f6efe0}
.about__facts dt{font:600 11px var(--mono);text-transform:uppercase;opacity:.65}
.about__facts dd{margin:4px 0 0;font-weight:800;font-size:18px}
/* Contact */
.contact{display:grid;gap:24px}
@media(min-width:960px){.contact{grid-template-columns:1fr 1.2fr}}
.contact__card{background:var(--plate);color:#fff;padding:24px;display:flex;flex-direction:column;gap:18px}
.contact__card address{font-style:normal;font-size:20px;font-weight:700;line-height:1.4}
.contact__card dl{margin:0;display:grid;gap:10px}
.contact__card dt{font:600 11px var(--mono);text-transform:uppercase;opacity:.75}
.contact__card dd{margin:2px 0 0;font-size:20px;font-weight:800}
.contact__card .btn--line{color:#fff}
.contact__card .visit__plate span{font-size:clamp(24px,6vw,44px)}
.contact__card .visit__plate b{font-size:clamp(56px,12vw,100px)}
.contact__map{min-height:360px;border:2px solid var(--ink);background:var(--ply-2)}
.contact__map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
.reveal-on .fam-row,.reveal-on .about__col,.reveal-on .cta-band,.reveal-on .pd-svc,.reveal-on .fam-list{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.pc__specs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.pc__specs i{font:600 10px var(--mono);font-style:normal;text-transform:uppercase;border:1px solid var(--ink);padding:3px 6px;border-radius:999px}
.pc--sh .pc__go{color:var(--plate)}
.fam-list td a{font-weight:800;color:var(--plate)}
.contact__card dd,.ft__addr{overflow-wrap:anywhere}
/* Listing pages: gallery, spec list, listing facts */
.gal #gal-main{width:100%;height:auto;aspect-ratio:auto;max-height:78svh;object-fit:contain;background:#f6efe0}
.gal__thumbs{list-style:none;margin:10px 0 0;padding:0;display:flex;gap:8px;overflow-x:auto}
.gal__t{all:unset;cursor:pointer;display:block;border:2px solid transparent;flex:none}
.gal__t img{width:84px;height:63px;object-fit:cover}
.gal__t[aria-current]{border-color:var(--sig)}
.gal__t:focus-visible{outline:3px solid var(--plate)}
.pd__specs{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pd__specs li{font:700 13px var(--mono);text-transform:uppercase;border:2px solid var(--ink);padding:6px 10px;border-radius:999px;background:#f6efe0}
.pd__facts{margin:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.pd__facts div{border-top:2px solid var(--ink);padding-top:8px}
.pd__facts dt{font:600 11px var(--mono);text-transform:uppercase;opacity:.65}
.pd__facts dd{margin:2px 0 0;font-weight:800}
.pd__para{margin:0 0 8px;font-size:16px}
.pd__src{margin-top:18px}.pd__src a{font-weight:800;color:var(--plate)}
/* Every machine card one width and one height */
.pgrid li{min-width:0}
.pc{width:100%;box-sizing:border-box}
.pc__maker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc__name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.6em}
.pc__specs{height:52px;overflow:hidden;align-content:flex-start;margin-bottom:10px}
/* Same card height on every width: fixed text rows */
.pc__price{min-height:22px;white-space:nowrap}
.pc__go{white-space:nowrap}
/* A product with photos and its drawing: both in the media column */
.pd__media{display:grid;gap:16px;align-content:start}
@media(min-width:960px){.pd__media{position:sticky;top:76px}.pd__media .pd__photo,.pd__media .pd__3d{position:relative;top:auto}}
