/* DoorVision first-meeting deck — design canvas 1920 x 1080, scaled to the viewport */
:root {
  --blue: #264653; --night: #182C34; --brass: #E9C46A; --white: #ffffff;
  --mist: #EEF4F7; --sky: #CBDFE7; --lake: #629EB7; --deep-lake: #38677A;
  --cream: #FCF6E9; --sand: #F5E5BC; --honey: #EFD390;
  --graphite: #4A4A4A; --g400: #8A9499; --g300: #C5CDD1; --g200: #E3E8EA; --g100: #F4F6F7;
  --teal: #2A9D8F; --coral: #F4A261; --red: #E76F51;
  --font: "Google Sans", Arial, Helvetica, sans-serif;
  --r-sm: 12px; --r-md: 16px; --r-lg: 24px;
  --shadow: 0 8px 24px rgba(24,44,52,.08);
}
* { box-sizing: border-box; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
html, body { margin: 0; height: 100%; background: var(--night); color: var(--night); font-family: var(--font); font-size: 16px; line-height: 1.6; }
button, input, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
.ms { font-family: "Material Symbols Rounded"; font-weight: normal; font-style: normal; font-size: 24px; line-height: 1; letter-spacing: normal; text-transform: none; display: inline-block; white-space: nowrap; direction: ltr; font-feature-settings: "liga"; -webkit-font-smoothing: antialiased; font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; }

/* ---------- start page ---------- */
#start { min-height: 100%; background: var(--mist); display: flex; align-items: center; justify-content: center; padding: 40px 16px; }
#start.hidden { display: none; }
.start-card { background: var(--white); border-radius: var(--r-lg); box-shadow: var(--shadow); width: 100%; max-width: 640px; padding: 40px; }
.start-card .logo { height: 36px; margin-bottom: 28px; }
.start-card h1 { font-size: 30px; line-height: 38px; font-weight: 600; margin: 0 0 6px; color: var(--blue); }
.start-card p.lead { margin: 0 0 28px; color: var(--graphite); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.form-grid .full { grid-column: 1 / -1; }
.form-field { display: flex; flex-direction: column; gap: 6px; }
.form-field span { font-size: 12px; line-height: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--deep-lake); }
.form-field input { border: 1.5px solid var(--g300); border-radius: var(--r-sm); padding: 12px 14px; background: var(--white); outline: none; }
.form-field input:focus { border-color: var(--lake); box-shadow: 0 0 0 3px var(--sky); }
.btn-primary { background: var(--blue); color: var(--white); border: 0; border-radius: 999px; padding: 14px 28px; font-weight: 600; font-size: 16px; display: inline-flex; align-items: center; gap: 10px; }
.btn-primary:hover { background: var(--deep-lake); }
.btn-ghost { background: transparent; border: 1.5px solid var(--g300); color: var(--blue); border-radius: 999px; padding: 8px 16px; font-weight: 500; font-size: 14px; }
.btn-ghost:hover { border-color: var(--lake); background: var(--mist); }
.start-actions { margin-top: 28px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.start-hint { font-size: 14px; color: var(--g400); margin-top: 20px; }
.recent { margin-top: 32px; border-top: 1px solid var(--g200); padding-top: 20px; }
.recent h2 { font-size: 12px; line-height: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--deep-lake); margin: 0 0 10px; }
.recent ul { list-style: none; margin: 0; padding: 0; }
.recent li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--g100); }
.recent li .meta { flex: 1; min-width: 0; }
.recent li .meta b { font-weight: 600; color: var(--blue); }
.recent li .meta small { display: block; color: var(--g400); font-size: 14px; }
.recent li button { background: none; border: 0; color: var(--deep-lake); display: inline-flex; align-items: center; gap: 4px; font-size: 14px; padding: 6px 8px; border-radius: 8px; }
.recent li button:hover { background: var(--mist); }
.recent li button.danger:hover { color: var(--red); }
.recent:empty { display: none; }

