@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--paper:#faf9f5;--ink:#282c25;--muted:#74786f;--line:#dcded5;--accent:#a6402a}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}figure{margin:0}.wrap{width:min(1180px,calc(100% - 64px));margin-inline:auto}.utility{border-bottom:1px solid var(--line);font-size:10px;letter-spacing:1.2px;color:var(--muted)}.utility .wrap{display:flex;justify-content:space-between;padding-block:10px}.utility strong{color:var(--ink);margin-left:8px;letter-spacing:0}header{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-block:18px}.brand{display:flex;align-items:center;gap:16px;font-weight:700;letter-spacing:1px;font-size:13px}.company-logo{width:74px;height:74px;object-fit:contain}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:1.8px;margin-top:3px}nav{display:flex;gap:30px}nav a{padding:10px 0;border-bottom:2px solid transparent;font-size:13px}nav a[aria-current]{border-color:var(--accent)}.header-call{font-size:13px}.header-call span{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted)}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-1.8px;line-height:1.06}h1{font-size:clamp(48px,5.4vw,76px)}h2{font-size:clamp(34px,3.4vw,47px)}h3{font-size:20px;line-height:1.3;font-weight:500;letter-spacing:-.5px}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin-bottom:18px}.hero{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:50px;padding-block:34px 48px}.hero p{margin:24px 0;font-size:15px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;padding:13px 24px;font-size:13px}.button:hover{background:var(--accent)}.hero-hours{display:block;font-size:11px;color:var(--muted);margin-top:16px}.photo{position:relative;overflow:hidden;container-type:inline-size;background:#d7d4c9;isolation:isolate}.photo img{position:absolute;max-width:none;width:var(--iw,100%);left:var(--left,0);top:var(--top);height:auto}.ride-scene{aspect-ratio:1122/450;--top:-51.69cqw}.hero-photo{aspect-ratio:620/650;--iw:180.968%;--left:-45.16%;--top:-64.52cqw}.workshop-scene{aspect-ratio:600/580;--iw:187%;--left:-86.67%;--top:-40cqw}.saw-scene{aspect-ratio:500/430;--iw:224.4%;--left:-124%;--top:-142cqw}.generator-scene{aspect-ratio:900/774;--iw:124.667%;--left:-24.667%;--top:-24.445cqw}.parts-scene{aspect-ratio:1122/390;--top:-57.04cqw}.intro-line{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:90px;padding-block:48px 58px;border-top:1px solid var(--line)}.intro-line p{max-width:450px;font-size:16px}.story{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:80px;padding-bottom:65px}.story-copy p{max-width:390px;margin:23px 0}.text-link,.plain-link{display:inline-block;border-bottom:1px solid var(--accent);padding-bottom:5px;font-size:13px}.machine-gallery{display:grid;grid-template-columns:1fr 1fr;gap:38px;padding-bottom:65px}.machine-gallery h3{margin-top:20px}.machine-gallery p{margin-top:10px;max-width:440px;font-size:14px}.parts-story{grid-template-columns:.85fr 1.15fr;border-block:1px solid var(--line);padding-block:52px}.parts-story .photo{aspect-ratio:1122/390;--top:-72.2cqw}.contact-band{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-block:55px}.contact-band h2{font-size:36px}.call-number{font-size:24px;white-space:nowrap}.call-number small{display:block;font-size:9px;color:var(--muted);letter-spacing:1.5px;margin-bottom:6px}footer{border-top:1px solid var(--line)}.footer-main{display:flex;align-items:center;gap:26px;padding-block:28px}.footer-logo img{width:64px;height:64px}.footer-statement{font-size:13px;color:var(--muted)}.footer-links{display:flex;gap:25px;margin-left:auto;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;padding-block:15px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.page-intro{border-top:1px solid var(--line);padding-block:45px}.page-intro p{max-width:550px;margin-top:24px}.service-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center;padding-block:25px 55px}.service-feature.reverse .service-image{order:2}.service-copy p,.parts-feature p{margin:22px 0;max-width:480px}.service-items{padding:0;list-style:none;margin:0 0 24px;color:var(--muted);font-size:13px}.service-items li{padding:9px 0;border-bottom:1px solid var(--line)}.parts-feature{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:60px;padding-block:35px;border-top:1px solid var(--line)}.parts-feature .photo{--top:-72.2cqw}.service-note{font-size:12px;padding-block:20px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding-block:10px 60px}.contact-phone{display:block;font-size:30px;margin-block:12px}.contact-rule{height:1px;background:var(--line);margin-block:28px}.contact-primary h2{font-size:30px}.contact-checks{padding-left:20px;color:var(--muted);font-size:14px;margin-block:20px}.detail-row{display:flex;gap:16px;padding-block:18px;border-bottom:1px solid var(--line)}.detail-row h3{font-size:15px;margin-bottom:6px}.detail-row small,.preview-note{font-size:12px;color:var(--muted)}.preview-note{margin-top:24px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;background:white;padding:12px;z-index:10}a:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:900px){.header-call,.brand span{display:none}.hero{gap:30px}.hero-photo{aspect-ratio:620/750}.story{gap:35px}.intro-line{gap:40px}.service-feature,.parts-feature{gap:35px}.contact-layout{gap:40px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}.utility{font-size:8px;letter-spacing:.7px}.utility strong{margin-left:3px}header{padding-block:12px;gap:15px}.company-logo{width:62px;height:62px}nav{gap:24px}nav a{font-size:12px}.hero{grid-template-columns:1fr;padding-block:24px 30px;gap:30px}.hero h1{font-size:58px}.hero-photo{aspect-ratio:1122/450;--iw:100%;--left:0;--top:-51.69cqw}.hero p{margin:20px 0}.hero-hours{display:inline-block;margin-left:15px;font-size:10px}.intro-line{grid-template-columns:1fr;gap:20px;padding-block:30px}.intro-line h2{font-size:34px}.intro-line p{font-size:14px}.story{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.story .workshop-scene{aspect-ratio:1122/430;--iw:100%;--left:0;--top:-29.95cqw}.story-copy p{margin:18px 0;font-size:14px}.machine-gallery{gap:18px;padding-bottom:35px}.machine-gallery h3{font-size:18px}.machine-gallery p{font-size:12px}.parts-story{padding-block:30px;gap:25px}.parts-story .photo{order:-1}.contact-band{display:block;padding-block:35px}.contact-band h2{font-size:30px}.call-number{display:block;margin-top:25px;font-size:23px}.footer-main{gap:16px;flex-wrap:wrap}.footer-statement{font-size:11px}.footer-links{width:100%;margin:0}.footer-bottom span:last-child{display:none}.page-intro{padding-block:30px}.page-intro h1{font-size:44px}.service-feature,.parts-feature,.contact-layout{grid-template-columns:1fr;gap:25px;padding-bottom:35px}.service-feature.reverse .service-image{order:0}.service-feature .workshop-scene{aspect-ratio:600/420}.service-copy h2,.parts-feature h2{font-size:34px}.contact-phone{font-size:27px}}
@media(max-width:420px){.hero-hours{display:block;margin-left:0}.hero h1{font-size:54px}.utility .wrap>span{font-size:7px}}
/* Frame only the photographic areas of the supplied artwork. */
.hero-photo{aspect-ratio:620/450;--iw:180.968%;--left:-48.387%;--top:-93.55cqw}.generator-scene{aspect-ratio:590/507.4;--iw:190.17%;--left:-89.83%;--top:-74.58cqw}
@media(max-width:640px){.hero-photo{aspect-ratio:1122/450;--iw:100%;--left:0;--top:-51.69cqw}}
@media(max-width:640px){.story .workshop-scene{--top:-36.55cqw;aspect-ratio:1122/410}}
/* Soft edges integrate the supplied photography with the page. */
.photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,var(--paper),transparent 7%,transparent 93%,var(--paper)),linear-gradient(to bottom,var(--paper),transparent 10%,transparent 90%,var(--paper));z-index:1}
