:root {
  --ink: #101214;
  --muted: #626a70;
  --line: #d9dedf;
  --paper: #fbfbf8;
  --white: #ffffff;
  --green: #164f49;
  --green-dark: #0d201e;
  --gold: #b08a52;
  --dark: #111315;
  --soft: #e9efed;
}

* {
  box-sizing: border-box;
}

html {
  background: #d7dadd;
}

body {
  margin: 0;
  color: var(--ink);
  background: #d7dadd;
  font-family: "Pretendard JP Variable", "Pretendard JP", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Hiragino Sans", "Helvetica Neue", Arial, "Yu Gothic", Meiryo, sans-serif;
  font-kerning: normal;
  letter-spacing: 0;
  line-break: strict;
  line-height: 1.58;
  overflow-wrap: normal;
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  word-break: auto-phrase;
}

img {
  display: block;
  max-width: 100%;
}

.toolbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(100%, 1180px);
  margin: 0 auto;
  padding: 12px 20px;
  color: #fff;
  background: rgba(16, 18, 20, 0.95);
  border-radius: 0 0 8px 8px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
}

.toolbar strong,
.toolbar span {
  display: block;
}

.toolbar strong {
  font-size: 14px;
}

.toolbar span {
  color: rgba(255, 255, 255, 0.68);
  font-size: 12px;
}

.toolbar nav {
  display: flex;
  gap: 10px;
}

.toolbar a,
.toolbar button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 6px;
  color: #fff;
  background: transparent;
  font: inherit;
  font-size: 13px;
  text-decoration: none;
  cursor: pointer;
}

.toolbar button {
  color: #111315;
  background: #fff;
}

.brochure {
  display: grid;
  gap: 28px;
  padding: 28px 0 48px;
}

.page {
  position: relative;
  overflow: hidden;
  width: 210mm;
  height: 297mm;
  margin: 0 auto;
  padding: 15mm 15mm 14mm;
  background: var(--paper);
  box-shadow: 0 24px 80px rgba(20, 25, 30, 0.22);
  break-after: page;
  page-break-after: always;
}

.page footer {
  position: absolute;
  right: 15mm;
  bottom: 10mm;
  color: rgba(16, 18, 20, 0.45);
  font-size: 10px;
  letter-spacing: 0.08em;
}

h1,
h2,
h3,
p {
  margin: 0;
  line-break: strict;
  overflow-wrap: normal;
  word-break: auto-phrase;
}

h1,
h2,
h3 {
  text-wrap: balance;
}

p {
  text-wrap: pretty;
}

