/* Full-width interactive proposal — v5. */
.proposal-showcase.book-showcase{display:block;width:100%;max-width:1200px;margin:96px auto 0;text-align:left;scroll-margin-top:48px}
.book-intro{font-size:clamp(18px,2vw,24px);font-weight:500;letter-spacing:-.025em;color:#d5dde5;text-align:center;margin:0 0 32px}
.book-demo{min-width:0;width:100%}
.book-stage{position:relative;width:100%;aspect-ratio:1.7;perspective:2400px;isolation:isolate;border-radius:5px;filter:drop-shadow(0 24px 32px #0005);outline-offset:12px}
.book-stage:before{content:'';position:absolute;inset:6px -3px -6px;background:#d3cabc;border-radius:5px;box-shadow:0 3px #eee8dd,0 6px #b5afa4;z-index:-1}
.book-page{position:absolute;top:0;width:50%;height:100%;overflow:hidden;padding:clamp(24px,3vw,44px);color:#253039;text-align:left;display:flex;flex-direction:column;box-sizing:border-box}
.book-left{left:0;border-radius:5px 0 0 5px;background:linear-gradient(90deg,#f4f0e7 92%,#dbd4c7)}
.book-right{right:0;border-radius:0 5px 5px 0;background:linear-gradient(90deg,#ded6c9,#faf7ef 7%)}
.book-page .book-brand{font-size:16px;font-weight:800;letter-spacing:-.06em;margin-bottom:28px}.book-brand span{color:#ad751b}
.book-page .book-eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:#85632f;margin:0 0 14px}
.book-page h3{font-size:clamp(25px,2.8vw,40px);line-height:1.08;margin:0 0 22px;color:#142330;letter-spacing:-.045em;font-weight:650}
.book-page p{font-size:14px;color:#505b62;line-height:1.65;margin:0 0 16px}
.book-page img{display:block;width:100%;min-height:0;object-fit:cover;border-radius:2px}.book-cover-img{height:0;flex:1 1 auto;object-position:center}
.book-page .book-footer{font-size:9px;color:#756e63;letter-spacing:.05em;margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;gap:8px;flex-shrink:0}
.book-page ul{padding:0;list-style:none;margin:5px 0 20px}.book-page li{font-size:14px;color:#3b4650;border-bottom:1px solid #d6d0c4;padding:12px 0;line-height:1.5}.book-page li:before{content:'—';color:#b9852b;margin-right:8px}
.book-photo-wide{height:36%;flex:0 1 36%;margin:0 0 20px}
.book-callout{padding:16px;background:#eae3d4;border-left:2px solid #bb924e;font-size:12px;line-height:1.65;margin-top:auto}
.book-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.book-swatch i{display:block;height:66px;background-color:var(--swatch);background-image:repeating-linear-gradient(0deg,transparent 0 15px,#0003 15px 17px),repeating-linear-gradient(90deg,transparent 0 21px,#ffffff12 21px 23px);box-shadow:inset 0 0 20px #0002}.book-swatch span{font-size:10px;display:block;margin-top:8px}
.book-diagram{width:100%;height:40%;min-height:0;flex-shrink:1;margin:10px 0;color:#b38638}.book-check{font-size:36px;color:#9d762b;margin:10px 0}.book-signature{font-family:Georgia,serif;font-style:italic;font-size:30px;border-bottom:1px solid #c9c0ad;padding-bottom:18px;margin-top:24px;color:#85724f}
.book-sheet{position:absolute;left:50%;top:0;width:50%;height:100%;transform-style:preserve-3d;transform-origin:left center;z-index:5;transition:transform 900ms cubic-bezier(.4,0,.2,1);will-change:transform}.book-sheet.turning{transform:rotateY(-180deg)}.book-sheet .book-page{width:100%;left:0;right:auto;backface-visibility:hidden;-webkit-backface-visibility:hidden}.book-sheet .book-back{transform:rotateY(180deg);background:linear-gradient(90deg,#f4f0e7 92%,#d5cbbd)}.book-sheet:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0003,transparent 45%);pointer-events:none;backface-visibility:hidden;opacity:0;transition:opacity 450ms ease}.book-sheet.turning:after{opacity:1}
.book-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin-top:36px}.book-controls button{display:flex;gap:10px;align-items:center;justify-content:center;justify-self:start;min-height:48px;padding:12px 20px;border:1px solid #ffffff25;border-radius:999px;background:transparent;color:#e5eaf0;font:inherit;font-size:13px;cursor:pointer;transition:background 250ms ease,border-color 250ms ease,transform 250ms ease}.book-controls button:last-child{justify-self:end;background:#edbd68;border-color:#edbd68;color:#17212b}.book-controls button:disabled{opacity:.3;cursor:default}.book-controls button:not(:disabled):hover{transform:translateY(-2px);border-color:#edbd68}.book-controls button:focus-visible,.book-stage:focus-visible{outline:3px solid #edbd68;outline-offset:5px}.book-controls p{margin:0;font-size:12px;line-height:1.5;color:#b3bec8;text-align:center}
@media(max-width:1050px){.book-stage{aspect-ratio:1.5;min-height:540px}.book-page{padding:26px}.book-page .book-brand{margin-bottom:20px;font-size:14px}.book-page h3{font-size:28px;margin-bottom:18px}.book-page p,.book-page li{font-size:12px}.book-page li{padding:9px 0}.book-callout{font-size:11px;padding:12px}}
@media(max-width:760px){.proposal-showcase.book-showcase{margin-top:60px}.book-intro{margin-bottom:24px}.book-stage{aspect-ratio:auto;min-height:0;height:620px}.book-page{padding:20px 14px}.book-page .book-brand{font-size:12px;margin-bottom:20px}.book-page .book-eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:12px}.book-page h3{font-size:22px;margin-bottom:16px}.book-page p,.book-page li{font-size:11px;line-height:1.6}.book-page li{padding:9px 0}.book-callout{font-size:10px;padding:10px}.book-page .book-footer{font-size:7px;padding-top:14px;letter-spacing:0}.book-swatches{gap:6px;margin-bottom:16px}.book-swatch i{height:44px}.book-swatch span{font-size:8px}.book-signature{font-size:22px;margin-top:18px}.book-photo-wide{height:30%;flex-basis:30%;margin-bottom:16px}.book-controls{gap:10px;margin-top:28px;grid-template-columns:auto 1fr auto}.book-controls button{width:46px;min-height:46px;padding:10px;font-size:18px}.book-controls button span{display:none}.book-controls p{font-size:11px}}
@media(max-width:380px){.book-stage{height:660px}.book-page{padding:18px 11px}.book-page h3{font-size:20px}.book-callout{font-size:9px}.book-signature{font-size:18px}}
@media(prefers-reduced-motion:reduce){.book-sheet,.book-sheet:after,.book-controls button{transition:none}.book-controls button:not(:disabled):hover{transform:none}}
/* Phone edition: ten full-width pages rather than five narrow spreads. */
@media(max-width:760px){
 .book-stage{height:640px;touch-action:pan-y;filter:drop-shadow(0 16px 24px #0004)}
 .book-page.book-single{left:0;right:auto;width:100%;padding:26px;background:#f7f3ea;border-radius:5px}
 .book-page .book-brand{font-size:15px;margin-bottom:24px}
 .book-page .book-eyebrow{font-size:10px;letter-spacing:.12em}
 .book-page h3{font-size:30px;line-height:1.12;margin-bottom:22px}
 .book-page p,.book-page li{font-size:14px;line-height:1.65}
 .book-page li{padding:12px 0}
 .book-callout{font-size:12px;padding:14px}
 .book-page .book-footer{font-size:9px;padding-top:18px}
 .book-swatch i{height:62px}.book-swatch span{font-size:10px}
 .book-signature{font-size:29px}.book-photo-wide{height:34%;flex-basis:34%}
 .book-stage{--page-travel:18px;--page-angle:4deg}
 .book-stage[data-direction=previous]{--page-travel:-18px;--page-angle:-4deg}
 .mobile-in{animation:page-arrive 420ms cubic-bezier(.4,0,.2,1) both}
 .mobile-out{animation:page-depart 420ms cubic-bezier(.4,0,.2,1) both;pointer-events:none}
}
@media(max-width:380px){.book-stage{height:680px}.book-page.book-single{padding:24px}.book-page h3{font-size:28px}}
@keyframes page-arrive{from{opacity:0;transform:translateX(var(--page-travel)) rotateY(var(--page-angle))}to{opacity:1;transform:none}}
@keyframes page-depart{from{opacity:1;transform:none}to{opacity:0;transform:translateX(calc(-1 * var(--page-travel)))}}
@media(prefers-reduced-motion:reduce){.mobile-in,.mobile-out{animation:none}}
