/* =========================================================
   D.I.G.G.E.R. FIELD JOURNAL
   Field Tool 88 — Following the Flow of Thought
   Print-first four-page edition
   ========================================================= */

@page {
  size: Letter portrait;
  margin: 0;
}

:root {
  --flow-white: #ffffff;
  --flow-ink: #22261f;
  --flow-navy: #18314d;
  --flow-muted: #5d635b;
  --flow-olive: #69755f;
  --flow-olive-dark: #4b5843;
  --flow-olive-pale: #eef1eb;
  --flow-bronze: #a57843;
  --flow-bronze-dark: #7b5935;
  --flow-bronze-pale: #f5efe7;
  --flow-blue: #68818c;
  --flow-blue-pale: #edf3f5;
  --flow-rule: #b9bdb6;
  --flow-rule-light: #d9dcd7;
  --flow-serif: Georgia, "Times New Roman", serif;
  --flow-sans: Arial, Helvetica, sans-serif;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: #d7d7d7;
}

.book {
  margin: 0;
  padding: 0;
}

.flow-page,
.flow-page *,
.flow-page *::before,
.flow-page *::after {
  box-sizing: border-box;
}

.page.flow-page,
.page.flow-page::before,
.page.flow-page::after,
.flow-sheet,
.flow-sheet::before,
.flow-sheet::after {
  background-color: var(--flow-white) !important;
  background-image: none !important;
}

.page.flow-page::before,
.page.flow-page::after,
.flow-sheet::before,
.flow-sheet::after {
  content: none !important;
  display: none !important;
}

/* Physical print sheet */
.flow-page {
  width: 8.5in;
  height: 11in;
  min-height: 11in;
  margin: 0 auto 0.35in;
  overflow: hidden;
  color: var(--flow-ink);
  background: var(--flow-white);
  break-after: page;
  page-break-after: always;
}

.flow-page:last-child {
  break-after: auto;
  page-break-after: auto;
}

.flow-sheet {
  display: grid;
  grid-template-rows: 0.58in minmax(0, 1fr) 0.38in;
  width: 100%;
  height: 100%;
  padding-top: 0.34in;
  padding-bottom: 0.28in;
}

.flow-page.page--right .flow-sheet {
  padding-left: 0.82in;
  padding-right: 0.58in;
}

.flow-page.page--left .flow-sheet {
  padding-left: 0.58in;
  padding-right: 0.82in;
}

.flow-content {
  min-height: 0;
  overflow: hidden;
}

/* Ribbon */
.flow-ribbon {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-width: 2.95in;
  height: 0.42in;
  margin-left: 0.22in;
  padding: 0 0.34in 0 0.55in;
  background: var(--flow-olive);
  color: #fff;
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.flow-ribbon::after {
  content: "";
  position: absolute;
  top: 0;
  right: -0.25in;
  width: 0;
  height: 0;
  border-top: 0.21in solid transparent;
  border-bottom: 0.21in solid transparent;
  border-left: 0.25in solid var(--flow-olive);
}

.flow-ribbon__seal {
  position: absolute;
  left: -0.24in;
  display: grid;
  place-items: center;
  width: 0.54in;
  height: 0.54in;
  border: 3px solid #fff;
  border-radius: 50%;
  outline: 1px solid var(--flow-olive-dark);
  background: var(--flow-olive-dark);
  color: #fff;
  font-size: 14pt;
  letter-spacing: 0;
}

/* Hero */
.flow-hero {
  text-align: center;
}

.flow-workflow {
  display: inline-grid;
  grid-template-columns: 0.52in auto;
  gap: 0.12in;
  align-items: center;
  margin-bottom: 0.14in;
  text-align: left;
}

.flow-workflow__letter {
  display: grid;
  place-items: center;
  width: 0.52in;
  height: 0.52in;
  border-radius: 50%;
  background: var(--flow-blue);
  color: #fff;
  font-family: var(--flow-sans);
  font-size: 22pt;
  font-weight: 700;
}

.flow-eyebrow {
  margin: 0;
  color: var(--flow-blue);
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  text-transform: uppercase;
}

.flow-workflow__name {
  margin: 0.025in 0 0;
  font-family: var(--flow-serif);
  font-size: 12pt;
  font-weight: 700;
  line-height: 1.05;
}

.flow-hero h1 {
  margin: 0;
  color: var(--flow-navy);
  font-family: var(--flow-serif);
  font-size: 28pt;
  font-weight: 400;
  line-height: 1.05;
}

.flow-hero--continued h1 {
  font-size: 24pt;
}

.flow-deck {
  max-width: 6.1in;
  margin: 0.10in auto 0;
  color: var(--flow-olive-dark);
  font-family: var(--flow-sans);
  font-size: 10.5pt;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.35;
  text-transform: uppercase;
}

.flow-continued {
  margin: 0 0 0.07in;
  color: var(--flow-bronze-dark);
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
}

.flow-rule {
  display: flex;
  align-items: center;
  gap: 0.12in;
  width: 3.25in;
  margin: 0.13in auto;
}

.flow-rule::before,
.flow-rule::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--flow-bronze);
}

