/* One studio table, one invitation. The retained print elements travel between docks. */
body[data-page="imagine"]{position:relative;isolation:isolate;overflow-x:clip;background:var(--cream)}
body[data-page="imagine"].room{background:var(--plum)}
.journey-room-viewport{position:fixed;inset:0;z-index:-1;overflow:hidden;background:var(--cream);pointer-events:none}
.journey-room{position:absolute;inset:0;background:var(--plum);transform:translateY(100%)}
.imagine-header{min-height:94px;max-width:1440px;margin:auto;border-bottom:1px solid #bdb3a250}
.imagine-layout{max-width:1340px;grid-template-columns:260px minmax(0,1fr);gap:clamp(30px,5vw,76px);margin-top:34px;overflow-x:clip}
.brief-spine{padding-top:20px}.brief-spine .eyebrow{margin-bottom:18px}
.brief-spine .answer-list{display:grid;gap:12px;overflow:visible}
.brief-spine .brief-object{display:grid;grid-template-columns:42px minmax(0,1fr);position:relative;background:var(--ivory);padding:20px 16px 12px;border:1px solid var(--line);font:16px/1.35 Space;color:var(--plum);max-width:none;min-width:0;gap:12px}
.brief-object[hidden]{display:none!important}.brief-object .object-art svg{width:40px;height:40px;display:block}.brief-object .object-copy{min-width:0;overflow-wrap:anywhere}
.brief-object .micro{font:10px/1.4 Mono;display:block;color:var(--muted);margin-bottom:5px}.brief-object .answer-value{display:block;font:700 16px/1.35 Space;overflow-wrap:anywhere}
.brief-spine .brief-object button{display:inline-flex;grid-column:2;justify-self:end;min-height:36px;min-width:44px;color:var(--rose);padding:6px 0;background:none;text-decoration:underline;text-underline-offset:3px;position:static;font:11px/1.4 Mono}
.brief-spine .brief-object[data-answer="2"]{grid-template-columns:1fr}.brief-object[data-answer="2"] .object-art{display:none}.brief-object[data-answer="2"] button{grid-column:1}
.brief-spine .brief-object[data-answer="3"]{grid-template-columns:1fr}.brief-object[data-answer="3"] .object-art{display:none}.brief-object[data-answer="3"] button{grid-column:1}.direction-dock{grid-column:1/-1;min-width:0}.direction-dock:empty{display:none}
.direction-print{margin:0}.direction-print img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain}.direction-print .credit{font-size:10px;line-height:1.45;margin-top:10px}
.direction-dock .direction-print img{height:170px;object-fit:cover}.direction-dock .direction-print .credit{font-size:9px;color:var(--muted)}
.room .brief-object{background:#3a2030;border-color:#735c69;color:var(--cream)}.room .brief-object .micro,.room .direction-print .credit{color:#d8cfce}.room .brief-object button{color:var(--citron)}
.brief-object[data-carrying],.direction-print[data-carrying],.taste-print[data-carrying]{pointer-events:none;position:relative;z-index:3}
.stage{border-color:var(--line)}.stage .options{border:0;gap:12px}.stage .option{border:1px solid var(--line);padding:16px;min-height:88px;background:var(--ivory);gap:12px}.stage .option strong{font-size:20px}.stage .option.selected{background:var(--plum);color:var(--cream);border-color:var(--plum)}.stage .option.selected strong,.stage .option.selected:hover strong{color:var(--cream)}.stage .option.selected .selector{border-color:var(--cream);background:var(--citron);box-shadow:inset 0 0 0 3px var(--plum)}
.product-choice{display:flex;align-items:center;gap:12px}.product-choice svg{width:32px;height:32px;flex:none}.stage[data-step="0"] .option{min-height:96px}.stage[data-step="0"] h1{max-width:630px}
.stage .description{font-size:15px;line-height:1.6;max-width:56ch}.stage .button{border-radius:999px;min-height:54px}.room .stage .button{background:var(--citron);color:var(--plum)}.room .stage .button:hover{background:var(--cream)}
.stage[data-step="3"] .direction-slot{max-width:300px;float:right;width:40%;margin:4px 0 24px 26px}.stage[data-step="3"] .options{grid-template-columns:1fr;width:54%}.stage[data-step="3"] details{clear:both}
.taste-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:center}.taste-slot{min-width:0}.taste-print{margin:0;background:var(--cream);padding:8px;color:var(--plum)}.taste-print img{display:block;width:100%;height:100%;aspect-ratio:4/5;object-fit:cover}.taste-print .credit{font:9px/1.4 Mono;color:var(--plum);margin-top:9px;letter-spacing:0}
.stage[data-step="4"] .taste-collection{max-width:270px;gap:10px;margin:4px 0 28px}.stage[data-step="4"] .taste-print{padding:4px}.stage[data-step="4"] .taste-print img{aspect-ratio:1;height:auto}.stage[data-step="4"] .taste-print .credit{font-size:8px;margin-top:5px}.empty-pick{display:flex;align-items:center;justify-content:center;aspect-ratio:1;border:1px dashed #826e78;color:#d8cfce;font-size:9px;text-align:center}.stage[data-step="4"] .description{margin-bottom:18px}
.game-tile{transform-origin:center}.game-tile.selected img{outline:2px solid var(--citron);outline-offset:4px}.game-tile.selected .caption:after{content:'Your pick';font:10px/1.4 Mono;color:var(--citron)}
.imagine-layout:has(.stage[data-step="5"]),.imagine-layout:has(.stage[data-step="6"]){display:block;max-width:1000px}.imagine-layout:has(.stage[data-step="5"]) .brief-spine,.imagine-layout:has(.stage[data-step="6"]) .brief-spine{padding:0 0 26px}.imagine-layout:has(.stage[data-step="5"]) .brief-spine .eyebrow,.imagine-layout:has(.stage[data-step="6"]) .brief-spine .eyebrow{display:none}
.imagine-layout:has(.stage[data-step="5"]) .brief-spine .answer-list,.imagine-layout:has(.stage[data-step="6"]) .brief-spine .answer-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.imagine-layout:has(.stage[data-step="5"]) .brief-spine [data-answer="2"],.imagine-layout:has(.stage[data-step="6"]) .brief-spine [data-answer="2"]{display:none}
.imagine-layout:has(.stage[data-step="5"]) .brief-object,.imagine-layout:has(.stage[data-step="6"]) .brief-object{padding:12px;grid-template-columns:28px minmax(0,1fr);align-content:start;gap:6px 10px}.imagine-layout:has(.stage[data-step="5"]) .object-art svg,.imagine-layout:has(.stage[data-step="6"]) .object-art svg{width:28px;height:28px}
.imagine-layout:has(.stage[data-step="5"]) .direction-dock,.imagine-layout:has(.stage[data-step="6"]) .direction-dock{grid-column:1;grid-row:1}.imagine-layout:has(.stage[data-step="5"]) .direction-dock img,.imagine-layout:has(.stage[data-step="6"]) .direction-dock img{width:36px;height:48px}.imagine-layout:has(.stage[data-step="5"]) .direction-dock .credit,.imagine-layout:has(.stage[data-step="6"]) .direction-dock .credit{display:none}
.imagine-layout:has(.stage[data-step="5"]) [data-answer="3"] .object-copy,.imagine-layout:has(.stage[data-step="6"]) [data-answer="3"] .object-copy{grid-column:2}.imagine-layout:has(.stage[data-step="5"]) [data-answer="3"] button,.imagine-layout:has(.stage[data-step="6"]) [data-answer="3"] button{grid-column:2}.imagine-layout:has(.stage[data-step="5"]) .progress,.imagine-layout:has(.stage[data-step="6"]) .progress{display:none}
.invitation-composition{text-align:center;max-width:780px;margin:auto}.signature-ka{width:94px;height:94px;margin:6px auto 18px;position:relative}.ka-wipe{position:absolute;inset:0;overflow:hidden}.ka-ink{width:100%;height:100%;position:relative}.ka-base,.ka-colour{position:absolute;inset:0;background:var(--citron);mask:center/contain no-repeat url('assets/ka.svg');-webkit-mask:center/contain no-repeat url('assets/ka.svg')}.ka-colour{background:var(--rose);opacity:0}.payoff-line{color:var(--cream);margin-bottom:30px;font-size:12px}
.invitation-composition .taste-collection{grid-template-columns:1fr 1.28fr 1fr;gap:18px;max-width:650px;margin:0 auto 42px}.invitation-composition .taste-slot:first-child{transform:rotate(-6deg)}.invitation-composition .taste-slot:last-child{transform:rotate(6deg)}.invitation-composition h1{font-size:clamp(48px,6vw,76px);margin:0 auto 18px;line-height:1.02}.invitation-composition .description{font:700 clamp(22px,3vw,30px)/1.3 Space;color:var(--cream);margin:0 auto 18px}.invitation-composition .offer-terms{font-size:11px;color:#d8cfce;max-width:350px;margin:0 auto 28px}.invitation-composition .stage-actions{justify-content:center;margin-top:0}.invitation-composition .stage-actions>.micro{display:none}
.invitation-receipt{max-width:390px;margin:0 auto 34px;text-align:center}.invitation-receipt .taste-collection{gap:10px;margin-bottom:14px}.invitation-receipt .taste-print img{aspect-ratio:4/3}.invitation-receipt .taste-print .credit{font-size:8px}.stage[data-step="6"]{max-width:680px;margin:auto}.stage[data-step="6"] h1{font-size:clamp(36px,4.5vw,54px);padding-right:0}.stage[data-step="6"] .description{font:700 24px/1.3 Space;margin-bottom:16px}.stage[data-step="6"] .offer-terms{font-size:11px;margin-bottom:24px}.stage[data-step="6"] .field-row{grid-template-columns:110px minmax(0,1fr);gap:30px}
.imagine-layout:has(.stage[data-step="7"]){display:block;max-width:1020px}.imagine-layout:has(.stage[data-step="7"]) .brief-spine{display:none}.stage[data-step="7"]{min-height:0}.stage[data-step="7"]>h1{font-size:38px}.stage[data-step="7"]>.description{max-width:60ch}
.keepsake{background:var(--plum);color:var(--cream);padding:36px;margin:28px 0 32px;max-width:900px}.keepsake-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.keepsake-head img{width:120px;height:auto}.keepsake-head .micro{font-size:10px;text-align:right;color:#d8cfce}.keepsake-world{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.keepsake-copy{min-width:0}.keepsake .micro{color:#d8cfce;font-size:10px}.keepsake h2.keepsake-title{font:700 clamp(38px,4.5vw,62px)/1.02 Space;letter-spacing:-.045em;color:var(--cream);margin:12px 0 20px;overflow-wrap:anywhere}.keepsake-words{font:700 19px/1.4 Space;max-width:30ch;overflow-wrap:anywhere;margin-bottom:24px}.keepsake dl{display:grid;grid-template-columns:95px minmax(0,1fr);gap:14px;margin:24px 0 0;font:13px/1.5 Open}.keepsake dt{color:#d8cfce}.keepsake dd{margin:0;overflow-wrap:anywhere}.keepsake-direction .direction-print img{width:100%;height:290px;object-fit:cover}.keepsake-direction .credit{font-size:9px;color:#d8cfce}.keepsake-picks-label{margin:30px 0 14px}.keepsake .taste-collection{gap:12px}.keepsake .taste-print{padding:0;background:none;color:var(--cream)}.keepsake .taste-print img{aspect-ratio:4/3;height:auto}.keepsake .taste-print .credit{color:#d8cfce;font-size:9px}.keepsake-footer{display:flex;justify-content:space-between;gap:18px;border-top:1px solid #735c69;padding-top:18px;margin-top:24px;font:10px/1.5 Mono;overflow-wrap:anywhere}
.stage[data-step="7"] .answer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.stage[data-step="7"] .answer-chip{font-size:14px}.stage[data-step="7"] #clear{margin:12px 12px 12px 0}
@media(max-width:900px){.imagine-layout{grid-template-columns:210px minmax(0,1fr);gap:30px}.brief-spine .brief-object{padding:16px 12px 8px;grid-template-columns:30px minmax(0,1fr)}.brief-object .object-art svg{width:28px;height:28px}.brief-object .answer-value{font-size:14px}.stage .option{padding:14px}.stage .option strong{font-size:18px}.product-choice{gap:8px}.product-choice svg{width:24px;height:24px}.keepsake{padding:28px}}
@media(max-width:600px){.imagine-header{min-height:78px;padding:18px 20px}.imagine-header .micro{font-size:10px}.imagine-layout{display:block;margin-top:18px;padding:0 20px}.brief-spine{padding:0 0 18px}.brief-spine .eyebrow{font-size:9px;margin-bottom:10px}.brief-spine .answer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.brief-spine .brief-object{padding:10px;grid-template-columns:24px minmax(0,1fr);gap:6px 8px}.brief-object .object-art svg{width:24px;height:24px}.brief-object .answer-value{font-size:12px}.brief-object .micro{font-size:8px}.brief-object button{font-size:9px;min-height:32px}.brief-spine [data-answer="2"]{display:none}.brief-spine .brief-object[data-answer="3"]{grid-column:1/-1;grid-template-columns:48px minmax(0,1fr) 44px;align-items:center}.brief-spine [data-answer="3"] .object-copy{grid-column:2;grid-row:1}.brief-spine [data-answer="3"] .direction-dock{grid-column:1;grid-row:1}.brief-spine [data-answer="3"] button{grid-column:3;grid-row:1}.direction-dock img{width:48px!important;height:44px!important}.direction-dock .credit{display:none}.progress{margin-top:12px}.stage{padding-top:20px;min-height:0}.stage .description{font-size:13px}.stage-head{margin-bottom:18px}.stage .options{gap:10px}.stage .option{min-height:84px;padding:12px}.stage .option strong{font-size:17px}.stage[data-step="0"] .option{min-height:88px}.product-choice{display:block}.product-choice svg{margin-bottom:9px}.stage .option .selector{width:13px;height:13px}.stage[data-step="3"] .direction-slot{float:none;width:100%;max-width:none;margin:0 0 22px}.stage[data-step="3"] .direction-print img{height:180px;object-fit:contain;background:var(--ivory)}.stage[data-step="3"] .options{width:100%;grid-template-columns:1fr 1fr}.stage[data-step="4"] .taste-collection{max-width:210px;margin:0 0 22px}.stage[data-step="4"] .taste-print .credit{font-size:7px}.game-tile img{height:160px}.game-grid{gap:20px 12px}.game-tile.selected .caption:after{font-size:9px}.game-tile .caption .credit{font-size:8px}.imagine-layout:has(.stage[data-step="5"]) .brief-spine .answer-list,.imagine-layout:has(.stage[data-step="6"]) .brief-spine .answer-list{grid-template-columns:1fr 1fr;gap:8px}.imagine-layout:has(.stage[data-step="5"]) .brief-object,.imagine-layout:has(.stage[data-step="6"]) .brief-object{padding:9px;gap:5px 8px}.imagine-layout:has(.stage[data-step="5"]) [data-answer="3"],.imagine-layout:has(.stage[data-step="6"]) [data-answer="3"]{grid-template-columns:48px minmax(0,1fr) 44px}.imagine-layout:has(.stage[data-step="5"]) [data-answer="3"] button,.imagine-layout:has(.stage[data-step="6"]) [data-answer="3"] button{grid-column:3;grid-row:1}.imagine-layout:has(.stage[data-step="5"]) .brief-spine,.imagine-layout:has(.stage[data-step="6"]) .brief-spine{padding-bottom:18px}.signature-ka{width:66px;height:66px;margin:0 auto 14px}.payoff-line{font-size:10px;margin-bottom:24px}.invitation-composition .taste-collection{gap:8px;margin-bottom:28px}.taste-print{padding:5px}.taste-print .credit{font-size:7px;margin-top:7px}.invitation-composition h1{font-size:48px}.invitation-composition .description{font-size:22px}.invitation-composition .offer-terms{font-size:10px;margin-bottom:22px}.invitation-composition .stage-actions .button{font-size:15px;padding:16px 24px}.invitation-receipt{max-width:310px;margin-bottom:28px}.stage[data-step="6"] .field-row{grid-template-columns:100px minmax(0,1fr);gap:20px}.stage[data-step="6"] .description{font-size:22px}.keepsake{padding:20px;margin-top:20px}.keepsake-head{margin-bottom:22px}.keepsake-head img{width:100px}.keepsake-head .micro{font-size:8px}.keepsake-world{grid-template-columns:1fr;gap:22px}.keepsake h2.keepsake-title{font-size:44px;margin:10px 0 16px}.keepsake-words{font-size:17px;margin-bottom:18px}.keepsake dl{font-size:12px;margin-top:18px;gap:10px;grid-template-columns:83px minmax(0,1fr)}.keepsake-direction .direction-print img{height:140px;object-fit:contain;background:#3a2030}.keepsake-direction .credit{font-size:8px;margin-top:8px}.keepsake-picks-label{margin:22px 0 12px}.keepsake .taste-collection{gap:8px}.keepsake .taste-print img{aspect-ratio:1}.keepsake .taste-print .credit{font-size:7px}.keepsake-footer{font-size:8px;padding-top:14px;margin-top:18px;gap:16px}.stage[data-step="7"] .answer-list{grid-template-columns:1fr}.stage[data-step="7"]>h1{font-size:34px}}
@media(prefers-reduced-motion:reduce){.journey-room,.taste-print,.direction-print,.brief-object,.signature-ka{animation:none;transition:none}}
