/* ── Examination of Conscience ───────────────────────────────────────────
   Page-scoped styles for /examination. Under the shared masthead: a contents
   card drawn as the two tablets of the Law (I–III love of God, IV–X love of
   neighbour) beside a "begin / go further / confess" column; a three-step
   "how to use" strip; a sticky jump bar; then each commandment opens on its
   numeral and splits into a grave-matter list and a lesser-faults list of
   checkable questions. Further examination (precepts, state in life,
   Beatitudes, capital sins) and the confession helps follow on dark bands.

   What the reader marks is kept in this browser only and gathers into a tray
   at the foot of the screen, a review sheet, and a dated printable checklist
   (#exm-report) for the confessional. Printing the whole guide is styled at
   the bottom of this file as well.

   The nav, the masthead and the footer are the shared ones and are not
   restyled here. Every class is .exm-*; the older .exam-* rules in styles.css
   belonged to the previous layout of this page. */

/* The page sits on plain white rather than the site's parchment and grain,
   for the strongest contrast across long lists of small print. */
.page-examination{
  --exm-bg:#ffffff;
  --exm-panel:#ede4d0;
  --exm-rule-soft:#e6dcc6;
  --exm-violet:#5b3a7a;       /* 9.6:1 on white */
  --exm-dark-soft:#d4c7a9;    /* 11:1 on --espresso */
  --exm-dark-muted:#b3a07c;   /* 7.2:1 on --espresso */
  --exm-shadow:0 22px 48px -18px rgba(40,28,8,.32);
  background:var(--exm-bg);background-image:none;
}
.page-examination a:focus-visible,
.page-examination button:focus-visible,
.page-examination input:focus-visible{outline:2px solid var(--gold-deep);outline-offset:3px;border-radius:2px;}

.exm-caps{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;}
.exm-eyebrow{
  font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold-deep);line-height:1.6;
}
.exm-btn{
  display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:13px 22px;
  border:1px solid var(--gold);background:transparent;color:var(--ink);cursor:pointer;
  font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
}
.exm-btn:hover{color:var(--gold-deep);border-color:var(--gold-deep);}
.exm-btn svg{flex:none;color:var(--gold-deep);}

/* ── Contents: the two tablets and the rest of the guide ────────────── */
.exm-index-wrap{margin-top:40px;}
.exm-index{background:var(--exm-bg);border:1px solid var(--rule);box-shadow:var(--exm-shadow);padding:36px 40px 40px;}
.exm-index-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding-bottom:22px;}
.exm-index-head h2{font-family:var(--display);font-size:22px;font-weight:500;margin-top:6px;letter-spacing:.06em;}
.exm-index-head p{font-family:var(--head);font-style:italic;color:var(--muted);font-size:19px;}
.exm-index-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin-top:32px;align-items:start;}
.exm-tablet{border:1px solid var(--gold);border-radius:120px 120px 6px 6px;padding:40px 26px 22px;background:var(--exm-bg);min-width:0;}
.exm-tablet .exm-tl{font-size:10px;font-weight:600;color:var(--gold-deep);text-align:center;letter-spacing:.2em;}
.exm-tablet .exm-tt{text-align:center;font-family:var(--head);font-style:italic;color:var(--muted);font-size:18px;margin:6px 0 18px;}
.exm-tablet ol{list-style:none;}
.exm-tablet li{border-top:1px solid var(--exm-rule-soft);}
.exm-tablet a{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:baseline;padding:11px 4px;min-height:44px;color:var(--ink);}
.exm-tablet a:hover{color:var(--gold-deep);}
.exm-tablet .exm-rn{font-family:var(--display);font-size:15px;color:var(--gold-deep);text-align:right;letter-spacing:.04em;}
.exm-tablet .exm-ct{font-size:18px;line-height:1.3;}
.exm-side{display:flex;flex-direction:column;gap:22px;min-width:0;}
.exm-side section{border-top:1px solid var(--rule);padding-top:14px;}
.exm-side .exm-eyebrow{margin-bottom:6px;}
.exm-side a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;font-size:18px;min-height:44px;color:var(--ink);}
.exm-side a:hover{color:var(--gold-deep);}
.exm-side a svg{flex:none;color:var(--gold-deep);}
@media(max-width:1000px){
  .exm-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .exm-side{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;}
  .exm-side section{flex:1 1 220px;}
}
@media(max-width:700px){
  .exm-index-wrap{margin-top:28px;}
  .exm-index{padding:24px 18px 28px;}
  .exm-index-grid{grid-template-columns:1fr;gap:24px;}
  .exm-tablet{border-radius:80px 80px 6px 6px;padding:30px 16px 16px;}
  .exm-side{flex-direction:column;}
}