.flow-rule span {
  width: 0.09in;
  height: 0.09in;
  border: 1px solid var(--flow-bronze);
  transform: rotate(45deg);
}

.flow-intro {
  margin: 0;
  padding: 0.14in 0.18in;
  border-left: 4px solid var(--flow-blue);
  background: var(--flow-blue-pale);
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.42;
  text-align: left;
}

/* Shared panels */
.flow-panel,
.flow-checklist,
.example-source,
.example-outline,
.example-explanation {
  margin-top: 0.18in;
  padding: 0.16in 0.18in;
  border: 1px solid var(--flow-rule);
  background: #fff;
  break-inside: avoid;
}

.flow-section-head p,
.flow-section-head h2 {
  margin: 0;
}

.flow-section-head h2 {
  margin-top: 0.035in;
  font-family: var(--flow-serif);
  font-size: 15pt;
  line-height: 1.08;
}

/* Definition */
.flow-definition__grid {
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  gap: 0.18in;
  align-items: stretch;
  margin-top: 0.13in;
}

.flow-definition__copy {
  padding: 0.14in 0.16in;
  border-left: 4px solid var(--flow-olive);
  background: var(--flow-olive-pale);
}

.flow-definition__copy p {
  margin: 0;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.38;
}

.flow-definition__copy p+p {
  margin-top: 0.09in;
}

.flow-diagram {
  padding: 0.14in 0.15in;
  border: 1px solid var(--flow-rule-light);
  background: #fff;
}

.flow-diagram__line {
  display: grid;
  grid-template-columns: 0.74in minmax(0, 1fr);
  gap: 0.08in;
  align-items: baseline;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.25;
}

.flow-diagram__line+.flow-diagram__line {
  margin-top: 0.06in;
}

.flow-diagram__line span {
  color: var(--flow-bronze-dark);
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
  text-transform: uppercase;
}

.flow-diagram__line--2 {
  margin-left: 0.22in;
}

.flow-diagram__line--3 {
  margin-left: 0.44in;
}

.flow-diagram__line--4 {
  margin-left: 0.66in;
}

.flow-diagram__line--main strong {
  color: var(--flow-olive-dark);
}

/* Principles */
.flow-principles__grid {
  display: grid;
  gap: 0.11in;
  margin-top: 0.13in;
}

.flow-principles__grid article {
  display: grid;
  grid-template-columns: 0.34in minmax(0, 1fr);
  gap: 0.10in;
  align-items: start;
}

.flow-principles__grid article>span {
  display: grid;
  place-items: center;
  width: 0.32in;
  height: 0.32in;
  border-radius: 50%;
  background: var(--flow-olive-dark);
  color: #fff;
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
}

.flow-principles__grid h3 {
  margin: 0 0 0.03in;
  font-family: var(--flow-serif);
  font-size: 11.5pt;
  line-height: 1.1;
}

.flow-principles__grid p {
  margin: 0;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.28;
}

/* Notes */
.flow-note {
  display: grid;
  grid-template-columns: 0.38in minmax(0, 1fr);
  gap: 0.11in;
  align-items: start;
  margin-top: 0.17in;
  padding: 0.14in 0.16in;
  border-left: 4px solid var(--flow-bronze);
  background: var(--flow-bronze-pale);
}

.flow-note>span {
  display: grid;
  place-items: center;
  width: 0.34in;
  height: 0.34in;
  border-radius: 50%;
  background: var(--flow-bronze-dark);
  color: #fff;
  font-family: var(--flow-sans);
  font-size: 11pt;
  font-weight: 700;
}

.flow-note h2 {
  margin: 0 0 0.03in;
  color: var(--flow-bronze-dark);
  font-family: var(--flow-sans);
  font-size: 10pt;
  letter-spacing: 0.07em;
  line-height: 1;
  text-transform: uppercase;
}

.flow-note p {
  margin: 0;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.3;
}

/* Method */
.flow-method {
  display: grid;
  gap: 0.14in;
  margin-top: 0.18in;
}

.flow-step {
  display: grid;
  grid-template-columns: 0.44in minmax(0, 1fr);
  gap: 0.12in;
  padding: 0.16in 0.18in;
  border: 1px solid var(--flow-rule);
  border-top: 4px solid var(--flow-olive);
  background: #fff;
}

.flow-step--bronze {
  border-top-color: var(--flow-bronze);
}

.flow-step__number {
  display: grid;
  place-items: center;
  width: 0.40in;
  height: 0.40in;
  border-radius: 50%;
  background: var(--flow-olive-dark);
  color: #fff;
  font-family: var(--flow-sans);
  font-size: 11pt;
  font-weight: 700;
}