.section-label {
  color: var(--green);
  font-size: 10.8px;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.brand-logo {
  width: 52mm;
}

.cover-page {
  padding: 0;
  background:
    linear-gradient(180deg, rgba(246, 246, 241, 0.2), #f6f6f1 72%),
    url("./assets/bcl/skincare-device-ritual.png") left bottom / 86mm auto no-repeat,
    #f6f6f1;
}

.cover-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 68%;
  height: 186mm;
}

.cover-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.cover-image::after {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, #f6f6f1 0%, rgba(246, 246, 241, 0.72) 24%, rgba(246, 246, 241, 0) 68%),
    linear-gradient(180deg, rgba(246, 246, 241, 0) 42%, #f6f6f1 100%);
}

.cover-copy {
  position: relative;
  z-index: 2;
  width: 116mm;
  padding: 17mm 0 0 15mm;
}

.cover-copy .brand-logo {
  margin-bottom: 13mm;
}

.cover-title-block {
  position: relative;
  width: 112mm;
  padding: 6mm 0 6mm;
  border-top: 2px solid rgba(16, 18, 20, 0.92);
  border-bottom: 1px solid rgba(16, 18, 20, 0.24);
}

.cover-title-block::before {
  position: absolute;
  left: 0;
  top: -2px;
  width: 34mm;
  height: 2px;
  content: "";
  background: var(--green);
}

.cover-title-block .section-label {
  margin-bottom: 5mm;
  color: var(--green);
}

.cover-copy h1 {
  width: 112mm;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.04;
  letter-spacing: 0;
}

.cover-copy h1 span {
  display: block;
}

.cover-title-core {
  color: #101214;
}

.cover-title-accent {
  position: relative;
  margin-top: 5mm;
  padding: 4mm 0 0 7mm;
  border-top: 1px solid rgba(22, 79, 73, 0.32);
  color: var(--green);
  font-size: 40px;
  line-height: 1;
}

.cover-title-accent::before {
  position: absolute;
  left: 0;
  top: 5mm;
  width: 1.5mm;
  height: calc(100% - 5mm);
  content: "";
  background: var(--green);
}

.cover-title-meta {
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: start;
  gap: 4mm;
  margin-top: 5.2mm;
}

.cover-title-meta span {
  color: rgba(16, 18, 20, 0.62);
  font-size: 9.6px;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.cover-copy .lead {
  width: 88mm;
  margin-top: 6.5mm;
  color: #333b40;
  font-size: 12.2px;
  line-height: 1.68;
}

.cover-product {
  position: absolute;
  z-index: 3;
  right: 6mm;
  top: 87mm;
  width: 76mm;
  filter: drop-shadow(0 30px 46px rgba(0, 0, 0, 0.3));
}

.cover-index {
  position: absolute;
  left: 15mm;
  right: 15mm;
  bottom: 25mm;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7mm;
  border-top: 1px solid rgba(16, 18, 20, 0.22);
  padding-top: 7mm;
}

.cover-index article {
  border-left: 1px solid rgba(16, 18, 20, 0.18);
  padding-left: 4mm;
}

.cover-index span,
.proof-layout span,
.revenue-loop span {
  display: block;
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.05em;
}

.cover-index strong {
  display: block;
  margin: 2mm 0 3mm;
  font-size: 18px;
  line-height: 1;
}

.cover-index p {
  color: #4b5359;
  font-size: 11.6px;
}

.cover-page footer {
  left: 15mm;
  right: auto;
}

.chapter-page::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 3mm;
  height: 100%;
  content: "";
  background: var(--green);
}

.page-bg-image {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.page-bg-image::before,
.page-bg-image::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.dosie-bg::before {
  right: -20mm;
  top: 58mm;
  width: 108mm;
  height: 110mm;
  background: url("./assets/bcl/nd-fluid-01-marble.png") center / cover no-repeat;
  opacity: 0.22;
  filter: saturate(0.92);
}

.dosie-bg::after {
  left: 3mm;
  bottom: -12mm;
  width: 88mm;
  height: 58mm;
  background: url("./assets/bcl/product-development-studio.png") center / cover no-repeat;
  opacity: 0.16;
}

.vitna-bg::before {
  right: -14mm;
  top: -18mm;
  width: 124mm;
  height: 138mm;
  background: url("./assets/vitna/korean_idol_actor_hero_wide-BrfbRUxT.jpg") center / cover no-repeat;
  opacity: 0.2;
}

.vitna-bg::after {
  left: -2mm;
  bottom: -13mm;
  width: 105mm;
  height: 76mm;
  background: url("./assets/vitna/analysis_recommendation_macro-D3NNdMWm.png") center / cover no-repeat;
  opacity: 0.14;
}

.traction-bg::before {
  right: -18mm;
  top: -6mm;
  width: 102mm;
  height: 122mm;
  background: url("./assets/bcl/how-we-build-prototype.png") center / cover no-repeat;
  opacity: 0.12;
}

.traction-bg::after {
  left: -22mm;
  bottom: -20mm;
  width: 118mm;
  height: 82mm;
  background: url("./assets/bcl/hyfuser-refill-stone.png") center / cover no-repeat;
  opacity: 0.12;
}

.chapter-number {
  position: absolute;
  right: 8mm;
  top: 19mm;
  color: rgba(16, 18, 20, 0.045);
  font-size: 194px;
  font-weight: 900;
  line-height: 0.8;
}

.chapter-header {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 9mm;
}

.chapter-header > img:not(.vitna-logo) {
  width: 33mm;
}

.vitna-logo {
  width: 34mm;
}

.chapter-grid {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 78mm;
  gap: 8mm;
  align-items: start;
}

.chapter-title h2,
.traction-title h2 {
  font-size: 30px;
  font-weight: 900;
  line-height: 1.16;
}

.chapter-title > p {
  margin-top: 6.5mm;
  color: #4a5359;
  font-size: 13px;
}

.hero-asset {
  margin: 0;
  background: #171a1d;
  border-radius: 2px;
}

.hero-asset img {
  width: 100%;
  height: 93mm;
  object-fit: cover;
}

.hero-asset .dosie-hero-photo {
  object-position: center 58%;
}

.editorial-columns {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6mm;
  margin-top: 9mm;
  border-top: 1px solid var(--line);
  padding-top: 6mm;
}

.editorial-columns h3 {
  margin-bottom: 3.5mm;
  font-size: 17.5px;
  font-weight: 850;
}

.editorial-columns p {
  color: #424a50;
  font-size: 11.35px;
}

.spec-line {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  margin-top: 8mm;
  border-top: 1px solid #bac5c4;
  border-bottom: 1px solid #bac5c4;
}

.spec-line span {
  min-height: 18mm;
  padding: 4mm;
  border-right: 1px solid #bac5c4;
  color: #1d2928;
  font-size: 10.8px;
  font-weight: 800;
}

.spec-line span:last-child {
  border-right: 0;
}

.caption-band {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 78mm 1fr;
  gap: 7mm;
  align-items: center;
  margin-top: 7mm;
  background: var(--soft);
}

.caption-band img {
  width: 100%;
  height: 42mm;
  object-fit: cover;
}

.caption-band p {
  padding-right: 7mm;
  color: #293533;
  font-size: 12px;
  font-weight: 700;
}

.vitna-layout {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 70mm 1fr;
  gap: 9mm;
  align-items: center;
}

.vitna-layout .chapter-title h2 {
  margin-top: 5mm;
}

.vitna-proofline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-top: 8mm;
  border-top: 1px solid #bfcac8;
  border-bottom: 1px solid #bfcac8;
}

.vitna-proofline span {
  min-height: 13mm;
  display: grid;
  place-items: center;
  padding: 0 1.5mm;
  border-right: 1px solid #bfcac8;
  color: #182322;
  font-size: 8.7px;
  font-weight: 850;
  line-height: 1.2;
  text-align: center;
}

.vitna-proofline span:last-child {
  border-right: 0;
}

.vitna-showcase {
  display: grid;
  grid-template-columns: 56mm 1fr;
  gap: 5mm;
  align-items: end;
  min-height: 116mm;
  padding: 6mm 5mm 5mm;
  background:
    linear-gradient(135deg, rgba(13, 32, 30, 0.96), rgba(22, 79, 73, 0.88)),
    url("./assets/vitna/skin_care_still_life_hero-mZLJn-6a.png") center / cover no-repeat;
  color: #fff;
}

.hero-phone,
.phone-composition {
  position: relative;
  z-index: 1;
}

.hero-phone {
  margin: 0;
}

.hero-phone img {
  width: 100%;
  height: 102mm;
  object-fit: contain;
  filter: drop-shadow(0 16px 22px rgba(0, 0, 0, 0.32));
}

.hero-phone figcaption {
  margin-top: 2.5mm;
  color: rgba(255, 255, 255, 0.78);
  font-size: 10px;
  font-weight: 850;
  text-align: center;
}

.phone-composition {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3.2mm;
  align-items: end;
  padding: 0;
}

.phone-composition figure {
  display: grid;
  grid-template-columns: 17mm 1fr;
  gap: 3mm;
  align-items: center;
  margin: 0;
  padding-bottom: 3.2mm;
  border-bottom: 1px solid rgba(255, 255, 255, 0.24);
}

.phone-composition img {
  width: 100%;
  height: 34mm;
  object-fit: contain;
  filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.22));
}

