/* Focused refinement of the existing Configure story. */
.story-progress{display:none}
.story-stage{transition:color .4s ease}
.device-space{perspective:1500px}
.dimension-readout{margin-top:35px;display:flex;flex-direction:column;gap:6px}
.dimension-readout strong{font-size:35px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.05em}
.dimension-readout span{font-size:11px;color:#777;margin-bottom:19px}
.config-body{grid-template-columns:80px 1fr 205px}
.dock-module{width:160px}
.dock-module svg{height:80px;width:110px;margin:0 auto 8px;display:block}
.material-ui{grid-template-columns:130px minmax(0,1fr)270px}
.material-picker{padding:30px 20px}
.material-picker h4{font-size:29px;line-height:1.05;margin:22px 0 25px}
.zone-panel{padding:30px 12px}
.zone{padding:14px 8px}
.model-viewport{position:absolute;inset:35px 6px 120px}
.model-viewport canvas{display:block;width:100%;height:100%}
.model-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.model-viewport[data-ready="true"] .model-fallback{visibility:hidden}
.model-viewport[data-fallback="true"] canvas{display:none}
.model-caption{position:absolute;left:24px;top:25px;font-size:10px;letter-spacing:.08em;color:#777}
.material-tools{bottom:36px}
.fabric-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 12px}
.fabric-tile{display:block;background-image:url("assets/cinematic/fabric-atlas.webp");background-size:300% 200%;background-position:var(--fx) var(--fy);aspect-ratio:1}
.fabric-option{border:1px solid transparent;background:none;padding:6px;border-radius:11px;text-align:left}
.fabric-option .fabric-tile{border-radius:7px;width:100%;margin-bottom:9px}
.fabric-option>span:last-child{font-size:10px;line-height:1.5;display:block}
.fabric-option[aria-pressed="true"]{border-color:#252525;background:#f6f6f2}
.fabric-option:focus-visible{outline:3px solid #555;outline-offset:2px}
.material-picker .chosen-fabric{font-size:14px;color:#222;margin-top:25px;margin-bottom:6px}
.ar-furniture{position:absolute;left:25.2%;top:39%;width:61.5%;transform-origin:50% 72%}
.ar-furniture>img{width:100%;max-width:none}
.ar-bottom{min-width:290px;min-height:48px;display:block;text-align:center}
.ar-status-placed{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px}
.render-processing{position:absolute;inset:0;overflow:hidden;background:#deded9}
.render-processing>img{width:100%;height:100%;object-fit:cover;filter:blur(9px) saturate(.5);opacity:.35}
.render-state{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center;width:350px;background:#ffffffed;padding:32px 40px;border-radius:20px}
.render-state>span{font-size:14px}
.render-state strong{font-weight:400;font-size:58px;display:block;margin:15px 0;font-variant-numeric:tabular-nums}
.render-state small{font-size:9px;color:#777;display:block;margin-top:15px}
.render-bar{height:2px;background:#ccc}
.render-bar i{display:block;background:#111;width:100%;height:100%;transform-origin:left}
.render-scan{position:absolute;top:5%;left:0;right:0;height:1px;background:#fff;box-shadow:0 0 40px 15px #fff5}
.proposal-body{position:relative;grid-template-columns:174px 1fr}
.pdf-sidebar{padding:30px 16px;background:#fafafa;border-right:1px solid #ddd}
.pdf-sidebar>.ui-overline{margin-bottom:25px}
.pdf-sidebar button{display:flex;gap:9px;align-items:center;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:14px 8px;margin-bottom:8px;font-size:11px;min-height:43px}
.pdf-sidebar button>span{font-size:9px;color:#999}
.pdf-sidebar button[aria-current="page"]{background:#e9e9e4;box-shadow:inset 2px 2px 5px #d4d4ce,inset -2px -2px 5px #fff}
.pdf-sidebar>a{display:block;margin-top:46px;font-size:11px;line-height:1.6;text-decoration:underline;text-underline-offset:4px}
.paper-wrap{display:block;padding:0;position:relative;overflow:hidden;height:694px}
.paper-film{width:450px;margin:22px auto 0}
.quote-paper{width:450px;height:620px;margin:0 0 24px;padding:28px 30px;position:relative;overflow:hidden;box-shadow:0 3px 12px #0001}
.paper-top{margin-bottom:26px}
.paper-top img{width:84px}
.paper-kicker{font-size:8px;letter-spacing:.09em;color:#777;margin-bottom:22px}
.quote-paper h4{font-size:29px;letter-spacing:-.04em;line-height:1.12;font-weight:400}
.quote-paper .cover-title{font-size:55px;letter-spacing:-.06em}
.paper-subline{font-size:12px;color:#777;margin-top:14px}
.cover-model{width:calc(100% + 30px);max-width:none;margin:30px -15px 5px;height:265px;object-fit:contain}
.cover-spec{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #ccc;padding-top:18px;font-size:9px}
.paper-description{font-size:10px;line-height:1.65;color:#777;margin-top:24px}
.paper-foot{position:absolute;left:30px;bottom:23px;font-size:7px;letter-spacing:.035em;color:#999}
.paper-view-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 14px;margin-top:22px}
.paper-view-grid img{height:166px;width:100%;object-fit:contain}
.paper-view-grid figcaption{font-size:8px;color:#888;text-align:center}
.paper-material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 12px;margin-top:32px}
.paper-material-grid figcaption{font-size:8px;line-height:1.5;color:#666;margin-top:10px}
.paper-choice{margin-top:35px;border-top:1px solid #ccc;padding-top:22px}
.paper-choice>span{display:block;font-size:9px;color:#888;margin-bottom:12px}
.paper-choice>strong{font-size:20px;font-weight:400}
.paper-choice>p{font-size:10px;color:#777;margin-top:12px}
.paper-interior{margin:32px -30px 0;max-width:none;width:450px;height:360px;object-fit:cover;object-position:center}
.technical-drawing{width:100%;height:394px;margin-top:10px}
.drawing-disclaimer{font-size:8px;margin-top:2px}
.cost-model{height:170px;width:100%;object-fit:contain}
.cost-rows>div{padding:13px 0;border-top:1px solid #ddd;display:flex;justify-content:space-between;font-size:10px}
.cost-rows strong{font-weight:400}
.cost-rows .cost-total{border-top:1px solid #333;margin-top:12px;font-size:13px}
.quote-paper:has(.cost-rows) .paper-description{font-size:8px;margin-top:16px}
.pdf-counter{position:absolute;bottom:15px;right:23px;font-size:10px;color:#777;background:#ededeb;padding:6px}
.proposal-download{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 var(--gutter) 34px;border-bottom:1px solid #ccc;padding:22px 0;font-size:13px;max-width:750px}
.proposal-download>span{font-size:10px;color:#777}
.texture-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.texture-grid .fabric-tile{aspect-ratio:.8}
.texture-grid h3{font-size:18px}
.texture-grid figcaption{display:block}
.texture-grid figcaption p{font-size:11px;color:#aaa;margin-top:8px}
.texture-grid .material-card{padding:0;border:0;background:transparent;text-align:left;width:100%;color:inherit}
@media(max-width:1000px){.texture-grid{grid-template-columns:repeat(3,1fr);gap:34px 16px}}
@media(max-width:680px){
 .texture-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}
 .texture-grid>figure,.texture-grid>figure:nth-child(4),.texture-grid>figure:nth-child(5){grid-column:auto}
 .texture-grid .fabric-tile{aspect-ratio:1}
 .texture-grid figcaption h3{font-size:18px}
 .material-heading h2{font-size:52px}
 .proposal-download{font-size:12px;margin-bottom:20px}
 .story-stage .stage-top{min-height:168px}
}
@media(prefers-reduced-motion:reduce){.story-stage{transition:none}.render-processing{display:none}.ar-furniture{opacity:1!important;transform:none!important}.ar-status-search{display:none}.ar-status-placed{position:static}.ar-grid{opacity:0}}


/* Same-model modules keep one orthographic camera and recombine without rescaling. */
.module-dock{gap:10px;padding:12px}.dock-module{width:145px;min-width:0}.dock-module img{width:120px;height:75px;object-fit:contain;margin:0 auto 9px}.dock-more{display:none}
.catalog-object img{object-fit:contain;transform:none}
.ar-furniture{left:14%;top:28.7%;width:81%}
.technical-drawing{height:394px;object-fit:contain}

/* Touch-to-place story: a brief gesture, then only furniture and its ground shadow. */
.ar-contact-shadow{position:absolute;left:21%;top:77.6%;width:67%;height:2.7%;background:#151515;border-radius:50%;filter:blur(9px);opacity:.28;transform-origin:center;pointer-events:none}
.ar-placement-guide{position:absolute;inset:0;pointer-events:none}
.ar-touch-pointer{position:absolute;left:56%;top:78%;width:65px;height:74px;margin-left:-25px;margin-top:-10px;transform-origin:25px 10px;visibility:hidden;opacity:0;filter:drop-shadow(0 3px 4px #0005)}
.ar-touch-pointer svg,.ar-tap-flash svg{display:block;width:100%;height:100%}
.ar-tap-flash{position:absolute;left:56%;top:78%;width:60px;height:60px;margin:-30px 0 0 -30px;color:#fff;visibility:hidden;opacity:0;filter:drop-shadow(0 1px 2px #0003)}
@media(prefers-reduced-motion:reduce){.ar-placement-guide{display:none}.ar-contact-shadow{opacity:.28!important;transform:none!important}}

/* A held full-room composition leaves room for the message before the proposal. */
.render-reveal:after{background:linear-gradient(90deg,#080908ad,transparent 78%),linear-gradient(0deg,#000b,transparent 35%,#0002)}
.render-story-copy{position:absolute;z-index:1;left:var(--gutter);top:24%;max-width:630px;color:#fff;visibility:hidden;opacity:0}
.render-story-copy .eyebrow{font-size:10px;letter-spacing:.12em;color:#e3e3dc;margin-bottom:24px}
.render-story-copy h4{font-size:clamp(40px,4.4vw,68px);font-weight:400;line-height:1.05;letter-spacing:-.05em}
.render-story-description{max-width:415px;margin-top:30px;font-size:16px;line-height:1.65;color:#ededdf}
@media(max-width:680px){.render-story-copy{top:20%;left:20px;right:20px;max-width:none}.render-story-copy .eyebrow{font-size:8px;margin-bottom:22px}.render-story-copy h4{font-size:clamp(34px,9.8vw,44px)}.render-story-description{max-width:310px;font-size:13px;margin-top:23px;line-height:1.6}}
/* Native supplied iPad replaces the CSS slab; UI remains live DOM. */
.native-ipad-canvas{position:absolute;inset:-120px;width:calc(100% + 240px);height:calc(100% + 240px);z-index:1;pointer-events:none}
.has-native-ipad .device{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.has-native-ipad .device:after,.has-native-ipad .device-camera{display:none}
.has-native-ipad .device-screen{position:absolute;left:3.05%;top:3.96%;width:93.9%;height:92.08%;border-radius:2.5%;box-shadow:none}

/* Editorial proposal: generous product images, clear specification, quiet chrome. */
.quote-paper{background:#fff;box-shadow:0 9px 28px #0002}
.quote-paper .paper-top{margin-bottom:20px;border-bottom:1px solid #ccc;padding-bottom:18px}
.quote-paper .paper-kicker{font-size:8px;letter-spacing:.1em;margin-bottom:18px}
.quote-paper .paper-foot{color:#777;border-top:1px solid #ccc;padding-top:12px;right:30px;bottom:20px;font-size:7px}
.quote-paper h4{font-size:34px;letter-spacing:-.055em;font-weight:500}
.quote-paper[data-paper="0"]{background:#fff;color:#111}
.quote-paper[data-paper="0"] .paper-top{border-color:#ccc}.quote-paper[data-paper="0"] .paper-top img{filter:none}
.quote-paper[data-paper="0"] .paper-kicker,.quote-paper[data-paper="0"] .paper-subline{color:#aaa}
.quote-paper[data-paper="0"] .cover-title{font-size:66px;line-height:.91;margin-top:21px}
.quote-paper[data-paper="0"] .cover-model{background:#e6e6dc;width:450px;height:221px;margin:22px -30px 0}
.quote-paper[data-paper="0"] .cover-spec{padding-top:16px;border:0;color:#ddd;font-size:9px}
.quote-paper[data-paper="0"] .paper-description{margin-top:13px;color:#aaa;font-size:10px}
.quote-paper[data-paper="0"] .paper-foot{border-color:#555;color:#aaa}
.quote-paper .paper-view-grid{gap:18px 14px;margin-top:15px}.quote-paper .paper-view-grid figure{background:#eaeae2;padding:4px 8px 9px}.quote-paper .paper-view-grid img{height:151px}
.quote-paper .paper-interior{height:325px;margin-top:28px}.quote-paper .paper-choice{background:#e7e7dd;padding:18px;border:0;margin-top:25px}
.quote-paper .cost-model{background:#e9e9e1;margin:23px -30px 8px;width:450px;height:142px;max-width:none}.quote-paper .cost-rows>div{padding:11px 0}
.pdf-sidebar button{border-radius:0;transition:background .5s cubic-bezier(.22,1,.36,1)}.pdf-sidebar button[aria-current="page"]{background:#e5e5dc;box-shadow:none}.pdf-sidebar{background:#f9f9f5}
.quote-paper .paper-material-grid{gap:15px 12px;margin-top:21px}.quote-paper .paper-material-grid .fabric-tile{height:94px;aspect-ratio:auto}.quote-paper .paper-material-grid figcaption{margin-top:7px;font-size:8px}.quote-paper .paper-choice{margin-top:20px;padding:15px}.quote-paper .paper-choice>span{margin-bottom:9px}.quote-paper .paper-choice>strong{font-size:18px}.quote-paper .paper-choice>p{font-size:9px;line-height:1.5;margin-top:10px}
.quote-paper .cost-model{height:115px;margin-top:18px}.quote-paper .cost-rows>div{padding:9px 0}.quote-paper[data-paper="5"] .paper-description{margin-top:13px;font-size:9px}

/* White stock matches the white backgrounds of the technical drawing views. */
.quote-paper[data-paper="0"] .paper-kicker,.quote-paper[data-paper="0"] .paper-subline,.quote-paper[data-paper="0"] .paper-description,.quote-paper[data-paper="0"] .paper-foot{color:#777}
.quote-paper[data-paper="0"] .cover-spec{color:#333}.quote-paper[data-paper="0"] .paper-foot{border-color:#ccc}

/* One white surface from the product preview through the drawing sheet. */
.quote-paper[data-paper="0"] .cover-model,.quote-paper .paper-view-grid figure,.quote-paper .cost-model,.technical-drawing{background:#fff}
.proposal-download{width:calc(100% - var(--gutter)*2);background:none;border:0;border-bottom:1px solid #ccc;text-align:left}
.pdf-sidebar .pdf-open-inline{margin-top:36px;text-decoration:underline;text-underline-offset:4px}
.proposal-reader{display:grid;grid-template-rows:0fr;transition:grid-template-rows .65s cubic-bezier(.22,1,.36,1);margin:0 var(--gutter);overflow-anchor:none}
.proposal-reader.is-open{grid-template-rows:1fr}
.proposal-reader-content{min-height:0;overflow:hidden;visibility:hidden;transition:visibility .65s}
.proposal-reader.is-open .proposal-reader-content{visibility:visible}
.proposal-reader-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0 35px}
.proposal-reader-heading h3{font-size:clamp(28px,4vw,48px);font-weight:400;letter-spacing:-.045em;margin-top:16px}
.proposal-close{background:none;border:1px solid #aaa;border-radius:30px;padding:12px 20px;font-size:12px}
.proposal-reader-pages{display:flex;flex-direction:column;align-items:center;gap:32px;padding:35px clamp(12px,3vw,45px);background:#ededeb}
.proposal-page-frame{position:relative;width:min(100%,600px);aspect-ratio:450/620;--page-scale:1;flex:none}
.proposal-page-frame>.quote-paper{position:absolute;inset:0;margin:0;transform:scale(var(--page-scale));transform-origin:top left}
.proposal-save{display:inline-block;margin:28px 0 45px;padding-bottom:8px;border-bottom:1px solid #888;font-size:13px}
@media(max-width:680px){
 html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
 .configure-page .hero{min-height:0;height:calc(100svh - var(--ovrift-header-height));max-height:none}
 .configure-page .hero h1{margin-top:clamp(25px,7svh,60px);margin-bottom:28px}
 .configure-page .hero-image{transform:none!important}
 .proposal-reader-pages{gap:24px;padding:22px 10px}.proposal-reader-heading{padding-top:10px}.proposal-close{padding:11px 14px}
}
@media(prefers-reduced-motion:reduce){.proposal-reader,.proposal-reader-content{transition:none}}