/* ---------- presentation shell ---------- */
#app { position: fixed; inset: 0; background: var(--night); overflow: hidden; }
#app.hidden { display: none; }
#deck { position: absolute; left: 50%; top: 50%; width: 1920px; height: 1080px; transform-origin: center center; background: var(--white); }
.slide { position: absolute; inset: 0; display: none; background: var(--white); overflow: hidden; padding: 160px 96px 120px; }
.slide.active { display: block; }
.slide.vc { flex-direction: column; justify-content: center; }
.slide.vc.active { display: flex; }
.slide.vc > .slide-logo, .slide.vc > .controls, .slide.vc > .comment-footer, .slide.vc > .slide-no, .slide.vc > .company-tag, .slide.vc > .footnote { position: absolute; }
.slide-logo { position: absolute; left: 96px; top: 56px; height: 40px; }
.slide-no { position: absolute; right: 96px; bottom: 44px; font-size: 14px; color: var(--g400); letter-spacing: .04em; }
.slide .company-tag { position: absolute; left: 96px; bottom: 44px; font-size: 14px; color: var(--g400); }
.slide.dark { background: var(--night); color: var(--white); }

/* per-slide controls (top right) */
.controls { position: absolute; right: 96px; top: 52px; display: flex; gap: 8px; z-index: 5; }
.icon-btn { width: 48px; height: 48px; border-radius: 999px; border: 0; background: transparent; color: var(--g400); display: inline-flex; align-items: center; justify-content: center; transition: background .15s, color .15s; position: relative; }
.icon-btn:hover { background: var(--mist); color: var(--blue); }
.icon-btn .ms { font-size: 26px; }
.icon-btn.has-comment { color: var(--blue); }
.icon-btn.has-comment::after { content: ""; position: absolute; right: 9px; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: var(--brass); }
.dark .icon-btn { color: rgba(255,255,255,.6); }
.dark .icon-btn:hover { background: rgba(255,255,255,.1); color: var(--white); }

/* comment popover */
#commentBox { position: absolute; right: 96px; top: 112px; width: 620px; background: var(--white); border-radius: var(--r-md); box-shadow: 0 16px 40px rgba(24,44,52,.22); padding: 20px; z-index: 6; display: none; }
#commentBox.open { display: block; }
#commentBox label { display: block; font-size: 12px; line-height: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--deep-lake); margin-bottom: 8px; }
#commentBox textarea { width: 100%; min-height: 120px; resize: vertical; border: 1.5px solid var(--g300); border-radius: var(--r-sm); padding: 12px 14px; font-size: 18px; line-height: 28px; outline: none; }
#commentBox textarea:focus { border-color: var(--lake); box-shadow: 0 0 0 3px var(--sky); }
#commentBox .row { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; gap: 10px; }
#commentBox .row small { color: var(--g400); font-size: 14px; }

/* comment footer (visible only when a comment exists) */
.comment-footer { position: absolute; left: 0; right: 0; bottom: 0; background: var(--cream); border-top: 4px solid var(--brass); padding: 22px 96px 26px; display: none; align-items: flex-start; gap: 16px; z-index: 4; color: var(--night); }
.slide.has-comment .comment-footer { display: flex; }
.comment-footer .ms { color: var(--deep-lake); font-size: 28px; flex: 0 0 auto; margin-top: 2px; }
.comment-footer .text { font-size: 22px; line-height: 32px; white-space: pre-wrap; word-break: break-word; flex: 1; max-height: 160px; overflow: hidden; }
.slide.has-comment .slide-no, .slide.has-comment .company-tag { display: none; }

/* navigation */
.nav { position: fixed; left: 0; right: 0; bottom: 0; height: 56px; display: flex; align-items: center; justify-content: center; gap: 12px; z-index: 20; opacity: 0; transition: opacity .2s; }
#app:hover .nav, .nav:focus-within { opacity: 1; }
.nav button { background: rgba(255,255,255,.14); color: var(--white); border: 0; border-radius: 999px; width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; }
.nav button:hover { background: rgba(255,255,255,.28); }
.nav .counter { color: rgba(255,255,255,.75); font-size: 14px; min-width: 60px; text-align: center; }
.progress { position: fixed; left: 0; bottom: 0; height: 3px; background: var(--brass); z-index: 21; transition: width .25s; }