/* ── How to use this page ───────────────────────────────────────────── */
.exm-howto{padding-top:64px;}
.exm-howto .exm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;}
.exm-howto h3{font-family:var(--display);font-size:15px;font-weight:500;margin-top:10px;letter-spacing:.08em;}
.exm-howto p{margin-top:10px;font-size:18px;color:var(--muted);line-height:1.55;}
.exm-howto .exm-n{font-family:var(--display);font-size:34px;color:var(--gold);line-height:1;}
.exm-tools{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;padding-top:24px;border-top:1px solid var(--rule);}
@media(max-width:900px){
  .exm-howto{padding-top:48px;}
  .exm-howto .exm-grid{grid-template-columns:1fr;gap:28px;}
}

/* ── Sticky jump bar ────────────────────────────────────────────────────
   Sits under the site bar, reading --nav-h like every other sticky index on
   the site, and scrolls sideways on a phone rather than wrapping. */
.exm-jump{position:sticky;top:var(--nav-h);z-index:20;margin-top:56px;background:var(--espresso);border-bottom:1px solid var(--rule-dark);}
.exm-jump .wrap{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;align-items:center;}
.exm-jump .wrap::-webkit-scrollbar{display:none;}
.exm-jump a{
  flex:none;color:var(--exm-dark-soft);font-family:var(--display);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;padding:15px 11px 13px;border-bottom:2px solid transparent;
}
.exm-jump a.exm-rn{font-size:13px;padding-inline:12px;letter-spacing:.04em;}
.exm-jump a:hover{color:var(--paper);}
.exm-jump a[aria-current]{color:var(--champagne);border-bottom-color:var(--champagne);}
.page-examination .exm-jump a:focus-visible{outline:2px solid var(--champagne);outline-offset:-4px;}
.exm-jump .exm-sep{flex:none;width:1px;height:18px;background:var(--rule-dark);margin:0 8px;}

/* The html scroll-padding (80px) plus this clears the bar and the jump bar. */
.exm-prose,.exm-prayer,.exm-cmd,.exm-band,.exm-sec,.exm-close,.exm-beat{scroll-margin-top:calc(var(--nav-h) - 14px);}

/* ── Before you begin ───────────────────────────────────────────────── */
.exm-prose{padding-top:88px;}
.exm-prose .exm-cols{display:grid;grid-template-columns:5fr 7fr;gap:64px;align-items:start;}
.exm-prose h2{font-family:var(--display);font-size:clamp(28px,3.2vw,38px);font-weight:500;margin-top:12px;line-height:1.1;letter-spacing:.02em;}
.exm-prose .exm-lede{font-family:var(--head);font-size:23px;line-height:1.45;margin-top:20px;}
.exm-prose h3{font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-top:36px;color:var(--gold-deep);}
.exm-prose h3:first-child{margin-top:0;}
.exm-prose p{margin-top:12px;font-size:19px;line-height:1.6;}
.exm-cond{list-style:none;margin-top:16px;counter-reset:c;}
.exm-cond li{position:relative;padding:14px 0 14px 56px;border-top:1px solid var(--rule);counter-increment:c;font-size:19px;line-height:1.55;}
.exm-cond li::before{
  content:counter(c);position:absolute;left:0;top:12px;width:36px;height:36px;border:1px solid var(--gold);
  border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:14px;color:var(--gold-deep);
}
.exm-cond b{font-weight:600;}
.exm-callout{margin-top:36px;padding:28px 32px;background:var(--exm-panel);}
.exm-callout p{margin-top:10px;}
.exm-prose .exm-callout .exm-eyebrow{margin-top:0;}
.exm-prose .exm-go{margin-top:28px;}
@media(max-width:900px){
  .exm-prose{padding-top:56px;}
  .exm-prose .exm-cols{grid-template-columns:1fr;gap:32px;}
  .exm-prose .exm-lede{font-size:21px;}
  .exm-callout{padding:22px 20px;}
}

