:root{--green:#183f35;--gold:#9c702d;--paper:#fffefb;--sage:#d7dfd1;--plum:#6d415c;--muted:#53675e;--line:#bdc9bd}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--green);background:var(--paper);font-family:Georgia,'Times New Roman',serif}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.site-header{display:flex;justify-content:space-between;align-items:center;padding:26px 5vw;border-bottom:1px solid var(--line);gap:24px}.brand{font-size:22px;text-decoration:none}.brand span{display:block;font:9px/1.8 Arial,sans-serif;letter-spacing:.15em;margin-top:6px}nav{display:flex;align-items:center;gap:28px;font:13px Arial,sans-serif}nav a{text-decoration:none}.text-button{background:none;border:0;color:var(--green);font:13px/1.5 Arial,sans-serif;padding:10px 8px}.text-button:hover{text-decoration:underline}.eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:.19em;color:var(--gold);text-transform:uppercase}.hero{max-width:1200px;margin:auto;display:grid;grid-template-columns:1fr .85fr;gap:80px;padding:65px 6vw 90px;align-items:center}.hero h1{font-size:clamp(64px,7.6vw,105px);line-height:.96;font-weight:400;letter-spacing:-.06em;margin:28px 0}.hero h1 em{font-weight:400}.standfirst{font-size:26px!important;line-height:1.35!important}.hero p{max-width:410px;font-size:17px;line-height:1.65}.button{display:inline-flex;justify-content:center;align-items:center;gap:20px;background:var(--green);border:1px solid var(--green);color:white;padding:16px 22px;font:13px/1.4 Arial,sans-serif;text-decoration:none;border-radius:3px}.button:hover{background:#285646}.button.outline{background:transparent;color:var(--green)}.button.outline:hover{background:#ecf0e8}.hero .button{margin:12px 0}.quiet{font:12px/1.7 Arial,sans-serif!important;color:var(--muted)}.cover-wrap{position:relative}.cover-wrap:before{content:'';position:absolute;inset:30px -20px -20px 20px;background:#e6e7dc;transform:rotate(3deg);z-index:-1}.cover-wrap img{display:block;width:100%;height:auto;box-shadow:0 12px 35px #143e3520}.cover-caption{display:block;text-align:right;font-style:italic;margin-top:22px;font-size:18px}.formats{text-align:center;background:#f0f2eb;padding:75px 5vw}.formats>h2,.journey h2,.privacy-note h2{font-size:48px;letter-spacing:-.035em;font-weight:400;margin:15px 0}.formats>p{font-size:18px}.format-grid{max-width:1180px;margin:40px auto 0;display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left}.format-grid article{padding:32px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}.format-grid article.highlight{border-color:var(--green);box-shadow:0 10px 20px #183f350b}.format-number{font-size:32px;color:var(--gold);font-style:italic}.format-grid h3{font-weight:400;font-size:29px;margin:25px 0 12px}.format-grid p{font-size:16px;line-height:1.65}.format-grid .format-price{font:12px Arial,sans-serif;margin-top:auto;padding:18px 0}.format-grid .button{width:100%;min-height:55px}.format-grid small{font:11px/1.6 Arial,sans-serif;color:var(--muted);margin-top:15px}.journey{max-width:1120px;margin:auto;padding:90px 5vw;display:grid;grid-template-columns:1fr 1fr;gap:80px}.journey p{font-size:18px;line-height:1.7}.journey ol{list-style:none;margin:0;padding:0}.journey li{padding:20px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr;gap:6px}.journey li span{grid-row:span 2;font-style:italic;color:var(--gold);font-size:25px}.journey li strong{font-size:23px;font-weight:400}.journey li small{font:13px Arial,sans-serif;color:var(--muted)}.privacy-note{max-width:760px;margin:0 auto 70px;padding:36px;border-top:1px solid var(--line)}.privacy-note p{font:15px/1.8 Arial,sans-serif}footer{text-align:center;border-top:1px solid var(--line);padding:30px 20px}footer>p{font-size:17px}dialog{background:var(--paper);color:var(--green);border:1px solid var(--line);max-width:580px;width:calc(100% - 30px);padding:40px;border-radius:8px;max-height:92vh;box-shadow:0 20px 90px #122a3555}dialog::backdrop{background:#123c3470;backdrop-filter:blur(5px)}dialog h2{font-size:35px;line-height:1.15;font-weight:400;margin:18px 0}dialog p{font-size:17px;line-height:1.65}.close{position:absolute;right:15px;top:10px;background:none;border:0;color:var(--green);font-size:27px}.support-box{padding:18px;border:1px solid var(--line);margin:25px 0}.support-box summary{cursor:pointer;font:14px Arial,sans-serif}dialog>.button,dialog form>.button{width:100%}label{display:block;font:13px/1.5 Arial,sans-serif;margin:18px 0;color:var(--green)}input,textarea,select{border:1px solid var(--line);border-radius:3px;background:#fffefb;color:var(--green);padding:13px;width:100%;margin-top:7px}textarea{resize:vertical;line-height:1.7;font-size:17px}input[type=checkbox],input[type=color]{width:auto}input[type=color]{padding:2px;height:36px;width:45px}.error{color:#91352a!important;font:13px/1.6 Arial,sans-serif!important}.journal-top{padding:12px 4vw;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.journal-top>div{display:flex;align-items:center;gap:12px}#save-status{font:11px Arial,sans-serif;color:var(--muted)}.workspace{display:grid;grid-template-columns:230px 1fr;max-width:1500px;margin:auto}.page-nav{padding:30px 20px;border-right:1px solid var(--line);max-height:calc(100vh - 80px);overflow:auto;position:sticky;top:0}.page-nav h2{font-size:24px;font-weight:400}.page-nav .button{padding:12px;width:100%}.nav-group{margin:25px 0}.nav-group h3{font:10px Arial,sans-serif;letter-spacing:.13em;color:var(--gold);text-transform:uppercase}.nav-page{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #edf0e8;background:none;color:var(--green);font:12px/1.5 Arial,sans-serif;padding:10px 8px}.nav-page:hover,.nav-page.active{background:#e7ede2}.nav-page.active{border-left:3px solid var(--gold)}.nav-page.completed:after{content:' ✓';color:var(--gold)}.danger{color:#91352a;font-size:11px;margin-top:20px}.page-work{padding:24px 4vw 60px;min-width:0}.page-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:15px}.page-toolbar .eyebrow{font-size:10px}.entry-header h1{font-size:42px;line-height:1.15;font-weight:400;margin:30px 0 20px}.entry-header blockquote{font-size:21px;font-style:italic;line-height:1.5;margin:0 0 25px;padding:0}.entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:28px;align-items:start}.page-proof{position:sticky;top:20px}.page-proof img{width:100%;box-shadow:0 5px 20px #183f351f;border:1px solid #d9dfd4}.page-proof summary{font:12px Arial,sans-serif;margin:10px 0;cursor:pointer}.page-proof a{font:11px Arial,sans-serif}.entry-form{min-width:0}.entry-form h2{font-size:25px;font-weight:400;line-height:1.35}.entry-form .response{border:1px solid var(--line);padding:18px;margin:20px 0;border-radius:5px;background:#fff}.response label{margin:0 0 8px;font:20px/1.45 Georgia,serif}.response textarea{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;min-height:130px;padding:8px 0}.response textarea:focus{outline-offset:6px}.response.compact textarea{min-height:65px}.meta-entry{padding:20px;border:1px solid var(--line);background:#f5f6ef;margin-bottom:24px}.meta-entry>label{margin-top:0}.mood-options{display:flex;flex-wrap:wrap;gap:12px}.mood-options label{display:flex;align-items:center;gap:5px;font-size:11px;margin:6px 0}.mood-options input{width:16px;height:16px;margin:0;accent-color:var(--green)}.list-input{display:flex;align-items:center;gap:15px;margin:10px 0}.list-input>span{color:var(--gold);font-size:24px;min-width:18px}.list-input input{margin:0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0}.circles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.circle-response{aspect-ratio:1;border:1px solid var(--green);border-radius:50%;padding:18%;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:20px}.circle-response span{position:absolute;top:12%;font:10px Arial,sans-serif;letter-spacing:.15em}.circle-response textarea{border:0;padding:0;margin-top:15px;text-align:center;min-height:80px;font-size:14px;background:transparent}.ritual-wheel{position:relative;max-width:410px;margin:35px auto;height:260px}.ritual-wheel:before{content:'';position:absolute;inset:15px 80px;border:1px solid var(--green);border-radius:50%}.ritual-wheel label{position:absolute;display:flex;gap:8px;align-items:center;background:var(--paper);margin:0;font-size:11px;width:145px}.ritual-wheel label:nth-child(n+4){right:0;flex-direction:row-reverse}.ritual-wheel input{width:20px;height:20px;accent-color:var(--green);margin:0}.ritual-wheel .center{position:absolute;inset:95px 100px;text-align:center;font-style:italic}.bubble-grid,.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bubble-grid textarea{border-radius:48%;padding:20px;min-height:100px;text-align:center}.stage{position:relative;padding:20px 35px 35px;border-bottom:7px solid #d4be9c;overflow:hidden;background:linear-gradient(90deg,#8d2524 0%,#ac3630 7%,#fffefb 9%,#fffefb 91%,#ac3630 93%,#8d2524 100%);border-radius:0 0 40% 40%/0 0 4% 4%}.stage .list-input input{border:0}.jar{padding:35px 20px 20px;border:3px solid var(--green);border-radius:18% 18% 12% 12%;position:relative;margin-top:35px}.jar:before{content:'';position:absolute;left:8%;right:8%;height:18px;top:-18px;border:2px solid var(--green);border-radius:30%;background:#f3f4ed}.jar-slips{display:grid;grid-template-columns:1fr 1fr;gap:18px}.jar-slips textarea{border:1px solid var(--gold);min-height:110px;transform:rotate(-3deg);background:#fffef9}.jar-slips textarea:nth-child(even){transform:rotate(3deg)}.credit-stones textarea{border-radius:42%;min-height:80px;text-align:center}.letter textarea{min-height:450px;background:repeating-linear-gradient(transparent,transparent 31px,#c2cec1 32px);line-height:32px;border:0;padding:0}.letter .salutation{font-style:italic;font-size:24px}.photo-mirror{width:180px;height:250px;border:3px double var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:25px auto;overflow:hidden;position:relative;background:#fff}.photo-mirror img{width:100%;height:100%;object-fit:cover}.photo-mirror label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:25px;text-align:center;background:#fff8;font:13px Arial,sans-serif}.photo-mirror label:hover{background:#ffffffe0}.photo-mirror input{display:none}.suggestion{padding:22px;border:1px solid var(--line);margin:20px 0;background:#f2f3ed;font-size:17px;line-height:1.65}.suggestion em{display:block;color:var(--gold);margin-bottom:10px}.complete-row{display:flex;gap:10px;align-items:center;font:13px Arial,sans-serif;padding:25px 0}.complete-row input{width:18px;height:18px;accent-color:var(--green);margin:0}.read-only-img{display:block;max-width:640px;width:100%;margin:25px auto;box-shadow:0 8px 30px #183f3515}.envelope-card{position:relative;padding:22px;border:1px solid var(--green);background:linear-gradient(140deg,#e4e8dc 0 6%,#fffefb 6% 94%,#dce5e7 94%);margin-bottom:18px;border-radius:3px}.envelope-card label{margin:5px 0}.envelope-card .sent{display:flex;gap:8px;align-items:center;font-size:11px}.sent input{width:18px;height:18px;margin:0}.envelope-card textarea{min-height:85px;background:transparent}.kindness-cards .response{width:85%}.kindness-cards .response:nth-child(2){margin-left:7%}.kindness-cards .response:nth-child(3){margin-left:14%}.bloom-svg{width:100%;max-width:550px;margin:25px auto;display:block}.bloom-svg path{cursor:pointer;stroke:var(--green);stroke-width:1.3}.bloom-svg path:focus{outline:none;stroke:var(--gold);stroke-width:4}.bloom-svg text{pointer-events:none;fill:var(--green);font-size:11px;text-anchor:middle}.color-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font:12px Arial,sans-serif}.color-tools label{margin:0}.color-tools select{width:120px}.draw-tools{display:flex;gap:12px;align-items:center;margin:12px 0}.doodle-canvas{width:100%;aspect-ratio:1.2;border:1px solid var(--line);background:#fff;touch-action:none}.puzzle-grid{display:grid;gap:2px;max-width:580px;margin:25px auto;user-select:none;touch-action:manipulation}.puzzle-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);padding:0;position:relative;font:14px Arial,sans-serif;color:var(--green);min-width:0}.puzzle-cell.selected{background:#d9c194}.puzzle-cell.found{background:#d7e3cc}.puzzle-cell.blank{border:0;background:transparent}.puzzle-cell small{position:absolute;top:1px;left:2px;font:7px Arial,sans-serif}.puzzle-cell input{padding:0;border:0;min-width:0;text-align:center;font-size:17px;margin:0;width:100%;height:100%;text-transform:uppercase;background:transparent}.puzzle-cell.wrong{background:#f4d5ce}.word-bank{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;font:11px Arial,sans-serif}.word-bank li{border:1px solid var(--line);padding:6px 9px;border-radius:15px}.word-bank .found{text-decoration:line-through;background:var(--sage)}.clue-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.clue-columns h3{font:12px Arial,sans-serif;letter-spacing:.15em;color:var(--gold)}.clue-columns p{font:13px/1.6 Arial,sans-serif}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{min-height:75px;border:1px solid var(--line);background:var(--paper);text-align:left;padding:8px;color:var(--green)}.calendar-day small{display:block;font:9px/1.5 Arial,sans-serif;margin-top:10px}.calendar-head{font:10px Arial,sans-serif;text-align:center;padding:10px}.calendar-day.done{background:#e3eadb}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:14px 24px;background:var(--green);color:white;border-radius:4px;box-shadow:0 4px 20px #0002;font:13px Arial,sans-serif;z-index:10;max-width:90%;display:none}#toast.show{display:block}.reader-note{font:12px/1.7 Arial,sans-serif;color:var(--muted);border-left:2px solid var(--gold);padding:5px 15px}.signature{font-size:22px;font-style:italic}
@media(min-width:1500px){.entry-layout{grid-template-columns:minmax(0,1fr) 260px}}
@media(max-width:1000px){.hero{gap:35px}.format-grid article{padding:22px}.workspace{grid-template-columns:190px 1fr}.entry-layout{grid-template-columns:1fr}.page-proof{position:static}.page-proof img{max-width:260px}.page-proof details{border-top:1px solid var(--line);margin-top:30px}.journey{gap:35px}.entry-header h1{font-size:36px}}
@media(max-width:700px){.site-header{padding:18px 20px}.brand{font-size:19px}.brand span{font-size:7px}.site-header nav{gap:4px}.site-header nav>a{display:none}.hero{grid-template-columns:1fr;padding:45px 30px 70px;gap:40px}.hero h1{font-size:76px}.hero-copy{max-width:460px}.hero .standfirst{font-size:25px!important}.cover-wrap{width:80%;max-width:350px;margin:0 auto}.formats{padding:50px 20px}.formats>h2,.journey h2,.privacy-note h2{font-size:37px}.format-grid{grid-template-columns:1fr;gap:18px}.format-grid article{padding:25px}.format-grid h3{margin-top:14px}.journey{grid-template-columns:1fr;padding:55px 28px;gap:25px}.privacy-note{padding:30px 25px}.workspace{display:block}.page-nav{position:static;border:0;border-bottom:1px solid var(--line);max-height:240px;padding:16px 20px}.page-nav h2{font-size:20px;margin:5px 0}.page-nav>.button{width:auto;margin-bottom:10px}.nav-group{display:inline;margin:0}.nav-group h3{display:none}#page-nav{display:flex;gap:5px;overflow-x:auto;padding-bottom:7px}.nav-page{white-space:nowrap;width:auto;border:1px solid var(--line);font-size:11px;padding:9px}.page-nav .danger{margin:5px 0;font-size:10px}.journal-top{padding:8px 14px}.journal-top>div{gap:0;flex-wrap:wrap;justify-content:flex-end}.journal-top button{font-size:11px;padding:8px}#save-status{font-size:9px;width:100%;text-align:right}.page-work{padding:18px 20px 50px}.page-toolbar{display:block}.page-toolbar>div:last-child{display:flex;justify-content:space-between}.entry-header h1{font-size:34px}.entry-header blockquote{font-size:19px}.response{padding:14px!important}.response label{font-size:19px}.bubble-grid,.review-grid{gap:10px}.review-grid{grid-template-columns:1fr}.circle-response{padding:16%}.circle-response textarea{font-size:12px;min-height:70px}.circle-response span{font-size:8px}.ritual-wheel{height:230px}.ritual-wheel label{width:130px;font-size:10px}.ritual-wheel:before{inset:15px 70px}.jar{padding:25px 12px 15px}.jar-slips{gap:12px}.jar-slips textarea{font-size:14px;padding:8px;min-height:100px}.stage{padding:15px 30px 35px}.calendar-day{padding:5px;min-height:66px}.calendar-day small{font-size:8px}.puzzle-cell{font-size:12px}.puzzle-cell input{font-size:14px}.puzzle-cell small{font-size:6px}dialog{padding:30px 23px}.kindness-cards .response{width:90%}.kindness-cards .response:nth-child(2){margin-left:5%}.kindness-cards .response:nth-child(3){margin-left:10%}.clue-columns{gap:12px}.clue-columns p{font-size:12px}.reader-note{font-size:11px}.journal-top>button{white-space:nowrap}}
@media print{.site-header,.journal-top,.page-nav,.page-toolbar,footer,.page-proof,.complete-row,.draw-tools,.color-tools,#home,#toast{display:none!important}.workspace,.entry-layout{display:block}.page-work{padding:0}.entry-form textarea{overflow:visible}.entry-form{max-width:100%}.response{break-inside:avoid}}
.stage{padding-left:12%;padding-right:12%}.stage h2{font-size:24px;text-align:center}.stage .list-input{margin:18px 0}.kindness-cards .response .response{width:auto;margin:15px 0;padding:0;border:0}.kindness-cards .response .response label{font-size:17px}.kindness-cards .response .response textarea{font-size:16px}
@media(max-width:700px){.stage h2{font-size:20px}.stage{padding-left:12%;padding-right:12%}}

.smile-list{margin:28px 0}.smile-list .list-input{margin:18px 0}.smile-list .list-input input{border:0;min-height:44px;background:#fff}.previous-reflection{margin:22px 0;font-size:14px}.previous-reflection summary{cursor:pointer;color:var(--muted)}

#formats{padding-top:45px}#formats h1{font:italic clamp(46px,7vw,76px)/1.1 Georgia,serif;margin:10px 0 16px}#formats h2{font-size:26px}#formats>.format-grid{margin-top:28px}.email-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#confirmation-form{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}#confirmation-status{font:13px/1.6 Arial,sans-serif}#pod-pending{margin:20px 0}
