/* /dossier/: hoja A4 imprimible. Colores: solo tokens de css/site.css (papel = --ice, tinta = --navy-deep). Sin degradados ni sombras. */
.dossier{--paper:var(--ice); --ink:var(--navy-deep); padding:32px 16px 64px; background:var(--navy-deep);}
.dos-bar{max-width:210mm; margin:0 auto 16px; display:flex; justify-content:flex-end;}
.dos-page{
  width:210mm; max-width:100%; min-height:297mm; margin:0 auto 24px; padding:16mm 15mm; background:var(--paper); color:var(--ink);
  font-family:'Inter', system-ui, sans-serif; font-size:10pt; line-height:1.45;
}
.dos-page h1, .dos-page h2, .dos-page h3{font-family:'Oswald', system-ui, sans-serif; color:var(--ink); text-transform:uppercase; letter-spacing:0.01em;}
.dos-head{display:flex; gap:14px; align-items:center; margin-bottom:10mm;}
.dos-head h1{font-size:24pt; line-height:1; font-weight:600;}
.dos-kicker{font-family:var(--mono); font-size:8pt; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:4px; color:var(--ink);}
.dos-lead{font-size:11.5pt; margin-bottom:8mm; max-width:150mm;}
.dos-page h2{font-size:12pt; font-weight:600; margin:0 0 4mm; padding-bottom:2mm; border-bottom:1.5px solid var(--ink);}
.dos-tiers{list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5mm; margin:0 0 6mm; padding:0;}
.dos-tier{border:1px solid var(--ink); padding:4mm; break-inside:avoid;}
.dos-tier.is-featured{border-width:2.5px;}
.dos-tier h3{font-size:12pt; font-weight:600; margin-bottom:1mm;}
.dos-price{font-family:var(--mono); font-weight:700; font-size:12pt; margin-bottom:2mm;}
.dos-price span{font-size:8pt; font-weight:500;}
.dos-ribbon{font-family:var(--mono); font-size:7.5pt; text-transform:uppercase; letter-spacing:0.06em; margin-bottom:2mm;}
.dos-tier ul{list-style:none; margin:0; padding:0;}
.dos-tier li{margin-bottom:1.5mm; font-size:9pt;}
.dos-deadline{font-size:10pt; padding:3mm 4mm; border:1px solid var(--ink);}
.dos-total{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-bottom:2mm;}
.dos-total b{font-family:var(--mono); font-size:22pt;}
.dos-total span{font-size:9pt;}
.dos-sub{font-size:9pt; margin-bottom:4mm;}
.dos-table{width:100%; border-collapse:collapse; margin-bottom:5mm; font-size:9.5pt;}
.dos-table td{padding:2mm 0; border-bottom:1px solid var(--ink); vertical-align:top;}
.dos-table td.num{text-align:right; font-family:var(--mono); font-weight:700; white-space:nowrap; padding-left:6mm;}
.dos-table em{font-style:normal;}
.dos-note{font-size:9pt; margin-bottom:3mm; padding:2.5mm 3.5mm; border:1px solid var(--ink);}
.dos-contact{display:flex; justify-content:space-between; gap:10mm; align-items:flex-start; margin-bottom:6mm;}
.dos-contact ul{list-style:none; margin:0; padding:0; font-size:10.5pt;}
.dos-contact li{margin-bottom:2mm;}
.dos-page a{color:var(--ink); text-decoration:underline; text-underline-offset:2px;}
.dos-qr{margin:0; width:42mm; text-align:center; flex:none;}
.dos-qr svg{display:block; width:42mm; height:42mm;}
.dos-qr figcaption{font-size:7.5pt; margin-top:2mm;}
.dos-src{font-size:7.5pt; margin-top:6mm;}
@media (max-width:820px){ .dos-page{padding:20px 16px; min-height:0;} .dos-tiers{grid-template-columns:1fr;} .dos-contact{flex-direction:column;} }
@page{size:A4; margin:0;}
@media print{
  html, body{background:var(--ice) !important;}
  .cockpit, footer, .sticky-cta, .hud-top-btn, .dos-bar, .skip-link{display:none !important;}
  .dossier{padding:0; background:var(--ice);}
  .dos-page{margin:0; width:210mm; min-height:297mm; page-break-after:always; break-after:page;}
  .dos-page-2{page-break-after:auto; break-after:auto;}
  *{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
}
.dos-total .budget-figure-unit{margin-left:8px; font-size:10pt;}