.phone-composition figcaption {
  padding: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: 10.5px;
  font-weight: 850;
  text-align: left;
}

.vitna-columns {
  margin-top: 9mm;
}

.flow-line {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1.1fr 1.7fr;
  margin-top: 8mm;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.flow-line strong,
.flow-line span {
  min-height: 19mm;
  display: grid;
  place-items: center;
  padding: 0 3mm;
  border-right: 1px solid var(--line);
  color: #1b2624;
  font-size: 10.8px;
  font-weight: 850;
  text-align: center;
}

.flow-line strong {
  color: #fff;
  background: var(--green-dark);
}

.flow-line span:last-child {
  border-right: 0;
}

.glam-page {
  color: #fff;
  background: var(--dark);
}

.glam-page::before {
  position: absolute;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(176, 138, 82, 0.22), transparent 38%),
    linear-gradient(180deg, rgba(17, 19, 21, 0.93) 0%, rgba(22, 25, 27, 0.96) 100%);
}

.glam-chapter-number {
  position: absolute;
  right: 7mm;
  top: 18mm;
  z-index: 2;
  color: rgba(255, 255, 255, 0.055);
  font-size: 184px;
  font-weight: 900;
  line-height: 0.8;
}

.glam-bg-photo {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(17, 19, 21, 0.96) 0%, rgba(17, 19, 21, 0.8) 44%, rgba(17, 19, 21, 0.38) 100%),
    url("./assets/bcl/nd-fluid-dark-close.png") right center / 88mm auto no-repeat,
    url("./assets/bcl/hyfuser-refill-stone.png") left bottom / 72mm auto no-repeat;
  opacity: 0.95;
}