/* ---------- typography ---------- */
.overline { font-size: 14px; line-height: 18px; font-weight: 500; letter-spacing: .08em; text-transform: uppercase; color: var(--deep-lake); margin: 0 0 16px; }
.dark .overline { color: var(--honey); }
h1.display { font-size: 72px; line-height: 80px; font-weight: 700; letter-spacing: -.01em; color: var(--blue); margin: 0 0 24px; }
h1 { font-size: 52px; line-height: 60px; font-weight: 600; color: var(--blue); margin: 0 0 20px; letter-spacing: -.005em; }
h2 { font-size: 34px; line-height: 42px; font-weight: 600; color: var(--blue); margin: 0 0 12px; }
h3 { font-size: 24px; line-height: 32px; font-weight: 600; color: var(--blue); margin: 0 0 8px; }
.dark h1, .dark h2, .dark h3 { color: var(--white); }
p { margin: 0 0 12px; }
.lead { font-size: 26px; line-height: 38px; color: var(--graphite); }
.body { font-size: 20px; line-height: 32px; color: var(--graphite); }
.small { font-size: 16px; line-height: 24px; color: var(--g400); }
.marker { background: linear-gradient(transparent 55%, var(--brass) 55%, var(--brass) 92%, transparent 92%); padding: 0 .06em; }
.dyn { color: var(--blue); font-weight: 600; }
.dyn.empty { color: var(--g400); font-weight: 500; }
.dark .dyn { color: var(--honey); }

/* ---------- layout helpers ---------- */
.cols { display: grid; gap: 48px; height: 100%; align-items: stretch; }
.cols-2 { grid-template-columns: 1fr 1fr; }
.cols-3 { grid-template-columns: repeat(3, 1fr); }
.cols-4 { grid-template-columns: repeat(4, 1fr); }
.cols-5 { grid-template-columns: repeat(5, 1fr); }
.card { background: var(--mist); border-radius: var(--r-lg); padding: 36px 40px; }
.card.white { background: var(--white); box-shadow: var(--shadow); }
.card.cream { background: var(--cream); }
.card.blue { background: var(--blue); color: var(--white); }
.card.blue h3, .card.blue h2 { color: var(--white); }
.card.blue .overline { color: var(--honey); }
.card.blue p { color: rgba(255,255,255,.88); }
.card.blue .dyn { color: var(--honey); }
.num { font-size: 56px; line-height: 56px; font-weight: 700; color: var(--brass); font-feature-settings: "tnum"; }
.stat { font-size: 80px; line-height: 84px; font-weight: 700; color: var(--blue); letter-spacing: -.02em; font-feature-settings: "tnum"; }
.stat.teal { color: var(--teal); }
.stat.muted { color: var(--g400); font-size: 56px; line-height: 60px; }
.chips { display: flex; flex-wrap: wrap; gap: 10px; }
.chip { background: var(--white); border: 1.5px solid var(--g200); border-radius: 999px; padding: 8px 18px; font-size: 18px; font-weight: 500; color: var(--blue); }
.photo { border-radius: var(--r-lg); object-fit: cover; width: 100%; height: 100%; display: block; }

/* ---------- editable fields on slides ---------- */
.field { display: flex; flex-direction: column; gap: 8px; }
.field > .label { font-size: 14px; line-height: 18px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--deep-lake); }
.field > .q { font-size: 22px; line-height: 30px; font-weight: 600; color: var(--blue); }
.field textarea, .field input[type=text], .field input[type=number], .field input[type=date] {
  width: 100%; border: 0; border-bottom: 2px solid var(--sky); background: transparent; padding: 8px 2px; font-size: 24px; line-height: 34px; color: var(--night); outline: none; resize: none; overflow: hidden; border-radius: 0; }
