:root{--paper:#faf7f1;--card:#fff;--ink:#1f1d1a;--muted:#56504a;--line:#cfc7b8;--accent:#1f4d3b;--serif:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:20px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;line-height:1.6}main{max-width:38rem;margin:0 auto;padding:2rem 1.1rem 3rem}main.wide{max-width:56rem}footer{max-width:38rem;color:var(--muted);border-top:1px solid var(--line);margin:0 auto;padding:1.5rem 1.1rem 3rem;font-size:.85rem}h1,h2,h3{font-family:var(--serif);overflow-wrap:anywhere;margin:0 0 .6rem;font-weight:600;line-height:1.25}h1{margin-top:.4rem;font-size:1.9rem}h2{margin-top:2.4rem;font-size:1.35rem}h3{margin-top:1.6rem;font-size:1.1rem}p{margin:0 0 1rem}ul{margin:0 0 1rem;padding-left:1.3rem}a,.link{color:var(--accent);text-underline-offset:.15em;text-decoration:underline}.link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.lead{font-family:var(--serif);font-size:1.15rem}.muted{color:var(--muted)}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.2rem;font-size:.85rem}.answer{white-space:pre-wrap;overflow-wrap:anywhere}hr{border:0;border-top:1px solid var(--line);margin:2.5rem 0}label{font-weight:600;display:block}input[type=text],input:not([type]),input[type=date],input[type=email],input[type=datetime-local],select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--card);border:2px solid var(--muted);border-radius:8px;min-height:2.6rem;margin-top:.4rem;padding:.7rem .8rem;font-weight:400;display:block}textarea{resize:vertical;field-sizing:content;min-height:6rem}textarea[readonly]{border-color:var(--line);background:0 0}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn{min-height:2.8rem;font:inherit;color:#fff;background:var(--accent);border:2px solid var(--accent);cursor:pointer;text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:.6rem 1.3rem;font-weight:600;text-decoration:none;display:inline-flex}.btn.quiet{color:var(--accent);background:0 0}.btn.small{min-height:2.4rem;padding:.3rem .9rem;font-size:.9rem}.btn:disabled{opacity:.55;cursor:default}.btn.file{position:relative}.btn.file input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.btn.file:focus-within{outline:3px solid var(--accent);outline-offset:3px}.row{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.row.between{justify-content:space-between}.stack{gap:1.1rem;display:grid}.grid{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1rem;margin:1rem 0;display:grid}.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:.8rem 0;padding:1rem}.panel>:last-child{margin-bottom:0}.status{color:var(--muted);min-height:1.4rem;margin:.3rem 0 .6rem;font-size:.9rem}.problem{border-left:4px solid var(--ink);padding:.2rem 0 .2rem .8rem;font-weight:600}progress{width:100%;height:.8rem;accent-color:var(--accent)}.sections{gap:.8rem;margin:1.5rem 0;padding:0;list-style:none;display:grid}.sections a,.choice{background:var(--card);width:100%;min-height:3.4rem;color:var(--ink);border:2px solid var(--line);font:inherit;text-align:left;cursor:pointer;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.3rem 1rem;padding:.9rem 1.1rem;text-decoration:none;display:flex}.sections a strong,.choice strong{font-family:var(--serif);font-size:1.15rem}.sections a span{color:var(--muted);font-size:.9rem}.sections a span.done{color:var(--accent);font-weight:600}.choice{flex-direction:column;align-items:flex-start}.choice span{color:var(--muted)}.sections a:hover,.choice:hover{border-color:var(--accent)}.question{border-top:1px solid var(--line);padding:1.6rem 0}.question h2{margin-top:0;font-size:1.25rem}.question h2 label{font-weight:600}.question .number{color:var(--muted)}.example{color:var(--muted);font-size:.9rem;font-style:italic}.question .example{margin:-.2rem 0 .6rem}.tick{cursor:pointer;align-items:center;gap:.7rem;min-height:2.8rem;margin-top:.8rem;font-weight:400;display:flex}.tick input{width:1.5rem;height:1.5rem;accent-color:var(--accent);flex:none}.recorder{display:contents}.recorder .panel,.recorder .problem,.recorder .preview{flex-basis:100%}.recording{border:2px solid var(--accent)}.recording-line{font-size:1.15rem}.dot{background:var(--accent);border-radius:50%;width:.8rem;height:.8rem;animation:1.2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.dot{animation:none}}.media-card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin:.8rem 0;padding:.8rem}.media-card .caption{margin-top:.6rem;font-size:.9rem}figcaption{margin-top:.5rem}img,video{border-radius:6px;max-width:100%;height:auto;display:block}audio{width:100%;display:block}video.preview{background:#000;width:100%;max-height:50vh}.placeholder{background:var(--paper);border:1px dashed var(--muted);overflow-wrap:anywhere;border-radius:6px;padding:1rem}.cover{object-fit:cover;border-radius:50%;width:9rem;height:9rem;margin-bottom:1rem}.family-head{margin-bottom:1rem}.copyable{-webkit-user-select:all;user-select:all;background:var(--card);border:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:8px;margin-bottom:.6rem;padding:.7rem .8rem;font-size:.9rem;display:block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.6rem .8rem .6rem 0}.admin-answer{border-top:1px solid var(--line);padding:.9rem 0}.admin-answer h4{margin:0 0 .4rem;font-size:1rem}.thumbs{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.8rem;margin:.6rem 0;display:grid}form.inline{display:inline}main:has(.admin){max-width:56rem}[hidden]{display:none!important}.stack .example{margin:-.6rem 0 0}.btn.copy{min-width:6rem}td.copy-cell{white-space:nowrap;width:1%}.steps-intro{color:var(--muted);margin:.2rem 0 1.8rem}.steps{margin:0 0 1rem;padding:0;list-style:none}.step{grid-template-columns:1.8rem minmax(0,1fr);column-gap:1rem;padding-bottom:1.4rem;display:grid;position:relative}.step:not(:last-child):before{content:"";background:var(--line);width:1px;position:absolute;top:2rem;bottom:.2rem;left:.9rem}.marker{width:1.8rem;height:1.8rem;font-family:var(--serif);border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;display:flex}.step.done .marker{background:var(--accent);border-color:var(--accent);color:#fff}.step.current .marker{background:var(--card);border:2px solid var(--accent);color:var(--accent)}.step-text{padding-top:.1rem}.step-title{font-family:var(--serif);margin:0;font-size:1.1rem;line-height:1.3}.step.upcoming .step-title{color:var(--muted)}.step-summary{color:var(--muted);margin:.15rem 0 0;font-size:.9rem;line-height:1.5}.step-card{background:var(--card);border:1px solid var(--line);border-radius:8px;min-width:0;margin-top:-.25rem;padding:1.1rem 1.2rem}.step-card .eyebrow{color:var(--accent);margin-bottom:.4rem}.step-card h2{margin:0 0 .5rem;font-size:1.4rem;font-weight:500}.step-card p:last-child,.step-card>:last-child>:last-child{margin-bottom:0}.step-card .btn{border-radius:999px;min-height:3rem;padding:0 1.5rem}.step-actions{margin-top:1.1rem}.convs{border-bottom:1px solid var(--line);margin:1.2rem 0 0;padding:0;list-style:none}.conv{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.3rem 1rem;min-height:3.4rem;padding:.7rem 0;display:flex}.conv p{margin:0}.conv-name{font-weight:600}.conv-date{color:var(--ink);font-size:.9rem;line-height:1.4}.conv-done{color:var(--accent);white-space:nowrap;align-items:center;gap:.4rem;font-weight:600;display:flex}.conv-note{color:var(--muted);font-size:.9rem}.conv-change,.conv-choose{min-height:2.75rem;font:inherit;white-space:nowrap;cursor:pointer;flex:none;align-items:center;font-size:.9rem;font-weight:600;display:inline-flex}.conv-change{color:var(--accent);text-underline-offset:.15em;background:0 0;border:0;padding:0;text-decoration:underline}.conv-choose{color:var(--ink);background:var(--card);border:1px solid var(--muted);border-radius:999px;padding:0 1.1rem}.conv-choose:hover{border-color:var(--accent)}.before-we-talk{border-top:1px solid var(--line);margin-top:1.4rem;padding-top:1.6rem}.before-we-talk .eyebrow{color:var(--accent)}.before-we-talk h2{margin-top:0}.popup-backdrop{z-index:50;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#1e23268c;padding:1rem .6rem 2rem;position:fixed;inset:0;overflow-y:auto}.popup{background:var(--card);border-radius:8px;max-width:40rem;margin:0 auto;overflow:hidden}.popup-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem .9rem 1.2rem;display:flex}.popup-head h2{margin:0;font-size:1.2rem;font-weight:500}.popup-close{min-height:3rem;font:inherit;cursor:pointer;color:var(--ink);background:var(--card);border:2px solid var(--muted);border-radius:999px;flex:none;align-items:center;gap:.5rem;padding:0 1.2rem;font-weight:600;display:inline-flex}.popup-body{padding:1rem 1.2rem 1.4rem}.popup-body>p{margin-bottom:.6rem;font-size:.9rem}.popup-cal{min-height:4rem}.timeline,.timeline ol{margin:0;padding:0;list-style:none}.timeline{border-left:3px solid var(--line);margin:.8rem 0 1.6rem;padding-left:1rem}.timeline>li{padding:.5rem 0}.timeline ol{margin:.3rem 0 0 .2rem}.timeline ol li{padding:.2rem 0}.timeline .line{flex-wrap:wrap;align-items:baseline;gap:.2rem .7rem;display:flex}.timeline>li>.line strong{font-family:var(--serif);font-size:1.1rem}.timeline .later,.timeline .later .when{color:var(--muted)}.timeline .when{color:var(--ink);font-size:.9rem}.tag{white-space:nowrap;border:1px solid;border-radius:6px;padding:0 .5rem;font-size:.85rem;font-weight:600}.tag.done{color:var(--accent)}.tag.next{color:#fff;background:var(--accent);border-color:var(--accent)}.tag.with-us{color:var(--ink)}.outstanding{padding-left:1.3rem}.outstanding li{margin-bottom:.6rem}.outstanding li>p{margin-bottom:.5rem}.admin .row input,.admin .row select{width:auto;margin-top:0}
