@font-face {
  font-family: "Liberation Sans";
  src: url("fonts/liberation-sans-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Liberation Sans";
  src: url("fonts/liberation-sans-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Bookman Old Style";
  src: url("fonts/bookman-old-style-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Bookman Old Style";
  src: url("fonts/bookman-old-style-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Bookman Old Style";
  src: url("fonts/bookman-old-style-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Bookman Old Style";
  src: url("fonts/bookman-old-style-bold-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Linux Libertine G";
  src: url("fonts/linux-libertine-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Linux Libertine G";
  src: url("fonts/linux-libertine-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Astloch";
  src: url("fonts/astloch-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Astloch";
  src: url("fonts/astloch-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Courier Prime";
  src: url("fonts/courier-prime-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Courier Prime";
  src: url("fonts/courier-prime-italic.ttf") format("truetype");
  font-style: italic;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Courier Prime";
  src: url("fonts/courier-prime-bold.ttf") format("truetype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --deep: #071d2b;
  --ocean: #0a4160;
  --blue: #36b6dd;
  --foam: #eaf8f8;
  --paper: #fffdf7;
  --ink: #172b33;
  --muted: #7da2ae;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 15% 8%, rgba(54, 182, 221, .16), transparent 28rem),
    linear-gradient(180deg, var(--deep) 0 42rem, #d9eef0 62rem, #edf6f4 100%);
  font-family: "Liberation Sans", Arial, sans-serif;
}

.progress {
  position: fixed;
  z-index: 20;
  inset: 0 0 auto;
  height: 3px;
  background: rgba(255,255,255,.12);
}
.progress span {
  display: block;
  width: 0;
  height: 100%;
  background: var(--blue);
}

.site-header {
  width: min(1120px, calc(100% - 40px));
  height: 76px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #d9f2f5;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
}
.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  color: inherit;
  text-decoration: none;
  font-weight: 700;
}
.drop {
  width: 16px;
  height: 22px;
  border-radius: 70% 45% 65% 45%;
  background: var(--blue);
  transform: rotate(45deg);
  box-shadow: 0 0 24px rgba(54,182,221,.6);
}
.read-time { color: var(--muted); }

.hero {
  position: relative;
  min-height: 560px;
  width: min(1120px, calc(100% - 40px));
  margin: auto;
  padding: 85px 0 90px;
  color: white;
  overflow: hidden;
}
.hero > *:not(.hero-water) { position: relative; z-index: 1; }
.eyebrow {
  margin: 0 0 20px;
  color: #76d5ee;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.hero h2 {
  max-width: 800px;
  margin: 0;
  font: 400 clamp(3.5rem, 8vw, 7rem)/.91 "Linux Libertine G", Georgia, serif;
  letter-spacing: -.045em;
}
.hero h2 em {
  color: #84dff2;
  font-weight: 400;
}
.dek {
  max-width: 570px;
  margin: 30px 0 38px;
  color: #a9cbd3;
  font: 1.12rem/1.65 "Linux Libertine G", Georgia, serif;
}
.start-reading {
  display: inline-flex;
  gap: 28px;
  padding: 13px 0;
  color: white;
  border-bottom: 1px solid #3ca9c5;
  text-decoration: none;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.hero-water {
  position: absolute;
  inset: 20px -20px auto auto;
  width: 38%;
  aspect-ratio: 1;
  border: 1px solid rgba(112,209,231,.25);
  border-radius: 50%;
}
.hero-water::before,
.hero-water::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(112,209,231,.16);
  border-radius: 50%;
}
.hero-water::before { inset: 12%; }
.hero-water::after { inset: 28%; }
.hero-water i {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #76d5ee;
  box-shadow: 0 0 12px #76d5ee;
}
.hero-water i:nth-child(1) { left: 8%; top: 42%; }
.hero-water i:nth-child(2) { left: 40%; top: 3%; }
.hero-water i:nth-child(3) { right: 13%; top: 31%; }
.hero-water i:nth-child(4) { right: 22%; bottom: 12%; }
.hero-water i:nth-child(5) { left: 23%; bottom: 10%; }

.paper {
  position: relative;
  width: min(8.5in, calc(100% - 32px));
  margin: 0 auto 80px;
  padding: 1in;
  background: var(--paper);
  box-shadow: 0 24px 80px rgba(7,29,43,.18);
  font: 12pt/1.5 "Bookman Old Style", "Linux Libertine G", Georgia, serif;
}
.paper::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .35;
  background-image: repeating-linear-gradient(0deg, transparent 0 31px, rgba(23,43,51,.025) 32px);
}
.paper p, .paper h1 { position: relative; margin: 0; }

/* ODT paragraphs carry individual P* and Standard classes. Apply the
   requested reading rhythm directly so imported styles cannot override it. */
.paper > p {
  line-height: 1.5 !important;
  margin-top: 0 !important;
  margin-bottom: 1.5em !important;
}

.paper > p > span {
  line-height: inherit;
}
.paper h1 {
  margin-bottom: .0417in;
  font: 26pt/1 "Bookman Old Style", "Linux Libertine G", Georgia, serif;
}
.paper .P18 {
  margin-bottom: .222in;
  color: #666;
  font: 15pt/1 Arial, "Liberation Sans", sans-serif;
}
.paper .P5,
.paper .P3,
.paper .P7 { line-height: inherit; }
.paper .P8 { text-align: center; }
.paper .P9 { margin-left: .5in; text-indent: .5in; }
.paper .P10 { margin-left: 2in; line-height: inherit; }
.paper .P11 { text-indent: .5in; }
.paper .P12 { margin-left: 1.5in; text-indent: .5in; }
.paper .P13 { text-indent: 0; }
.paper .P14 { font-style: italic; }
.paper .P15 { margin-left: 2.5in; }
.paper .P16 { margin-left: 2in; text-indent: .5in; }
.paper .T3 { font-style: italic; }
.paper .T4 { font-family: "Courier Prime", "Courier New", monospace; }
.paper .T5 { font: 20pt Astloch, "Linux Libertine G", serif; }
.paper .T6 { font-size: 11pt; color: #000; }
.tab { display: inline-block; width: .5in; }

footer {
  width: min(1120px, calc(100% - 40px));
  margin: auto;
  padding: 12px 0 55px;
  display: flex;
  justify-content: space-between;
  color: #496b74;
  font-size: .78rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
footer a { color: inherit; }

@media (max-width: 700px) {
  .site-header { height: 62px; }
  .read-time { display: none; }
  .hero { min-height: 500px; padding-top: 65px; }
  .hero h2 { font-size: clamp(3.1rem, 15vw, 5rem); }
  .hero-water { width: 70%; opacity: .6; right: -30%; top: 5%; }
  .paper {
    width: calc(100% - 20px);
    padding: 42px clamp(22px, 7vw, 48px);
    font-size: 11.5pt;
  }
  .paper > h1[data-paragraph="1"] {
    margin: 0 auto .85rem;
    text-align: center;
    font-size: clamp(2rem, 9.5vw, 2.75rem);
    line-height: 1.06;
    letter-spacing: -.025em;
    text-wrap: balance;
  }
  .paper > p[data-paragraph="2"] {
    max-width: 19rem;
    margin: 0 auto .9rem !important;
    text-align: center;
    font-size: clamp(.8rem, 3.7vw, .95rem);
    line-height: 1.55 !important;
    text-wrap: balance;
  }
  .paper > p[data-paragraph="3"] {
    max-width: 20rem;
    margin: 0 auto 3rem !important;
    text-align: center;
    line-height: 1.2 !important;
    text-wrap: balance;
  }
  .paper > p[data-paragraph="3"] .T5 {
    font-size: clamp(1.55rem, 7vw, 2rem);
    line-height: inherit;
  }
  .paper .P9,
  .paper .P10,
  .paper .P12,
  .paper .P15,
  .paper .P16 { margin-left: 0; }
  footer { gap: 24px; align-items: flex-end; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