.field textarea::placeholder, .field input::placeholder { color: var(--g300); }
.field textarea:focus, .field input:focus { border-bottom-color: var(--brass); }
.field textarea { min-height: 48px; }
.pv { display: none; font-size: 24px; line-height: 34px; color: var(--night); white-space: pre-wrap; word-break: break-word; border-bottom: 2px solid var(--sky); padding: 8px 2px; min-height: 50px; }
.pv.empty { color: var(--g300); }

/* list editors (goals, next steps) */
.rows { display: flex; flex-direction: column; gap: 20px; }
.row-item { display: grid; grid-template-columns: 56px 1fr 260px 48px; gap: 16px; align-items: center; }
.row-item.goal { grid-template-columns: 56px 1fr 48px; }
.row-item .idx { width: 48px; height: 48px; border-radius: 50%; background: var(--blue); color: var(--white); font-weight: 600; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.row-item input { width: 100%; border: 0; border-bottom: 2px solid var(--sky); background: transparent; padding: 8px 2px; font-size: 24px; line-height: 34px; outline: none; border-radius: 0; }
.row-item input:focus { border-bottom-color: var(--brass); }
.row-item input::placeholder { color: var(--g300); }
.row-item input[type=date] { color: var(--blue); font-weight: 500; }
.row-item .remove { background: transparent; border: 0; color: var(--g300); width: 48px; height: 48px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.row-item .remove:hover { color: var(--red); background: var(--mist); }
.add-row { margin-top: 20px; background: transparent; border: 1.5px dashed var(--lake); color: var(--deep-lake); border-radius: 999px; padding: 10px 22px 10px 16px; font-weight: 500; font-size: 18px; display: inline-flex; align-items: center; gap: 8px; }
.add-row:hover { background: var(--mist); }

/* ---------- slide specifics ---------- */
/* 1 cover */
.s-cover { padding: 0; }
.s-cover .left { position: absolute; left: 0; top: 0; bottom: 0; width: 980px; padding: 160px 96px 120px; display: flex; flex-direction: column; justify-content: center; }
.s-cover .right { position: absolute; right: 0; top: 0; bottom: 0; width: 940px; }
.s-cover .right img { width: 100%; height: 100%; object-fit: cover; object-position: 30% center; }
.s-cover .right::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--white) 0, rgba(255,255,255,0) 18%); }
.s-cover .meta { margin-top: 48px; display: flex; flex-direction: column; gap: 6px; font-size: 20px; color: var(--graphite); }
.s-cover .meta b { color: var(--blue); font-weight: 600; }
.corner { position: absolute; width: 56px; height: 56px; border: 6px solid var(--brass); }
.corner.tl { left: 1020px; top: 150px; border-right: 0; border-bottom: 0; }
.corner.br { right: 96px; bottom: 130px; border-left: 0; border-top: 0; }

/* 2 agenda */
.agenda { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 24px; }
.agenda .item { background: var(--mist); border-radius: var(--r-lg); padding: 36px 36px 32px; min-height: 470px; display: flex; flex-direction: column; }
.agenda .item h3 { font-size: 30px; line-height: 38px; margin-top: 16px; }
.agenda .item .body { font-size: 22px; line-height: 34px; }
.agenda .item .time { margin-top: auto; font-size: 18px; font-weight: 500; color: var(--deep-lake); display: flex; align-items: center; gap: 6px; }
.agenda .item .time .ms { font-size: 20px; }
.goal-bar { margin-top: 48px; background: var(--cream); border-left: 6px solid var(--brass); border-radius: 0 var(--r-md) var(--r-md) 0; padding: 26px 36px; font-size: 27px; line-height: 38px; color: var(--night); }