/* ── Prayer before the examination ──────────────────────────────────── */
.exm-prayer{padding-top:72px;}
.exm-prayer .exm-card{max-width:760px;margin:0 auto;text-align:center;padding:48px 40px;border:1px solid var(--gold);position:relative;}
.exm-prayer .exm-card::before{
  content:"✦";position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--exm-bg);padding:0 14px;color:var(--gold);font-size:18px;line-height:1;
}
.exm-prayer .exm-lead{font-family:var(--head);font-style:italic;color:var(--muted);margin-top:14px;font-size:19px;}
.exm-prayer .exm-verse{font-family:var(--head);font-size:22px;line-height:1.5;margin-top:22px;font-style:italic;}
@media(max-width:900px){.exm-prayer .exm-card{padding:36px 20px;}.exm-prayer .exm-verse{font-size:20px;}}

/* ── Group bands ────────────────────────────────────────────────────── */
.exm-band{background:var(--espresso);color:var(--paper);margin-top:88px;}
.exm-band .wrap{display:flex;align-items:baseline;gap:32px;padding-top:40px;padding-bottom:40px;flex-wrap:wrap;}
.exm-band .exm-num{font-family:var(--display);font-size:46px;color:var(--champagne);font-weight:500;line-height:1;}
.exm-band .exm-mid{flex:1 1 320px;min-width:0;}
.exm-band h2{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:#f5ecd6;line-height:1.3;}
.exm-band p{margin-top:8px;font-family:var(--head);font-style:italic;font-size:21px;color:var(--exm-dark-soft);}
@media(max-width:900px){
  .exm-band{margin-top:56px;}
  .exm-band .wrap{padding-top:28px;padding-bottom:28px;gap:20px;}
  .exm-band .exm-num{font-size:36px;}
  .exm-band h2{font-size:16px;}
  .exm-band p{font-size:18px;}
}

/* ── One commandment ────────────────────────────────────────────────── */
.exm-cmd{padding-top:88px;}
.exm-cmd-head{display:grid;grid-template-columns:150px 1fr;gap:32px;align-items:start;padding-bottom:32px;border-bottom:1px solid var(--gold);}
.exm-cmd-head .exm-num{font-family:var(--display);font-size:clamp(56px,7vw,96px);color:var(--gold);line-height:.9;letter-spacing:.02em;font-weight:400;}
.exm-cmd-head h2{font-family:var(--display);font-size:clamp(22px,2.6vw,32px);font-weight:500;margin-top:10px;line-height:1.25;letter-spacing:.02em;}
.exm-cmd-head .exm-ex{font-family:var(--head);font-style:italic;font-size:21px;color:var(--muted);margin-top:14px;max-width:760px;}
.exm-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px;margin-top:40px;}

