/* ============================================================
   Pinnacle Quote Sheet — preview styles
   Extracted verbatim from pinnacle-quote-sample.html, then
   scoped under .quote-page so the editor chrome is unaffected.
   Letter portrait at 150 DPI = 1275 × 1650 px.
   ============================================================ */

@font-face { font-family:'Newsreader'; src:url('../fonts/newsreader-400.woff2') format('woff2'),url('../fonts/newsreader-400.woff') format('woff'); font-weight:400; font-style:normal; font-display:block; }
@font-face { font-family:'Newsreader'; src:url('../fonts/newsreader-400i.woff2') format('woff2'),url('../fonts/newsreader-400i.woff') format('woff'); font-weight:400; font-style:italic; font-display:block; }
@font-face { font-family:'Newsreader'; src:url('../fonts/newsreader-500.woff2') format('woff2'),url('../fonts/newsreader-500.woff') format('woff'); font-weight:500; font-style:normal; font-display:block; }
@font-face { font-family:'Newsreader'; src:url('../fonts/newsreader-600.woff2') format('woff2'),url('../fonts/newsreader-600.woff') format('woff'); font-weight:600; font-style:normal; font-display:block; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-400.woff2') format('woff2'),url('../fonts/inter-400.woff') format('woff'); font-weight:400; font-display:block; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-500.woff2') format('woff2'),url('../fonts/inter-500.woff') format('woff'); font-weight:500; font-display:block; }
@font-face { font-family:'Inter'; src:url('../fonts/inter-600.woff2') format('woff2'),url('../fonts/inter-600.woff') format('woff'); font-weight:600; font-display:block; }

.quote-page,
.quote-page *{ margin:0; padding:0; box-sizing:border-box; }
.quote-page{
  -webkit-print-color-adjust:exact; print-color-adjust:exact;
  font-family:'Inter','SF Pro Text','Helvetica Neue',Arial,sans-serif;
  color:#23252A;
  width:1275px;
}

/* Letter portrait at 150 DPI: 1275 x 1650 */
.quote-page .page{
  width:1275px; height:1650px; position:relative;
  background:#F0EEE6;
  padding:90px 100px 0 100px;
  overflow:hidden;
}

/* ============ HEADER ============ */
.quote-page .header{
  display:flex; align-items:flex-start; justify-content:space-between;
  margin-bottom:34px;
}
.quote-page .lockup{display:flex; align-items:center; gap:22px;}
.quote-page .shield{ height:84px; width:auto; display:block; }
.quote-page .lockup .name{
  font-family:'Newsreader',Georgia,serif; font-weight:500;
  font-size:32px; line-height:1.05; color:#1B3A5C;
  letter-spacing:-0.005em;
}
.quote-page .lockup .tag{
  font-family:'Newsreader',Georgia,serif; font-style:italic; font-weight:400;
  font-size:14px; color:#5E6B78; margin-top:6px;
}
.quote-page .h-right{ text-align:right; }
.quote-page .h-right .qtitle{
  font-family:'Newsreader',Georgia,serif; font-weight:500;
  font-size:64px; line-height:0.92; color:#1B3A5C;
  letter-spacing:-0.01em;
}
.quote-page .h-right .qmeta{
  margin-top:14px;
  font-family:'Inter',sans-serif; font-size:13px; line-height:1.7;
  color:#23252A; font-variant-numeric:tabular-nums;
}
.quote-page .h-right .qmeta .lbl{
  color:#5E6B78; display:inline-block; min-width:88px; font-weight:500;
  text-transform:uppercase; letter-spacing:0.10em; font-size:11px;
}

.quote-page .divider{
  height:1px; background:#5E6B78; opacity:0.22;
  margin:6px 0 28px;
}

/* ============ EYEBROW ============ */
.quote-page .eb{
  font-family:'Inter',sans-serif; font-weight:600;
  font-size:11px; letter-spacing:0.30em; text-transform:uppercase;
  color:#CC785C;
  margin-bottom:12px;
}
.quote-page .eb .d{
  display:inline-block; width:22px; height:2px; background:#CC785C;
  vertical-align:middle; margin:0 12px 3px 0;
}