/* 3 who we are */
.person { display: grid; grid-template-columns: 200px 1fr; gap: 32px; align-items: start; }
.person img { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; }
.person .name { font-size: 30px; font-weight: 600; color: var(--blue); margin: 4px 0 0; }
.person .role { font-size: 16px; text-transform: uppercase; letter-spacing: .06em; color: var(--deep-lake); font-weight: 500; margin-bottom: 12px; }
.person .quote { font-size: 23px; line-height: 35px; color: var(--graphite); font-style: italic; }
.facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-top: 72px; }
.facts .fact { border-top: 3px solid var(--brass); padding-top: 20px; }
.facts .fact b { display: block; font-size: 28px; margin-bottom: 6px; color: var(--blue); font-weight: 600; }
.facts .fact span { font-size: 21px; line-height: 31px; color: var(--graphite); }

/* 4 about you */
.discovery { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 56px 64px; margin-top: 24px; }
.discovery .field textarea { min-height: 170px; }
.discovery .q { font-size: 24px; line-height: 32px; }

/* 6 idea */
.steps { display: flex; flex-direction: column; gap: 36px; margin-top: 44px; }
.idea-step { display: grid; grid-template-columns: 64px 1fr; gap: 20px; align-items: start; }
.idea-step .n { width: 56px; height: 56px; border-radius: 50%; background: var(--brass); color: var(--night); font-weight: 700; font-size: 24px; display: inline-flex; align-items: center; justify-content: center; }
.phone-wrap { position: relative; height: 100%; display: flex; align-items: center; justify-content: center; }
.phone { width: 360px; height: 760px; border-radius: 48px; background: var(--night); padding: 14px; box-shadow: 0 30px 60px rgba(24,44,52,.3); position: relative; z-index: 2; }
.phone img { width: 100%; height: 100%; object-fit: cover; border-radius: 36px; display: block; }
.phone-bg { position: absolute; inset: 0; border-radius: var(--r-lg); overflow: hidden; }
.phone-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .9; }

/* 7 demo */
.demo-btn { display: inline-flex; align-items: center; gap: 14px; background: var(--blue); color: var(--white); text-decoration: none; border-radius: 999px; padding: 22px 40px; font-size: 26px; font-weight: 600; margin: 24px 0 8px; }
.demo-btn:hover { background: var(--deep-lake); }
.demo-btn .ms { font-size: 30px; }
.demo-url { font-size: 18px; color: var(--g400); word-break: break-all; }
.checks { display: flex; flex-direction: column; gap: 24px; margin-top: 56px; }
.check { display: flex; gap: 16px; align-items: flex-start; font-size: 24px; line-height: 34px; color: var(--graphite); }
.check .ms { color: var(--teal); font-size: 30px; flex: 0 0 auto; }

/* 8 product types */
.types { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 20px; height: 100%; }
.type { position: relative; border-radius: var(--r-lg); overflow: hidden; }
.type img { width: 100%; height: 100%; object-fit: cover; display: block; }
.type span { position: absolute; left: 20px; bottom: 20px; background: rgba(255,255,255,.92); color: var(--blue); border-radius: 999px; padding: 8px 18px; font-weight: 600; font-size: 20px; }

/* 9 proof */
.proof { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 8px; }
.proof .card { display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; }
.proof .arrow { color: var(--brass); font-size: 48px; }
.proof .cap { font-size: 18px; line-height: 26px; color: var(--graphite); margin-top: 8px; }
.logos { margin-top: 44px; }
.logos img { width: 100%; max-height: 300px; object-fit: contain; display: block; }
.footnote { position: absolute; left: 96px; bottom: 76px; font-size: 13px; color: var(--g400); max-width: 1500px; }

/* 10 what if */
.whatif { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; margin-top: 12px; }
.calc-inputs { display: flex; flex-direction: column; gap: 44px; }
.result { background: var(--blue); color: var(--white); border-radius: var(--r-lg); padding: 44px 48px; display: flex; flex-direction: column; gap: 32px; align-self: start; }
.result .line { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: baseline; border-bottom: 1px solid rgba(255,255,255,.14); padding-bottom: 20px; }
.result .line:last-child { border-bottom: 0; padding-bottom: 0; }
.result .line .lbl { font-size: 20px; color: rgba(255,255,255,.75); }
.result .line .big { font-size: 68px; line-height: 72px; font-weight: 700; color: var(--brass); font-feature-settings: "tnum"; }
.result .line .sub { font-size: 20px; color: rgba(255,255,255,.9); }
.result .line .big.na { color: rgba(255,255,255,.35); font-size: 40px; }