/* A checklist. Each question is a whole-row label, 44px tall at least. */
.exm-list{min-width:0;}
.exm-list-head{padding:14px 0;border-top:2px solid var(--exm-violet);display:flex;flex-direction:column;gap:4px;}
.exm-list.exm-lesser .exm-list-head{border-top-color:var(--gold);}
.exm-list-head .exm-eyebrow{color:var(--exm-violet);}
.exm-list.exm-lesser .exm-list-head .exm-eyebrow{color:var(--gold-deep);}
.exm-list-head .exm-sub{font-family:var(--head);font-style:italic;color:var(--muted);font-size:17px;}
.exm-list ul{list-style:none;}
.exm-list li{border-top:1px solid var(--exm-rule-soft);}
.exm-list label{
  display:grid;grid-template-columns:22px 1fr;gap:14px;align-items:start;padding:11px 0;min-height:44px;
  cursor:pointer;font-size:18px;line-height:1.45;
}
.exm-list label:hover{color:var(--gold-deep);}
.exm-list input{
  appearance:none;-webkit-appearance:none;width:20px;height:20px;margin-top:3px;border:1px solid var(--gold-deep);
  background:var(--exm-bg);display:grid;place-content:center;cursor:pointer;flex:none;border-radius:0;
}
.exm-list input::before{
  content:"";width:11px;height:11px;transform:scale(0);background:var(--gold-deep);
  clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);
}
.exm-list input:checked::before{transform:scale(1);}
.exm-list input:checked+span{font-weight:600;color:var(--ink);}
.exm-roots{margin-top:36px;padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;}
.exm-roots .exm-k{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:600;color:var(--muted);}
.exm-roots .exm-g{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.exm-chip{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:600;padding:7px 11px;border:1px solid var(--rule);color:var(--muted);}
.exm-chip.exm-v{border-color:var(--gold);color:var(--gold-deep);}
a.exm-chip:hover{color:var(--ink);border-color:var(--gold-deep);}
@media(max-width:900px){
  .exm-cmd{padding-top:56px;}
  .exm-cmd-head{grid-template-columns:1fr;gap:8px;padding-bottom:24px;}
  .exm-cmd-head .exm-num{font-size:56px;}
  .exm-lists{grid-template-columns:1fr;gap:28px;margin-top:28px;}
}

/* ── Further examination ────────────────────────────────────────────── */
.exm-sec{padding-top:88px;}
.exm-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--gold);padding-bottom:24px;}
.exm-sec-head h2{font-family:var(--display);font-size:clamp(26px,3vw,36px);font-weight:500;margin-top:10px;line-height:1.15;letter-spacing:.02em;}
.exm-sec-head p{font-family:var(--head);font-style:italic;color:var(--muted);font-size:20px;max-width:520px;flex:1 1 300px;}

.exm-precepts{list-style:none;margin-top:8px;counter-reset:p;}
.exm-precepts>li{display:grid;grid-template-columns:72px 1fr;gap:24px;padding:28px 0;border-top:1px solid var(--rule);counter-increment:p;}
.exm-precepts>li:first-child{border-top:0;}
.exm-precepts>li::before{content:counter(p);font-family:var(--display);font-size:40px;color:var(--gold);line-height:1;}
.exm-precepts>li.exm-m::before{content:"✦";font-size:24px;padding-top:8px;}
.exm-precepts h3,.exm-role h3{font-family:var(--display);font-size:17px;font-weight:500;margin-top:6px;letter-spacing:.04em;line-height:1.35;}
.exm-precepts .exm-list,.exm-role .exm-list,.exm-beat .exm-list{margin-top:8px;}
.exm-precepts .exm-list li:first-child,.exm-role .exm-list li:first-child,.exm-beat .exm-list li:first-child{border-top:0;}

.exm-roles,.exm-beats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px;margin-top:8px;}
.exm-role,.exm-beat{padding-top:24px;border-top:1px solid var(--rule);min-width:0;}
.exm-roles>.exm-role:nth-child(-n+2),.exm-beats>.exm-beat:nth-child(-n+2){border-top:0;padding-top:28px;}

.exm-beat-head{display:grid;grid-template-columns:56px 1fr;gap:16px;align-items:start;}
.exm-beat-head .exm-bn{font-family:var(--display);font-size:40px;color:var(--gold);line-height:1;}
.exm-beat-head h3{font-family:var(--display);font-size:17px;font-weight:500;margin-top:6px;letter-spacing:.03em;line-height:1.35;}
.exm-promise{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600;color:var(--gold-deep);margin-top:8px;}
.exm-means{font-family:var(--head);font-style:italic;color:var(--muted);margin-top:8px;font-size:18px;}
.exm-world{margin-top:64px;padding:40px 48px;background:var(--exm-panel);}
.exm-world p{margin-top:12px;font-size:19px;line-height:1.6;}
.exm-world .exm-eyebrow{margin-top:0;}
.exm-world-grid{margin-top:20px;max-width:640px;}
.exm-world-grid .exm-wr,.exm-world-grid .exm-wh{display:grid;grid-template-columns:1fr 32px 1fr;gap:12px;padding:10px 0;border-top:1px solid var(--rule);align-items:baseline;font-size:18px;}
.exm-world-grid .exm-wh{border-top:0;padding-bottom:4px;}
.exm-world-grid .exm-wh span{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:600;color:var(--muted);}
.exm-world-grid .exm-wr span:first-child{color:var(--muted);}
.exm-world-grid .exm-wr span:last-child{font-weight:600;}
.exm-world-grid .exm-arr,.exm-caps-table .exm-arr{color:var(--gold-deep);text-align:center;}
.exm-world .exm-world-note{font-style:italic;}