/* ============ PARTIES ============ */
.quote-page .parties{
  display:flex;
  margin-bottom:30px;
}
.quote-page .parties .party{ flex:1 1 0; }
.quote-page .parties .party + .party{ margin-left:60px; }
.quote-page .party .name{
  font-family:'Newsreader',Georgia,serif; font-weight:500;
  font-size:21px; color:#1B3A5C; margin-bottom:4px;
  letter-spacing:-0.005em;
}
.quote-page .party .lines{
  font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.65;
  color:#23252A;
}
.quote-page .party .lines .muted{ color:#5E6B78; }

/* ============ SCOPE ============ */
.quote-page .scope{ margin-bottom:30px; }
.quote-page .scope p{
  font-family:'Newsreader',Georgia,serif; font-weight:400;
  font-size:17px; line-height:1.5; color:#1B3A5C;
}

/* ============ ITEMS TABLE ============ */
.quote-page table.items{
  width:100%; border-collapse:collapse;
  margin-bottom:14px;
}
.quote-page table.items th{
  font-family:'Inter',sans-serif; font-weight:600;
  font-size:10px; letter-spacing:0.22em; text-transform:uppercase;
  color:#5E6B78;
  text-align:left;
  padding:0 0 11px 0;
  border-bottom:1.5px solid #1B3A5C;
}
.quote-page table.items th.r{ text-align:right; }
.quote-page table.items td{
  padding:14px 0;
  border-bottom:1px solid rgba(94,107,120,0.18);
  vertical-align:top;
}
.quote-page table.items td.r{
  text-align:right; font-variant-numeric:tabular-nums lining-nums;
  font-family:'Newsreader',Georgia,serif; font-weight:400;
  font-size:16px; color:#1B3A5C; padding-top:16px;
}
.quote-page table.items td .desc{
  font-family:'Newsreader',Georgia,serif; font-weight:500;
  font-size:16px; color:#1B3A5C; margin-bottom:3px;
  letter-spacing:-0.003em;
}
.quote-page table.items td .sub{
  font-family:'Inter',sans-serif;
  font-size:12.5px; color:#5E6B78; line-height:1.45;
}
.quote-page table.items td .opt{
  color:#5E6B78; font-family:'Inter',sans-serif; font-weight:400;
  font-size:12px; letter-spacing:0.04em;
}

/* ============ TOTALS ============ */
.quote-page .totals{
  display:flex; justify-content:flex-end;
  margin-top:6px; margin-bottom:30px;
}
.quote-page .totals table{ border-collapse:collapse; min-width:340px; }
.quote-page .totals td{
  padding:7px 0;
  font-family:'Newsreader',Georgia,serif; font-weight:400;
  font-size:15px; color:#1B3A5C;
  font-variant-numeric:tabular-nums lining-nums;
}
.quote-page .totals td.lbl{
  color:#5E6B78; padding-right:36px;
  font-family:'Inter',sans-serif; font-size:12px;
  letter-spacing:0.08em;
}
.quote-page .totals td.val{ text-align:right; }
.quote-page .totals tr.grand td{
  padding-top:14px;
  border-top:1.5px solid #1B3A5C;
}
.quote-page .totals tr.grand td.lbl{
  font-family:'Inter',sans-serif; font-weight:600; font-size:11px;
  letter-spacing:0.30em; text-transform:uppercase; color:#1B3A5C;
}
.quote-page .totals tr.grand td.val{
  font-family:'Newsreader',Georgia,serif; font-weight:500;
  font-size:30px; color:#CC785C; letter-spacing:-0.005em;
}

/* ============ INCLUSIONS + TERMS ============ */
.quote-page .bottom{
  display:flex;
  margin-bottom:24px;
}
.quote-page .bottom .incl{ flex:1.05 1 0; }
.quote-page .bottom .terms{ flex:1 1 0; margin-left:50px; }
.quote-page .incl ul{ list-style:none; }
.quote-page .incl li{
  font-family:'Inter',sans-serif; font-size:13.5px; line-height:1.5;
  color:#23252A; padding:5px 0 5px 24px; position:relative;
}
.quote-page .incl li:before{
  content:""; position:absolute; left:0; top:13px;
  width:10px; height:2px; background:#CC785C;
}
.quote-page .terms p{
  font-family:'Inter',sans-serif; font-size:12px; line-height:1.6;
  color:#5E6B78; margin-bottom:8px;
}

/* ============ ACCEPTANCE ============ */
.quote-page .accept{
  background:#FAF9F5; border:1px solid #E9E6DC;
  padding:22px 26px 24px;
  margin-bottom:22px;
}
.quote-page .accept .head{
  font-family:'Newsreader',Georgia,serif; font-weight:500;
  font-size:18px; color:#1B3A5C; margin-bottom:4px;
}
.quote-page .accept .copy{
  font-family:'Inter',sans-serif; font-size:12.5px; line-height:1.55;
  color:#5E6B78; margin-bottom:24px; max-width:880px;
}
.quote-page .siglines{
  display:flex;
}
.quote-page .siglines .sig:first-child{ flex:2 1 0; margin-right:36px; }
.quote-page .siglines .sig:last-child{ flex:1 1 0; }
.quote-page .sig{ display:flex; flex-direction:column; }
.quote-page .sig .line{
  height:1px; background:#1B3A5C; opacity:0.45;
  margin-top:24px; margin-bottom:8px;
}
.quote-page .sig .lbl{
  font-family:'Inter',sans-serif; font-weight:600; font-size:10px;
  letter-spacing:0.26em; text-transform:uppercase; color:#5E6B78;
}

/* ============ FOOTER ============ */
.quote-page .footer{
  position:absolute; left:100px; right:100px; bottom:50px;
  display:flex; justify-content:space-between; align-items:center;
  padding-top:16px; border-top:1px solid rgba(94,107,120,0.22);
}
.quote-page .footer .tag{
  font-family:'Newsreader',Georgia,serif; font-style:italic;
  font-size:13.5px; color:#1B3A5C;
}
.quote-page .footer .info{
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500;
  letter-spacing:0.16em; text-transform:uppercase; color:#5E6B78;
}
.quote-page .footer .info .dot{
  display:inline-block; width:4px; height:4px; background:#CC785C;
  border-radius:50%; margin:0 12px 2px 12px; vertical-align:middle;
}