/* 11 what it takes */
.takes { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; margin-top: 16px; }
.takes .list { display: flex; flex-direction: column; gap: 40px; }
.takes .item { display: grid; grid-template-columns: 56px 1fr; gap: 20px; }
.takes .item .ms { font-size: 44px; color: var(--deep-lake); }
.laptop { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--g200); }
.laptop img { width: 100%; display: block; }
.quote-card { margin-top: 24px; display: grid; grid-template-columns: 72px 1fr; gap: 16px; align-items: center; }
.quote-card img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; }
.quote-card p { margin: 0; font-size: 18px; line-height: 27px; color: var(--graphite); font-style: italic; }
.quote-card small { display: block; font-style: normal; color: var(--deep-lake); font-weight: 500; margin-top: 4px; }

/* 12 roadmap */
.road { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; margin-top: 48px; position: relative; }
.road::before { content: ""; position: absolute; left: 24px; right: 24px; top: 290px; height: 3px; background: var(--sky); }
.road .stage { position: relative; }
.road .stage img { width: 100%; height: 250px; object-fit: cover; border-radius: var(--r-md); display: block; }
.road .dot { width: 22px; height: 22px; border-radius: 50%; background: var(--brass); border: 4px solid var(--white); box-shadow: 0 0 0 3px var(--sky); margin: 30px 0 18px 0; position: relative; }
.road .when { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; color: var(--deep-lake); }
.road h3 { font-size: 25px; line-height: 32px; margin: 6px 0 10px; }
.road p { font-size: 19px; line-height: 29px; color: var(--graphite); }

/* 13 next steps */
.plan { display: grid; grid-template-columns: 1fr 1.25fr; gap: 56px; height: 100%; }
.plan .commit { display: flex; flex-direction: column; gap: 40px; }
.plan .commit .field textarea { min-height: 90px; }
.nextsteps-head { display: grid; grid-template-columns: 56px 1fr 260px 48px; gap: 16px; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; color: var(--deep-lake); font-weight: 500; margin-bottom: 8px; }
.nextsteps-head span:first-child { grid-column: 1 / 3; }

/* 14 thank you */
.s-thanks .contact { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; margin-top: 24px; }
.contact-lines { display: flex; flex-direction: column; gap: 22px; }
.contact-lines a, .contact-lines div { display: flex; align-items: center; gap: 16px; font-size: 26px; color: var(--night); text-decoration: none; }
.contact-lines .ms { color: var(--deep-lake); font-size: 30px; }
.contact-lines a:hover { color: var(--deep-lake); }
.s-thanks .person img { width: 240px; height: 240px; }
.s-thanks .contact { margin-top: 48px; }

/* ---------- print ---------- */
@page { size: 13.333in 7.5in; margin: 0; }
@media print {
  html, body { background: var(--white); height: auto; }
  #start, .nav, .progress, .controls, #commentBox, .remove, .add-row, .no-print { display: none !important; }
  #app { position: static; overflow: visible; }
  #app.hidden { display: block; }
  #deck { position: static; transform: none !important; width: 1280px; height: auto; }
  html, body { width: 1280px; }
  .slide { display: block !important; position: relative; width: 1920px; height: 1080px; zoom: 0.6666667; break-after: page; page-break-after: always; break-inside: avoid; }
  .slide:last-child { break-after: auto; page-break-after: auto; }
  .slide.vc { display: flex !important; }
  .field textarea, .field input, .row-item input { display: none !important; }
  .pv { display: block !important; }
  .row-item { grid-template-columns: 56px 1fr 260px; }
  .row-item.goal { grid-template-columns: 56px 1fr; }
  .nextsteps-head { grid-template-columns: 56px 1fr 260px; }
  .road .stage img { break-inside: avoid; }
  a { color: inherit; }
}