.exm-caps-table{margin-top:8px;}
.exm-caps-table .exm-row{display:grid;grid-template-columns:150px 32px 160px 1fr;gap:20px;align-items:baseline;padding:18px 0;border-top:1px solid var(--rule);}
.exm-caps-table .exm-row.exm-h{border-top:0;padding-bottom:8px;}
.exm-caps-table .exm-row.exm-h span{font-family:var(--display);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:600;color:var(--muted);}
.exm-caps-table .exm-sin{font-family:var(--display);font-size:16px;letter-spacing:.04em;}
.exm-caps-table .exm-rem{font-family:var(--display);font-size:14px;letter-spacing:.06em;color:var(--gold-deep);}
.exm-caps-table .exm-q{font-size:18px;min-width:0;line-height:1.5;}
@media(max-width:900px){
  .exm-sec{padding-top:56px;}
  .exm-precepts>li{grid-template-columns:48px 1fr;gap:16px;padding:22px 0;}
  .exm-precepts>li::before{font-size:30px;}
  .exm-roles,.exm-beats{grid-template-columns:1fr;gap:28px;}
  .exm-roles>.exm-role:nth-child(2),.exm-beats>.exm-beat:nth-child(2){border-top:1px solid var(--rule);padding-top:24px;}
  .exm-world{padding:24px 20px;margin-top:48px;}
  .exm-caps-table .exm-row{grid-template-columns:1fr auto 1fr;gap:12px 16px;}
  .exm-caps-table .exm-row.exm-h{display:none;}
  .exm-caps-table .exm-q{grid-column:1/-1;padding-top:4px;}
}

/* ── Preparing for confession ───────────────────────────────────────── */
.exm-steps{list-style:none;margin-top:8px;counter-reset:s;max-width:820px;}
.exm-steps li{position:relative;padding:18px 0 18px 64px;border-top:1px solid var(--rule);counter-increment:s;font-size:19px;line-height:1.55;}
.exm-steps li:first-child{border-top:0;}
.exm-steps li::before{
  content:counter(s);position:absolute;left:0;top:14px;width:40px;height:40px;border:1px solid var(--gold);
  border-radius:50%;display:grid;place-items:center;font-family:var(--display);font-size:14px;color:var(--gold-deep);
}
.exm-steps q{font-style:italic;quotes:"“" "”";}
.exm-steps .exm-blank{display:inline-block;width:3em;border-bottom:1px solid var(--ink);vertical-align:baseline;}
.exm-steps-note{max-width:820px;margin-top:28px;padding:22px 28px;background:var(--exm-panel);font-family:var(--head);font-style:italic;font-size:20px;}
.exm-forms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;margin-top:8px;}
.exm-form{padding:32px 32px 36px;background:var(--exm-panel);min-width:0;}
.exm-form h3{font-family:var(--display);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--gold-deep);}
.exm-form p{font-family:var(--head);font-size:21px;line-height:1.55;margin-top:14px;}
@media(max-width:900px){.exm-forms{grid-template-columns:1fr;gap:20px;}.exm-form{padding:24px 20px;}.exm-steps li{padding-left:56px;}}

