
:root{
  --ink:#182524;--muted:#60706c;--paper:#faf9f5;--white:#fff;--line:#dde2dd;
  --evergreen:#183f39;--evergreen-2:#2f6259;--sage:#dfeae4;--sage2:#edf3ef;
  --sand:#f2e9dc;--sand2:#faf4eb;--rose:#f3e5df;--blue:#e7eef0;--gold:#b08146;
  --shadow:0 18px 60px rgba(27,48,44,.11);--shadow-sm:0 8px 26px rgba(27,48,44,.08);
  --radius:24px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.62;-webkit-font-smoothing:antialiased}a{color:inherit}img{max-width:100%;display:block}.wrap{width:min(calc(100% - 34px),var(--max));margin:auto}.narrow{width:min(calc(100% - 34px),820px);margin:auto}.serif{font-family:Georgia,'Times New Roman',serif}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:99}
.site-header{position:sticky;top:0;z-index:30;background:rgba(250,249,245,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(221,226,221,.86)}.nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-weight:850;letter-spacing:-.045em;font-size:1.28rem}.brand-mark{display:inline-grid;place-items:center;width:29px;height:29px;margin-right:8px;border-radius:50%;background:var(--evergreen);color:#fff;font-family:Georgia,serif;font-weight:400}.navlinks{display:flex;gap:22px;align-items:center;font-size:.94rem}.navlinks a{text-decoration:none;color:#364944;font-weight:620}.navlinks a:hover{text-decoration:underline;text-underline-offset:5px}.nav-support{padding:9px 14px;border:1px solid #aabbb5;border-radius:999px}.menu-btn{display:none;background:transparent;border:1px solid var(--line);border-radius:999px;padding:9px 14px;font:inherit;font-weight:750;color:var(--ink)}
.button,.button-secondary,.button-soft{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 19px;text-decoration:none;font-weight:780;border:1px solid var(--evergreen);cursor:pointer;font:inherit;transition:.16s ease}.button{background:var(--evergreen);color:#fff}.button:hover{background:#102f2a;transform:translateY(-1px)}.button-secondary{background:#fff;color:var(--evergreen)}.button-soft{background:var(--sage2);color:var(--evergreen);border-color:#c7d8d1}.small-btn{padding:9px 13px;font-size:.9rem}
.hero{padding:64px 0 62px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:48px;align-items:center}.eyebrow{font-size:.77rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850;color:var(--evergreen-2);margin-bottom:14px}.hero h1,.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;line-height:1.02;letter-spacing:-.045em;margin:0}.hero h1{font-size:clamp(3.5rem,7.5vw,6.7rem)}.page-hero h1{font-size:clamp(2.75rem,5.8vw,4.9rem);max-width:920px}.hero p,.page-hero p{font-size:clamp(1.08rem,2vw,1.3rem);color:var(--muted);max-width:760px;margin:24px 0 0}.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.trust-row{display:flex;flex-wrap:wrap;gap:10px 21px;margin-top:28px;color:#53645f;font-size:.9rem}.trust-row span:before{content:'✓';margin-right:7px;color:var(--evergreen);font-weight:900}
.hero-collage{position:relative;min-height:500px}.photo{overflow:hidden;border-radius:26px;background:#e4e8e4;box-shadow:var(--shadow)}.photo img{width:100%;height:100%;object-fit:cover}.photo-main{position:absolute;right:0;top:0;width:72%;height:390px}.photo-small{position:absolute;left:0;bottom:0;width:48%;height:230px;border:8px solid var(--paper)}.photo-note{position:absolute;right:7%;bottom:10px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px 19px;width:46%;box-shadow:var(--shadow-sm);font-size:.92rem}.photo-note strong{display:block;font-family:Georgia,serif;font-size:1.2rem;font-weight:500;margin-bottom:4px}.photo-credit{font-size:.68rem;color:#77847f;margin-top:5px}
.section{padding:72px 0}.section.alt{background:#f3f1eb;border-top:1px solid #e9e6de;border-bottom:1px solid #e9e6de}.section.tint{background:var(--sage2)}.section h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.45rem);font-weight:500;letter-spacing:-.035em;line-height:1.08;margin:0 0 13px}.section-intro{max-width:770px;color:var(--muted);font-size:1.08rem;margin:0 0 31px}.section-title-row{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-title-row .section-intro{margin:0}
.moment-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.moment-card{display:flex;flex-direction:column;min-height:280px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:27px;text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.02);transition:.18s ease;position:relative;overflow:hidden}.moment-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-sm);border-color:#c4d0cb}.moment-card.large{grid-column:span 6}.moment-card.small{grid-column:span 3}.moment-card.mid{grid-column:span 4}.moment-card .kicker,.tool-card .kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--evergreen-2)}.moment-card h3,.tool-card h3{font-family:Georgia,serif;font-size:1.72rem;font-weight:500;line-height:1.12;margin:10px 0}.moment-card p,.tool-card p{margin:0;color:var(--muted)}.moment-card .arrow,.tool-card .arrow{margin-top:auto;padding-top:20px;font-weight:800;color:var(--evergreen)}.moment-card.has-image{color:#fff;min-height:350px;background:#213}.moment-card.has-image:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,25,22,.06),rgba(10,25,22,.75));z-index:1}.moment-card.has-image>*{position:relative;z-index:2}.moment-card.has-image p{color:#eef4f1}.moment-card.has-image .arrow,.moment-card.has-image .kicker{color:#fff}.card-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.tool-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tool-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px;text-decoration:none;min-height:230px;display:flex;flex-direction:column}.tool-card:hover{box-shadow:var(--shadow-sm)}.icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--sage);font-size:1.3rem;margin-bottom:20px}
.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.feature-dark{background:var(--evergreen);color:#fff;border-radius:30px;padding:40px}.feature-dark h3{font-family:Georgia,serif;font-size:2.25rem;font-weight:500;margin:0 0 10px;line-height:1.1}.feature-dark p{color:#d6e3de}.feature-dark .button{background:#fff;color:var(--evergreen);border-color:#fff}.feature-photo{border-radius:30px;overflow:hidden;min-height:360px;position:relative}.feature-photo img{height:100%;width:100%;object-fit:cover}.feature-photo .caption{position:absolute;bottom:16px;left:16px;right:16px;background:rgba(255,255,255,.92);padding:14px 16px;border-radius:15px;font-size:.83rem;color:#42514d}
.page-hero{padding:62px 0 40px}.page-hero.with-photo .wrap{display:grid;grid-template-columns:1.12fr .88fr;gap:42px;align-items:center}.page-photo{height:390px;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm)}.page-photo img{width:100%;height:100%;object-fit:cover}.breadcrumbs{font-size:.85rem;color:var(--muted);margin-bottom:20px}.breadcrumbs a{color:var(--evergreen)}.topic-nav{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px}.topic-nav a{font-size:.88rem;padding:8px 12px;border:1px solid #cfd8d4;border-radius:999px;text-decoration:none;background:#fff}
.answer-box{margin:22px 0 28px;padding:23px 25px;border-left:5px solid var(--evergreen);background:#edf3ef;border-radius:0 18px 18px 0}.answer-box .label{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--evergreen-2);margin-bottom:4px}.answer-box p{margin:0;color:#30443f;font-size:1.05rem}.content{font-size:1.035rem}.content h2{font-family:Georgia,serif;font-size:2.1rem;font-weight:500;line-height:1.18;margin:2.2em 0 .55em;letter-spacing:-.02em}.content h3{font-size:1.18rem;margin-top:1.8em}.content p,.content li{color:#3e4d49}.content ul,.content ol{padding-left:1.25rem}.content li{margin:.45rem 0}.callout{margin:28px 0;border-radius:18px;padding:22px 24px;background:var(--sage2);border:1px solid #d4e0da}.callout.warning{background:#fff6e9;border-color:#edd5ad}.callout.rose{background:#fbf1ed;border-color:#ebd7cf}.callout strong{color:var(--evergreen)}.source-box{margin:34px 0;padding:20px 22px;background:#f7f6f1;border:1px solid var(--line);border-radius:17px;font-size:.9rem}.source-box strong{display:block;margin-bottom:7px}.source-box a{color:var(--evergreen);font-weight:700}.steps{counter-reset:step;padding:0;list-style:none}.steps li{position:relative;padding:0 0 27px 56px}.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--evergreen);color:#fff;font-weight:850}
.timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:25px 0}.timeline-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:23px}.timeline-card .when{font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850;color:var(--evergreen-2)}.timeline-card h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;margin:7px 0 10px}.timeline-card ul{padding-left:18px;margin:0}.timeline-card li{margin:5px 0;color:#475651}
.tool-shell{background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);overflow:hidden;margin:26px 0 44px}.tool-head{padding:28px 30px;background:var(--sage2);border-bottom:1px solid #dce4e0}.tool-head h2{margin:0;font-family:Georgia,serif;font-size:2.05rem;font-weight:500}.tool-head p{margin:7px 0 0;color:var(--muted)}.tool-body{padding:30px}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.field.full{grid-column:1/-1}.field label{display:block;font-weight:780;margin-bottom:7px}.field small{display:block;color:var(--muted);margin-top:5px}.field input,.field select,.field textarea{width:100%;padding:13px 14px;border:1px solid #cbd4d0;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}.field textarea{min-height:100px;resize:vertical}.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.results{display:none;margin-top:30px;padding-top:30px;border-top:1px solid var(--line)}.results.show{display:block}.result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.result{background:#f8f7f2;border:1px solid #e6e4dd;border-radius:16px;padding:17px}.result strong{display:block;font-size:1.45rem;line-height:1.1}.result span{display:block;color:var(--muted);font-size:.86rem;margin-top:5px}.result-sections{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.result-panel{border:1px solid var(--line);border-radius:18px;padding:21px}.result-panel h3{font-family:Georgia,serif;font-size:1.42rem;font-weight:500;margin:0 0 12px}.check-list{list-style:none;padding:0;margin:0}.check-list li{padding:8px 0;border-bottom:1px solid #eef0ec}.check-list li:last-child{border:0}.check-list label{display:flex;gap:9px;align-items:flex-start}.check-list input{margin-top:5px}.share-list{margin:0;padding-left:20px}.share-list li{margin:7px 0}.result-notes{margin-top:20px;padding:20px;background:var(--sand2);border-radius:16px}.copy-note{font-size:.85rem;color:var(--muted)}
.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:20px 0}.choice{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fff;text-align:left;cursor:pointer;font:inherit}.choice:hover,.choice.active{border-color:var(--evergreen-2);background:var(--sage2)}.plan{display:none;margin-top:24px}.plan.show{display:block}.plan-group{border-top:1px solid var(--line);padding:22px 0}.plan-group h3{font-family:Georgia,serif;font-weight:500;font-size:1.42rem;margin:0 0 8px}.plan-group ul{margin:0;padding-left:20px}
.checklist-tool{display:grid;grid-template-columns:1fr 300px;gap:22px}.checklist-groups{display:grid;gap:13px}.check-group{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.check-group h3{font-family:Georgia,serif;font-weight:500;font-size:1.35rem;margin:0 0 10px}.progress-card{position:sticky;top:95px;height:max-content;background:var(--evergreen);color:#fff;border-radius:20px;padding:22px}.progress-num{font-family:Georgia,serif;font-size:2.6rem}.progress-bar{height:8px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden;margin:12px 0}.progress-fill{height:100%;width:0;background:#fff;border-radius:99px;transition:.2s}.progress-card p{color:#d9e5e1;font-size:.92rem}
.program-preview{background:#fff;border:1px solid #d8d8d3;padding:38px;min-height:560px;box-shadow:var(--shadow-sm);font-family:Georgia,serif;text-align:center}.program-preview h2{font-size:2.4rem;margin:0 0 4px;font-weight:500}.program-preview .dates{color:#6c7773}.program-preview .service-line{margin:24px 0}.program-preview .program-section{margin:22px auto;max-width:520px}.program-preview .program-section strong{display:block;font-family:Inter,sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#687772;margin-bottom:5px}.program-preview .program-section p{margin:0;color:#263733}
.support-strip{margin:58px auto 0;width:min(calc(100% - 34px),var(--max));background:linear-gradient(120deg,#1c443e,#315f56);color:#fff;border-radius:28px;padding:33px 36px;display:flex;align-items:center;justify-content:space-between;gap:30px}.support-strip h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0 0 7px}.support-strip p{margin:0;color:#d8e5e0;max-width:700px}.support-strip a{flex:none;background:#fff;color:var(--evergreen);text-decoration:none;padding:12px 17px;border-radius:999px;font-weight:800}.support-box{background:linear-gradient(135deg,var(--rose),var(--sand));border-radius:28px;padding:36px}.support-options{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.support-options a,.support-options button{padding:12px 18px;border-radius:999px;border:1px solid #b99f95;background:#fff;font:inherit;font-weight:750;color:#463f3b;cursor:pointer;text-decoration:none}
.footer{border-top:1px solid var(--line);padding:44px 0 55px;margin-top:60px;color:#60706b}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px}.footer h3{font-size:.88rem;color:#30433e;margin:0 0 10px}.footer a{color:inherit}.footer-links{display:grid;gap:7px;font-size:.9rem}.fine{font-size:.82rem;color:#7a8682;max-width:650px}.photo-credits{font-size:.73rem;color:#85918d}
.print-only{display:none}.mobile-only{display:none}.desktop-only{display:block}
@media(max-width:900px){.hero-grid,.page-hero.with-photo .wrap{grid-template-columns:1fr}.hero-collage{min-height:390px;max-width:650px}.photo-main{height:300px}.photo-small{height:190px}.photo-note{display:none}.moment-card.large,.moment-card.mid,.moment-card.small{grid-column:span 6}.tool-grid{grid-template-columns:1fr 1fr}.feature-split,.result-sections,.timeline{grid-template-columns:1fr}.checklist-tool{grid-template-columns:1fr}.progress-card{position:relative;top:auto}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:720px){.navlinks{display:none;position:absolute;top:73px;left:0;right:0;background:var(--paper);padding:18px 22px 24px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:12px}.navlinks.open{display:flex}.menu-btn{display:block}.nav-support{text-align:center}.hero{padding-top:46px}.hero h1{font-size:clamp(3.3rem,15vw,5.2rem)}.hero-grid{gap:28px}.hero-collage{min-height:330px}.photo-main{width:80%;height:265px}.photo-small{width:50%;height:170px}.section{padding:54px 0}.section-title-row{display:block}.moment-card.large,.moment-card.mid,.moment-card.small{grid-column:1/-1}.tool-grid{grid-template-columns:1fr}.field-grid,.result-grid,.choice-grid{grid-template-columns:1fr}.result-sections{grid-template-columns:1fr}.tool-body,.tool-head{padding:22px}.page-photo{height:280px}.support-strip{display:block;padding:28px}.support-strip a{display:inline-flex;margin-top:18px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.mobile-only{display:block}.desktop-only{display:none}}
@media print{.site-header,.footer,.hero-actions,.support-strip,.button,.button-secondary,.button-soft,.no-print,.topic-nav{display:none!important}.print-only{display:block}.tool-shell{border:0;box-shadow:none}.results{display:block}.wrap,.narrow{width:100%;max-width:none}.page-hero{padding:10px 0}.section{padding:18px 0}body{background:#fff}.result-panel{break-inside:avoid}.program-preview{box-shadow:none;border:0}.page-photo{display:none}}


/* v3: richer directories, templates and planners */
.program-builder{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.program-builder .tool-shell{margin:0}.program-builder .program-preview{position:sticky;top:95px}
.finder{background:linear-gradient(135deg,var(--sage2),#fff);border:1px solid var(--line);border-radius:24px;padding:24px;margin-bottom:25px}.finder label{display:block;margin-bottom:8px}.finder input{width:100%;padding:15px 17px;border:1px solid #bdcac5;border-radius:14px;font:inherit;font-size:1.05rem;background:#fff}.finder-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.finder-chips button{border:1px solid #c7d5cf;border-radius:999px;background:#fff;padding:8px 12px;font:inherit;cursor:pointer;color:var(--evergreen);font-weight:700}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.directory-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;text-decoration:none;min-height:190px;display:flex;flex-direction:column}.directory-card:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.directory-card>span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--evergreen-2);font-weight:850}.directory-card h2{font-family:Georgia,serif;font-size:1.45rem;line-height:1.1;margin:8px 0;font-weight:500}.directory-card p{color:var(--muted);margin:0}.directory-card.hidden{display:none}.no-results{padding:22px;text-align:center;color:var(--muted)}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:24px 0}.resource-grid>div,.resource-grid>a{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;text-decoration:none}.resource-grid h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:0 0 7px;color:var(--ink)}.resource-grid p{margin:0;color:var(--muted)}
.template-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:22px 0}.template-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:21px;margin:16px 0}.template-grid .template-box{margin:0}.template-box h3{font-family:Georgia,serif;font-size:1.35rem;font-weight:500;margin:0 0 9px}.template-box p{margin:0 0 14px;color:#344640}.template-box.copied{border-color:#7ea99a;box-shadow:0 0 0 3px rgba(126,169,154,.14)}
.priority-board{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.priority-board>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.priority-board h2{font-size:1.45rem;margin:.4em 0}.priority{display:inline-block;padding:5px 9px;border-radius:999px;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;font-weight:850}.priority.now{background:#f3e5df}.priority.soon{background:#f2e9dc}.priority.later{background:#e7eef0}.rich-checklist{padding-left:20px}.rich-checklist li{margin:7px 0}
.budget-table-wrap{overflow-x:auto;margin-top:20px}.budget-table{width:100%;border-collapse:collapse;min-width:620px}.budget-table th,.budget-table td{text-align:left;padding:11px 10px;border-bottom:1px solid #e7e9e5;vertical-align:top}.budget-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.budget-table input,.budget-table select{width:100%;min-width:105px;padding:9px;border:1px solid #cbd4d0;border-radius:9px;font:inherit}.budget-summary,.guest-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:22px}.budget-summary>div,.guest-summary>div{background:var(--sage2);border-radius:15px;padding:16px}.budget-summary span,.guest-summary span{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.budget-summary strong,.guest-summary strong{display:block;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.budget-summary .over{color:#9b3c31}
.option-pills{display:flex;flex-wrap:wrap;gap:8px}.option-pills label{display:flex;align-items:center;gap:6px;border:1px solid #cbd4d0;border-radius:999px;padding:8px 11px;background:#fff;font-weight:600}.option-pills input{width:auto;margin:0}.prose-preview{font-size:1.02rem;line-height:1.72}.prose-preview p{white-space:pre-line}.wedding-program{background:#fffdf9}.menu-suggestion{font-size:.9rem;color:var(--muted)}
@media(max-width:900px){.directory-grid,.resource-grid,.priority-board{grid-template-columns:1fr 1fr}.program-builder{grid-template-columns:1fr}.program-builder .program-preview{position:relative;top:auto}}
@media(max-width:720px){.directory-grid,.resource-grid,.template-grid,.priority-board,.budget-summary,.guest-summary{grid-template-columns:1fr}.directory-card{min-height:0}}


/* v4: polished print/PDF outputs and deeper planning pages */
.print-hint{margin-top:12px;font-size:.86rem;color:var(--muted)}
.program-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.program-photo{width:118px;height:118px;object-fit:cover;border-radius:50%;margin:0 auto 18px;border:5px solid #f3f1eb;display:none}
.program-preview.has-photo .program-photo{display:block}
.program-preview.theme-quiet{background:#fbfaf7;border-color:#d8d3c8}
.program-preview.theme-quiet .eyebrow{color:#806c55}
.program-preview.theme-modern{font-family:Inter,ui-sans-serif,system-ui,sans-serif;text-align:left;border-top:8px solid var(--evergreen);padding-top:34px}
.program-preview.theme-modern h2{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:750;letter-spacing:-.04em}
.program-preview.theme-modern .program-section{margin-left:0}
.program-preview.theme-modern .program-section strong{color:var(--evergreen);font-weight:800}
.program-preview .memorial-line{max-width:520px;margin:17px auto 2px;font-style:italic;color:#5a6864;line-height:1.5}
.program-preview .reception-line{margin-top:26px;padding-top:16px;border-top:1px solid #e5e5df;font-size:.93rem;color:#586762}
.print-toolbar{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.deep-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0}.deep-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.deep-card h3{font-family:Georgia,serif;font-size:1.38rem;font-weight:500;margin:0 0 8px}.deep-card p,.deep-card li{color:var(--muted)}
.script-box{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;margin:14px 0}.script-box h3{font-family:Georgia,serif;font-weight:500;margin:0 0 8px}.script-box p{margin:0 0 12px;color:#344640}.script-box .copy-template{margin-top:5px}
.master-check{display:grid;grid-template-columns:1fr 1fr;gap:11px}.master-check label{display:flex;align-items:flex-start;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:13px}.master-check input{margin-top:4px}
.timeline-output{display:grid;gap:10px;margin-top:18px}.timeline-row{display:grid;grid-template-columns:100px 1fr;gap:14px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px}.timeline-time{font-weight:850;color:var(--evergreen)}
@media(max-width:720px){.program-controls,.deep-grid,.master-check{grid-template-columns:1fr}.timeline-row{grid-template-columns:82px 1fr}}



/* v5: richer interactive planning and self-care */
.plan-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.plan-step{padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:.9rem}.plan-step strong{display:block;color:var(--evergreen)}
.plan-output{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.plan-column{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.plan-column h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;margin:0 0 10px}.plan-column ul{padding-left:19px;margin:0}.plan-column li{margin:.55rem 0}.next-three{counter-reset:item;list-style:none;padding:0}.next-three li{counter-increment:item;position:relative;padding:14px 14px 14px 52px;background:var(--sage2);border-radius:16px;margin:10px 0}.next-three li:before{content:counter(item);position:absolute;left:14px;top:14px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--evergreen);color:#fff;font-weight:850}
.care-card{background:linear-gradient(135deg,#edf3ef,#faf4eb);border:1px solid #d8e0db;border-radius:22px;padding:24px}.care-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.5rem;margin:0 0 8px}.care-card p{color:#495953}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.care-check{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.care-check label{display:flex;gap:10px;align-items:flex-start;padding:13px;background:#fff;border:1px solid var(--line);border-radius:14px}.care-check input{margin-top:4px}.gentle-note{border-left:5px solid #b08146;background:#fff8ed;padding:18px 20px;border-radius:0 16px 16px 0;margin:22px 0}
.decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.decision-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px}.decision-card h3{font-family:Georgia,serif;font-size:1.4rem;font-weight:500;margin:0 0 9px}.decision-card ul{padding-left:18px}.decision-card li{margin:.45rem 0;color:#465651}
.qa-list details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 17px;margin:10px 0}.qa-list summary{font-weight:800;cursor:pointer;color:#233d37}.qa-list p{color:#53635f;margin:10px 0 3px}.resource-actions{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.table-plan{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.seat-table{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.seat-table h3{font-family:Georgia,serif;font-weight:500;margin:0 0 8px}.seat-table ul{margin:0;padding-left:18px}
.selfcare-strip{margin:26px 0;padding:20px 22px;background:linear-gradient(90deg,#edf3ef,#faf4eb);border:1px solid #d7dfda;border-radius:20px}.selfcare-strip strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:500}.selfcare-strip a{font-weight:800;color:var(--evergreen)}
@media(max-width:800px){.plan-steps{grid-template-columns:1fr 1fr}.plan-output,.care-grid,.decision-grid,.table-plan{grid-template-columns:1fr}.care-check{grid-template-columns:1fr}}

/* v5 print: move the finished program to body before printing so hidden editor content cannot create blank pages. */
@media print{
  @page{size:Letter portrait;margin:.35in}
  body.print-program-only{margin:0!important;background:#fff!important}
  body.print-program-only > *:not(.program-preview){display:none!important}
  body.print-program-only > .program-preview{display:block!important;position:static!important;width:7.7in!important;max-width:7.7in!important;min-height:0!important;margin:0 auto!important;padding:.16in .27in!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#111!important;page-break-before:avoid!important;page-break-after:avoid!important;break-inside:avoid!important;overflow:visible!important}
  body.print-program-only > .program-preview h2{font-size:24pt!important;line-height:1.02!important;margin:0 0 2pt!important}
  body.print-program-only > .program-preview .eyebrow{font-size:7pt!important;margin:0 0 5pt!important;letter-spacing:.12em!important}
  body.print-program-only > .program-preview .dates{font-size:9pt!important;margin:0!important}
  body.print-program-only > .program-preview .memorial-line{font-size:8.5pt!important;line-height:1.25!important;margin:6pt auto 0!important}
  body.print-program-only > .program-preview .service-line{margin:8pt 0!important;font-size:8.5pt!important;line-height:1.25!important}
  body.print-program-only > .program-preview .program-section{margin:6pt auto!important;max-width:7in!important;break-inside:avoid!important}
  body.print-program-only > .program-preview .program-section strong{font-size:7pt!important;line-height:1!important}
  body.print-program-only > .program-preview .program-section p{font-size:9pt!important;line-height:1.18!important;margin:1.5pt 0!important}
  body.print-program-only > .program-preview .reception-line{font-size:8pt!important;line-height:1.2!important;margin-top:7pt!important;padding-top:6pt!important}
  body.print-program-only > .program-preview .program-photo{width:.68in!important;height:.68in!important;margin:0 auto 6pt!important;border-width:2px!important}
  body.print-program-only > .program-preview.theme-modern{padding-top:.12in!important;border-top:3pt solid #183f39!important}
}

/* v6: private planning, packs, richer hubs */
.print-pack{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden}.pack-cover,.pack-page{padding:38px 42px;border-bottom:1px solid var(--line);min-height:420px}.pack-cover{background:linear-gradient(135deg,var(--sage2),var(--sand2));min-height:520px;display:flex;flex-direction:column;justify-content:center}.pack-cover h2{font-family:Georgia,serif;font-size:3.4rem;font-weight:500;line-height:1.05;margin:.2em 0}.pack-page h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:0 0 18px}.pack-table{width:100%;border-collapse:collapse;margin:14px 0}.pack-table th,.pack-table td{border:1px solid #cfd7d2;padding:11px;text-align:left;height:45px}.write-lines{height:150px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#dfe4df 32px)}.write-lines.short{height:75px}.checklist-print{list-style:'☐  ';padding-left:24px}.checklist-print li{margin:10px 0}.micro-nav{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.micro-nav a{padding:8px 11px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;font-size:.86rem;font-weight:700}.privacy-pill{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;background:var(--sage2);color:var(--evergreen);font-size:.85rem;font-weight:800}.life-change-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.life-change-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;text-decoration:none}.life-change-card h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;margin:.35em 0}.life-change-card p{color:var(--muted)}
@media(max-width:800px){.life-change-grid{grid-template-columns:1fr}.pack-cover,.pack-page{padding:28px 22px}}
@media print{body.print-pack-only{background:#fff!important}body.print-pack-only>*:not(.print-pack){display:none!important}body.print-pack-only>.print-pack{display:block!important;border:0!important;border-radius:0!important}.pack-cover,.pack-page{break-after:page;min-height:0!important;border:0!important;padding:.35in!important}.pack-cover{height:9.6in}.pack-page:last-child{break-after:auto}.support-strip,.footer,.site-header{display:none!important}}

/* v7: pre-launch compliance, discovery and accessibility */
:focus-visible{outline:3px solid #b36b13;outline-offset:3px;border-radius:5px}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:3px solid #b36b13;outline-offset:3px}
.hero-search{margin-top:24px;max-width:760px}.hero-search label,.site-search-box label{display:block;font-weight:800;margin-bottom:8px}.search-line{display:flex;gap:9px;align-items:stretch}.search-line input{flex:1;min-width:0;border:1px solid #bfcac5;background:#fff;border-radius:999px;padding:13px 18px;font:inherit;color:var(--ink)}
.pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.pack-card{display:flex;flex-direction:column;min-height:300px;padding:28px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(150deg,#fff,#f4f1e9);text-decoration:none;box-shadow:var(--shadow-sm)}.pack-card:nth-child(2){background:linear-gradient(150deg,#fff,#edf3ef)}.pack-card:nth-child(3){background:linear-gradient(150deg,#fff,#f9eee8)}.pack-card h3{font-family:Georgia,serif;font-weight:500;font-size:1.8rem;line-height:1.12;margin:12px 0}.pack-card p{color:var(--muted)}.pack-card .arrow{margin-top:auto;padding-top:20px;color:var(--evergreen);font-weight:800}.pack-label{display:inline-block;width:max-content;padding:5px 9px;background:var(--evergreen);color:#fff;border-radius:999px;font-size:.75rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850}
.context-wrap{margin-top:-14px;margin-bottom:22px}.context-note{background:#fff9ec;border:1px solid #ead4a9;border-left:5px solid #b08146;border-radius:0 16px 16px 0;padding:15px 18px;color:#4e493f;font-size:.92rem}.context-note a{color:var(--evergreen);font-weight:750}.review-line{padding:0 0 34px;color:#65736e;font-size:.8rem}.review-line a{color:var(--evergreen)}
.legal-card,.privacy-controls,.site-search-box{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px 26px;margin:22px 0}.legal-list{display:grid;grid-template-columns:200px 1fr;gap:11px 20px;margin:0}.legal-list dt{font-weight:850;color:#445750}.legal-list dd{margin:0}.legal-list address{font-style:normal}.privacy-controls h3{font-family:Georgia,serif;font-size:1.45rem;font-weight:500;margin:0 0 6px}
.search-results{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:22px}.search-result-card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none}.search-result-card:hover{box-shadow:var(--shadow-sm);border-color:#bccbc5}.search-result-card h2{font-family:Georgia,serif;font-weight:500;font-size:1.35rem;line-height:1.15;margin:0 0 7px}.search-result-card p{color:var(--muted);margin:0 0 12px}.search-result-card span{color:var(--evergreen);font-weight:800}
.save-preference-bar{position:fixed;left:18px;right:18px;bottom:18px;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:18px;max-width:1040px;margin:auto;padding:15px 17px;background:#fff;border:1px solid #b9c7c1;border-radius:18px;box-shadow:0 18px 55px rgba(25,43,39,.2);font-size:.9rem}.save-preference-bar strong{display:block;color:var(--ink)}.save-preference-bar span{color:var(--muted)}.save-pref-actions{display:flex;gap:8px;flex:0 0 auto}
.footer a{word-break:break-word}.footer .brand{display:inline-block;margin-bottom:8px}
@media(max-width:900px){.pack-grid{grid-template-columns:1fr}.search-results{grid-template-columns:1fr}.legal-list{grid-template-columns:1fr;gap:3px}.legal-list dd{margin-bottom:12px}.save-preference-bar{align-items:flex-start;flex-direction:column}.save-pref-actions{width:100%;flex-wrap:wrap}.save-pref-actions button{flex:1}.hero-search .search-line{flex-direction:column}.hero-search .search-line input{border-radius:16px}.hero-search .search-line .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{.save-preference-bar,.context-note,.review-line{display:none!important}}

/* v8 Life Kindly brand */
.brand-mark{font-family:Georgia,'Times New Roman',serif;font-size:1rem;font-weight:600;letter-spacing:0}.brand{letter-spacing:-.035em}.brand .brand-mark+*{}

/* deployment/version marker */
.site-version{grid-column:1/-1;margin-top:1.1rem;padding-top:.8rem;border-top:1px solid rgba(22,50,45,.14);font-size:.76rem;letter-spacing:.02em;color:#67756f}
