:root{--ink:#1f2a33;--muted:#4a5864;--brand:#3f5666;--link:#1d5a86;--line:#d3dbe0;--bg:#fbfaf8;--soft:#f0eeea;--warn-bg:#fff4d6;--warn:#6b4a00;font-family:Georgia,"Times New Roman",serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}
body{margin:0;line-height:1.65;font-size:1.0625rem}
.wrap{max-width:62rem;margin:0 auto;padding:0 1rem}
a{color:var(--link);text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.scroll:focus-visible{outline:3px solid #1d5a86;outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:10}.skip:focus{left:0}
.site-header{background:var(--brand);color:#fff}.site-header a{color:#fff}
.bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;padding-top:.8rem;padding-bottom:.8rem}
.brand{font-weight:700;font-size:1.2rem;text-decoration:none}
nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;list-style:none;margin:0;padding:0;font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif;font-size:.95rem}
nav a{display:inline-block;padding:.35rem 0;text-decoration:none}nav a:hover{text-decoration:underline}
main{padding-top:1.5rem;padding-bottom:3rem}
h1{font-size:clamp(1.8rem,4.5vw,2.45rem);line-height:1.2;margin:.25rem 0 .8rem;font-weight:600}
h2{font-size:1.5rem;margin:2.2rem 0 .6rem;font-weight:600}
h3{font-size:1.15rem;margin:1.4rem 0 .4rem}
.lede{font-size:1.15rem;color:var(--muted);max-width:44rem}
.crumbs{font-size:.9rem;color:var(--muted);margin:0;font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif}
.gentle{background:var(--soft);border-left:4px solid var(--brand);padding:.7rem 1rem;border-radius:.3rem;margin:1rem 0}
.sans,.btn,label,input,select,textarea,.hint,table,.small,.notice,.foot-links{font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif}
.btn{display:inline-block;background:var(--brand);color:#fff;border:2px solid var(--brand);border-radius:.4rem;padding:.65rem 1.1rem;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;min-height:2.75rem}
.btn:hover{background:#2d4352}.btn.secondary{background:#fff;color:var(--brand)}.btn.secondary:hover{background:var(--soft)}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.2rem 0}
.cards{list-style:none;padding:0;margin:1rem 0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.cards li{border:1px solid var(--line);border-radius:.6rem;padding:1rem;background:#fff}
.cards h2,.cards h3{margin:0 0 .35rem;font-size:1.15rem}.cards p{margin:0;color:var(--muted)}
.field{display:flex;flex-direction:column;gap:.25rem;margin:.7rem 0}
label{font-weight:600;font-size:.95rem}
input,select,textarea{font:inherit;font-size:1rem;padding:.6rem .7rem;border:2px solid #6b7b88;border-radius:.4rem;background:#fff;color:var(--ink);width:100%;min-height:2.75rem}
textarea{min-height:6rem;resize:vertical;line-height:1.5}
input[type=radio],input[type=checkbox]{width:auto;min-height:0}
.hint{font-size:.85rem;color:var(--muted)}
.row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
fieldset{border:1px solid var(--line);border-radius:.6rem;margin:1rem 0;padding:.5rem 1rem 1rem;background:#fff}
legend{font-weight:700;padding:0 .4rem;font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif}
.output{border:2px solid var(--brand);border-radius:.6rem;padding:1rem 1.25rem;background:#fff;white-space:pre-wrap;font-size:1.05rem;min-height:6rem}
.blank{background:#fff4d6}
.meta{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;margin:.6rem 0}
.tpl{background:#fff;border:1px dashed #98a5af;border-radius:.5rem;padding:1rem 1.25rem}
.tpl p{margin:.6rem 0}
.example{background:#fff;border:1px solid var(--line);border-radius:.5rem;padding:1rem 1.25rem}
.example p{margin:.6rem 0}
.tag{display:inline-block;background:var(--soft);border-radius:.3rem;padding:.05rem .5rem;font-size:.8rem;font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif;color:var(--muted)}
.warn-strong{border:2px solid #b7791f;font-weight:700}
.warn{background:var(--warn-bg);color:var(--warn);padding:.6rem .8rem;border-radius:.4rem;font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif;font-size:.95rem}
.scroll{overflow-x:auto;margin:1rem 0}
table.chart{border-collapse:collapse;width:100%;font-size:.95rem}table.chart th,table.chart td{border-top:1px solid var(--line);padding:.4rem .6rem;text-align:left}
.site-footer{background:var(--soft);border-top:1px solid var(--line);padding:1.5rem 0;font-size:.92rem}
.foot-links{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;padding:0}
.small{font-size:.9rem;color:var(--muted)}
[hidden]{display:none!important}

/* ---------- layout gallery thumbnails ---------- */
.gallery{list-style:none;padding:0;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}
.gallery li{text-align:center}.gallery li>a:first-child{text-decoration:none;color:inherit;display:block}.gal-h{font-size:1rem;margin:.2rem 0}
.thumb{width:10.5rem;height:16.2rem;overflow:hidden;margin:0 auto .6rem;border:1px solid var(--line);background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.thumb .sheets{transform:scale(.31);transform-origin:top left;width:5.5in}
.thumb .sheet{height:8.5in;width:var(--pw)}

/* ---------- editor ---------- */
.maker{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:62rem){.maker{grid-template-columns:minmax(0,26rem) minmax(0,1fr);align-items:start}.maker .preview-col{position:sticky;top:.5rem}}
.preview-scroll{background:#e7e5e0;padding:1rem;border-radius:.5rem;overflow:hidden}
.preview-scaler{transform-origin:top left}
.toolbar{display:flex;flex-wrap:wrap;gap:.6rem;margin:.8rem 0}
.status{font-family:system-ui,"Segoe UI",Helvetica,Arial,sans-serif;font-size:.9rem;margin:.4rem 0}

/* ---------- program sheets (used on screen and in print) ---------- */
.sheets{--pw:5.5in;--ph:8.5in;color:#1b1b1b;--ac:#3f5666}
.acc-slate{--ac:#3f5666}.acc-sage{--ac:#4a6652}.acc-plum{--ac:#68476a}.acc-umber{--ac:#7a5a3a}.acc-black{--ac:#111}
.paper-a4{--pw:148.5mm;--ph:210mm}
.sheets.format-single{--pw:8.5in;--ph:11in}
.sheets.format-single.paper-a4{--pw:210mm;--ph:297mm}
.sheet{width:calc(var(--pw) * 2);height:var(--ph);display:flex;background:#fff;margin:0 0 .5rem;overflow:hidden;position:relative}
.format-single .sheet{width:var(--pw)}
.panel{width:var(--pw);height:var(--ph);padding:.35in;font-size:11.5pt;line-height:1.45}
.format-single .panel{padding:.6in .75in}
.font-serif .panel{font-family:Georgia,"Times New Roman",Times,serif}
.font-sans .panel{font-family:"Segoe UI",system-ui,Helvetica,Arial,sans-serif}
.frame{height:100%;position:relative;padding:.3in}
.pi{height:100%;display:flex;flex-direction:column;overflow:hidden}
.align-center .pi{text-align:center;align-items:center}
.align-left .pi{text-align:left;align-items:stretch}
.frame-single .frame{border:1px solid var(--ac)}
.frame-double .frame{border:4px double var(--ac)}
.frame-rule .frame{border-left:1px solid var(--ac);padding-left:.4in}
.frame-bar .frame{border-left:.14in solid var(--ac);padding-left:.3in}
.frame-corners .frame::before,.frame-corners .frame::after{content:"";position:absolute;width:.55in;height:.55in;border:1.5px solid var(--ac)}
.frame-corners .frame::before{left:0;top:0;border-right:0;border-bottom:0}
.frame-corners .frame::after{right:0;bottom:0;border-left:0;border-top:0}
.orn{width:1.7in;height:auto;color:var(--ac);margin:.1in 0 .12in;flex:none}
.orn-wide{width:100%;margin:.05in 0 .2in}
.orn-tall{width:.55in;margin-bottom:.1in}
.align-left .orn{align-self:flex-start}
.align-left .orn-wide{align-self:stretch}
.sub{margin:.15in 0 .15in;font-size:1em;letter-spacing:.14em;text-transform:uppercase;color:var(--ac);flex:none}
.nm{margin:.12in 0 .06in;font-size:2.15em;line-height:1.12;font-weight:600;flex:none;overflow-wrap:anywhere}
.lay-modern .nm{font-size:2.5em;font-weight:700;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}
.lay-quiet .nm{font-weight:500;font-size:2.3em}
.dt{margin:.04in 0 .18in;color:var(--ac);font-size:1.12em;flex:none}
.dt-sm{font-size:.9em}
.msg{margin:.14in 0;font-style:italic;max-width:3.6in;flex:none}
.align-left .msg{max-width:none}
.photo{flex:none;margin:.12in 0;overflow:hidden;border:1px solid var(--ac)}
.photo img{width:100%;height:100%;object-fit:cover;display:block}
.photo-oval{width:2.1in;height:2.7in;border-radius:50%}
.photo-square{width:2.3in;height:2.3in;border-radius:3px}
.photo-sm.photo-oval{width:1.55in;height:2in}.photo-sm.photo-square{width:1.7in;height:1.7in}
.align-left .photo{align-self:flex-start}
.ph{margin:.1in 0 .12in;font-size:1.05em;letter-spacing:.1em;text-transform:uppercase;color:var(--ac);font-weight:600}
.svc{margin:.05in 0 .2in}
.order{list-style:none;margin:0;padding:0;width:100%}
.order li{display:flex;justify-content:space-between;gap:.2in;padding:.045in 0;border-bottom:1px dotted #aaa;text-align:left}
.order .on{text-align:right;color:#333}
.align-center .order li{justify-content:space-between}
.p-life p,.p-back p{margin:0 0 .1in;text-align:left}
.p-life .ph,.p-back .ph,.p-order .ph{align-self:stretch}
.p-order .ph,.p-life .ph,.p-back .ph{text-align:inherit}
.align-center .p-life p,.align-center .p-back p{text-align:center}
.cr{font-size:.95em}
.cr strong{color:var(--ac);font-weight:600}
.spacer{flex:1}
.end-name{margin:0;font-weight:600;font-size:1.05em}
.rule{width:1.2in;border-top:1px solid var(--ac);margin:.18in 0 .12in;flex:none}
.align-left .rule{align-self:flex-start}
.thx{margin:.18in 0 0;font-size:.92em;color:#333;max-width:5.2in}
.format-single .nm{font-size:2.3em}
.panel .faint{opacity:.01}

/* ---------- printing ---------- */
@page lb{size:11in 8.5in;margin:0}
@page ab{size:297mm 210mm;margin:0}
@page ls{size:8.5in 11in;margin:0}
@page as{size:210mm 297mm;margin:0}
.paper-letter.format-bifold .sheet{page:lb}
.paper-a4.format-bifold .sheet{page:ab}
.paper-letter.format-single .sheet{page:ls}
.paper-a4.format-single .sheet{page:as}
@media print{
  html,body{background:#fff!important}
  body{font-size:12pt}
  .site-header,.site-footer,.skip,.no-print,.maker .form-col,.crumbs,h1,.lede,.toolbar,.status,.warn{display:none!important}
  main,.wrap{padding:0!important;margin:0!important;max-width:none!important}
  .maker{display:block}
  main>:not(#maker-live){display:none!important}
  .preview-col>:not(.preview-scroll){display:none!important}
  .preview-col{position:static!important}
  .preview-scroll{background:none;padding:0;overflow:visible;height:auto!important}
  .preview-scaler{transform:none!important;width:auto!important;height:auto!important}
  .sheet{margin:0!important;box-shadow:none;break-after:page;height:calc(var(--ph) - .02in)}
  .sheet:last-child{break-after:auto}
  .sheets,.sheet,.panel{-webkit-print-color-adjust:economy;print-color-adjust:economy}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