/* ── Close ──────────────────────────────────────────────────────────── */
.exm-close{padding:96px 0;}
.exm-word{max-width:760px;margin:0 auto;text-align:center;}
.exm-word p{font-size:20px;line-height:1.6;margin-top:18px;}
.exm-word .exm-eyebrow{margin-top:0;}
.exm-word .exm-big{font-family:var(--head);font-style:italic;font-size:24px;line-height:1.5;}
.exm-ornament{text-align:center;color:var(--gold);font-size:18px;margin-top:40px;letter-spacing:.3em;}
.exm-note{text-align:center;font-family:var(--head);font-style:italic;color:var(--muted);max-width:760px;margin:36px auto 0;font-size:19px;}
.exm-lists2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:64px;margin-top:64px;background:var(--exm-panel);padding:48px;}
.exm-lists2 h2{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);}
.exm-plain{list-style:none;margin-top:16px;font-size:18px;line-height:1.55;}
.exm-plain li{padding:12px 0;border-top:1px solid var(--rule);}
.exm-plain a{font-weight:600;}
.exm-plain .exm-d{color:var(--muted);}
.exm-endrow{display:flex;justify-content:center;margin-top:56px;}
.exm-endrow .exm-col{font-family:var(--head);font-style:italic;font-size:18px;color:var(--muted);text-align:center;max-width:520px;}
@media(max-width:900px){
  .exm-close{padding:64px 0;}
  .exm-lists2{grid-template-columns:1fr;gap:32px;padding:24px 20px;margin-top:48px;}
}

/* ── Checklist tray and review sheet ────────────────────────────────── */
.exm-tray{
  position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--espresso);color:var(--paper);
  border-top:1px solid var(--rule-dark);box-shadow:0 -12px 30px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom,0px);
}
.exm-tray .wrap{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px;}
.exm-tray .exm-count{font-family:var(--display);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne);flex:1 1 auto;}
.exm-tray button{
  font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:600;
  padding:12px 16px;min-height:44px;border:1px solid #6b5838;background:transparent;color:var(--paper);cursor:pointer;
}
.exm-tray button.exm-pri{background:var(--champagne);color:var(--espresso);border-color:var(--champagne);}
.exm-tray button:hover{color:var(--champagne);}
.exm-tray button.exm-pri:hover{color:var(--espresso);filter:brightness(1.06);}
.page-examination .exm-tray button:focus-visible{outline:2px solid var(--champagne);outline-offset:2px;}
.page-examination.exm-has-marks{padding-bottom:84px;}
.page-examination.exm-has-marks .back-to-top{bottom:96px;}
@media(max-width:600px){
  .exm-tray .exm-count{flex-basis:100%;}
  .exm-tray button{flex:1 1 auto;padding:12px 10px;}
  .page-examination.exm-has-marks{padding-bottom:132px;}
  .page-examination.exm-has-marks .back-to-top{bottom:144px;}
}