.glam-header,
.glam-grid,
.revenue-loop,
.glam-page blockquote {
  position: relative;
  z-index: 3;
}

.glam-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.glam-header img {
  width: 36mm;
  filter: invert(1);
}

.glam-header div {
  max-width: 92mm;
  text-align: right;
}

.glam-header span {
  display: block;
  color: var(--gold);
  font-size: 9.8px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.glam-recipe-logo {
  width: 61mm;
  margin-top: 3mm;
  margin-left: auto;
  filter: brightness(0) invert(1);
}

.glam-header p {
  margin-top: 3mm;
  color: rgba(255, 255, 255, 0.72);
  font-size: 11px;
  font-weight: 850;
}

.glam-grid {
  display: grid;
  grid-template-columns: 1fr 63mm;
  gap: 12mm;
  align-items: center;
  margin-top: 13mm;
}

.glam-page .section-label {
  color: var(--gold);
}

.glam-grid h2 {
  margin-top: 5mm;
  max-width: 103mm;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.1;
}

.glam-lead {
  max-width: 103mm;
  margin-top: 7mm;
  color: rgba(255, 255, 255, 0.76);
  font-size: 12.1px;
}

.glam-model {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 108mm;
  margin-top: 7mm;
  border-top: 1px solid rgba(176, 138, 82, 0.48);
  border-bottom: 1px solid rgba(176, 138, 82, 0.48);
}

.glam-model span {
  min-height: 11mm;
  display: grid;
  place-items: center;
  padding: 0 2mm;
  border-right: 1px solid rgba(176, 138, 82, 0.34);
  color: rgba(255, 255, 255, 0.84);
  font-size: 9.6px;
  font-weight: 850;
  text-align: center;
}

.glam-model span:last-child {
  border-right: 0;
}

.glam-product {
  width: 63mm;
  height: 87mm;
  object-fit: cover;
}

.revenue-loop {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 10mm;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.revenue-loop article {
  min-height: 39mm;
  padding: 5mm;
  border-right: 1px solid rgba(255, 255, 255, 0.22);
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.revenue-loop span {
  color: var(--gold);
}

.revenue-loop strong {
  display: block;
  margin: 2mm 0 2mm;
  font-size: 17.5px;
}

.revenue-loop p {
  color: rgba(255, 255, 255, 0.68);
  font-size: 10.35px;
}

.glam-page blockquote {
  margin: 9mm 0 0;
  padding: 0 0 0 5mm;
  border-left: 2px solid var(--gold);
  color: rgba(255, 255, 255, 0.86);
  font-size: 18.5px;
  font-weight: 800;
  line-height: 1.45;
}

.glam-page footer {
  position: absolute;
  z-index: 2;
  color: rgba(255, 255, 255, 0.52);
}

.traction-title {
  position: relative;
  z-index: 2;
  width: 150mm;
  margin-bottom: 10mm;
}

.proof-layout {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 1fr 0.72fr;
  gap: 7mm;
  align-items: start;
  border-top: 1px solid var(--line);
  padding-top: 7mm;
}

.proof-layout article {
  min-height: 83mm;
  border-left: 1px solid var(--line);
  padding-left: 5mm;
}

.proof-layout strong {
  display: block;
  margin: 3mm 0 5mm;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.proof-layout p {
  color: #424a50;
  font-size: 11.8px;
}

.contact-editorial {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 78mm 1fr;
  gap: 7mm;
  align-items: stretch;
  margin-top: 15mm;
}

.contact-editorial > img {
  width: 100%;
  height: 72mm;
  object-fit: cover;
}

.contact-editorial > div {
  padding: 8mm;
  color: #fff;
  background: var(--green-dark);
}

.contact-editorial h3 {
  margin-bottom: 4mm;
  font-size: 23px;
}

.contact-editorial p {
  color: rgba(255, 255, 255, 0.76);
  font-size: 12px;
}

.contact-editorial dl {
  display: grid;
  gap: 2mm;
  margin: 7mm 0 0;
}

.contact-editorial dl div {
  display: grid;
  grid-template-columns: 25mm 1fr;
}

.contact-editorial dt,
.contact-editorial dd {
  margin: 0;
  font-size: 11.2px;
}

.contact-editorial dt {
  color: rgba(255, 255, 255, 0.55);
}

.contact-editorial dd {
  font-weight: 850;
}

.closing-page {
  padding: 16mm 15mm 15mm;
  overflow: hidden;
  color: #fff;
  background: #0b1110;
}

.closing-bg,
.closing-wash {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.closing-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.92) contrast(1.03);
}

.closing-wash {
  background:
    linear-gradient(90deg, rgba(7, 18, 17, 0.98) 0%, rgba(7, 18, 17, 0.88) 38%, rgba(7, 18, 17, 0.52) 68%, rgba(7, 18, 17, 0.7) 100%),
    linear-gradient(180deg, rgba(7, 18, 17, 0.44) 0%, rgba(7, 18, 17, 0.18) 34%, rgba(7, 18, 17, 0.92) 100%);
}

.closing-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 17mm;
}

.closing-header .section-label {
  color: rgba(255, 255, 255, 0.78);
}

.closing-header img {
  width: 35mm;
  filter: brightness(0) invert(1);
}

.closing-copy {
  position: relative;
  z-index: 2;
  width: 135mm;
  margin-top: 33mm;
}

.closing-kicker {
  margin-bottom: 8mm;
  color: var(--gold);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.closing-copy h2 {
  margin: 0;
  font-size: 44px;
  font-weight: 900;
  line-height: 1.08;
}

.closing-copy > p:last-child {
  width: 112mm;
  margin-top: 9mm;
  color: rgba(255, 255, 255, 0.78);
  font-size: 14.3px;
  font-weight: 500;
  line-height: 1.7;
}

.closing-proof {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin-top: 24mm;
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  border-left: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(2px);
}

.closing-proof article {
  min-height: 53mm;
  padding: 6mm 5mm 5mm;
  border-right: 1px solid rgba(255, 255, 255, 0.28);
  border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}

.closing-proof span {
  display: block;
  color: rgba(255, 255, 255, 0.64);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: 0.05em;
}

.closing-proof strong {
  display: block;
  margin: 3mm 0 3mm;
  color: #fff;
  font-size: 44px;
  font-weight: 900;
  line-height: 0.92;
}

.closing-proof p {
  color: rgba(255, 255, 255, 0.72);
  font-size: 10.7px;
  line-height: 1.58;
}

.closing-contact {
  position: absolute;
  z-index: 2;
  left: 15mm;
  right: 15mm;
  bottom: 17mm;
  display: grid;
  grid-template-columns: 1fr 103mm;
  gap: 10mm;
  align-items: end;
  padding-top: 6mm;
  border-top: 1px solid rgba(255, 255, 255, 0.32);
}

.closing-contact h3 {
  margin: 0 0 2mm;
  color: #fff;
  font-size: 23px;
  line-height: 1.12;
}

.closing-contact p {
  color: rgba(255, 255, 255, 0.64);
  font-size: 11.5px;
  font-weight: 700;
}

.closing-contact dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3mm 8mm;
  margin: 0;
}

.closing-contact dl div {
  min-height: 13mm;
}

.closing-contact dt,
.closing-contact dd {
  margin: 0;
  font-size: 10.8px;
}

.closing-contact dt {
  color: rgba(255, 255, 255, 0.48);
  font-weight: 700;
}

.closing-contact dd {
  margin-top: 1mm;
  color: #fff;
  font-weight: 850;
}

.closing-page footer {
  z-index: 2;
  color: rgba(255, 255, 255, 0.52);
}

@media (max-width: 900px) {
  .toolbar {
    position: static;
    border-radius: 0;
  }

  .brochure {
    padding: 14px 0 24px;
  }

  .page {
    width: min(100vw, 210mm);
    height: auto;
    min-height: calc(min(100vw, 210mm) * 1.414);
  }
}

@page {
  size: A4;
  margin: 0;
}

@media print {
  html,
  body {
    width: 210mm;
    background: #fff;
  }

  .toolbar {
    display: none;
  }

  .brochure {
    display: block;
    padding: 0;
  }

  .page {
    width: 210mm;
    height: 297mm;
    margin: 0;
    box-shadow: none;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