.flow-step--bronze .flow-step__number {
  background: var(--flow-bronze-dark);
}

.flow-step h2 {
  margin: 0 0 0.04in;
  font-family: var(--flow-serif);
  font-size: 13pt;
  line-height: 1.1;
}

.flow-step p {
  margin: 0;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.3;
}

.flow-checklist {
  background: var(--flow-blue-pale);
}

.flow-checklist ul {
  margin: 0.12in 0 0;
  padding-left: 0.22in;
}

.flow-checklist li {
  margin: 0 0 0.07in;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.3;
}

.flow-checklist li:last-child {
  margin-bottom: 0;
}

/* Relationship guide */
.relationship-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.14in;
  margin-top: 0.18in;
}

.relationship-card {
  padding: 0.15in 0.17in;
  border: 1px solid var(--flow-rule);
  border-top: 4px solid var(--flow-olive);
  background: #fff;
}

.relationship-card--bronze {
  border-top-color: var(--flow-bronze);
}

.relationship-card h2 {
  margin: 0;
  color: var(--flow-olive-dark);
  font-family: var(--flow-serif);
  font-size: 13pt;
  line-height: 1.1;
}

.relationship-card--bronze h2 {
  color: var(--flow-bronze-dark);
}

.relationship-card__question {
  margin: 0.05in 0 0;
  font-family: var(--flow-serif);
  font-size: 10pt;
  font-style: italic;
  line-height: 1.2;
}

.relationship-card__words {
  margin: 0.05in 0 0;
  color: var(--flow-muted);
  font-family: var(--flow-sans);
  font-size: 10pt;
  line-height: 1.2;
}

/* Worked example */
.example-source blockquote {
  margin: 0.13in 0 0;
  padding: 0.15in 0.18in;
  border-left: 4px solid var(--flow-olive);
  background: var(--flow-olive-pale);
  font-family: var(--flow-serif);
  font-size: 11pt;
  line-height: 1.4;
}

.example-source__reference {
  margin: 0.07in 0 0;
  color: var(--flow-muted);
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
  text-align: right;
}

.outline-board {
  margin-top: 0.13in;
  padding: 0.17in 0.18in;
  border-left: 4px solid var(--flow-bronze);
  background: var(--flow-bronze-pale);
}

.outline-line {
  display: grid;
  grid-template-columns: 0.90in minmax(0, 1fr);
  gap: 0.10in;
  align-items: baseline;
  font-size: 10pt;
  line-height: 1.3;
}

.outline-line+.outline-line {
  margin-top: 0.08in;
}

.outline-line span {
  color: var(--flow-bronze-dark);
  font-family: var(--flow-sans);
  font-size: 10pt;
  font-weight: 700;
  text-transform: uppercase;
}

.outline-line strong {
  font-family: var(--flow-serif);
  font-size: 11pt;
}

.outline-line--2 {
  margin-left: 0.28in;
}

.outline-line--3 {
  margin-left: 0.56in;
}

.outline-line--main strong {
  color: var(--flow-olive-dark);
  font-size: 12pt;
}

.example-explanation__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.12in;
  margin-top: 0.13in;
}

.example-explanation__grid article {
  padding: 0.13in 0.15in;
  border: 1px solid var(--flow-rule-light);
  background: #fff;
}

.example-explanation__grid h3 {
  margin: 0 0 0.04in;
  color: var(--flow-olive-dark);
  font-family: var(--flow-serif);
  font-size: 11.5pt;
  line-height: 1.1;
}

.example-explanation__grid p {
  margin: 0;
  font-family: var(--flow-serif);
  font-size: 10pt;
  line-height: 1.28;
}

/* Footer */
.flow-footer {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0.18in;
  align-items: end;
  padding-top: 0.09in;
  border-top: 1px solid var(--flow-rule);
  color: var(--flow-muted);
  font-family: var(--flow-sans);
  font-size: 10pt;
  line-height: 1;
}

/* Screen preview */
@media screen {
  .flow-page {
    box-shadow: 0 0.12in 0.35in rgba(0, 0, 0, 0.15);
  }
}

/* Print output */
@media print {

  html,
  body {
    width: 8.5in;
    margin: 0;
    padding: 0;
    background: #fff !important;
  }

  .book {
    background: #fff !important;
  }

  .flow-page {
    margin: 0;
    box-shadow: none;
    background: #fff !important;
    break-after: page;
    page-break-after: always;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .flow-page:last-child {
    break-after: auto;
    page-break-after: auto;
  }

  .flow-panel,
  .flow-step,
  .relationship-card,
  .flow-checklist,
  .flow-note,
  .example-source,
  .example-outline,
  .example-explanation {
    break-inside: avoid;
    page-break-inside: avoid;
  }
}