/* Printable worksheets: letter-size sheets in the PAIRS Essentials worksheet design */
@font-face { font-family: "W2SM Sans"; src: url("./assets/fonts/montserrat-var.woff2") format("woff2"); font-weight: 300 900; font-display: block; }
@font-face { font-family: "W2SM Serif"; src: url("./assets/fonts/librebaskerville-italic.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: block; }

.pw-bar-top { background: var(--color-surface, #fff); border-bottom: 1px solid var(--color-border, #ddd); padding: 1.1rem 0 .9rem; }
.pw-bar-top__in { display: flex; flex-wrap: wrap; gap: .8rem 1.4rem; align-items: center; justify-content: space-between; }
.pw-bar-top__h { font-size: var(--text-lg, 1.25rem); margin: .1rem 0 0; }
.pw-bar-top__tip { flex-basis: 100%; margin: 0; }
.pw-bar-top .seg a { text-decoration: none; padding: .45rem .9rem; border-radius: 99px; font-size: var(--text-sm); font-weight: 600; color: var(--muted); }
.pw-bar-top .seg a[aria-pressed="true"] { background: var(--surface); color: var(--text); box-shadow: var(--shadow-sm); }
.pw-stack { background: #E9E6DF; padding: 1.5rem .75rem 3rem; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; overflow-x: auto; }

.pw-page {
  --ink: #23306B; --soft: #4A5180; --rule: #8D8FB0;
  width: 8.5in; min-height: 11in; box-sizing: border-box; padding: .55in .62in .4in; position: relative;
  background: #fff; color: var(--ink); font-family: "W2SM Sans", "Montserrat", "Helvetica Neue", Arial, sans-serif; font-weight: 400;
  font-size: 10.5pt; line-height: 1.38; display: flex; flex-direction: column; box-shadow: 0 2px 14px rgba(0,0,0,.12); flex: none;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; overflow: hidden;
}
.pw-page *, .pw-page *::before { box-sizing: border-box; }
.pw-page p { margin: 0; max-width: none; }
.pw-tab { position: absolute; top: 0; right: .2in; width: .72in; height: 1.18in; clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 80%, 0 100%); display: flex; justify-content: center; padding-top: .3in; }
.pw-tab span { color: #fff; font-weight: 800; font-size: 19pt; line-height: 1; letter-spacing: .02em; }
.pw-tab span.sm { font-size: 13pt; }
.pw-head { text-align: center; padding: 0 .55in; margin-bottom: .2in; }
.pw-head h1 { font-family: inherit; font-weight: 800; font-size: 20pt; line-height: 1.12; text-transform: uppercase; color: var(--ink); margin: 0; letter-spacing: .01em; }
.pw-head h1 span { display: block; }
.pw-intro { font-weight: 300; font-size: 11pt; color: var(--soft); margin: .1in auto 0 !important; max-width: 6.4in !important; line-height: 1.4; letter-spacing: .01em; }
.pw-body { flex: 1; position: relative; }
.pw-foot { display: grid; grid-template-columns: .9in 1fr .9in; align-items: end; margin-top: .18in; font-size: 6.6pt; font-weight: 700; color: #1F2433; text-align: center; line-height: 1.5; }
.pw-foot img { width: .78in; height: auto; display: block; }
.pw-foot b { font-weight: 800; color: #B65A12; }
.pw-foot strong { text-align: right; font-size: 10pt; font-weight: 800; }

/* writing lines; answers sit on the lines */
.pw-ln { --lh: 28px; min-height: calc(var(--n) * var(--lh)); line-height: var(--lh); font-size: 10.5pt; color: #1D4FA0; font-weight: 500; white-space: pre-wrap; overflow-wrap: anywhere;
  background-image: linear-gradient(to bottom, transparent calc(var(--lh) - 1px), var(--rule) calc(var(--lh) - 1px), var(--rule) var(--lh)); background-size: 100% var(--lh); }
.pw-ln.first { --lh: 27px; }
.pw-ln.jug { --lh: 24px; }
.pw-agree .pw-ln { --lh: 25px; }
.pw-ln.cell, .pw-ln.inl { --lh: 25px; }
.pw-ln.inl { flex: 1; min-width: 1.5in; }
.pw-mark { font-weight: 800; color: #1D4FA0; font-size: 12pt; line-height: 1; }
.pw-box { border-bottom: 1px solid var(--rule); height: .26in; display: flex; align-items: flex-end; justify-content: center; padding-bottom: 1px; }

.pw-dot { width: .4in; height: .4in; border-radius: 50%; color: #fff; font-weight: 900; font-size: 15pt; display: inline-flex; align-items: center; justify-content: center; flex: none; line-height: 1; }
.pw-dot--sm { width: .21in; height: .21in; font-size: 8pt; }
.pw-pill { border-radius: .09in; color: #fff; font-weight: 500; text-align: center; display: flex; align-items: center; justify-content: center; padding: .07in .1in; font-size: 11pt; line-height: 1.2; min-height: .5in; }
.pw-pill small { font-size: .85em; }
.pw-pill--sm { font-size: 8.4pt; font-weight: 600; padding: .05in .05in; }
.pw-pill--l { justify-content: flex-start; padding-left: .45in; }
.pw-h2 { font-family: inherit; font-weight: 900; font-size: 17pt; text-transform: uppercase; color: var(--ink); margin: .22in 0 .08in; letter-spacing: .01em; }
.pw-para { font-weight: 400; font-size: 10.5pt; line-height: 1.5; }
.pw-wm { position: absolute; color: #EEEDF4; pointer-events: none; z-index: 0; }
.pw-wm svg { width: 100%; height: 100%; display: block; }
.pw-wm--cycle { width: 2.9in; height: 2.9in; right: -.1in; bottom: .05in; }
.pw-wm--check { width: 3.2in; height: 3.2in; right: .9in; top: .4in; color: #F3EAF5; }
.pw-body > *:not(.pw-wm) { position: relative; z-index: 1; }

/* numbered questions (01) */
.pw-q { display: flex; flex-direction: column; gap: .2in; }
.pw-qi p { font-size: 11pt; margin-bottom: .04in; }
.pw-qi p strong { font-weight: 700; }
.pw-qi p em { font-weight: 300; font-style: normal; color: var(--soft); }
.pw-after { margin-top: .18in; display: flex; flex-direction: column; gap: .14in; }

/* circles (03, 07, 11, 14) */
.pw-circles { display: flex; flex-direction: column; gap: .11in; }
.pw-ci { display: grid; grid-template-columns: .5in 1fr; gap: .14in; align-items: start; }
.pw-ci__b p { font-size: 12pt; font-weight: 400; padding-top: .07in; }
.pw-ci__b p small { font-size: 8.5pt; }
.pw-ci__b .pw-ln { --lh: 29px; }

/* steps (02 DTR, 06 Jug) */
.pw-steps { display: flex; flex-direction: column; gap: .16in; }
.pw-step { display: grid; grid-template-columns: .78in 1fr; }
.pw-step__k { font-weight: 900; font-size: 9pt; letter-spacing: .01em; padding-top: .02in; }
.pw-step__b > p { font-size: 9.6pt; font-weight: 300; color: #2B3157; }
.pw-step__b > p strong { font-weight: 700; color: var(--ink); }
.pw-stem { font-family: "W2SM Serif", "Baskerville", Georgia, serif; font-style: italic; font-size: 12.5pt !important; color: var(--ink) !important; margin-top: .03in !important; font-weight: 400 !important; }
.pw-steps--jug { gap: .035in; }
.pw-steps--jug .q { font-weight: 500; font-size: 10pt; color: var(--ink); margin-top: .01in; line-height: 1.25; }
.pw-steps--jug .q strong { font-weight: 800; }
.pw-steps--jug .h { font-style: italic; font-size: 7.8pt; font-weight: 400; line-height: 1.25; }
.pw-thank { position: relative; margin-top: .03in; }
.pw-thank span { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: 52pt; color: rgba(35,48,107,.045); pointer-events: none; letter-spacing: .02em; }

/* groups (13) */
.pw-bar { color: #fff; border-radius: .08in; text-align: center; font-size: 12.5pt; font-weight: 500; padding: .1in; margin: .1in 0 .14in; }
.pw-bar strong { font-weight: 800; }
.pw-inl { display: flex; flex-direction: column; gap: .12in; margin-bottom: .45in; }
.pw-inl__r { display: flex; align-items: flex-end; gap: .1in; }
.pw-inl__r .pw-dot { align-self: center; }
.pw-inl__l { font-size: 12pt; white-space: nowrap; padding-bottom: .03in; }

/* agreement (09) */
.pw-agree { display: flex; flex-direction: column; gap: .1in; }
.pw-agree__h { background: var(--ink); color: #fff; border-radius: .08in; text-align: center; font-weight: 800; font-size: 10.5pt; text-transform: uppercase; padding: .17in; letter-spacing: .02em; }
.pw-agree__r { border: 1.4px solid var(--ink); border-radius: .08in; padding: .12in .2in; display: grid; grid-template-columns: 1fr 1fr; gap: .3in; align-items: center; min-height: 1.36in; }
.pw-agree__r strong { font-weight: 800; font-size: 11pt; display: block; margin-bottom: .05in; }
.pw-agree__r p { font-weight: 300; font-size: 10.5pt; }

/* checks (05, stress styles) */
.pw-chkwrap { --cols: .72in .86in .86in; }
.pw-chk { display: grid; grid-template-columns: .28in 1.38in 1fr var(--cols); gap: .08in; align-items: end; margin-bottom: .2in; }
.pw-chk--h { grid-template-columns: 1.74in 1fr var(--cols); align-items: stretch; margin-bottom: .26in; }
.pw-chk--h .pw-pill { font-size: 9pt; font-weight: 600; min-height: .75in; }
.pw-chk .pw-dot { align-self: start; margin-top: .02in; }
.pw-chk__l { font-weight: 800; font-size: 10.5pt; align-self: start; }
.pw-chk__s { font-size: 10.5pt; font-weight: 400; color: #2B3157; align-self: start; }
.four .pw-chk__s { color: var(--soft); }

/* pairs (04) */
.pw-pr { display: grid; grid-template-columns: .3in 1.25fr 1fr; gap: .16in; align-items: end; margin-bottom: .11in; }
.pw-pr--h { margin-bottom: .2in; align-items: stretch; }
.pw-pr .pw-dot { margin-bottom: .02in; }
.pw-tips { margin: 0; padding-left: .2in; font-size: 10.4pt; line-height: 1.42; display: flex; flex-direction: column; gap: .07in; }
.pw-w04 .pw-after .pw-qi p { font-size: 10pt; }

/* yes/no (08) */
.pw-yn { display: grid; grid-template-columns: .34in 1fr .65in .65in; gap: .08in; align-items: end; margin-bottom: .13in; }
.pw-yn--h, .pw-yn--t { grid-template-columns: 1fr .65in .65in; align-items: stretch; margin: .1in 0 .22in; }
.pw-yn--t { grid-template-columns: 1fr 1.38in; margin-top: .22in; }
.pw-yn__l { font-size: 12.5pt; font-weight: 400; }
.pw-yn .pw-dot { width: .27in; height: .27in; font-size: 10pt; }
.pw-total { background: #F1EAF4; border-radius: .09in; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #1D4FA0; }

/* knots (10) */
.pw-kn { display: grid; grid-template-columns: .55in 1fr .95in .95in; gap: .1in; align-items: end; margin-bottom: .15in; }
.pw-kn--h { align-items: stretch; margin-bottom: .2in; }
.pw-kn--h .pw-pill { font-size: 11pt; min-height: .85in; }
.pw-kn .pw-dot { align-self: start; }
.pw-kn__t { font-size: 10.2pt; line-height: 1.36; align-self: start; }
.pw-kn__re { font-style: italic; color: #1D4FA0; font-weight: 500; margin-top: .04in; }

/* powergram (12) */
.pw-pgm { display: grid; grid-template-columns: .25in 1.8in repeat(5, 1fr); gap: .09in; align-items: end; margin-bottom: .03in; }
.pw-pgm--h { grid-template-columns: 2.14in repeat(5, 1fr); align-items: stretch; margin-bottom: .14in; }
.pw-pgm--h .pw-pill:first-child { font-size: 11pt; }
.pw-pgm--h .pw-pill { min-height: .82in; font-size: 9.5pt; }
.pw-pgm__l { font-size: 9pt; font-weight: 400; padding-bottom: .02in; }
.pw-pgm__l.custom { border-bottom: 1px solid var(--rule); height: .22in; color: #1D4FA0; font-weight: 500; }
.pw-pgm .pw-box { height: .22in; }
.pw-pgm .pw-mark { font-size: 9.5pt; }
.pw-w12 .pw-h2 { margin-top: .16in; font-size: 14pt; }
.pw-w12 .pw-para { font-size: 10pt; line-height: 1.45; }
.pw-w12 .pw-intro { font-size: 10.5pt; }

/* maintenance (16) */
.pw-mt { display: grid; grid-template-columns: .3in 1fr .75in .75in 1.25in; gap: .08in; align-items: end; margin-bottom: .26in; }
.pw-mt--h { grid-template-columns: 1fr 1.58in 1.25in; align-items: stretch; margin-bottom: .32in; }
.pw-mt__nd { background: #A3CFEF; border-radius: .09in; color: #fff; padding: .16in .3in; font-weight: 700; font-size: 13pt; display: flex; flex-direction: column; justify-content: center; gap: .08in; }
.pw-mt__nd span { color: var(--ink); font-weight: 500; }
.pw-mt__grp { display: flex; flex-direction: column; gap: .06in; }
.pw-mt__sp { display: grid; grid-template-columns: 1fr 1fr; gap: .08in; }
.pw-mt__sp .pw-pill { min-height: .34in; }
.pw-mt__l { font-size: 13pt; font-weight: 400; }

/* print */
@media print {
  @page { size: letter; margin: 0; }
  html, body { background: #fff !important; }
  body.pw-mode .site-header, body.pw-mode .site-footer, body.pw-mode .skip-link, body.pw-mode .toast { display: none !important; }
  body.pw-mode main { padding: 0 !important; margin: 0 !important; }
  body.pw-mode > :not(main) { display: none !important; }
  .pw-stack { background: none; padding: 0; gap: 0; display: block; overflow: visible; }
  .pw-page { zoom: 1 !important; box-shadow: none; margin: 0; break-after: page; page-break-after: always; }
  .pw-page:last-of-type { break-after: auto; page-break-after: auto; }
}
@media screen and (max-width: 860px) { .pw-stack { align-items: flex-start; } }
.pw-foot img.pw-logo-pairs { width: .5in; }
