PageSourceSearch

https://monument-dos-success.netlify.app/

html monument-dos-success.netlify.app collected 2026-10-03 11:10:26 UTC 64,165 bytes, 712 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1.0">
6<title>DOS Success Worksheet — Monument Group</title>
7<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap" rel="stylesheet">
8<style>
9  :root {
10    --green:#5a7a3a;--green-dark:#3d5628;--green-mid:#6b8f47;--green-light:#8aaa65;
11    --green-tint:#f0f4ea;--cream:#f5f3ee;--cream-dark:#ede9e1;--off-white:#faf9f6;
12    --text-dark:#2b3220;--text-mid:#4a5535;--text-muted:#7a8a6a;
13    --border:#d8ddd0;--border-light:#e8ede0;
14  }
15  *{box-sizing:border-box;margin:0;padding:0}
16  body{font-family:'Source Sans 3',sans-serif;background:var(--cream);color:var(--text-dark);min-height:100vh}
17  .site-header{background:#fff;padding:14px 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.08);position:sticky;top:0;z-index:200;box-shadow:0 2px 12px rgba(0,0,0,.08)}
18  .header-label{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted)}
19  .page-header{background:var(--green-dark);color:#fff;text-align:center;padding:3.5rem 2rem 3rem;position:relative;overflow:hidden}
20  .page-header::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(138,170,101,.1) 0%,transparent 55%)}
21  .page-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--green-light),var(--green-mid),var(--green-light))}
22  .page-header h1{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;position:relative;margin-bottom:.4rem}
23  .page-header .subtitle{font-size:.75rem;color:rgba(255,255,255,.5);font-weight:600;letter-spacing:.25em;text-transform:uppercase;position:relative}
24  .form-container{max-width:760px;margin:0 auto;padding:2.5rem 1.5rem 5rem}
25  .meta-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;margin-bottom:2.5rem}
26  @media(max-width:600px){.meta-row{grid-template-columns:1fr}.site-header{padding:14px 20px}.sub-grid{grid-template-columns:1fr!important}}
27  .section-card{background:#fff;border-radius:8px;padding:2rem 2rem 1.5rem;margin-bottom:1.5rem;border:1px solid var(--border);box-shadow:0 1px 5px rgba(61,86,40,.05);animation:fadeUp .35s ease both}
28  @keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
29  .section-header{display:flex;align-items:flex-start;gap:1.1rem;margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border-light)}
30  .section-letter{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;line-height:1;min-width:2.4rem;color:var(--green-dark)}
31  .section-title-block h2{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--text-dark);margin-bottom:.2rem}
32  .section-title-block p{font-size:.87rem;color:var(--text-muted);line-height:1.5}
33  .input-group{margin-bottom:1rem}.input-group:last-child{margin-bottom:0}
34  .input-group label{display:block;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.35rem}
35  .input-group textarea,.input-group input{width:100%;font-family:'Source Sans 3',sans-serif;font-size:.95rem;color:var(--text-dark);background:var(--off-white);border:1px solid var(--border);border-radius:5px;padding:.7rem .9rem;transition:border-color .2s,box-shadow .2s,background .2s;resize:vertical}
36  .input-group textarea{min-height:88px}
37  .input-group textarea:focus,.input-group input:focus{outline:none;background:#fff;border-color:var(--green);box-shadow:0 0 0 3px rgba(90,120,78,.1)}
38  .section-divider{display:flex;align-items:center;gap:1rem;margin:2.5rem 0}
39  .section-divider hr{flex:1;border:none;border-top:1px solid var(--border)}
40  .section-divider span{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap}
41  .question-prompt{background:var(--green-dark);color:#fff;border-radius:8px;padding:1.8rem 2rem;margin-bottom:1.4rem;
41font-family:'Playfair Display',serif;font-size:1.05rem;line-height:1.65;font-style:italic;position:relative;overflow:hidden}
42  .question-prompt::before{content:'\201C';position:absolute;top:-.8rem;left:1.2rem;font-size:7rem;color:rgba(255,255,255,.05);line-height:1}
43  .question-prompt em{color:var(--green-light);font-style:normal;font-weight:600}
44  .horizon-card{background:#fff;border-radius:8px;border:1px solid var(--border);padding:1.7rem 2rem;margin-bottom:1.2rem;box-shadow:0 1px 5px rgba(61,86,40,.05);animation:fadeUp .35s ease both}
45  .horizon-label{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
46  .horizon-pip{width:9px;height:9px;border-radius:50%;background:var(--green);flex-shrink:0}
47  .horizon-label h3{font-family:'Playfair Display',serif;font-size:1.08rem;color:var(--text-dark);flex:1}
48  .years-tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}
49  .submit-row{display:flex;justify-content:center;margin-top:2.5rem}
50  .btn-submit{font-family:'Source Sans 3',sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;background:var(--green-dark);color:#fff;border:none;border-radius:5px;padding:1rem 3.5rem;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;box-shadow:0 4px 14px rgba(61,86,40,.25)}
51  .btn-submit:hover{background:var(--green);box-shadow:0 6px 18px rgba(61,86,40,.35);transform:translateY(-1px)}
52  .btn-submit:active{transform:translateY(0)}
53  .btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
54  .success-panel{display:none;max-width:640px;margin:0 auto;padding:3.5rem 1.5rem 6rem;text-align:center}
55  .success-mark{width:64px;height:64px;margin:0 auto 1.5rem;border-radius:50%;background:var(--green-tint);display:flex;align-items:center;justify-content:center}
56  .success-mark svg{width:32px;height:32px;fill:var(--green-dark)}
57  .success-panel h2{font-family:'Playfair Display',serif;font-size:1.9rem;font-weight:600;color:var(--text-dark);margin-bottom:.9rem}
58  .success-panel p{font-size:.95rem;line-height:1.7;color:var(--text-mid);margin-bottom:2rem}
59  .success-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
60  .btn-action{font-family:'Source Sans 3',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:none;color:var(--green-dark);border:1px solid var(--green-light);border-radius:5px;padding:.85rem 1.9rem;cursor:pointer;transition:background .2s,border-color .2s,transform .1s,box-shadow .2s}
61  .btn-action:hover{background:var(--green-tint);border-color:var(--green-dark)}
62  .btn-action-primary{background:var(--green-dark);border-color:var(--green-dark);color:#fff;box-shadow:0 4px 14px rgba(61,86,40,.25)}
63  .btn-action-primary:hover{background:var(--green);border-color:var(--green);box-shadow:0 6px 18px rgba(61,86,40,.35);transform:translateY(-1px)}
64  .btn-action-quiet{border-color:var(--border);color:var(--text-muted)}
65  .btn-action-quiet:hover{background:var(--cream-dark);border-color:var(--text-muted);color:var(--text-dark)}
66  .success-panel .success-note{font-size:.8rem;line-height:1.6;color:var(--text-muted);max-width:430px;margin:1.5rem auto 0}
67  .success-panel .done-note{display:none;font-size:.95rem;color:var(--text-mid);margin:0}
68  .success-reopen{background:none;border:none;padding:0;margin-top:1.2rem;font-family:'Source Sans 3',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);text-decoration:underline;cursor:pointer}
69  .success-reopen:hover{color:var(--text-dark)}
70  .hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
71  .toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(14px);background:var(--green-dark);color:#fff;padding:.8rem 1.8rem;border-radius:5px;font-size:.85rem;font-weight:600;letter-spacing:.04em;opacity:0;pointer-events:none;transition:all .3s;z-index:999;white-space:nowrap;box-shadow:0 4px 14px rgba(0,0,0,.18)}
72  .toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
73  .draft-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--green-tint);border:1px solid var(--border-light);border-radius:6px;padding:.6rem 1rem;margin-bottom:2rem;font-size:.78rem}
74  .draft-status{display:flex;align-items:center;gap:.5rem;color:var(--text-muted)}
75  .draft-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background .3s}
76  .draft-dot.saved{background:var(--green)}
77  .draft-clear{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:none;border:none;cursor:pointer;text-decoration:underline;padding:0}
78  .draft-clear:hover{color:var(--text-dark)}
79  .examples-banner{background:var(--green-tint);border:1px solid #c8d9b4;border-radius:6px;padding:.85rem 1.1rem;margin-bottom:1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;transition:background .2s,border-color .2s}
80  .examples-banner:hover{background:#e2ebda;border-color:var(--green-light)}
81  .examples-banner-left{display:flex;align-items:center;gap:.7rem}
82  .examples-banner-left svg{width:20px;height:20px;
82fill:var(--green-dark);flex-shrink:0}
83  .examples-banner-title{font-size:.88rem;font-weight:700;color:var(--green-dark);margin:0 0 .15rem}
84  .examples-banner-sub{font-size:.8rem;color:var(--green);margin:0}
85  .examples-banner-pill{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-dark);background:#ddeac8;border-radius:3px;padding:.28rem .7rem;white-space:nowrap;flex-shrink:0}
86  .copyright-note{text-align:center;font-size:.73rem;color:var(--text-muted);margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-style:italic}
87  .sidebar-overlay{position:fixed;inset:0;background:rgba(43,50,32,.3);z-index:300;opacity:0;pointer-events:none;transition:opacity .25s}
88  .sidebar-overlay.open{opacity:1;pointer-events:all}
89  .sidebar{position:fixed;top:0;right:0;width:380px;max-width:92vw;height:100vh;background:#fff;z-index:400;box-shadow:-4px 0 28px rgba(0,0,0,.13);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden}
90  .sidebar.open{transform:translateX(0)}
91  .sidebar-head{background:var(--green-dark);color:#fff;padding:1.4rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-shrink:0}
92  .sidebar-letter{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;line-height:1;color:var(--green-light)}
93  .sidebar-head h3{font-family:'Playfair Display',serif;font-size:1rem;margin-top:.15rem;font-weight:600}
94  .sidebar-head p{font-size:.77rem;color:rgba(255,255,255,.5);margin-top:.2rem;line-height:1.4}
95  .sidebar-close{background:none;border:none;cursor:pointer;color:rgba(255,255,255,.55);padding:.15rem;flex-shrink:0;transition:color .15s;line-height:1}
96  .sidebar-close:hover{color:#fff}
97  .sidebar-close svg{width:20px;height:20px;fill:currentColor;display:block}
98  .sidebar-body{flex:1;overflow-y:auto;padding:1.4rem 1.5rem}
99  .sidebar-intro{font-size:.84rem;color:var(--text-muted);line-height:1.55;margin-bottom:1.4rem;font-style:italic;border-bottom:1px solid var(--border-light);padding-bottom:1.2rem}
100  .example-item{margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border-light)}
101  .example-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
102  .example-tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--green-tint);color:var(--green);border-radius:3px;padding:.12rem .45rem;margin-bottom:.35rem}
103  .example-item strong{display:block;font-size:.9rem;font-weight:600;color:var(--text-dark);line-height:1.4;margin-bottom:.2rem}
104  .example-item span{font-size:.82rem;color:var(--text-muted);line-height:1.5;display:block}
105  /* ---- printable copy of the responses (hidden on screen) ---- */
106  #print-doc{display:none}
107  .pd-mast{border-bottom:2px solid #3d5628;padding-bottom:.6rem;margin-bottom:1.1rem}
108  .pd-eyebrow{font-size:8.5pt;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#5a7a3a;margin-bottom:.35rem}
109  .pd-mast h1{font-family:'Playfair Display',serif;font-size:22pt;font-weight:600;color:#2b3220;line-height:1.15}
110  .pd-mast .pd-sub{font-size:10pt;color:#7a8a6a;margin-top:.2rem}
111  .pd-meta{display:flex;flex-wrap:wrap;gap:.35rem 2.2rem;margin-bottom:1.4rem;font-size:10pt;color:#2b3220}
112  .pd-meta span b{font-size:8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8a6a;margin-right:.5rem}
113  .pd-section{margin-bottom:1.5rem;page-break-inside:avoid;break-inside:avoid}
114  .pd-section h2{font-size:13pt;font-weight:700;color:#3d5628;border-bottom:1px solid #d8ddd0;padding-bottom:.3rem;margin-bottom:.45rem}
115  .pd-intro{font-size:9.5pt;color:#7a8a6a;font-style:italic;margin-bottom:.8rem;line-height:1.45}
116  .pd-item{margin-bottom:.8rem;page-break-inside:avoid;break-inside:avoid}
117  .pd-item h3{font-size:8pt;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#7a8a6a;margin-bottom:.2rem}
118  .pd-item p{font-size:10.5pt;line-height:1.5;color:#2b3220;padding-left:.6rem;border-left:2px solid #e8ede0}
119  .pd-empty{color:#9aa88c;font-style:italic}
120  .pd-foot{margin-top:1.6rem;padding-top:.7rem;border-top:1px solid #d8ddd0;font-size:8.5pt;color:#7a8a6a;font-style:italic;text-align:center}
121  @media print{
122    body{background:#fff}
123    .site-header,.page-header,.form-container,.success-panel,.sidebar,.sidebar-overlay,.toast{display:none !important}
124    #print-doc{display:block !important}
125    @page{margin:16mm}
126  }
127</style>
128</head>
129<body>
130
131<header class="site-header">
132  <svg style="display:block;height:56px;width:auto;" xmlns="http://www.w3.org/2000/svg" viewBox="148 140 202 55">
133    <defs><style>.st0{fill:none}.st1{fill:#696d74}.st2{fill:#5a784e}</style></defs>
134    <g><path class="st2" d="M197.9,147.3c-.3,0-.6.2-.7.2-.1,0-.3.2-.3.3,0,.1-.1.3-.2.5,0,.2,0,.6,0,1.1v9.5c0,.5,0,.8,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4.6v-.5c.4-.1.7-.2.9-.3.2-.1.3-.3.3-.6,0-.3,0-.7,0-1.3v-4.2c0-1.1,0-2.2,0-3.3s0-1.9.1-2.3h-.2l-4.3,10.8h-1.3l-4-11h-.2c0,.4,0,1.2.1,2.4,0,1.2,0,2.4,0,3.6v4c0,.5,0,.8,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4v-.5c.5-.1.8-.2.9-.4.2-.1.3-.3.3-.6,0-.3,0-.7,0-1.2v-9.5c0-.5,0-.9,0-1.1,0-.2,0-.4-.2-.5,0-.1-.2-.2-.3-.3-.1,0-.4-.2-.7-.3v-.5h3.9l3.8,10.6,4.2-10.6h3.7v.5Z"/><path fill-rule="evenodd" class="st2" d="M205,161.8c-1.5,0-2.7-.4-3.5-1.3-.8-.9-1.2-2.2-1.2-4s.2-2.2.6-3c.4-.8,1-1.4,1.7-1.9.7-.4,1.6-.6,2.5-.6,1.6,0,2.7.5,3.5,1.4.8.9,1.2,2.2,1.2,3.9s-.2,2.2-.6,3.1c-.4.8-1,1.5-1.7,1.9-.7.4-1.6.6-2.6.6ZM202.4,156.3c0,1.5.2,2.7.7,3.5.5.8,1.2,1.2,2,1.2s.9-.1,1.2-.4c.3-.2.6-.6.8-1,.2-.4.4-.9.5-1.4s.1-1.1.1-1.7c0-1.1-.1-2-.4-2.7-.2-.7-.6-1.2-1-1.6-.4-.3-.9-.5-1.4-.5-.9,0-1.6.4-2,1.1-.5.8-.7,1.9-.7,3.3Z"/>
134<path class="st2" d="M222.8,161.6h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-2.9c0-.5,0-1,0-1.4,0-.4,0-.8-.1-1,0-.3-.2-.5-.3-.6,0-.1-.2-.3-.3-.4-.1-.1-.3-.2-.5-.3-.2,0-.4,0-.7,0s-.6,0-.8.2c-.3.1-.5.3-.8.6-.3.3-.5.6-.7.8-.1.3-.2.6-.2.9v4.1c0,.6,0,1.1,0,1.3,0,.2.2.4.3.6.2.1.4.2.8.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0,0,.7,0,.7,0v1.8c-.1,0,0,0,0,0,.5-.5,1-.9,1.3-1.2.3-.2.7-.4,1-.5.3-.1.7-.2,1.1-.2s.7,0,1.1.1c.3,0,.6.2.8.4.2.2.4.4.6.7.2.3.3.6.3,1,0,.4.1.9.1,1.5v4.1c0,.5,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5Z"/><path class="st2" d="M224.4,151.2h3.1v5.6c0,.9,0,1.5,0,1.9,0,.4.2.8.3,1,.1.2.3.4.6.6.2.2.6.2,1,.2s.5,0,.8-.2c.3-.1.5-.3.9-.6.3-.3.5-.5.7-.8.1-.3.2-.6.2-.9v-4.1c0-.4,0-.7,0-.9,0-.2,0-.4-.1-.5,0-.1-.1-.2-.2-.3,0,0-.2-.2-.3-.2-.1,0-.3-.1-.6-.2v-.5h3.1v7.5c0,.6,0,1,0,1.2,0,.2,0,.4.1.6,0,.1.2.3.3.4.2,0,.4.2.8.3v.6h-2.5c0,.1-.7.1-.7.1v-1.8c0,0,0,0,0,0-.6.7-1.2,1.1-1.7,1.4-.6.3-1.1.5-1.7.5s-1.2-.1-1.6-.4c-.4-.3-.8-.7-1-1.2-.2-.5-.3-1.3-.3-2.2v-4.1c0-.6,0-1,0-1.3,0-.2-.1-.4-.3-.5-.1-.1-.4-.3-.9-.4v-.5Z"/><path class="st2" d="M239.9,152.9h.2c.4-.4.8-.7,1.1-.9.3-.2.6-.4.8-.5.3-.1.5-.2.7-.3.2,0,.5,0,.7,0,.7,0,1.3.2,1.8.5.5.3.8.8,1,1.5.5-.6,1-1,1.3-1.2.3-.3.7-.5,1-.6.4-.1.7-.2,1.1-.2s.9,0,1.3.2c.4.1.7.4.9.7.2.3.4.7.5,1.1.1.4.2,1,.2,1.8v4.1c0,.6,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3s.1-.3.2-.5c0-.2,0-.6,0-1.1v-2.9c0-.6,0-1.1,0-1.5s0-.7-.2-1c0-.2-.2-.4-.2-.6,0-.1-.2-.3-.3-.4-.1-.1-.3-.2-.4-.2-.2,0-.4,0-.7,0s-.6,0-.8.2c-.3.1-.5.3-.8.6-.3.3-.5.6-.6.8-.1.3-.2.6-.2,1v4c0,.6,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-2.9c0-.6,0-1.2,0-1.6,0-.4,0-.7-.2-1,0-.2-.2-.4-.3-.6-.1-.2-.2-.3-.4-.3-.1,0-.3-.1-.4-.2-.2,0-.4,0-.6,0-.3,0-.6,0-.8.2-.3.1-.5.3-.8.6-.3.3-.5.5-.6.8-.1.3-.2.6-.2.9v4.1c0,.4,0,.7,0,1,0,.2,0,.4.1.5,0,.1.1.2.2.3,0,0,.2.1.3.2.1,0,.3.1.6.2v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.2-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0,0,.7,0,.7,0v1.8Z"/><path fill-rule="evenodd" class="st2" d="M264.3,159.8c-.5.5-.9.9-1.3,1.1-.4.3-.8.5-1.3.7-.5.2-1,.2-1.5.2-1.5,0-2.6-.4-3.4-1.3-.8-.9-1.1-2.2-1.1-4s.2-2,.6-2.9c.4-.8.9-1.5,1.7-1.9.7-.5,1.6-.7,2.5-.7s1.4.1,1.9.3c.5.2.9.6,1.2,1,.3.4.6.9.7,1.5.2.6.3,1.4.3,2.4h-6.9v.2c0,.9,0,1.6.3,2.2.2.6.5,1,1,1.4s1,.5,1.7.5,1.1-.1,1.6-.3c.5-.2,1-.6,1.4-1.1l.7.7ZM262.5,155.4c0-.8-.1-1.4-.3-1.9-.2-.5-.4-.9-.7-1.1-.3-.3-.7-.4-1.2-.4-.7,0-1.3.3-1.8.9-.4.6-.7,1.5-.8,2.6h4.8Z"/><path class="st2" d="M277.2,161.6h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.1-.3.2-.5,0-.2,0-.6,0-1.1v-2.9c0-.5,0-1,0-1.4,0-.4,0-.8-.1-1,0-.3-.2-.5-.3-.6,0-.1-.2-.3-.3-.4-.1-.1-.3-.2-.5-.3-.2,0-.4,0-.7,0s-.6,0-.8.2c-.3.1-.5.3-.8.6-.3.3-.5.6-.7.8-.1.3-.2.6-.2.9v4.1c0,.6,0,1.1,0,1.3,0,.2.2.4.3.6.2.1.4.2.8.3v.5h-4.3v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.2-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0,0,.7,0,.7,0v1.8c-.1,0,0,0,0,0,.5-.5,1-.9,1.3-1.2.3-.2.7-.4,1-.5.3-.1.7-.2,1.1-.2s.7,0,1.1.1c.3,0,.6.2.8.4.2.2.4.4.6.7.2.3.3.6.3,1,0,.4.1.9.1,1.5v4.1c0,.5,0,.9,0,1.1,0,.2,0,.4.2.5,0,.1.2.2.3.3.1,0,.4.2.7.3v.5Z"/><path class="st2" d="M278.4,151.7c.4,0,.7-.2.9-.3.2-.1.4-.3.5-.6.1-.2.2-.5.3-.9s.2-.9.2-1.5h1.6v2.7h3.5v1.1h-3.5v4.9c0,.7,0,1.3,0,1.7,0,.4.2.7.3,1,.2.2.3.4.5.5.2.1.5.2.8.2s.6,0,.8-.2c.3-.1.5-.3.8-.5l.5.6c-.5.5-1,.9-1.5,1.1-.5.2-.9.3-1.4.3-.9,0-1.6-.3-2.1-.8-.5-.6-.7-1.4-.7-2.6v-6.1h-1.6v-.6Z"/><path class="st2" d="M302.2,161.6l-.9.2-.8-.9c-.5.3-1,.5-1.5.6s-1.1.2-1.8.2c-1.8,0-3.2-.6-4.2-1.9-.9-1.3-1.4-3.1-1.4-5.6s.3-2.9.8-4.1c.5-1.2,1.2-2.1,2.2-2.7,1-.6,2.1-.9,3.4-.9s1.3,0,2,.1c.6,0,1.3.2,2.1.4v3h-1.1c-.2-.7-.4-1.2-.7-1.5-.3-.4-.6-.6-1-.8-.4-.2-.9-.2-1.4-.2s-1.5.3-2.1.8c-.6.5-1.1,1.3-1.4,2.3-.3,1-.5,2.2-.5,3.6s.1,2.6.4,3.7c.3,1,.7,1.8,1.3,2.3.6.5,1.2.8,2,.8s1.5-.2,1.9-.6c.4-.4.6-1,.6-1.7v-.7c0-.7,0-1.1-.1-1.4,0-.3-.2-.5-.4-.7-.2-.2-.5-.3-.9-.4v-.5h4.4v.5c-.3,0-.5.2-.6.3-.1.1-.2.3-.3.4,0,.2-.1.4-.1.6,0,.2,0,.6,0,1v3.8Z"/><path class="st2" d="M308.1,153h.2c.4-.5.8-.8,1.1-1.1.3-.3.7-.5,1.1-.6.4-.2.8-.2,1.3-.2s.8,0,1.1,0v2.5h-1.2c-.2-.4-.4-.7-.6-.9-.2-.2-.5-.3-.8-.3s-.5,0-.8.2c-.3.2-.5.4-.7.7-.2.3-.4.6-.5.8,0,.3-.1.6-.1.9v3.8c0,.7,0,1.1.1,1.4,0,.3.2.4.4.6.2.1.5.2.8.3v.5h-4.4v-.5c.3,0,.5-.2.6-.2.1,0,.2-.2.3-.3,0-.1.2-.3.2-.5,0-.2,0-.6,0-1.1v-4.8c0-.5,0-.8,0-1.1,0-.3,0-.5-.2-.7,0-.2-.2-.3-.4-.4-.2,0-.4-.2-.8-.2v-.6h2.6c0-.1.7-.1.7-.1v1.9Z"/></g>
135    <g><path fill-rule="evenodd" class="st2" d="M318.9,161.8c-1.5,0-2.7-.4-3.5-1.3-.8-.9-1.2-2.2-1.2-4s.2-2.2.6-3c.4-.8,1-1.4,1.7-1.9s1.6-.6,2.5-.6c1.6,0,2.7.5,3.5,1.4.8.9,1.2,2.2,1.2,3.9s-.2,2.2-.6,3.1c-.4.8-1,1.5-1.7,1.9-.7.4-1.6.6-2.6.6ZM316.3,156.3c0,1.5.2,2.7.7,3.5.5.8,1.2,1.2,2,1.2s.9-.1,1.2-.4c.3-.2.6-.6.8-1,.2-.4.4-.9.5-1.4,0-.5.1-1.1.1-1.7,0-1.1-.1-2-.4-2.7-.2-.7-.6-1.2-1-1.6-.4-.3-.9-.5-1.4-.5-.9,0-1.6.4-2,1.1-.5.8-.7,1.9-.7,3.3Z"/><path class="st2" d="M325.7,151.2h3.1v5.6c0,.9,0,1.5,0,1.9,0,.4.2.8.3,1,.1.2.3.4.6.6.2.2.6.2,1,.2s.5,0,.8-.2c.3-.1.5-.3.9-.6.3-.3.5-.5.7-.8.1-.3.2-.6.2-.9v-4.1c0-.4,0-.7,0-.9,0-.2,0-.4-.1-.5,0-.1-.1-.2-.2-.3,0,0-.2-.2-.3-.2-.1,0-.3-.1-.6-.2v-.5h3.1v7.5c0,.6,0,1,0,1.2,0,.2,0,.4.1.6,0,.1.2.3.3.4.2,0,.4.2.8.3v.6h-2.5c0,.1-.7.1-.7.1v-1.8c0,0,0,0,0,0-.6.7-1.2,1.1-1.7,1.4-.6.3-1.1.5-1.7.5s-1.2-.1-1.6-.4c-.4-.3-.7-.7-1-1.2-.2-.5-.3-1.3-.3-2.2v-4.1c0-.6,0-1,0-1.3,0-.2-.1-.4-.3-.5-.1-.1-.4-.3-.9-.4v-.5Z"/><path fill-rule="evenodd" class="st2" d="M341.3,161.3v2.3c0,.5,0,.8,0,1.1,0,.2,0,.4.2.6,0,.1.2.2.4.3.2,0,.4.2.8.2v.5h-4.5v-.5c.3,0,.5-.1.6-.2.2,0,.3-.2.4-.3,0-.1.1-.4.2-.6,0-.3,0-.6,0-1v-9.4c0-.5,0-.9,0-1.1,0-.2,0-.4,0-.6,0-.1-.1-.3-.2-.4,0,0-.2-.2-.3-.2-.1,0-.4-.1-.7-.2v-.6h2.6c0,0,.7,0,.7,0v1.8c-.1,0,0,0,0,0,.5-.5.8-.8,1.1-1,.3-.2.5-.4.8-.5.3-.1.6-.2.8-.3.3,0,.5,0,.8,0,1.2,0,2.1.4,2.8,1.3.6.9,1,2.2,1,4s-.2,2.2-.5,3c-.4.8-.9,1.4-1.6,1.8-.7.4-1.5.6-2.5.6s-1,0-1.5-.
1351c-.4,0-.8-.2-1.2-.4ZM341.3,157.7c0,.7,0,1.2.1,1.6,0,.4.2.7.5.9.2.2.5.4.8.5.3.1.7.2,1.2.2.9,0,1.5-.4,2-1.1.4-.7.7-1.8.7-3.2,0-2.9-.8-4.3-2.5-4.3s-.8,0-1.1.2c-.3.1-.6.3-.9.6-.3.3-.5.6-.6.8-.1.3-.2.6-.2.9v2.9Z"/></g>
136    <g><path class="st2" d="M254.3,181.6v-5.3c0-.9,0-1.8,0-2.7h0l-3.9,8h-1.1l-.3-8.1c0-.4,0-.7-.1-.9,0-.2-.2-.4-.3-.5-.1,0-.3-.2-.5-.2v-.4h3.1v.4c-.3,0-.5,0-.6.2-.1.1-.2.3-.3.5,0,.2,0,.5,0,.8v.2c0,0,0,.2,0,.3v2.8c0,.2,0,.5,0,1v2.1s0,0,0,0l4-8.3h1.1v4.9c0,.6,0,1.1,0,1.7v1.7s0,0,0,0l3-5.7c.1-.2.2-.5.4-.8.1-.3.2-.5.2-.7s0-.4-.2-.5c-.1-.1-.3-.2-.6-.3v-.4h3.1v.4c-.3,0-.5.2-.7.4-.2.2-.5.6-.8,1.3l-4.4,8.1h-1.1Z"/><path fill-rule="evenodd" class="st2" d="M265.2,180.1c-.4.4-.7.7-1,.9-.3.2-.7.4-1,.5-.3,0-.7.1-1.1.1s-.7,0-1-.2c-.3-.1-.5-.3-.7-.5-.2-.2-.3-.5-.4-.8s-.1-.6-.1-1c0-.5,0-1.1.3-1.7.2-.6.5-1.1.8-1.6.4-.5.8-.8,1.4-1.1.5-.3,1.1-.4,1.7-.4s1,.1,1.3.4c.3.2.4.6.4,1.1,0,.8-.4,1.4-1.2,1.9-.8.4-1.9.6-3.4.6,0,.3,0,.6,0,.9,0,.5,0,.9.3,1.1.2.2.5.3,1,.3s.9,0,1.2-.3c.4-.2.7-.5,1.1-.9l.5.5ZM261.3,177.8c.4,0,.8,0,1.2,0,.3,0,.6-.1.9-.2.2,0,.4-.2.6-.3.2-.1.3-.2.4-.4s.2-.3.2-.4c0-.1,0-.3,0-.5,0-.3,0-.5-.2-.7-.1-.2-.3-.3-.6-.3s-.7.1-1,.4c-.3.2-.6.6-.9,1-.3.4-.4.9-.6,1.4Z"/></g>
137    <g><path fill-rule="evenodd" class="st2" d="M272.1,174.9l.7-.5h.5c0,.1-1.1,5.1-1.1,5.1,0,.3-.1.5-.1.7,0,.2,0,.3,0,.4,0,.2,0,.3.2.4.1,0,.3.1.6.2v.4h-2.1l.5-1.8h0c-.5.7-.9,1.1-1.3,1.5-.4.3-.9.5-1.3.5s-.9-.2-1.2-.6c-.3-.4-.4-1-.4-1.7s0-.9.2-1.4c.1-.5.3-.9.5-1.3.2-.4.5-.8.8-1.1.3-.3.6-.6,1-.8.4-.2.8-.3,1.3-.3s.6,0,.9.1c.3,0,.6.2.8.4ZM271.5,177.1c0-.2,0-.4,0-.5,0-.1,0-.3,0-.5,0-.4,0-.7-.2-.8-.2-.2-.4-.3-.8-.3s-.4,0-.6,0c-.2,0-.4.2-.6.3-.2.2-.4.4-.5.6-.2.2-.3.5-.5.9-.1.4-.2.7-.3,1.1,0,.4-.1.8-.1,1.2s0,.9.2,1.1c.1.3.4.4.7.4s.3,0,.5-.1c.2,0,.3-.2.5-.4.2-.2.4-.5.7-.8.2-.3.4-.6.5-1,.1-.3.2-.7.3-1.1v-.3Z"/><path class="st2" d="M277.5,171.1h.4l-1.9,8.6c0,.2,0,.4-.1.5,0,.1,0,.2,0,.3,0,.1,0,.3,0,.3,0,0,.1.1.2.2.1,0,.3,0,.5.1v.4h-2.3l1.9-8.4c0-.2,0-.4.1-.5,0-.1,0-.2,0-.3,0,0,0-.2,0-.3,0-.1,0-.3,0-.3,0,0-.1-.1-.2-.2,0,0-.3,0-.5,0v-.4c0,0,1.9,0,1.9,0Z"/><path class="st2" d="M282.7,180.2c-.4.5-.8.8-1.2,1.1-.4.2-.8.4-1.2.4s-.9-.1-1.2-.4c-.3-.3-.4-.6-.4-1.1s0-.6.1-1l.9-3.8h-1.1v-.4c.4,0,.6,0,.8-.2.2,0,.3-.2.4-.4.1-.1.2-.3.3-.6,0-.2.2-.6.4-1h1l-.4,1.8h2.3l-.2.7h-2.3l-.7,2.8c-.2.8-.3,1.4-.3,1.8s0,.5.2.7c.1.2.3.2.6.2s.5,0,.7-.3c.2-.2.5-.4.8-.8l.4.4Z"/><path class="st2" d="M289.7,181.5h-2.3l.9-3.7c0-.3.1-.5.2-.8,0-.3,0-.5,0-.7,0-.3,0-.6-.2-.7-.1-.1-.3-.2-.6-.2s-.4,0-.7.2c-.2.2-.5.4-.8.8-.3.3-.5.7-.6,1-.2.3-.3.7-.4,1.1l-.7,3.2h-1.3l1.9-8.3c0-.2,0-.4.1-.5,0-.1,0-.2,0-.3,0,0,0-.2,0-.2,0-.2,0-.3-.2-.4-.1,0-.3-.1-.7-.1v-.4c0,0,1.9,0,1.9,0h.4l-1.3,5h0c.5-.6.9-1,1.3-1.3.4-.3.8-.4,1.3-.4s.8.1,1.1.4c.2.3.4.6.4,1.2s0,.7-.1,1.1l-.6,2.6c0,.2,0,.4-.1.5,0,.1,0,.2,0,.3,0,.2,0,.3,0,.3,0,0,.1.1.2.2s.3,0,.5,0v.4Z"/></g>
138    <g><path fill-rule="evenodd" class="st2" d="M299.1,181.5v-.4c.3,0,.5,0,.6-.2.1-.1.2-.3.3-.4,0-.2,0-.4,0-.7s0-.4,0-.6v-.9h-3.3l-.4.7c-.2.3-.3.6-.4.9,0,.2-.1.5-.1.6,0,.4.2.7.7.7v.4h-3.1v-.4c.2,0,.4,0,.5-.2.1,0,.3-.2.4-.5.2-.2.4-.5.6-1l4.7-8.1h1.1l.5,8.1c0,.4,0,.7.1.9,0,.2.2.4.3.5.1.1.3.2.5.2v.4h-3.1ZM297,177.6h2.8v-2.3c-.1-.3-.2-.7-.2-1.2,0-.5,0-.8,0-1h0l-2.6,4.6Z"/><path fill-rule="evenodd" class="st2" d="M309.1,173.2c0-.2,0-.3.1-.5,0-.2,0-.4,0-.5s0-.3,0-.3c0,0-.1-.1-.2-.2,0,0-.3,0-.5,0v-.4c0,0,1.9,0,1.9,0h.4l-1.9,8.4c0,.3-.1.5-.1.7,0,.2,0,.3,0,.4,0,.2,0,.3.2.4.1,0,.3.1.6.2v.4h-2.2l.5-1.8h0c-.5.7-.9,1.1-1.3,1.5-.4.3-.9.5-1.3.5s-.9-.2-1.2-.6c-.3-.4-.4-1-.4-1.7s0-.9.2-1.4c.1-.5.3-.9.5-1.3.2-.4.5-.8.8-1.1.3-.3.7-.6,1-.8.4-.2.8-.3,1.3-.3s.6,0,.8,0c.2,0,.5.2.8.3l.4-1.7ZM308.2,177.1c0-.3.1-.7.1-1s0-.7-.2-.8c-.2-.2-.4-.3-.8-.3s-.4,0-.6,0c-.2,0-.4.2-.6.3-.2.2-.4.4-.5.6-.2.2-.3.5-.5.9-.1.4-.2.7-.3,1.1,0,.4-.1.8-.1,1.2s0,.9.2,1.1c.1.3.4.4.7.4s.3,0,.5-.1c.2,0,.3-.2.5-.4.2-.2.4-.5.7-.8.2-.3.4-.6.5-1,.1-.3.2-.7.3-1.1v-.3Z"/><path class="st2" d="M317.4,174.6l.2.4c-.2.4-.3.8-.4,1,0,.2-.2.5-.4.8-.2.3-.3.6-.5,1-.2.3-.4.7-.7,1.1-.3.4-.5.8-.9,1.3-.3.5-.7,1-1.2,1.6h-.9l-.7-5.5c0-.4,0-.6-.1-.8,0-.2-.1-.3-.2-.3,0,0-.2-.1-.5-.1v-.4h2l.6,5.8c.8-1.2,1.5-2.1,1.9-2.9.4-.8.6-1.4.6-1.9s0-.4-.1-.5c0,0-.3-.1-.5-.1v-.4h2Z"/><path fill-rule="evenodd" class="st2" d="M319.7,179.7c0,.2,0,.4-.1.5,0,.1,0,.2,0,.3,0,.1,0,.3,0,.3,0,0,.1.1.2.2.1,0,.3,0,.5.1v.4h-2.3l1.1-4.9c0-.3.1-.5.1-.7,0-.2,0-.3,0-.4s0-.2,0-.3c0,0-.1-.1-.2-.2s-.3,0-.5,0v-.4c0,0,1.9,0,1.9,0h.4l-1.1,5.2ZM321.5,171.7l-.3,1.4h-1.3l.3-1.4h1.3Z"/><path class="st2" d="M326.3,176.3c0-.4-.2-.8-.4-1-.2-.2-.5-.3-.9-.3s-.4,0-.6.1c-.2,0-.3.2-.4.4-.1.2-.2.4-.2.6s0,.3.1.5c0,.1.2.3.4.5.2.2.4.3.7.6.5.3.8.6,1,.9.2.3.3.6.3,1s-.1.8-.3,1.2c-.2.3-.5.6-.9.7-.4.2-.8.2-1.3.2s-.8,0-1.2,0c-.4,0-.7-.1-1.1-.2l.3-1.6h.6c0,.4.2.8.4,1,.2.2.5.3,1,.3s.8-.1,1-.3c.2-.2.4-.5.4-.9s0-.4-.1-.6c0-.2-.2-.3-.3-.5-.2-.2-.4-.3-.7-.5-.3-.2-.6-.4-.7-.6-.2-.2-.3-.4-.4-.6-.1-.2-.2-.5-.2-.7,0-.4,0-.8.3-1,.2-.3.5-.5.8-.7.4-.2.8-.2,1.3-.2.8,0,1.5.1,2.1.3l-.3,1.5h-.6Z"/><path fill-rule="evenodd" class="st2" d="M330.1,181.7c-.8,0-1.3-.2-1.8-.6-.4-.4-.6-1-.6-1.8s0-.6.1-1c0-.5.2-1,.4-1.4.2-.5.5-.9.8-1.3.3-.4.7-.6,1.2-.8.4-.2.9-.3,1.4-.3s1,.1,1.4.3c.4.2.6.5.8.9.2.4.2.8.2,1.3s0,.9-.2,1.4c-.2.7-.4,1.3-.8,1.8-.3.5-.8.9-1.3,1.1-.5.3-1.
1381.4-1.8.4ZM329,179.5c0,.5.1.9.3,1.2.2.3.6.4,1,.4s.9-.2,1.3-.6c.4-.4.7-1,.9-1.8.2-.8.3-1.4.3-2s-.1-.9-.3-1.2c-.2-.3-.5-.4-1-.4s-.9.2-1.3.6c-.4.4-.7,1-.9,1.8-.2.8-.3,1.5-.3,2Z"/><path class="st2" d="M337.6,174.5h.4l-.5,1.8h0c.5-.6.9-1.1,1.4-1.4.4-.3.9-.5,1.4-.5s.7,0,.9,0l-.3,1.6h-.7c0-.3,0-.4-.2-.6,0-.1-.2-.2-.4-.2s-.4,0-.7.3c-.2.2-.5.5-.8.8-.3.3-.5.7-.6.9-.1.3-.2.6-.3,1l-.7,3.2h-1.3l1.1-5c.1-.5.2-.8.2-1s0-.2,0-.3c0,0-.1-.1-.2-.2,0,0-.3,0-.5,0v-.4c0,0,1.8,0,1.8,0Z"/><path class="st2" d="M345.6,176.3c0-.4-.2-.8-.4-1-.2-.2-.5-.3-.9-.3s-.4,0-.6.1c-.2,0-.3.2-.4.4-.1.2-.2.4-.2.6s0,.3.1.5c0,.1.2.3.4.5.2.2.4.3.7.6.5.3.8.6,1,.9.2.3.3.6.3,1s-.1.8-.3,1.2c-.2.3-.5.6-.9.7-.4.2-.8.2-1.3.2s-.8,0-1.2,0c-.4,0-.7-.1-1.1-.2l.3-1.6h.6c0,.4.2.8.4,1,.2.2.5.3,1,.3s.8-.1,1-.3c.2-.2.4-.5.4-.9s0-.4-.1-.6c0-.2-.2-.3-.3-.5-.2-.2-.4-.3-.7-.5-.3-.2-.6-.4-.7-.6-.2-.2-.3-.4-.4-.6-.1-.2-.2-.5-.2-.7,0-.4,0-.8.3-1,.2-.3.5-.5.8-.7.4-.2.8-.2,1.3-.2.8,0,1.5.1,2.1.3l-.3,1.5h-.6Z"/></g>
139    <g><path fill-rule="evenodd" class="st1" d="M171.4,156c.9-1.1,1.7-2.2,2.6-3.3.3-.4.6-.9.9-1.3-.2-.2-.4-.4-.6-.5-.6.7-1.2,1.5-1.8,2.2-.6.7-1.2,1.5-1.8,2.2-.6.7-1.1,1.5-1.8,2.1-.1-.6-.2-1.2-.3-1.8,0-.5-.3-1-.7-1.3-.4-.3-.7-.6-1.1-1,0-.2-.2-.4-.4-.5-.2,0-.3-.2-.4-.3-.3-.2-.4-.5,0-.8.1-.1.3-.2.4-.3.6-.3.8-.5.7-1.2,0-.2,0-.4-.1-.6.3-.2.6-.3.9-.5.2-.1.4-.2.5-.4.3-.4.3-.9.3-1.4,0-.3-.2-.5-.4-.8-.2-.2-.3-.4-.5-.6-.2-.3-.4-.5-.7-.6-.8-.3-1.6-.4-2.5-.4-1,0-1.6.5-2.3,1.1-.5.4-.7,1-.9,1.5-.2.4-.3.8-.3,1.2,0,.5.2,1,.7,1.2.1,0,.2.1.4.2-.2.5-.2.9.2,1.2,0,0,0,.2,0,.2,0,.5-.4.7-.8.8-.3,0-.7.1-.9.4-.3.3-.7.7-.9,1-.3.4-.5.9-.7,1.3-.2.3-.4.7-.5,1-.2.5-.4,1-.5,1.6,0,.2-.1.4-.3.5-.3.2-.3.5-.4.9,0,.3,0,.7-.3.9.2.4.4.8.6,1.2.2.4.4.9.7,1.3.7.8,1.6,1.5,2.4,2.2.1.1.3.2.4.3-.3.5-.5,1-.8,1.4-.3.5-.3.7,0,1.1,0,0,.1.2.3.3-.6.2-1.2.4-1.4,1,.2,0,.4,0,.6,0,0,.1-.1.2-.2.2.3.2.3.3.2.5-.2.5-.5,1-.7,1.5-.2.4-.5.7-.7,1.1-.6.9-1.2,1.8-1.7,2.8-.2.4-.5.9-.7,1.3-.1.2-.2.4,0,.5.4.3.7.6,1.2.9.1-.2.2-.4.3-.6.3-.7.6-1.4.9-2.1.2-.4.4-.8.5-1.3.3-.9.7-1.6,1.2-2.4.2,0,.4,0,.6,0,0,.5,0,1-.2,1.3-.4.6-.2,1.3-.4,1.9-.2.4-.2,1-.4,1.4,0,.2,0,.4-.2.6-.2.4-.3.8-.6,1-.2.2-.4.4-.4.7,0,.3,0,.7,0,1,0,.4,0,.9-.3,1.3-.2.3-.3.6-.2,1,0,.4,0,.4-.4.5-.6.1-.7.2-.8.8,0,0,0,0,0,0-.1,0-.3.1-.5.1-.6.1-1.2.3-1.7.4-.2,0-.3.1-.2.4.2.5.4,1,.6,1.5,0,.1.2.2.3.2.4,0,.7.1,1,.1.2-.2.2-.4.5-.5-.2.3-.3.6-.4.8,0,0,0,0,0,0,0,0,0,0,.1.2.4.3,1.2.9,1.3,1h1.7c.7-.3,1.4-.4,2.1-.6.1.2,0,.3-.1.4-.2,0-.5.1-.7.2h.9c0-.2.1-.3.3-.3.1,0,.2,0,.4,0,1.9,0,3.7,0,5.6,0,.4,0,1.7,0,2.3.3.4.1.6,0,.9,0-.4-.2-.7-.5-.8-1,0-.3-.1-.6-.2-.9-.1-.3-.2-.6-.2-1,0-.6-.1-1.1-.2-1.6-.2-.8-.4-1.6-.5-2.3,0,0,.1-.1.1-.1.1,0,.3-.1.4-.2.4-.2.6-.4.6-.9-.1-.7-.1-1.5-.5-2.2,0-.1-.1-.3,0-.4.2-.6.4-1.2,1.1-1.5.4-.1.7-.2,1.1-.3.3,0,.7,0,1-.1.1,0,.3-.1.3-.2,0-.1,0-.3-.1-.4-.2-.1-.4-.2-.6-.2-.7,0-1.4.1-2,.4-.4.2-.8.4-1,.8.8-.7,1.7-1,2.8-1,.2,0,.3,0,.5,0-.3.3-.6.3-.8.4-.2,0-.5,0-.7,0-.3,0-.6.2-.8.4-.2.2-.4.3-.6.5-.2,0-.4-.2-.3-.4-.1.1-.3.2-.4,0-.2-.3-.4-.4-.7-.5-.1,0-.2-.1-.4-.2.1-.3.2-.6.3-.9,0-.3,0-.6.2-.9.2-.6.4-1.1.5-1.7,0-.2.1-.4.4-.4.3,0,.6-.2.8-.3.2,0,.4-.2.4-.3.2-.7-.4-1.3-1-1.2,0,0-.2,0-.4,0,.1-.1.1-.2.2-.3.5-.3.6-.8.7-1.4,0-.5,0-1,0-1.5,0-.4,0-.8-.2-1.2-.1-.3-.1-.7-.1-1,0-.3,0-.6,0-1,0-.6-.1-1.2-.2-1.8,0-.3,0-.7-.2-1-.
1391-.4,0-.6.2-.9.7-.9,1.4-1.7,2-2.6Z"/></g>
140  </svg>
141  <div class="header-label">DOS Success Worksheet</div>
142</header>
143
144<div class="page-header">
145  <h1>DOS Success Worksheet</h1>
146  <p class="subtitle">Dangers &middot; Opportunities &middot; Strengths</p>
147</div>
148
149<form class='form-container' id='dos-form' method='POST' name='dos-worksheet'>
150  <input type="hidden" name="form-name" value="dos-worksheet">
151  <input type="hidden" name="subject" id="subject-field" value="DOS Success Worksheet submission">
152  <p class="hp-field"><label>Leave this field empty <input name="bot-field" tabindex="-1" autocomplete="off"></label></p>
153
154  <div class="meta-row">
155    <div class="input-group"><label>Your Name</label><input type="text" id="name" name="name" placeholder="Enter your full name" required></div>
156    <div class="input-group"><label>Your Email</label><input type="email" id="email" name="email" placeholder="[email protected]" required></div>
157    <div class="input-group"><label>Date</label><input type="date" id="date" name="date"></div>
158  </div>
159
160  <div style="background:#fff8e6;border:1px solid #e6c96a;border-left:4px solid #c9a227;border-radius:6px;padding:1rem 1.2rem;margin-bottom:1.5rem;display:flex;gap:.9rem;align-items:flex-start">
161    <span style="font-size:1.2rem;line-height:1.4">⚠️</span>
162    <div>
163      <p style="font-size:.88rem;font-weight:700;color:#7a5c00;margin-bottom:.25rem">Please complete and submit in one sitting</p>
164      <p style="font-size:.82rem;color:#9a7a20;line-height:1.5">Your answers are temporarily saved to this browser only. They will be <strong>lost</strong> if you switch devices, use a different browser, or clear your history. To save your responses permanently, click <strong>Submit Response</strong> at the bottom of the form.</p>
165    </div>
166  </div>
167
168  <div class="draft-bar">
169    <div class="draft-status"><div class="draft-dot" id="draft-dot"></div><span id="draft-label">Your answers save automatically as you type</span></div>
170    <button type="button" class="draft-clear" onclick="clearDraft()">Clear draft</button>
171  </div>
172
173  <!-- D -->
174  <div class="section-card">
175    <div class="section-header">
176      <div class="section-letter">D</div>
177      <div class="section-title-block"><h2>Dangers to be Eliminated</h2><p>The biggest dangers currently facing you — personally and professionally.</p></div>
178    </div>
179    <div class="examples-banner" onclick="openSidebar('dangers')">
180      <div class="examples-banner-left">
181        <svg viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6A4.997 4.997 0 0 1 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg>
182        <div><p class="examples-banner-title">Not sure where to start?</p><p class="examples-banner-sub">See examples of common dangers clients identify →</p></div>
183      </div>
184      <span class="examples-banner-pill">View Examples</span>
185    </div>
186    <div class="input-group"><label>Danger 1</label><textarea id="d1" name="danger-1" placeholder="Describe the first danger…"></textarea></div>
187    <div class="input-group"><label>Danger 2</label><textarea id="d2" name="danger-2" placeholder="Describe the second danger…"></textarea></div>
188    <div class="input-group"><label>Danger 3</label><textarea id="d3" name="danger-3" placeholder="Describe the third danger…"></textarea></div>
189  </div>
190
191  <!-- O -->
192  <div class="section-card">
193    <div class="section-header">
194      <div class="section-letter">O</div>
195      <div class="section-title-block"><h2>Opportunities to Capture</h2><p>Three biggest opportunities to be focused on and captured.</p></div>
196    </div>
197    <div class="examples-banner" onclick="openSidebar('opportunities')">
198      <div class="examples-banner-left">
199        <svg viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6A4.997 4.997 0 0 1 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg>
200        <div><p class="examples-banner-title">Not sure where to start?</p><p class="examples-banner-sub">
200See examples of common opportunities clients identify →</p></div>
201      </div>
202      <span class="examples-banner-pill">View Examples</span>
203    </div>
204    <div class="input-group"><label>Opportunity 1</label><textarea id="o1" name="opportunity-1" placeholder="Describe the first opportunity…"></textarea></div>
205    <div class="input-group"><label>Opportunity 2</label><textarea id="o2" name="opportunity-2" placeholder="Describe the second opportunity…"></textarea></div>
206    <div class="input-group"><label>Opportunity 3</label><textarea id="o3" name="opportunity-3" placeholder="Describe the third opportunity…"></textarea></div>
207  </div>
208
209  <!-- S -->
210  <div class="section-card">
211    <div class="section-header">
212      <div class="section-letter">S</div>
213      <div class="section-title-block"><h2>Strengths to Maximize</h2><p>Three biggest strengths to be reinforced and maximized.</p></div>
214    </div>
215    <div class="examples-banner" onclick="openSidebar('strengths')">
216      <div class="examples-banner-left">
217        <svg viewBox="0 0 24 24"><path d="M9 21c0 .55.45 1 1 1h4c.55 0 1-.45 1-1v-1H9v1zm3-19C8.14 2 5 5.14 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.86-3.14-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6A4.997 4.997 0 0 1 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z"/></svg>
218        <div><p class="examples-banner-title">Not sure where to start?</p><p class="examples-banner-sub">See examples of common strengths clients identify →</p></div>
219      </div>
220      <span class="examples-banner-pill">View Examples</span>
221    </div>
222    <div class="input-group"><label>Strength 1</label><textarea id="s1" name="strength-1" placeholder="Describe the first strength…"></textarea></div>
223    <div class="input-group"><label>Strength 2</label><textarea id="s2" name="strength-2" placeholder="Describe the second strength…"></textarea></div>
224    <div class="input-group"><label>Strength 3</label><textarea id="s3" name="strength-3" placeholder="Describe the third strength…"></textarea></div>
225  </div>
226
227  <div class="section-divider"><hr><span>Success Questionnaire</span><hr></div>
228
229  <div class="question-prompt">If we were meeting <em>X years from now</em> and looking back to today, what would have had to happen — both personally and professionally — for you to be happy with your progress?</div>
230
231  <div class="horizon-card">
232    <div class="horizon-label"><div class="horizon-pip"></div><h3>Success in Three Years</h3><span class="years-tag">3 Years</span></div>
233    <div class="input-group"><textarea id="success3" name="success-in-3-years" placeholder="Describe what success looks like for you three years from now…" style="min-height:120px"></textarea></div>
234  </div>
235  <div class="horizon-card">
236    <div class="horizon-label"><div class="horizon-pip"></div><h3>Success in Ten Years</h3><span class="years-tag">10 Years</span></div>
237    <div class="input-group"><textarea id="success10" name="success-in-10-years" placeholder="Describe what success looks like for you ten years from now…" style="min-height:120px"></textarea></div>
238  </div>
239  <div class="horizon-card">
240    <div class="horizon-label"><div class="horizon-pip"></div><h3>Success by End of Lifetime</h3><span class="years-tag">Lifetime</span></div>
241    <div class="input-group"><textarea id="successLife" name="success-in-lifetime" placeholder="Describe what a successful life looks like for you by the end of your lifetime…" style="min-height:120px"></textarea></div>
242  </div>
243
244  <p class="copyright-note">TM &amp; © 2000. The Strategic Coach Inc. All rights reserved.</p>
245  <div class="submit-row"><button type="submit" class="btn-submit">Submit Response</button></div>
246</form>
247
248<div class="success-panel" id="success-panel">
249  <div class="success-mark">
250    <svg viewBox="0 0 24 24"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg>
251  </div>
252  <h2>Thank you, <span id="success-name"></span></h2>
253  <p id="success-body">Your DOS Success Worksheet has been received. Your advisor at Monument Group Wealth has been notified and will review your responses before your next conversation.</p>
254  <div class="success-actions" id="success-actions">
255    <button type="button" class="btn-action btn-action-primary" onclick="downloadPdf()">Download My Responses (PDF)</button>
256    <button type="button" class="btn-action" onclick="printResponses()">Print My Responses</button>
257    <button type="button" class="btn-action btn-action-quiet" onclick="finishUp()">Done</button>
258  </div>
259  <p class="success-note" id="success-note">We don&rsquo;t email a copy, so download or print your responses now if you&rsquo;
259d like one for your records.</p>
260  <p class="done-note" id="done-note">You&rsquo;re all set &mdash; you can safely close this window.</p>
261  <button type="button" class="success-reopen" id="success-reopen" onclick="reopenOptions()" style="display:none">Back to download options</button>
262</div>
263
264<!-- Printable copy of the responses; hidden on screen, shown only when printing -->
265<div id="print-doc" aria-hidden="true"></div>
266
267<div class="sidebar-overlay" id="sidebar-overlay" onclick="closeSidebar()"></div>
268<div class="sidebar" id="sidebar">
269  <div class="sidebar-head">
270    <div>
271      <div class="sidebar-letter" id="sb-letter">D</div>
272      <h3 id="sb-title">Dangers to be Eliminated</h3>
273      <p id="sb-subtitle">Examples to spark your thinking</p>
274    </div>
275    <button class="sidebar-close" onclick="closeSidebar()">
276      <svg viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
277    </button>
278  </div>
279  <div class="sidebar-body">
280    <p class="sidebar-intro" id="sb-intro"></p>
281    <div id="sb-examples"></div>
282  </div>
283</div>
284
285<div class="toast" id="toast"></div>
286
287<script>
288const DRAFT_KEY='monument_dos_draft';
289const FIELDS=['name','email','d1','d2','d3','o1','o2','o3','s1','s2','s3','success3','success10','successLife'];
290
291document.getElementById('date').valueAsDate=new Date();
292
293let draftTimer;
294function saveDraft(){
295  const d={};
296  FIELDS.forEach(id=>{d[id]=document.getElementById(id)?.value||'';});
297  d.date=document.getElementById('date').value;
298  d.savedAt=new Date().toISOString();
299  try{localStorage.setItem(DRAFT_KEY,JSON.stringify(d));}catch(e){}
300  document.getElementById('draft-dot').classList.add('saved');
301  document.getElementById('draft-label').textContent='Draft saved — you can close and return anytime';
302}
303function restoreDraft(){
304  try{
305    const d=JSON.parse(localStorage.getItem(DRAFT_KEY));
306    if(!d||!Object.values(d).some(v=>v))return;
307    FIELDS.forEach(id=>{const el=document.getElementById(id);if(el&&d[id])el.value=d[id];});
308    if(d.date)document.getElementById('date').value=d.date;
309    document.getElementById('draft-dot').classList.add('saved');
310    document.getElementById('draft-label').textContent='Draft restored — your previous answers are loaded';
311  }catch(e){}
312}
313function clearDraft(){
314  if(!confirm('Clear your saved draft and start over?'))return;
315  try{localStorage.removeItem(DRAFT_KEY);}catch(e){}
316  FIELDS.forEach(id=>{const el=document.getElementById(id);if(el)el.value='';});
317  document.getElementById('date').valueAsDate=new Date();
318  document.getElementById('draft-dot').classList.remove('saved');
319  document.getElementById('draft-label').textContent='Draft cleared';
320}
321function attachDraftListeners(){
322  FIELDS.forEach(id=>{
323    const el=document.getElementById(id);
324    if(el)el.addEventListener('input',()=>{clearTimeout(draftTimer);draftTimer=setTimeout(saveDraft,800);});
325  });
326  document.getElementById('date').addEventListener('change',saveDraft);
327  document.getElementById('dos-form').addEventListener('submit',submitForm);
328}
329
330function collect(){
331  return{
332    name:document.getElementById('name').value.trim(),
333    email:document.getElementById('email').value.trim(),
334    date:document.getElementById('date').value,
335    dangers:['d1','d2','d3'].map(id=>document.getElementById(id).value.trim()),
336    opportunities:['o1','o2','o3'].map(id=>document.getElementById(id).value.trim()),
337    strengths:['s1','s2','s3'].map(id=>document.getElementById(id).value.trim()),
338    success3:document.getElementById('success3').value.trim(),
339    success10:document.getElementById('success10').value.trim(),
340    successLife:document.getElementById('successLife').value.trim(),
341  };
342}
343
344/* ---------- shared model used by both the PDF and the printable copy ---------- */
345function fmtDate(v){
346  const m=/^(\d{4})-(\d{2})-(\d{2})$/.exec(v||'');
347  if(!m)return v||'';
348  return new Date(+m[1],+m[2]-1,+m[3]).toLocaleDateString('en-US',{month:'long',day:'numeric',year:'numeric'});
349}
350
351function buildDoc(data){
352  return{
353    name:data.name,
354    email:data.email,
355    date:fmtDate(data.date),
356    sections:[
357      {letter:'D',title:'Dangers to be Eliminated',
358       intro:'The biggest dangers currently facing you \u2014 personally and professionally.',
359       items:[['Danger 1',data.dangers[0]],['Danger 2',data.dangers[1]],['Danger 3',data.dangers[2]]]},
360      {letter:'O',title:'Opportunities to Capture',
361       intro:'Three biggest opportunities to be focused on and captured.',
362       items:[['Opportunity 1',data.opportunities[0]],['Opportunity 2',data.opportunities[1]],['Opportunity 3',data.opportunities[2]]]},
363      {letter:'S',title:'Strengths to Maximize',
364       intro:'Three biggest strengths to be reinforced and maximized.',
365       items:[['Strength 1',data.strengths[0]],['Strength 2',data.strengths[1]],['Strength 3',data.strengths[2]]]},
366      {letter:'',title:'Success Questionnaire',
367       intro:'If we were meeting X years from now and looking back to today, what would have had to happen \u2014 both personally and professionally \u2014 for you to be happy with your progress?',
368       items:[['Success in Three Years',data.success3],['Success in Ten Years',data.success10],['Success by End of Lifetime',data.successLife]]}
369    ]
370  };
371}
372
373function safeFileName(name){
374  return 'DOS-Worksheet-'+String(name||'Response').replace(/[^a-z0-9]+/gi,'-').replace(/^-+|-+$/g,'');
375}
376
377/* ---------- minimal PDF writer (no libraries, works offline) ---------- */
378// Advance widths for the two standard PDF fonts, ASCII 32-126, in 1/1000 em.
379const PDF_W_N=[278,278,355,556,556,889,667,191,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,278,278,584,584,584,556,1015,667,667,722,722,667,611,778,722,278,500,667,556,833,722,778,667,778,722,667,611,722,667,944,667,667,611,278,278,278,469,556,333,556,556,500,556,556,278,556,556,222,222,500,222,833,556,556,556,556,333,500,278,556,500,722,500,500,500,334,260,334,584];
380const PDF_W_B=[278,333,474,556,556,889,722,238,333,333,389,584,278,333,278,278,556,556,556,556,556,556,556,556,556,556,333,333,584,584,584,611,975,722,722,722,722,667,611,778,722,278,556,722,611,833,722,778,667,778,722,667,611,722,667,944,667,667,611,333,278,333,584,556,333,556,611,556,611,556,333,611,611,278,278,556,278,889,611,611,611,611,389,556,333,611,556,778,556,556,500,389,280,389,584];
381const PDF_W_HI={133:1000,145:278,146:278,147:500,148:500,149:350,150:556,151:1000};
382// Unicode punctuation that lives in the 0x80-0x9F range of WinAnsiEncoding.
383const PDF_WINANSI={8364:128,8218:130,402:131,8222:132,8230:133,8224:134,8225:135,710:136,8240:137,352:138,8249:139,338:140,381:142,8216:145,8217:146,8220:147,8221:148,8226:149,8211:150,8212:151,732:152,8482:153,353:154,8250:155,339:156,382:158,376:159};
384
385function pdfEnc(str){
386  let out='';
387  for(const ch of String(str==null?'':str)){
388    const c=ch.codePointAt(0);
389    if(PDF_WINANSI[c])out+=String.fromCharCode(PDF_WINANSI[c]);
390    else if(c<256)out+=ch;
391    else out+='?';
392  }
393  return out;
394}
395function pdfEscape(str){return str.replace(/[\\()]/g,'\\$&').replace(/[\r\n\t]/g,' ');}
396function pdfWidth(str,bold,size){
397  const table=bold?PDF_W_B:PDF_W_N;
398  let w=0;
399  for(let i=0;i<str.length;i++){
400    const c=str.charCodeAt(i);
401    w+=(c>=32&&c<=126)?table[c-32]:(PDF_W_HI[c]||556);
402  }
403  return w*size/1000;
404}
405function pdfWrap(str,bold,size,maxw){
406  const lines=[];
407  String(str).split(/\r?\n/).forEach(para=>{
408    const words=para.split(/\s+/).filter(Boolean);
409    if(!words.length){lines.push('');return;}
410    let line='';
411    words.forEach(word=>{
412      const candidate=line?line+' '+word:word;
413      if(pdfWidth(candidate,bold,size)<=maxw){line=candidate;return;}
414      if(line)lines.push(line);
415      if(pdfWidth(word,bold,size)>maxw){          // a single unbreakable run: split by character
416        let chunk='';
417        for(const ch of word){
418          if(chunk&&pdfWidth(chunk+ch,bold,size)>maxw){lines.push(chunk);chunk=ch;}
419          else chunk+=ch;
420        }
421        line=chunk;
422      }else line=word;
423    });
424    if(line)lines.push(line);
425  });
426  return lines.length?lines:[''];
427}
428
429function buildPdf(data){
430  const doc=buildDoc(data);
431  const W=612,H=792,ML=64,MR=64,MAXW=W-ML-MR,FOOT=74;
432  const GREEN=[.239,.337,.157],MUTED=[.478,.541,.416],TEXT=[.169,.196,.125],RULE=[.847,.867,.816];
433  const pages=[];
434  let ops=null,y=0;
435
436  const rgb=c=>c[0].toFixed(3)+' '+c[1].toFixed(3)+' '+c[2].toFixed(3);
437  function newPage(){ops=[];pages.push(ops);y=H-72;}
438  function need(h){if(y-h<FOOT)newPage();}
439  function text(str,x,yy,font,size,color,spacing){
440    ops.push(rgb(color)+' rg');
441    ops.push('BT /'+font+' '+size+' Tf '+(spacing||0)+' Tc 1 0 0 1 '+x.toFixed(2)+' '+yy.toFixed(2)+' Tm ('+pdfEscape(str)+') Tj ET');
442  }
443  function rule(yy,color,h){ops.push(rgb(color||RULE)+' rg '+ML+' '+yy.toFixed(2)+' '+MAXW+' '+(h||0.7)+' re f');}
444
445  newPage();
446  text(pdfEnc('MONUMENT GROUP WEALTH'),ML,y,'F2',8.5,MUTED,1.6);y-=26;
447  text(pdfEnc('DOS Success Worksheet'),ML,y,'F2',22,TEXT);y-=16;
448  text(pdfEnc('Dangers \u00b7 Opportunities \u00b7 Strengths'),ML,y,'F1',11,MUTED);y-=14;
449  rule(y,GREEN,1.4);y-=26;
450
451  [['Name',doc.name],['Email',doc.email],['Date',doc.date]].forEach(pair=>{
452    text(pdfEnc(pair[0].toUpperCase()),ML,y,'F2',8,MUTED,1.2);
453    text(pdfEnc(pair[1]||'\u2014'),ML+86,y,'F1',11,TEXT);
454    y-=17;
455  });
456  y-=18;
457
458  doc.sections.forEach(section=>{
459    need(78);
460    text(pdfEnc((section.letter?section.letter+' \u2014 ':'')+section.title),ML,y,'F2',14,GREEN);y-=11;
461    rule(y,RULE);y-=16;
462    pdfWrap(pdfEnc(section.intro),false,9.5,MAXW).forEach(line=>{
463      need(20);text(line,ML,y,'F1',9.5,MUTED);y-=13;
464    });
465    y-=10;
466    section.items.forEach(item=>{
467      const answered=!!(item[1]&&item[1].trim());
468      need(50);
469      text(pdfEnc(item[0].toUpperCase()),ML,y,'F2',8,MUTED,1.2);y-=16;
470      pdfWrap(pdfEnc(answered?item[1]:'Not answered'),false,11,MAXW-14).forEach(line=>{
471        need(22);text(line,ML+14,y,'F1',11,answered?TEXT:MUTED);y-=15.5;
472      });
473      y-=13;
474    });
475    y-=8;
476  });
477
478  need(30);
479  text(pdfEnc('TM & \u00a9 2000. The Strategic Coach Inc. All rights reserved.'),ML,y,'F1',8.5,MUT
479ED);
480
481  // Footers, once the total page count is known.
482  pages.forEach((page,i)=>{
483    page.push(rgb(RULE)+' rg '+ML+' 56 '+MAXW+' 0.6 re f');
484    page.push(rgb(MUTED)+' rg');
485    const left=pdfEnc('DOS Success Worksheet \u2014 '+(doc.name||''));
486    page.push('BT /F1 8 Tf 0 Tc 1 0 0 1 '+ML+' 42 Tm ('+pdfEscape(left)+') Tj ET');
487    const right=pdfEnc('Page '+(i+1)+' of '+pages.length);
488    page.push('BT /F1 8 Tf 0 Tc 1 0 0 1 '+(W-MR-pdfWidth(right,false,8)).toFixed(2)+' 42 Tm ('+pdfEscape(right)+') Tj ET');
489  });
490
491  // Serialize: 1 catalog, 2 page tree, 3-4 fonts, 5 info, then a stream + page object per page.
492  const objs=['','','','',''];
493  const add=body=>objs.push(body)&&objs.length;
494  const kids=[];
495  pages.forEach(page=>{
496    const stream=page.join('\n');
497    const contentNum=add('<< /Length '+stream.length+' >>\nstream\n'+stream+'\nendstream');
498    kids.push(add('<< /Type /Page /Parent 2 0 R /MediaBox [0 0 '+W+' '+H+'] /Resources << /Font << /F1 3 0 R /F2 4 0 R >> >> /Contents '+contentNum+' 0 R >>'));
499  });
500  const d=new Date(),pad=n=>String(n).padStart(2,'0');
501  const stamp=d.getFullYear()+pad(d.getMonth()+1)+pad(d.getDate())+pad(d.getHours())+pad(d.getMinutes())+pad(d.getSeconds());
502  objs[0]='<< /Type /Catalog /Pages 2 0 R >>';
503  objs[1]='<< /Type /Pages /Count '+pages.length+' /Kids ['+kids.map(n=>n+' 0 R').join(' ')+'] >>';
504  objs[2]='<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >>';
505  objs[3]='<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding >>';
506  objs[4]='<< /Title ('+pdfEscape(pdfEnc('DOS Success Worksheet \u2014 '+(doc.name||'')))+') /Author (Monument Group Wealth) /Producer (Monument Group Wealth) /CreationDate (D:'+stamp+') >>';
507
508  let out='%PDF-1.4\n%\u00e2\u00e3\u00cf\u00d3\n';
509  const offsets=[];
510  objs.forEach((body,i)=>{offsets.push(out.length);out+=(i+1)+' 0 obj\n'+body+'\nendobj\n';});
511  const xref=out.length;
512  out+='xref\n0 '+(objs.length+1)+'\n0000000000 65535 f \n';
513  offsets.forEach(o=>{out+=String(o).padStart(10,'0')+' 00000 n \n';});
514  out+='trailer\n<< /Size '+(objs.length+1)+' /Root 1 0 R /Info 5 0 R >>\nstartxref\n'+xref+'\n%%EOF';
515
516  const bytes=new Uint8Array(out.length);
517  for(let i=0;i<out.length;i++)bytes[i]=out.charCodeAt(i)&0xff;
518  return bytes;
519}
520
521function downloadPdf(){
522  const data=window.__lastSubmission;
523  if(!data)return;
524  try{
525    const url=URL.createObjectURL(new Blob([buildPdf(data)],{type:'application/pdf'}));
526    const a=document.createElement('a');
527    a.href=url;a.download=safeFileName(data.name)+'.pdf';
528    document.body.appendChild(a);a.click();a.remove();
529    setTimeout(()=>URL.revokeObjectURL(url),2000);
530    toast('Your responses have been downloaded as a PDF.');
531  }catch(err){
532    console.error(err);
533    toast('The PDF could not be generated \u2014 please use Print My Responses instead.');
534  }
535}
536
537/* ---------- printable copy ---------- */
538function escHtml(v){
539  return String(v==null?'':v).replace(/[&<>"]/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;'}[c]));
540}
541function escLines(v){return escHtml(v).replace(/\r?\n/g,'<br>');}
542
543function renderPrintDoc(data){
544  const doc=buildDoc(data);
545  const sections=doc.sections.map(section=>
546    '<section class="pd-section">'+
547      '<h2>'+(section.letter?escHtml(section.letter)+' &mdash; ':'')+escHtml(section.title)+'</h2>'+
548      '<p class="pd-intro">'+escHtml(section.intro)+'</p>'+
549      section.items.map(item=>
550        '<div class="pd-item"><h3>'+escHtml(item[0])+'</h3><p>'+
551        (item[1]&&item[1].trim()?escLines(item[1]):'<span class="pd-empty">Not answered</span>')+
552        '</p></div>').join('')+
553    '</section>').join('');
554
555  return '<div class="pd-mast">'+
556      '<div class="pd-eyebrow">Monument Group Wealth</div>'+
557      '<h1>DOS Success Worksheet</h1>'+
558      '<p class="pd-sub">Dangers &middot; Opportunities &middot; Strengths</p>'+
559    '</div>'+
560    '<div class="pd-meta">'+
561      '<span><b>Name</b>'+escHtml(doc.name)+'</span>'+
562      '<span><b>Email</b>'+escHtml(doc.email)+'</span>'+
563      '<span><b>Date</b>'+escHtml(doc.date)+'</span>'+
564    '</div>'+sections+
565    '<p class="pd-foot">TM &amp; &copy; 2000. The Strategic Coach Inc. All rights reserved.</p>';
566}
567
568function printResponses(){
569  const data=window.__lastSubmission;
570  if(!data)return;
571  document.getElementById('print-doc').innerHTML=renderPrintDoc(data);
572  window.print();
573}
574
575/* ---------- done ---------- */
576function finishUp(){
577  document.getElementById('success-actions').style.display='none';
578  document.getElementById('success-note').style.display='none';
579  document.getElementById('success-body').textContent='Your responses are with your advisor at Monument Group Wealth and will be reviewed before your next conversation.';
580  document.getElementById('done-note').style.display='block';
581  document.getElementById('success-reopen').style.display='inline-block';
582  window.scrollTo({top:0,behavior:'smooth'});
583}
584function reopenOptions(){
585  document.getElementById('success-actions').style.display='flex';
586  document.getElementById('success-note').style.display='block';
587  document.getElementById('done-note').style.display='none';
588  document.getElementById('success-reopen').style.display='none';
589}
590
591async function submitForm(e){
592  e.preventDefault();
593  const form=document.getElementById('dos-form');
594  const btn=form.querySelector('.btn-submit');
595  const data=collect();
596
597  if(!data.name){alert('Please enter your name before submitting.');document.getElementById('name').focus();return;}
598  if(!data.email||!data.email.includes('@')){alert('Please enter a valid email address.');document.getElementById('email').focus();return;}
599
600  document.getElementById('subject-field').value=`DOS Worksheet \u2014 ${data.name}`;
601
602  btn.disabled=true;btn.textContent='Submitting\u2026';
603
604  try{
605    const res=await fetch('/',{
606      method:'POST',
607      headers:{'Content-Type':'application/x-www-form-urlencoded'},
608      body:new URLSearchParams(new FormData(form)).toString(),
609    });
610    if(!res.ok)throw new Error(`Submission failed with status ${res.status}`);
611
612    window.__lastSubmission=data;
613    try{localStorage.removeItem(DRAFT_KEY);}catch(err){}
614    showSuccess(data);
615  }catch(err){
616    console.error(err);
617    btn.disabled=false;btn.textContent='Submit Response';
618    toast('Something went wrong sending your response. Your answers are still saved \u2014 please try again.');
619  }
620}
621
622function showSuccess(data){
623  document.getElementById('dos-form').style.display='none';
624  const panel=document.getElementById('success-panel');
625  document.getElementById('success-name').textContent=data.name.split(' ')[0]||data.name;
626  panel.style.display='block';
627  window.scrollTo({top:0,behavior:'smooth'});
628}
629
630function toast(msg){
631  const t=document.getElementById('toast');
632  t.textContent=msg;t.classList.add('show');
633  setTimeout(()=>t.classList.remove('show'),6000);
634}
635function x(s){return s?s.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;'):''}
636
637const EXAMPLES={
638  dangers:{
639    letter:'D',title:'Dangers to be Eliminated',subtitle:'Examples to spark your thinking',
640    intro:'Dangers are threats that, left unaddressed, could undermine your financial security, your relationship, or your qual
640ity of life. Think broadly — financial, relational, health-related, and professional.',
641    items:[
642      {tag:'Financial',title:'Spending more than we earn',detail:'Lifestyle creep is one of the most common threats to long-term wealth. Even high-income couples can find themselves cash-poor if expenses expand with income.'},
643      {tag:'Planning',title:'No estate plan — or an outdated one',detail:'Wills, trusts, beneficiary designations, and powers of attorney that haven\'t been reviewed in years can create serious problems for your family.'},
644      {tag:'Risk',title:'Underinsured against major life events',detail:'This includes gaps in life insurance, disability coverage, long-term care, or liability protection that could wipe out years of savings.'},
645      {tag:'Concentration',title:'Too much wealth tied to a single asset',detail:'Whether it\'s a business, real estate, or company stock — over-concentration leaves you vulnerable to one bad outcome.'},
646      {tag:'Relational',title:'One spouse handling all the finances',detail:'If one partner manages everything and becomes incapacitated or passes away, the other may be left without knowledge, access, or confidence.'},
647      {tag:'Debt',title:'High-interest debt eroding net worth',detail:'Credit card balances, personal loans, or variable-rate debt can quietly compound and crowd out savings and investment.'},
648      {tag:'Health',title:'Ignoring preventive health and wellness',detail:'Health is your most important asset. Neglecting it — physically or mentally — can derail financial plans and limit quality of life in retirement.'},
649      {tag:'Tax',title:'Poor tax planning and missed opportunities',detail:'Not coordinating Roth conversions, asset location, capital gains harvesting, or charitable strategies can cost tens of thousands over time.'},
650    ]
651  },
652  opportunities:{
653    letter:'O',title:'Opportunities to Capture',subtitle:'Common opportunities worth prioritizing right now.',
654    intro:'Opportunities are moments, windows, or circumstances that could meaningfully improve your financial future — but only if you act on them intentionally.',
655    items:[
656      {tag:'Tax',title:'Maximize tax-advantaged accounts',detail:'Fully funding 401(k)s, IRAs, HSAs, and other tax-sheltered vehicles — especially with employer matching — is one of the highest-return moves available.'},
657      {tag:'Business',title:'Sell or transition a business at the right time',detail:'Many entrepreneurs miss the window for an optimal exit. Planning ahead — for valuation, structure, and taxes — can dramatically change the outcome.'},
658      {tag:'Real Estate',title:'Leverage real estate strategically',detail:'Whether it\'s a primary home, rental property, or a 1031 exchange, real estate can build wealth and generate tax-advantaged income.'},
659      {tag:'Family',title:'Children becoming financially independent',detail:'As kids launch careers and become self-sufficient, dollars that went to supp
659ort them can be redirected toward your own retirement and legacy goals.'},
660      {tag:'Legacy',title:'Start charitable giving while you\'re alive',detail:'Donor-advised funds, charitable trusts, and direct gifts can align your wealth with your values — and create meaningful tax benefits today.'},
661      {tag:'Income',title:'Increase income through a career move or negotiation',detail:'A well-timed promotion, role change, or negotiation can add significantly to lifetime earnings and savings capacity.'},
662      {tag:'Simplification',title:'Consolidate advisors and accounts',detail:'A fragmented financial picture — multiple advisors, old 401(k)s, scattered accounts — creates blind spots. Bringing it together reveals a clearer strategy.'},
663      {tag:'Lifestyle',title:'Right-size your home or expenses',detail:'Downsizing, relocating to a lower-cost area, or eliminating a major expense can free up significant capital for investment and flexibility.'},
664      {tag:'Family',title:'Invest in time with children and grandchildren while you can',detail:'The window to be present in your kids\' and grandkids\' lives is finite. Structuring your finances and schedule intentionally around family time is one of the highest-return decisions you can make.'},
665      {tag:'Community',title:'Build or deepen community ties before retirement',detail:'Retirement can bring unexpected isolation. Actively investing in friendships, local organizations, faith communities, or volunteer work now builds the social infrastructure that will sustain you later.'},
666    ]
667  },
668  strengths:{
669    letter:'S',title:'Strengths to Maximize',subtitle:'Common strengths that are worth building on.',
670    intro:'Strengths are the advantages, habits, and assets you already have — things that, if reinforced and leveraged, can accelerate your progress toward your goals.',
671    items:[
672      {tag:'Habits',title:'Consistent savings discipline',detail:'If you\'ve built the habit of saving regularly — regardless of market conditions or income fluctuations — that\'s a rare and powerful foundation.'},
673      {tag:'Alignment',title:'Shared values around money as a couple',detail:'Couples who are aligned on financial goals, spending philosophies, and risk tolerance experience far less conflict and make better decisions together.'},
674      {tag:'Income',title:'Strong earning capacity',detail:'High income — whether from a career, business, or multiple sources — creates options. The key is channeling it intentionally rather than letting it disappear.'},
675      {tag:'Assets',title:'Business or real estate equity built over time',detail:'Illiquid assets can represent significant wealth — but they need to be planned around carefully for liquidity, taxes, and eventual transition.'},
676      {tag:'Lifestyle',title:'Living well below your means',detail:'A high savings rate and low lifestyle cost is one of the most durable paths to financial independence and freedom of choice.'},
677      {tag:'Network',title:'Strong professional and personal relationships',detail:'Career opportunities, business referrals, mentorship, and community support often come through people — and those relationships compound over time.'},
678      {tag:'Vision',title:'A clear, shared picture of retirement',detail:'Couples who can articulate what a great life looks like — where, how, with whom — make far better planning decisions than those who haven\'t thought it through.'},
679      {tag:'Family',title:'Close relationships with children and grandchildren',detail
679:'Having strong, present relationships with your family is one of the greatest indicators of happiness and meaning in retirement — and it takes ongoing investment to maintain.'},
680      {tag:'Community',title:'Deep roots in your community',detail:'A strong sense of place — through friendships, faith, civic involvement, or local relationships — provides belonging, purpose, and resilience that money alone cannot buy.'},
681    ]
682  }
683};
684
685function openSidebar(type){
686  const d=EXAMPLES[type];
687  document.getElementById('sb-letter').textContent=d.letter;
688  document.getElementById('sb-title').textContent=d.title;
689  document.getElementById('sb-subtitle').textContent=d.subtitle;
690  document.getElementById('sb-intro').textContent=d.intro;
691  document.getElementById('sb-examples').innerHTML=d.items.map(item=>`
692    <div class="example-item">
693      <span class="example-tag">${item.tag}</span>
694      <strong>${item.title}</strong>
695      <span>${item.detail}</span>
696    </div>`).join('');
697  document.getElementById('sidebar').classList.add('open');
698  document.getElementById('sidebar-overlay').classList.add('open');
699  document.body.style.overflow='hidden';
700}
701function closeSidebar(){
702  document.getElementById('sidebar').classList.remove('open');
703  document.getElementById('sidebar-overlay').classList.remove('open');
704  document.body.style.overflow='';
705}
706
707restoreDraft();
708attachDraftListeners();
709</script>
vendor: 1 bytes, line 709
709
710<script async src="/.netlify/scripts/ar" data-netlify-deploy-id="6a8b1ad6acb7920008330bde" data-netlify-site-id="8ebbf1f5-f4fd-4882-b966-57dc338be349" data-agent-runner-id="6a8b13f8a6e73c5b3d19ca03"></script>
710
711</body>
712</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.