.exm-sheet{position:fixed;inset:0;z-index:70;background:rgba(26,18,11,.6);display:flex;align-items:flex-end;justify-content:center;}
.exm-sheet[hidden]{display:none;}
.exm-sheet-in{
  background:var(--exm-bg);color:var(--ink);width:min(760px,100%);max-height:88vh;display:flex;flex-direction:column;
  box-shadow:var(--exm-shadow);border-top:2px solid var(--gold);
}
.exm-sheet-in header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 28px 14px;border-bottom:1px solid var(--rule);}
.exm-sheet-in h2{font-family:var(--display);font-size:20px;font-weight:500;letter-spacing:.06em;}
.exm-sheet-in .exm-x{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--rule);background:transparent;color:var(--ink);cursor:pointer;}
.exm-sheet-body{overflow:auto;padding:8px 28px 20px;flex:1 1 auto;}
.exm-sheet-body .exm-hint{font-family:var(--head);font-style:italic;color:var(--muted);margin-top:12px;font-size:18px;}
.exm-sheet-body h3{font-family:var(--display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-top:24px;font-weight:600;}
.exm-sheet-body h4{font-family:var(--display);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:12px;font-weight:600;}
.exm-sheet-body ul{margin-top:6px;padding-left:20px;font-size:18px;line-height:1.5;}
.exm-sheet-body li{margin-top:6px;}
.exm-sheet-body li.exm-is-grave{font-weight:600;}
.exm-sheet-body .exm-empty{text-align:center;font-family:var(--head);font-style:italic;color:var(--muted);padding:32px 0;}
.exm-sheet-in footer{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:14px 28px calc(20px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--rule);background:none;}
.exm-sheet-in footer .exm-btn{padding:12px 18px;}
.exm-sheet-in footer .exm-ok{font-family:var(--head);font-style:italic;color:var(--gold-deep);}
@media(max-width:600px){.exm-sheet-in header,.exm-sheet-body,.exm-sheet-in footer{padding-left:16px;padding-right:16px;}}

/* The dated stamp at the head of a printed full examination, and the
   printable checklist. Neither shows on screen. */
.exm-stamp,.exm-report{display:none;}

/* ── Print ──────────────────────────────────────────────────────────────
   Two ways out of the browser: the whole guide (Ctrl+P, or "Print the full
   examination"), and "Print my checklist", which sets
   body.exm-print-checklist so that only #exm-report prints. The global print
   rules in styles.css already turn everything black on white and hide the
   nav, footer and back-to-top button. */
@media print{
  @page{margin:16mm 15mm 18mm;}
  .page-examination.exm-has-marks{padding-bottom:0;}
  .exm-tray,.exm-sheet,.exm-jump,.exm-tools,.exm-howto,.exm-go{display:none !important;}
  .exm-index{box-shadow:none;border-color:#bbb !important;padding:16pt 18pt;}
  .exm-index-wrap{margin-top:12pt;}
  .exm-side svg{display:none;}
  .exm-band{margin-top:22pt;background:none !important;border-top:1.5pt solid #000;border-bottom:.5pt solid #999;break-after:avoid;}
  .exm-band .wrap{padding-top:10pt;padding-bottom:10pt;}
  .exm-band h2,.exm-band .exm-num{color:#000 !important;}
  .exm-band p{color:#333 !important;font-size:12pt;}
  .exm-prose,.exm-prayer,.exm-cmd,.exm-sec{padding-top:22pt;}
  .exm-cmd-head{grid-template-columns:54pt 1fr;gap:12pt;padding-bottom:10pt;break-after:avoid;}
  .exm-cmd-head .exm-num{font-size:34pt;}
  .exm-cmd-head h2,.exm-sec-head h2{font-size:15pt;}
  .exm-cmd-head .exm-ex,.exm-sec-head p{font-size:11.5pt;}
  .exm-sec-head{break-after:avoid;padding-bottom:10pt;}
  .exm-lists{gap:18pt;margin-top:12pt;}
  .exm-list-head{padding:6pt 0;break-after:avoid;}
  .exm-list label{font-size:10.5pt;line-height:1.38;min-height:0;padding:4pt 0;gap:8pt;grid-template-columns:11pt 1fr;}
  .exm-list li{break-inside:avoid;border-color:#ddd !important;}
  .exm-list input{width:10pt;height:10pt;margin-top:2pt;border:.75pt solid #000 !important;}
  .exm-list input::before{width:7pt;height:7pt;}
  .exm-list input:checked::before{background:#000 !important;}
  .exm-roots{margin-top:10pt;padding:6pt 0;}
  .exm-chip{padding:3pt 6pt;font-size:7.5pt;}
  .exm-precepts>li,.exm-role,.exm-beat,.exm-caps-table .exm-row,.exm-form,.exm-steps li{break-inside:avoid;}
  .exm-world,.exm-callout,.exm-steps-note,.exm-form,.exm-lists2{border:.5pt solid #bbb;}
  .exm-close{padding:24pt 0 0;}

  .exm-stamp{
    display:flex;justify-content:space-between;gap:12pt;margin:0 0 6pt;padding:6pt 0;
    border-bottom:.5pt solid #999;font-family:var(--display);font-size:8pt;letter-spacing:.14em;text-transform:uppercase;
  }

  /* Checklist only: nothing on the page but the report. */
  body.exm-print-checklist > *:not(#exm-report){display:none !important;}
  body.exm-print-checklist #exm-report{display:block;}
}

/* ── The printable checklist (#exm-report) ──────────────────────────── */
.exm-report{
  font-family:var(--body);font-size:11pt;line-height:1.45;color:#1a120b;
  -webkit-print-color-adjust:exact;print-color-adjust:exact;
}
@media print{
  .exm-report,.exm-report *{color:#1a120b !important;}
  .exm-report .exm-r-gold,.exm-report .exm-r-gold *{color:#7d6224 !important;}
  .exm-report .exm-r-violet{color:#5b3a7a !important;}
}
.exm-r-head{display:grid;grid-template-columns:48pt 1fr auto;gap:14pt;align-items:center;padding-bottom:12pt;border-bottom:1.5pt solid #9a7a2e;}
.exm-r-head img{width:48pt;height:auto;}
.exm-r-brand{font-family:var(--display);font-size:8pt;font-weight:600;letter-spacing:.24em;text-transform:uppercase;}
.exm-r-title{font-family:var(--display);font-size:20pt;font-weight:500;letter-spacing:.04em;line-height:1.15;margin-top:2pt;}
.exm-r-subtitle{font-family:var(--head);font-style:italic;font-size:13pt;margin-top:2pt;}
.exm-r-when{text-align:right;font-family:var(--display);font-size:7.5pt;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;}
.exm-r-when b{display:block;font-family:var(--head);font-size:12pt;font-weight:600;letter-spacing:0;text-transform:none;}
.exm-r-summary{display:flex;flex-wrap:wrap;gap:6pt 22pt;margin-top:10pt;padding:8pt 12pt;background:#f4eee2 !important;border:.5pt solid #d9cfb6;font-size:10pt;}
.exm-r-summary b{font-family:var(--display);font-size:12pt;font-weight:600;margin-right:4pt;}
.exm-r-key{margin-top:8pt;font-family:var(--head);font-style:italic;font-size:10.5pt;}
.exm-r-group{margin-top:14pt;break-inside:auto;}
.exm-r-group h2{
  font-family:var(--display);font-size:11pt;font-weight:600;letter-spacing:.08em;
  padding-bottom:3pt;border-bottom:.5pt solid #9a7a2e;break-after:avoid;
}
.exm-r-group h3{font-family:var(--display);font-size:7.5pt;font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin-top:7pt;break-after:avoid;}
.exm-r-group ul{list-style:none;margin-top:2pt;}
.exm-r-group li{display:grid;grid-template-columns:12pt 1fr auto;gap:8pt;align-items:baseline;padding:4pt 0;border-bottom:.5pt solid #e6dcc6;break-inside:avoid;}
.exm-r-box{width:9pt;height:9pt;border:.75pt solid #1a120b;display:inline-block;position:relative;top:1pt;}
.exm-r-grave .exm-r-text{font-weight:600;}
.exm-r-times{font-family:var(--display);font-size:7pt;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;}
.exm-r-times span{display:inline-block;width:30pt;border-bottom:.5pt solid #1a120b;margin-left:4pt;}
.exm-r-notes{margin-top:16pt;break-inside:avoid;}
.exm-r-notes h2{font-family:var(--display);font-size:7.5pt;font-weight:600;letter-spacing:.18em;text-transform:uppercase;}
.exm-r-notes div{height:18pt;border-bottom:.5pt solid #bbb;}
.exm-r-prayers{display:grid;grid-template-columns:1fr 1fr;gap:16pt;margin-top:16pt;padding-top:10pt;border-top:1.5pt solid #9a7a2e;break-inside:avoid;}
.exm-r-prayers h2{font-family:var(--display);font-size:7.5pt;font-weight:600;letter-spacing:.18em;text-transform:uppercase;}
.exm-r-prayers p{font-family:var(--head);font-size:11pt;line-height:1.45;margin-top:4pt;}
.exm-r-foot{display:flex;justify-content:space-between;gap:12pt;margin-top:14pt;padding-top:6pt;border-top:.5pt solid #bbb;font-family:var(--head);font-style:italic;font-size:9pt;}
