:root{--bg:#000000;--fg:#ffffff;--muted:#ffffff;--accent:#ff8200;--blue:#2f99ee;--line:rgba(255,255,255,.3)}
body{background:var(--bg)}
.reveal{font-family:Arial,Helvetica,sans-serif;font-size:28px;color:var(--fg)}
.reveal .slides{text-align:left}
.reveal .slides section{box-sizing:border-box;padding:30px 42px;height:700px}
.reveal h1,.reveal h2,.reveal h3,.reveal p{margin:0}
.reveal h1{font-size:104px;line-height:.98;letter-spacing:-6px;font-weight:800;margin-top:50px}
.reveal h1 span{display:block;color:var(--fg)}
.reveal h2{font-size:52px;line-height:1.08;letter-spacing:-2px;margin:25px 0 43px;font-weight:700;max-width:1120px}
.reveal h3{font-size:34px;line-height:1.15;margin:10px 0 12px}
.reveal p{line-height:1.4}
.reveal .eyebrow{font-size:16px;letter-spacing:2.5px;font-weight:700;color:var(--muted)}
.accent{color:var(--fg)}.blue{color:var(--fg)}
.reveal .cover-sub{margin-top:35px;font-size:28px;color:var(--muted)}
.comparison{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding-top:15px}
.comparison>div+div{border-left:1px solid var(--line);padding-left:50px}
.reveal .big-word{font-size:64px;font-weight:700;letter-spacing:-2px}
.reveal .definition{font-size:34px;margin:14px 0 27px}
.reveal .detail{font-size:23px;color:var(--muted)}
.reveal .example{font-size:24px;max-width:390px;margin-top:24px}
.reveal .bottom-line{position:absolute;bottom:59px;left:42px;right:42px;border-top:1px solid var(--line);padding-top:22px;font-size:25px;color:var(--fg)}
.reveal .small-note{position:absolute;bottom:19px;left:42px;font-size:16px;color:var(--muted)}
.reveal .statement{font-size:39px;line-height:1.3;letter-spacing:-.7px}
.reveal ol{margin:0;list-style:none;display:flex;padding:0}
.steps{gap:45px;margin-top:55px!important}
.steps li{display:flex;gap:16px;flex:1}
.steps li>span{color:var(--fg);font-size:20px;padding-top:6px}
.steps strong{font-size:29px}.steps p{font-size:23px;color:var(--muted);margin-top:12px}
.workflow{gap:26px;padding-top:25px!important}
.workflow li{flex:1;border-top:2px solid var(--accent);padding-top:16px}
.workflow span{font-size:19px;color:var(--fg);display:block;margin-bottom:30px}
.workflow strong{font-size:33px;display:block}.workflow p{font-size:22px;color:var(--muted);margin-top:18px}.workflow small{display:block;font-size:15px;letter-spacing:1px;margin-top:35px;color:var(--fg)}
.applications{display:grid;grid-template-columns:1fr 1fr;gap:30px 65px}
.applications>div{border-top:1px solid var(--line);padding-top:16px}
.applications span{font-size:16px;text-transform:uppercase;letter-spacing:2px;color:var(--fg)}
.applications p{font-size:23px;color:var(--muted);max-width:430px}
.iteration{--fg:#ffffff;--muted:#ffffff;color:var(--fg)}.iteration .eyebrow{color:var(--fg)}.iteration h2{font-size:62px}
.reveal .lead{font-size:31px}.iteration-list{gap:35px;margin-top:70px!important;justify-content:space-between}
.iteration-list li{font-size:61px;font-weight:700;letter-spacing:-2px;border-top:2px solid var(--blue);padding-top:20px}
.reveal .iteration-caption{font-size:25px;margin-top:32px}.reveal .example-question{font-size:30px;margin-top:58px;font-style:italic}
.design-rows>div{display:grid;grid-template-columns:370px 1fr;gap:25px;border-top:1px solid var(--line);padding:24px 0}
.design-rows strong{font-size:28px;color:var(--fg)}.design-rows p{font-size:25px;color:var(--muted)}
.reveal table{border-collapse:collapse;width:100%;margin:0;font-size:26px;text-align:left}
.reveal th,.reveal td{padding:18px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.reveal thead th{font-size:16px;text-transform:uppercase;letter-spacing:2px;color:var(--muted);padding-top:0}
.reveal tbody th{color:var(--fg);font-weight:700}.reveal tbody td{color:var(--fg)}
.materials tbody th{font-size:31px;width:150px}
.settings{display:flex;gap:45px;margin-top:38px}.settings p{flex:1}.settings strong{display:block;font-size:26px}.settings span{display:block;font-size:21px;color:var(--muted);margin-top:10px}
.problems th{width:32%}.problems tbody th,.problems tbody td{padding-top:26px;padding-bottom:26px}
.closing h2{font-size:65px;max-width:950px;margin-top:50px}.takeaways p{font-size:31px;margin-bottom:16px!important;color:var(--muted)}
.reveal .questions{font-size:96px;letter-spacing:-4px;font-weight:700;margin-top:45px}
.reveal .controls{color:var(--fg)}.reveal .progress{color:var(--fg);height:4px}.reveal .slide-number{background:transparent;color:var(--muted);font:14px Arial;right:19px;bottom:18px}
.reveal .fragment{will-change:opacity,transform}
@media(prefers-reduced-motion:reduce){.reveal *{transition:none!important;animation:none!important}}
@media print{.reveal .fragment{opacity:1!important;visibility:visible!important;transform:none!important}.reveal .slides section{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* Reveal paints the viewport with its theme variable. */
:root{--r-background-color:#000000;--r-main-color:#ffffff}
.reveal .slides section:has(.problems) h2{font-size:47px;margin-bottom:32px}
.problems tbody th,.problems tbody td{padding-top:22px;padding-bottom:22px}
.reveal-viewport{background-color:var(--bg)}

/* Aperture palette: brand colors frame the content; all text is black or white. */
.cover{--fg:#ffffff;--muted:#ffffff;--line:rgba(255,255,255,.4);color:var(--fg)}
.closing{--fg:#000000;--muted:#000000;color:var(--fg)}
.comparison .big-word{border-bottom:5px solid var(--accent);padding-bottom:12px}
.comparison .big-word.blue{border-color:var(--blue)}
.applications>div:nth-child(odd){border-top-color:var(--accent)}
.applications>div:nth-child(even){border-top-color:var(--blue)}
.reveal .bottom-line{border-top-color:var(--accent)}
.workflow li:nth-child(even){border-top-color:var(--blue)}
.reveal .progress{color:var(--accent)}
.reveal .controls{color:var(--blue)}
.reveal.has-light-background .slide-number{color:#000000}
.reveal.has-light-background .controls{color:#000000}

.reveal .cover-logo{position:absolute;top:24px;right:42px;width:300px;height:auto;margin:0;padding:0;background:transparent;border:0;box-shadow:none}

.reveal .cover-author{margin-top:30px;font-size:26px;color:var(--fg)}

.reveal .cover h1{font-size:78px;letter-spacing:-3px;line-height:1.06;margin-top:105px}
.reveal .cover-author{margin-top:24px;font-weight:700}
.reveal .cover-credentials{margin-top:10px;font-size:21px;line-height:1.45;color:var(--fg)}

/* Aperture color accents on the cover. */
.reveal .cover h1 .title-printing{color:var(--accent)}
.reveal .cover h1 .title-prototyping{color:var(--blue)}
.reveal .cover h1 .title-connector{color:#ffffff}
.reveal .cover-author{border-left:4px solid var(--accent);padding-left:16px}
.reveal .cover-credentials{padding-left:20px}
.reveal .slide-background:first-child,.reveal .slide-background:last-child{background-image:radial-gradient(ellipse at 100% 100%,rgba(47,153,238,.22),transparent 52%),radial-gradient(ellipse at 100% 0%,rgba(255,130,0,.12),transparent 42%)}

.reveal .manufacturing h2{margin-bottom:25px}
.manufacturing .comparison{gap:40px;padding-top:0}
.manufacturing .comparison>div+div{padding-left:0;border-left:0}
.reveal .manufacturing .big-word{font-size:49px;padding-bottom:10px}
.reveal .manufacturing .definition{font-size:29px;margin:14px 0 6px}
.reveal .manufacturing .detail{font-size:22px}
.reveal .manufacturing-photo{display:block;width:100%;height:290px;object-fit:cover;margin:22px 0 0;border:0;box-shadow:none}

.reveal .printing-explained h2{margin-bottom:30px}
.printing-layout{display:grid;grid-template-columns:1fr 470px;gap:45px;align-items:start}
.reveal .printing-explained .statement{font-size:32px;line-height:1.3}
.reveal .printing-explained .statement br{display:none}
.reveal .printing-explained .statement .accent{display:block;color:var(--accent)}
.reveal .printing-explained .steps{display:flex;flex-direction:column;gap:24px;margin-top:32px!important}
.reveal .printing-explained .steps p{margin-top:4px;font-size:23px}
.reveal .printing-explained .steps strong{font-size:28px}
.reveal .fdm-diagram{width:470px;height:470px;object-fit:contain;margin:0;border:0;box-shadow:none}

/* Filament guide: grouped matrix inspired by the supplied Bambu reference. */
.reveal .filament-guide h2{margin:16px 0 12px}
.reveal .guide-subtitle{font-size:19px;margin-bottom:24px}
.reveal .filament-matrix{width:100%;table-layout:fixed;background:#ffffff;color:#000000;font-size:22px;border-collapse:collapse}
.filament-matrix .group-col{width:12%}.filament-matrix .property-col{width:23%}
.reveal .filament-matrix th,.reveal .filament-matrix td{padding:14px 12px;border:1px solid #d2d2d2;color:#000000;text-align:center;line-height:1.18;vertical-align:middle}
.reveal .filament-matrix thead th{background:#252525;color:#ffffff;font-size:23px;text-transform:none;letter-spacing:0;padding:17px 12px}
.reveal .filament-matrix thead th:first-child{text-align:left;font-size:20px}
.reveal .filament-matrix tbody th[scope="row"]{text-align:left;font-size:20px;background:#f2f2f2}
.reveal .filament-matrix th small{display:block;font-weight:400;font-size:14px;margin-top:5px}
.reveal .filament-matrix .matrix-group{background:#ff8200;color:#000000;font-size:19px;line-height:1.4}
.reveal .filament-matrix .printing-group{background:#2f99ee}
.metric{display:flex;gap:12px;align-items:center;justify-content:center}.metric strong{font-weight:600;font-size:22px;min-width:57px;text-align:right}
.metric-track{display:block;width:112px;height:9px;background:#e0e0e0;overflow:hidden;border-radius:5px}.metric-track>span{display:block;height:100%;background:#ff8200}.stiffness-row .metric-track>span{background:#2f99ee}
.guide-settings{display:flex;gap:40px;margin-top:25px}.guide-settings p{flex:1;border-top:2px solid var(--blue);padding-top:12px}.guide-settings p:first-child{border-color:var(--accent)}
.guide-settings strong{display:block;font-size:24px}.guide-settings span{display:block;font-size:20px;margin-top:5px}
.reveal .guide-source{position:absolute;bottom:16px;left:42px;right:42px;font-size:14px;line-height:1.3}.guide-source a{color:#ffffff;text-decoration:underline}
.reveal .filament-matrix th,.reveal .filament-matrix td{padding:8px 12px}
.reveal .filament-matrix thead th{padding:12px}
.guide-settings{margin-top:20px}

/* Six practical actions follow the rapid-prototyping introduction. */
.reveal .action-slide h2{font-size:49px;max-width:1170px;margin:22px 0 27px}
.reveal .action-lead{font-size:30px;color:var(--accent);max-width:1090px}
.action-layout{display:grid;grid-template-columns:1.35fr 1fr;gap:60px;margin-top:45px;align-items:start}
.reveal .action-points{list-style:none;padding:0;margin:0;font-size:27px}
.action-points li{margin-bottom:25px;line-height:1.35}
.action-points strong{display:block;font-weight:700;margin-bottom:4px}
.action-example{border-left:4px solid var(--blue);padding-left:28px;margin-top:2px}
.reveal .action-example h3{font-size:31px;margin:0 0 20px}
.reveal .action-example p{font-size:30px;line-height:1.45}
.reveal .action-material h2{font-size:45px}

.reveal .closing{--fg:#ffffff;--muted:#ffffff;color:#ffffff}
.closing-layout{display:grid;grid-template-columns:1fr 360px;gap:90px;align-items:center;height:100%;padding:0 30px}
.reveal .closing h2{font-size:100px;letter-spacing:-4px;margin:0 0 25px;color:var(--accent)}
.reveal .closing .questions{font-size:82px;letter-spacing:-3px;margin:0;color:#ffffff}
.reveal .closing-qr{display:block;text-align:center;color:#ffffff;text-decoration:none}
.reveal .closing-qr img{display:block;width:360px;height:360px;margin:0;border:0;box-shadow:none}
.reveal .closing-qr span{display:block;margin-top:22px;font-size:28px;letter-spacing:.4px}
.reveal .closing-qr:hover span{text-decoration:underline}

/* Blend the FDM diagram into the black slide while keeping labels readable. */
.reveal .fdm-diagram{filter:grayscale(1) invert(1)}
.reveal .fdm-diagram{display:block}

.reveal .orientation-slide .action-layout{grid-template-columns:470px 1fr;gap:36px;margin-top:35px}
.reveal .orientation-diagram{display:block;width:100%;height:auto;margin:0;border:0;box-shadow:none;filter:grayscale(1) invert(1)}

.orientation-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:30px}
.reveal .orientation-topic img{display:block;width:100%;height:285px;object-fit:contain;margin:0 0 20px;border:0;box-shadow:none}
.reveal .orientation-topic .load-image{filter:grayscale(1) invert(1)}
.reveal .orientation-topic .support-image{object-fit:cover;object-position:center 27%}
.reveal .orientation-topic h3{font-size:30px;margin:0 0 12px}
.reveal .orientation-topic p{font-size:24px;line-height:1.4}

.reveal .small-test-slide .action-layout{grid-template-columns:1fr 1fr;gap:45px;margin-top:35px}
.reveal .fit-sample{margin:0}
.reveal .fit-sample img{display:block;width:100%;height:365px;object-fit:contain;margin:0;border:0;box-shadow:none}
.reveal .fit-sample figcaption{font-size:22px;margin-top:14px;color:#ffffff}
.reveal .small-test-slide .action-points{font-size:25px}

.reveal .clearance-slide .action-layout{grid-template-columns:470px 1fr;gap:45px;margin-top:40px}
.reveal .clearance-photo{margin:0}
.reveal .clearance-photo img{display:block;width:100%;height:auto;margin:0;border:0;box-shadow:none}
.reveal .clearance-photo figcaption{font-size:23px;line-height:1.4;margin-top:20px}

.reveal .strengths-slide h2{margin-bottom:18px}
.reveal .strengths-slide .action-lead{font-size:28px}
.strengths-photo{position:relative;height:380px;width:100%;overflow:hidden;margin-top:24px}
.reveal .strengths-photo>img{position:absolute;display:block;left:0;top:-285px;width:100%;max-width:none;height:auto;max-height:none;margin:0;border:0;box-shadow:none}
.part-highlight{position:absolute;border:5px solid;border-radius:50%;box-shadow:0 0 0 2px rgba(0,0,0,.5);box-sizing:border-box;pointer-events:none}
.printed-highlight{border-color:var(--accent);left:75%;top:15%;width:24%;height:66%}
.metal-highlight{border-color:var(--blue);left:19%;top:35%;width:39%;height:39%}
.strengths-captions{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:18px}
.reveal .strengths-captions p{font-size:23px;line-height:1.3}
.strengths-captions strong{display:block;color:var(--accent);font-size:27px;margin-bottom:5px}
.strengths-captions p+ p strong{color:var(--blue)}

.fastening-layout{display:grid;grid-template-columns:480px 1fr;gap:42px;align-items:center;margin-top:35px}
.reveal .fastening-photo{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;margin:0;border:0;box-shadow:none}
.reveal .fastening-slide .action-points{font-size:25px}
.reveal .fastening-slide .action-points strong{font-size:29px}

.additive-focus{display:inline-block;position:relative}
.additive-ring{position:absolute;left:-18px;right:-18px;top:-7px;bottom:-7px;border:4px solid var(--accent);border-radius:50%;pointer-events:none}

.reveal .slicer-slide .action-layout{grid-template-columns:420px 1fr;gap:36px;margin-top:35px;align-items:start}
.reveal .slicer-slide .action-points{font-size:25px}
.reveal .slicer-photo{display:block;width:100%;height:auto;margin:0;border:0;box-shadow:none}

.reveal .quick-materials-tip{position:absolute;left:42px;right:42px;bottom:16px;font-size:24px;line-height:1.35}
.quick-materials-tip strong{display:block;color:var(--accent);font-size:28px;margin-bottom:7px}
.quick-materials-tip span{display:block}

.reveal .slicer-slide .action-points li{margin-bottom:18px}
/* Keep the counter clear of Reveal's bottom-right navigation controls. */
.reveal .slide-number{left:20px;right:auto;bottom:18px}

.printing-layout{grid-template-columns:420px 1fr;gap:30px}
.printing-visuals{display:grid;grid-template-columns:.85fr 1fr;gap:20px;align-items:center;min-height:450px}
.reveal .printing-visuals .fdm-printer{display:block;width:100%;height:410px;object-fit:contain;margin:0;border:0;box-shadow:none}
.reveal .printing-visuals .fdm-diagram{width:100%;height:auto}

.reveal .robot-gallery-slide h2{margin:16px 0 15px}
.reveal .robot-gallery-lead{font-size:28px;color:var(--accent);margin-bottom:22px}
.robot-gallery{display:grid;grid-template-columns:1fr 1.18fr 1.05fr;gap:25px}
.reveal .robot-gallery figure{margin:0;min-width:0}
.robot-image-space{height:410px;display:flex;align-items:center;justify-content:center}
.robot-annotated{position:relative;flex:none}
.cyan-robot{width:230px}.plywood-robot{width:100%}.intake-robot{width:307px}
.reveal .robot-annotated img{display:block;width:100%;height:auto;max-height:none;margin:0;border:0;box-shadow:none}
.robot-ring{position:absolute;box-sizing:border-box;border:3px solid var(--accent);border-radius:50%;box-shadow:0 0 0 1px #000;pointer-events:none}
.plywood-robot .robot-ring{border-color:var(--blue)}
.reveal .robot-gallery figcaption{font-size:20px;line-height:1.35;margin-top:15px}
.robot-gallery figcaption strong{display:block;font-size:24px;margin-bottom:6px}
.robot-gallery figcaption span{display:block}
.reveal .robot-gallery-note{position:absolute;bottom:12px;left:42px;right:42px;font-size:15px}

.reveal .printing-limits h2{margin:22px 0 20px}
.reveal .limits-intro{font-size:28px;color:var(--accent);margin-bottom:32px}
.limits-list>div{display:grid;grid-template-columns:440px 1fr;gap:35px;border-top:1px solid var(--line);padding:23px 0}
.reveal .limits-list h3{font-size:28px;line-height:1.25;margin:0}
.reveal .limits-list p{font-size:25px;line-height:1.4}
.limits-list>div:first-child{border-top:3px solid var(--blue)}

/* Pentos design iterations and the rapid prototyping cycle. */
.reveal .iteration h2{margin-bottom:24px}
.prototype-evolution{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);align-items:center;gap:8px;margin-top:24px}
.reveal .prototype-evolution figure{margin:0;min-width:0;text-align:center}
.reveal .prototype-evolution img{display:block;width:100%;height:290px;object-fit:contain;max-width:none;max-height:none;margin:0;border:0;box-shadow:none}
.reveal .prototype-evolution figcaption{font-size:24px;margin-top:4px}
.evolution-arrow{font-size:52px;color:var(--accent);text-align:center;align-self:center;margin-bottom:32px}
.reveal .prototype-cycle{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:45px;font-size:34px}
.prototype-cycle span{color:var(--accent)}
.reveal .iteration .iteration-caption{font-size:24px;margin-top:22px}

.reveal .workflow-video-slide h2{margin-bottom:24px}
.reveal .workflow-video{display:block;width:100%;height:510px;max-width:100%;max-height:none;margin:0;object-fit:contain;background:#000}
