/* Customer presentation is isolated from contractor workspace styles. */
.pp-builder { display:grid; grid-template-columns:minmax(270px,350px) minmax(0,1fr); gap:24px; align-items:start; }
.pp-editor { background:#fff; border:1px solid #ccd3db; border-radius:14px; padding:22px; position:sticky; top:85px; max-height:calc(100vh - 110px); overflow:auto; }
.pp-editor h2 { font-size:22px; margin:0 0 10px; }
.pp-editor h3 { font-size:16px; margin:22px 0 12px; }
.pp-editor p { font-size:13px; line-height:1.65; color:#53647a; }
.pp-editor .field { margin:12px 0; }
.pp-editor textarea { width:100%; min-height:85px; resize:vertical; }
.pp-editor input:not([type=checkbox]),.pp-editor select { width:100%; }
.pp-editor .pp-edit-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.pp-editor .pp-edit-pack { border-top:1px solid #d8dfe6; padding-top:6px; }
.pp-editor details { margin-top:16px; border-top:1px solid #d8dfe6; padding-top:16px; }
.pp-editor summary { cursor:pointer; font-weight:700; color:#263c56; }
.pp-editor .pp-review { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.6; margin:20px 0; }
.pp-editor .pp-review input { margin-top:4px; accent-color:#8c6a2e; flex-shrink:0; }
.pp-editor .pp-warning { padding:12px; background:#fff7e9; border:1px solid #d4b77b; border-radius:8px; color:#694b15; }
.pp-editor .btn { width:100%; margin:5px 0; white-space:normal; }
.pp-preview { min-width:0; }
.pp-preview-bar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; color:#53647a; font-size:12px; }
.pp-preview-bar a { color:#805b1d; }
.pp-preview .premium-document { max-width:900px; margin:auto; }
.pp-editor .pp-payment-link { overflow-wrap:anywhere; }
.premium-document { --pp-navy:#14243a; --pp-ivory:#fbf8f0; --pp-gold:#9b783d; color:#14243a; font-family:Arial,Helvetica,sans-serif; font-size:15px; line-height:1.65; }
.premium-document *, .pp-export * { box-sizing:border-box; }
.premium-document :is(h1,h2,h3,h4,p,figure,dl,dd) { margin:0; }
.premium-document :is(h1,h2,h3,h4) { font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif; font-weight:500; letter-spacing:-.035em; line-height:1.06; color:#14243a; }
.premium-document h2 { font-size:clamp(34px,4vw,56px); margin:10px 0 22px; }
.premium-document h3 { font-size:25px; margin:7px 0 12px; }
.premium-document p { color:#394554; font-size:14px; line-height:1.85; }
.premium-document em { color:#876735; font-weight:500; }
.premium-document .pp-page { background:#fbf8f0; position:relative; margin:0 0 24px; padding:0; border:1px solid #ded6c6; box-shadow:0 8px 28px #14243a15; overflow:hidden; }
.premium-document .pp-header { margin:0 40px; padding:22px 0 18px; border-bottom:1px solid #bda679; display:flex; justify-content:space-between; gap:14px; align-items:center; }
.premium-document .pp-brand { text-transform:uppercase; font-size:12px; font-weight:600; letter-spacing:.18em; color:#14243a; max-width:390px; }
.premium-document .pp-header>span { font-size:8px; letter-spacing:.1em; color:#56606a; text-align:right; }
.premium-document .pp-footer { display:flex; gap:16px; align-items:center; margin:0 40px; padding:17px 0; border-top:1px solid #bda679; font-size:9px; letter-spacing:.06em; color:#58616b; }
.premium-document .pp-footer span:first-child { flex:1; }
.premium-document .pp-footer b { color:#876735; font-size:14px; margin-left:12px; }
.premium-document .pp-content { padding:35px 40px 40px; }
.premium-document .pp-kicker { font-size:10px; color:#876735; letter-spacing:.2em; font-weight:600; }
.premium-document .pp-lede { max-width:620px; margin:0 0 26px; font-size:15px; }
.premium-document .pp-photo { position:relative; margin:0; background:#14243a; }
.premium-document .pp-photo img { display:block; width:100%; object-fit:cover; }
.premium-document .pp-photo figcaption { padding:9px 16px; color:#e1d3b6; background:#14243a; font-size:9px; letter-spacing:.03em; text-align:center; }
.premium-document .pp-wide-photo { margin:28px 40px 0; }
.premium-document .pp-wide-photo img { aspect-ratio:2.15/1; object-fit:contain; }
.premium-document .pp-photo-empty { min-height:260px; display:grid; place-items:center; padding:30px; color:#e1d3b6; font-family:Georgia,serif; font-size:23px; text-align:center; }
.premium-document .pp-cover { background:#101f34; padding:26px; color:#e8d3a1; }
.premium-document .pp-cover-frame { border:1px solid #b99a5e; padding:32px 30px 26px; outline:1px solid #766344; outline-offset:-7px; text-align:center; }
.premium-document .pp-cover .pp-brand { margin:0 auto 35px; color:#e8d3a1; font-size:14px; }
.premium-document .pp-cover-title>span { font-size:9px; letter-spacing:.23em; }
.premium-document .pp-cover h1 { font-size:clamp(42px,5vw,78px); color:#e8d3a1; margin:8px 0 12px; }
.premium-document .pp-cover-title>p { font-size:14px; letter-spacing:.36em; color:#e8d3a1; margin-bottom:30px; }
.premium-document .pp-cover-photo { border:1px solid #b99a5e; margin-bottom:27px; }
.premium-document .pp-cover-photo img { aspect-ratio:1.9/1; object-fit:contain; }
.premium-document .pp-cover-client>span { font-size:9px; letter-spacing:.2em; }
.premium-document .pp-cover h2 { color:#f8f1df; font-size:36px; margin:9px 0 10px; }
.premium-document .pp-cover-client p { color:#eadcc0; font-size:14px; }
.premium-document .pp-cover .pp-cover-date { font-size:10px; color:#d2ba89; margin:13px 0 20px; }
.premium-document .pp-cover-close { border-top:1px solid #937a4c; padding:18px 0 0; font:italic 23px Georgia,serif; color:#e8d3a1; }
.premium-document .pp-cover .pp-footer { margin:21px 5px 0; color:#d2ba89; border-top:0; }
.premium-document .pp-cover .pp-footer b { color:#e8d3a1; }
.premium-document .pp-welcome-copy { max-width:590px; }
.premium-document .pp-welcome-copy p { margin-bottom:16px; }
.premium-document .pp-address { border-top:1px solid #d8c7a5; padding-top:15px; color:#876735; }
.premium-document .pp-pillars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 36px; }
.premium-document .pp-pillars>div { border-top:1px solid #ccb78f; padding-top:15px; }
.premium-document .pp-pillars span,.premium-document .pp-service>span,.premium-document .pp-next-steps>div>span { color:#876735; font-size:11px; letter-spacing:.14em; }
.premium-document .pp-pillars h3 { font-size:25px; }
.premium-document .pp-dark { background:#14243a; color:#e9d5aa; }
.premium-document .pp-dark :is(h2,h3,.pp-brand) { color:#ead8b1; }
.premium-document .pp-dark :is(p,.pp-header>span,.pp-footer) { color:#d1d4d5; }
.premium-document .pp-dark :is(em,.pp-kicker,.pp-service>span,.pp-footer b) { color:#d8bd84; }
.premium-document .pp-dark :is(.pp-header,.pp-footer) { border-color:#766744; }
.premium-document .pp-dark .pp-content:first-of-type { padding-bottom:0; }
.premium-document .pp-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 30px; }
.premium-document .pp-service { border-top:1px solid #766744; padding-top:10px; }
.premium-document .pp-service h3 { font-size:25px; }
.premium-document .pp-closing-line { text-align:center; font:italic 23px Georgia,serif; padding:0 30px 38px; color:#e8d3a1; }
.premium-document .pp-design-details { display:grid; grid-template-columns:1fr 1fr; gap:28px; align-items:start; margin:20px 0 28px; }
.premium-document dt { color:#876735; font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.premium-document dd { color:#14243a; font-size:14px; }
.premium-document .pp-design-details dl>div { border-top:1px solid #d8c7a5; padding:10px 0; }
.premium-document .pp-reference-photo img { aspect-ratio:1.4/1; object-fit:contain; }
.premium-document .pp-design-hero img { aspect-ratio:1.8/1; object-fit:contain; }
.premium-document .pp-design-notes { margin:23px 0; border-left:2px solid #bda679; padding-left:18px; }
.premium-document .pp-design-notes p { white-space:pre-wrap; }
.premium-document .pp-fineprint { font-size:11px; line-height:1.7; margin-top:17px; color:#56606a; }
.premium-document .pp-collections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:30px; }
.premium-document .pp-collection { padding:24px 17px; border:1px solid #d8c7a5; display:flex; flex-direction:column; }
.premium-document .pp-collection-selected { border:1px solid #997638; background:#f3ecdd; box-shadow:inset 0 4px #997638; }
.premium-document .pp-collection-label { color:#876735; font-size:8px; letter-spacing:.1em; min-height:27px; }
.premium-document .pp-collection h3 { font-size:32px; }
.premium-document .pp-tagline { font:italic 17px/1.5 Georgia,serif; color:#876735; min-height:76px; }
.premium-document .pp-collection-price { font:30px Georgia,serif; color:#14243a; border-top:1px solid #ccb78f; padding:20px 0; }
.premium-document .pp-collection-price span { display:block; font:9px/1.7 Arial,sans-serif; margin-top:6px; color:#56606a; }
.premium-document .pp-collection>p:not(.pp-tagline) { font-size:12px; }
.premium-document .pp-scope { margin:18px 0; padding-top:15px; border-top:1px solid #ccb78f; }
.premium-document .pp-scope>span { font-size:8px; letter-spacing:.1em; color:#876735; }
.premium-document .pp-scope p { font-size:12px; white-space:pre-wrap; }
.premium-document .pp-chosen { font-size:8px; letter-spacing:.07em; color:#6d5124; margin-top:auto; }
.premium-document .pp-included { border-top:1px solid #bda679; margin-top:30px; padding-top:18px; }
.premium-document .pp-included h3 { font-size:26px; }
.premium-document .pp-investment-photo { margin:28px 40px 0; }
.premium-document .pp-investment-photo img { aspect-ratio:2.7/1; object-fit:contain; }
.premium-document .pp-table-wrap { overflow-x:auto; }
.premium-document .pp-price-table { border-collapse:collapse; width:100%; background:transparent; font-size:12px; }
.premium-document .pp-price-table :is(th,td) { padding:15px 10px; border-bottom:1px solid #ccb78f; text-align:right; color:#14243a; background:transparent; white-space:nowrap; }
.premium-document .pp-price-table :is(th,td):first-child { text-align:left; }
.premium-document .pp-price-table thead th { background:#14243a; color:#f7ecd4; font-size:10px; }
.premium-document .pp-price-table .pp-selected-row>* { background:#eee3ca; }
.premium-document .pp-investment-summary { display:grid; grid-template-columns:1fr 1.2fr; gap:35px; padding:25px 0 0; border-top:1px solid #bda679; margin-top:24px; }
.premium-document .pp-investment-summary>div>span { font-size:9px; color:#876735; letter-spacing:.1em; }
.premium-document .pp-investment-summary dl>div { display:flex; justify-content:space-between; gap:18px; margin-bottom:12px; }
.premium-document .pp-investment-summary dt { font-size:12px; color:#394554; text-transform:none; letter-spacing:0; }
.premium-document .pp-investment-summary dd { white-space:nowrap; }
.premium-document .pp-total { border-top:1px solid #bda679; padding-top:13px; }
.premium-document .pp-total :is(dt,dd) { font-weight:700; font-size:16px; color:#14243a; }
.premium-document .pp-terms { white-space:pre-wrap; overflow-wrap:anywhere; font-size:12px; line-height:1.8; color:#23334a; }
.premium-document .pp-terms-pending { padding:25px; border:1px solid #ccb78f; }
.premium-document .pp-next-steps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 35px; margin-top:30px; }
.premium-document .pp-next-steps>div { border-top:1px solid #ccb78f; padding-top:12px; }
.premium-document .pp-next-steps h3 { font-size:25px; }
.premium-document .pp-reserve { margin-top:30px; padding:26px; background:#14243a; text-align:center; color:#ead8b1; }
.premium-document .pp-reserve>span { font-size:10px; letter-spacing:.18em; display:block; }
.premium-document .pp-reserve strong { display:block; font:44px Georgia,serif; margin:10px 0 18px; }
.premium-document .pp-payment { display:inline-block; background:#e8d3a1; color:#14243a; padding:14px 23px; text-decoration:none; font-size:11px; letter-spacing:.07em; font-weight:700; }
.premium-document .pp-reserve p { color:#d1d4d5; font-size:10px; margin-top:13px; }
.premium-document .pp-contact { text-align:center; margin-top:30px; padding:23px 0; border-block:1px solid #bda679; }
.premium-document .pp-contact a { display:block; font:30px Georgia,serif; color:#14243a; text-decoration:none; }
.premium-document .pp-contact span { font-size:12px; color:#876735; }
.premium-document .pp-signatures { display:grid; grid-template-columns:2fr 1fr; gap:30px; margin:45px 0 0; font-size:10px; color:#56606a; }
.premium-document .pp-signatures span { display:block; border-bottom:1px solid #bda679; height:28px; }
.premium-document .pp-draft-banner { padding:12px 18px; background:#fff1d4; color:#634815; font-size:12px; margin-bottom:16px; text-align:center; }
.pp-export { margin:0; background:#e6e5e2; padding:30px 20px; }
.pp-export .premium-document { max-width:900px; margin:auto; }
.pp-export-toolbar { max-width:900px; margin:0 auto 20px; display:flex; justify-content:space-between; align-items:center; gap:15px; color:#14243a; font:13px Arial,sans-serif; }
.pp-export-toolbar button { background:#14243a; color:#f8ebd0; border:0; padding:13px 20px; cursor:pointer; border-radius:5px; }
.pp-present-overlay { position:fixed; inset:0; z-index:300; background:#e6e5e2; overflow:auto; padding:24px; }
.pp-present-overlay .premium-document { max-width:900px; margin:auto; }
.pp-present-bar { max-width:900px; margin:0 auto 20px; display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:13px; color:#14243a; }
.pp-present-bar button { min-height:44px; padding:10px 20px; border:1px solid #9b783d; background:#14243a; color:#f8ebd0; cursor:pointer; border-radius:6px; }
body.pp-presenting { overflow:hidden; }
@media(max-width:1150px) {
  .pp-builder { grid-template-columns:300px minmax(0,1fr); gap:16px; }
  .pp-preview .pp-collections { grid-template-columns:1fr; }
  .pp-preview .pp-tagline { min-height:0; }
  .pp-preview .pp-content { padding:28px; }
  .pp-preview :is(.pp-header,.pp-footer) { margin-inline:28px; }
}
@media(max-width:950px) {
  .pp-builder { grid-template-columns:1fr; }
  .pp-editor { position:static; max-height:none; }
  .pp-editor .pp-edit-pack { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
  .pp-editor .pp-edit-pack h3 { grid-column:1/-1; }
}
@media(max-width:620px) {
  .pp-export,.pp-present-overlay { padding:12px 8px; }
  .premium-document .pp-content { padding:28px 22px; }
  .premium-document :is(.pp-header,.pp-footer) { margin-inline:22px; }
  .premium-document :is(.pp-wide-photo,.pp-investment-photo) { margin-inline:22px; }
  .premium-document .pp-brand { font-size:10px; }
  .premium-document .pp-header>span { display:none; }
  .premium-document .pp-cover { padding:16px; }
  .premium-document .pp-cover-frame { padding:26px 16px; }
  .premium-document .pp-cover .pp-brand { font-size:11px; }
  .premium-document .pp-cover h1 { font-size:44px; }
  .premium-document .pp-cover h2 { font-size:30px; }
  .premium-document :is(.pp-collections,.pp-design-details,.pp-investment-summary) { grid-template-columns:1fr; }
  .premium-document :is(.pp-pillars,.pp-service-grid,.pp-next-steps) { gap:20px; }
  .premium-document :is(.pp-pillars h3,.pp-service h3,.pp-next-steps h3) { font-size:22px; }
  .premium-document .pp-tagline { min-height:0; }
  .premium-document .pp-footer { font-size:8px; gap:8px; }
  .pp-editor .pp-edit-pack { display:block; }
  .pp-present-bar { position:sticky; top:0; background:#e6e5e2; padding:10px 0; z-index:1; }
}
@media print {
  @page { size:letter; margin:0.35in; }
  body { background:#fff !important; margin:0 !important; padding:0 !important; }
  body.pp-presenting>.shell,body.pp-presenting>.mobile-nav,body.pp-presenting>.mobile-quick { display:none !important; }
  .pp-export-toolbar,.pp-present-bar,.pp-editor,.pp-preview-bar,.page-head,.sidebar,.topbar,.mobile-nav,.mobile-quick { display:none !important; }
  .shell,.shell .main,.shell .workspace,.pp-builder,.pp-preview,.pp-present-overlay { display:block !important; position:static !important; width:100% !important; height:auto !important; padding:0 !important; margin:0 !important; overflow:visible !important; background:#fff !important; }
  .pp-present-overlay { border:0 !important; }
  .premium-document { font-size:12px; max-width:none !important; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .premium-document .pp-page { break-after:page; margin:0; border:0; box-shadow:none; overflow:visible; }
  .premium-document .pp-page:last-child { break-after:auto; }
  .premium-document .pp-content { padding:25px 30px 30px; }
  .premium-document h2 { font-size:43px; }
  .premium-document .pp-cover h1 { font-size:65px; }
  .premium-document .pp-cover { padding:25px; min-height:9.5in; }
  .premium-document .pp-cover-frame { padding:32px 28px; }
  .premium-document .pp-cover .pp-brand { margin-bottom:28px; }
  .premium-document .pp-cover-client { padding-top:12px; }
  .premium-document :is(.pp-header,.pp-footer) { margin-inline:30px; }
  .premium-document :is(.pp-wide-photo,.pp-investment-photo) { margin:20px 30px 0; }
  .premium-document .pp-collections { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .premium-document .pp-collection { padding:20px 12px; }
  .premium-document .pp-collection h3 { font-size:30px; }
  .premium-document .pp-collection-price { font-size:26px; }
  .premium-document .pp-tagline { min-height:76px; }
  .premium-document .pp-design-details { grid-template-columns:1fr 1fr; }
  .premium-document .pp-investment-summary { grid-template-columns:1fr 1.2fr; }
  .premium-document .pp-table-wrap { overflow:visible; }
  .premium-document .pp-price-table :is(th,td) { padding:12px 8px; }
  .premium-document :is(.pp-pillars>div,.pp-service,.pp-next-steps>div,.pp-investment-summary,.pp-collection,.pp-photo,.pp-reserve) { break-inside:avoid; }
  .premium-document .pp-terms { font-size:11px; line-height:1.7; }
  .premium-document .pp-terms-page { break-inside:auto; }
}
.premium-document .pp-single-estimate .pp-design-hero{height:auto;max-height:none;margin-bottom:30px}.premium-document .pp-single-estimate .pp-design-hero img{height:auto;max-height:430px;object-fit:contain;background:#071321}.premium-document .pp-one-year{font-size:12px;color:#596371;margin-top:8px}.premium-document .pp-single-estimate .pp-tagline{min-height:58px}.premium-document .pp-approved-terms{margin-top:28px;padding:20px;border:1px solid #ccb78f}.premium-document .pp-approved-terms summary{cursor:pointer;font-size:14px}.premium-document .pp-approved-terms .pp-terms{margin-top:20px}.pp-preview .pp-single-estimate .pp-content{padding:30px}.estimate-option input[type=radio]{padding:0;min-height:0;color-scheme:light}@media print{.premium-document .pp-single-estimate{break-after:auto}.premium-document .pp-approved-terms .pp-terms{display:block}}
