:root{--charcoal:#171a19;--deep:#111514;--surface:#1d2423;--ink:#e7e5dc;--muted:#b7bdb7;--line:#3b4645;--green:#b7d797;--pink:#db93b4;--blue:#48545b;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px}
body{margin:0;background:var(--charcoal);color:var(--ink);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
h1,h2{line-height:1.04;letter-spacing:-1.8px}
em{font-weight:400}
::selection{background:var(--pink);color:var(--deep)}
:focus-visible{outline:2px solid var(--pink);outline-offset:5px}
section[id]{scroll-margin-top:30px}
.shell{width:min(1180px,calc(100% - 104px));margin-inline:auto}
.skip-link{position:fixed;left:20px;top:12px;padding:10px 18px;background:var(--green);color:var(--deep);z-index:30;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:98px;border-bottom:1px solid var(--line)}
.wordmark{font:39px/1 var(--serif);letter-spacing:-.9px;flex-shrink:0}
.wordmark>span{display:block;margin-top:8px;font:9px/1.4 var(--sans);letter-spacing:1.2px;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:27px;font-size:12px}
.site-nav>a:hover{color:var(--green)}
.header-contact{display:flex;gap:20px;align-items:center;padding:12px 18px;border:1px solid var(--blue)}
.header-contact>span{font-size:19px;color:var(--green)}
.menu-toggle{display:none}
.eyebrow{font:500 10px/1.7 var(--sans);letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}
.small-line{width:27px;height:1px;display:inline-block;background:var(--pink)}
.hero{display:grid;grid-template-columns:1.45fr 1fr;align-items:start;gap:64px;padding-block:54px 62px}
.hero-copy{padding-top:10px}
.hero .eyebrow{display:flex;gap:12px;align-items:center}
.hero h1{font-size:clamp(55px,5.6vw,78px);margin:22px 0 21px}
.hero h1 em{color:var(--pink)}
.hero-intro{max-width:490px;color:#c5cbc5;font-size:16px;line-height:1.8}
.hero-byline{margin-top:22px;font-size:12px;color:var(--muted)}
.hero-byline strong{font-weight:500;color:var(--ink)}
.hero-byline>span{margin:0 7px;color:var(--pink)}
.hero-action{margin-top:22px;display:flex;align-items:flex-start;flex-direction:column;gap:14px}
.button{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;min-height:55px;padding:15px 22px;font:500 13px/1.5 var(--sans);transition:background .15s,transform .15s}
.button-primary{background:var(--green);color:var(--deep)}
.button-primary:hover{background:var(--pink);transform:translateY(-1px)}
.button>span{font-size:20px;line-height:1}
.email-link{font-size:12px;color:var(--muted);border-bottom:1px solid var(--blue);overflow-wrap:anywhere}
.email-link:hover{color:var(--ink);border-color:var(--pink)}
.service-note{display:flex;align-items:center;gap:9px;margin-top:20px;font-size:11px;color:var(--muted)}
.service-note>span{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green)}
.hero-art{max-width:430px;justify-self:end;width:100%}
.art-window{border:1px solid var(--line);background:var(--deep);overflow:hidden}
.hero-art img{width:100%;aspect-ratio:3/4;object-fit:cover}
.hero-art figcaption{margin-top:12px;font:italic 20px/1.35 var(--serif);color:var(--muted)}
.support-section{display:grid;grid-template-columns:1.05fr 1fr;gap:116px;border-top:1px solid var(--line);padding-block:82px 90px}
.section-intro h2,.meaning-copy h2{font-size:clamp(43px,4.5vw,60px);margin:17px 0 24px}
.section-intro h2 em{color:var(--green)}
.section-intro>p:not(.eyebrow){color:#c2c8c2;max-width:430px;font-size:14px;line-height:1.9}
.section-intro>p+p{margin-top:17px}
.loss-list{margin:0;padding:0;list-style:none}
.loss-list li{padding:18px 0 21px;border-bottom:1px solid var(--line)}
.loss-list li:first-child{padding-top:0}
.loss-list h3{font-size:30px;line-height:1.2}
.loss-list p{font-size:13px;color:var(--muted);margin-top:8px;max-width:350px;line-height:1.8}
.approach-section{background:var(--surface);border-block:1px solid var(--line)}
.approach{display:grid;grid-template-columns:1fr 1.03fr;column-gap:110px;padding-block:83px 45px}
.approach .section-intro h2 em{color:var(--pink)}
.approach-list{list-style:none;padding:0;margin:0}
.approach-list li{display:flex;gap:20px;padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid var(--line)}
.approach-list li:last-child{margin-bottom:0}
.step-number{flex-shrink:0;font-size:10px;letter-spacing:1px;color:var(--pink);padding-top:10px}
.approach-list h3{font-size:31px;line-height:1.2}
.approach-list p{font-size:13px;line-height:1.8;color:var(--muted);margin-top:9px}
.approach-invitation{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:38px;padding-top:25px;border-top:1px solid var(--line);gap:22px}
.approach-invitation>p{font:italic 26px/1.25 var(--serif)}
.text-link{display:inline-flex;align-items:center;gap:29px;font-size:13px;color:var(--green);border-bottom:1px solid var(--blue);padding-bottom:8px}
.text-link>span{font-size:21px;line-height:1}
.text-link:hover{color:var(--pink);border-color:var(--pink)}
.meaning-section{display:grid;grid-template-columns:1fr 1.15fr;gap:98px;align-items:center;padding-block:92px}
.meaning-art{border:1px solid var(--line);background:var(--deep);max-width:430px;width:100%}
.meaning-art img{width:100%;aspect-ratio:1;object-fit:cover}
.meaning-copy h2{margin-bottom:22px}
.meaning-copy h2 em{color:var(--green)}
.meaning-copy>p:not(.eyebrow){color:#c2c8c2;font-size:14px;line-height:1.85}
.meaning-copy>p+p{margin-top:17px}
.meaning-copy>p em{color:var(--green)}
.meaning-copy .meaning-reflection{font:italic 28px/1.35 var(--serif)!important;color:var(--pink)!important;padding-block:21px 3px}
.meaning-copy .meaning-motto{font:500 10px/1.8 var(--sans)!important;text-transform:uppercase;letter-spacing:1.5px;margin-top:23px}
.meaning-motto>span{margin-left:12px;color:var(--green)}
.contact-section{background:var(--deep);border-block:1px solid var(--line)}
.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:130px;padding-block:70px 76px;align-items:center}
.contact h2{font-size:73px;margin:14px 0 23px}
.contact h2 em{color:var(--pink)}
.contact-copy>p:not(.eyebrow){color:var(--muted);max-width:340px;font-size:14px;line-height:1.85}
.contact-details{display:flex;flex-direction:column;align-items:flex-start}
.contact-email{margin-top:23px;font-size:18px;border-bottom:1px solid var(--blue);overflow-wrap:anywhere;max-width:100%}
.contact-details>p{color:var(--muted);font-size:12px;margin-top:14px}
.contact-details .credential{margin-top:6px}
.credential span{margin-inline:6px;color:var(--pink)}
.contact-details .email-note{font-size:11px;max-width:320px;margin-top:22px;line-height:1.8}
.site-footer{display:grid;grid-template-columns:auto 1fr auto;gap:28px;align-items:center;padding-block:30px 34px}
.footer-wordmark{font:35px/1 var(--serif)}
.site-footer>p{font-size:10px;color:var(--muted)}
.footer-meta{text-align:right;line-height:1.8}
@media(min-width:1450px){.hero h1{font-size:80px}.hero-intro{font-size:17px}}
@media(max-width:1100px){.shell{width:calc(100% - 72px)}.hero{gap:40px;grid-template-columns:1.4fr 1fr}.hero h1{font-size:58px}.hero-intro{font-size:14px}.hero-art figcaption{font-size:18px}.support-section,.approach,.meaning-section{gap:64px}.contact{gap:65px}.site-nav{gap:20px}.header-contact{padding:11px 14px;gap:12px}.wordmark{font-size:35px}.wordmark>span{font-size:8px}}
@media(max-width:800px){.shell{width:calc(100% - 48px)}.site-header{position:relative;min-height:82px}.wordmark{font-size:34px}.wordmark>span{font-size:8px;letter-spacing:1px}.menu-toggle{display:flex;align-items:center;gap:14px;border:1px solid var(--blue);background:transparent;color:var(--ink);padding:9px 12px;font-size:11px}.menu-toggle span{font-size:19px;line-height:1}.site-nav{display:none;position:absolute;top:81px;left:0;right:0;z-index:10;background:var(--surface);border:1px solid var(--line);padding:12px 20px;box-shadow:0 15px 35px #0005}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav>a{padding:13px 0}.header-contact{justify-content:space-between;border:0;border-top:1px solid var(--line);margin-top:2px}.hero{grid-template-columns:1fr;gap:35px;padding-block:38px 50px}.hero-copy{padding-top:0}.hero h1{font-size:clamp(45px,8.2vw,64px);max-width:650px;letter-spacing:-1.25px;margin:17px 0 19px}.hero-intro{max-width:540px;font-size:15px;line-height:1.8}.hero-byline{margin-top:19px;font-size:11px}.hero-action{margin-top:20px;gap:12px}.service-note{margin-top:17px;font-size:10px}.hero-art{max-width:none;justify-self:stretch}.hero-art .art-window{height:340px}.hero-art img{height:100%;aspect-ratio:auto;object-position:50% 73%}.hero-art figcaption{font-size:20px;margin-top:13px}.support-section{grid-template-columns:1fr;gap:32px;padding-block:55px}.section-intro h2,.meaning-copy h2{font-size:51px;letter-spacing:-1px;margin-block:15px 22px}.section-intro>p:not(.eyebrow){max-width:580px}.loss-list{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.loss-list li:first-child{padding-top:18px}.loss-list h3{font-size:28px}.loss-list p{font-size:12px}.approach{grid-template-columns:1fr;gap:31px;padding-block:55px 34px}.approach-list li{padding-bottom:21px;margin-bottom:22px}.approach-list h3{font-size:29px}.approach-list p{max-width:490px}.approach-invitation{margin-top:5px;gap:15px}.approach-invitation>p{font-size:23px}.text-link{font-size:12px;gap:18px;white-space:nowrap}.meaning-section{grid-template-columns:1fr;gap:34px;padding-block:58px}.meaning-copy{grid-row:1}.meaning-copy>p:not(.eyebrow){font-size:14px;max-width:560px}.meaning-copy .meaning-reflection{font-size:28px!important;max-width:390px}.meaning-art{max-width:430px;justify-self:center}.contact{grid-template-columns:1fr;gap:32px;padding-block:52px}.contact h2{font-size:60px;margin:14px 0 20px}.contact-copy>p:not(.eyebrow){max-width:460px}.contact-email{font-size:18px}.site-footer{grid-template-columns:1fr auto;gap:12px 20px;padding-block:26px}.site-footer>p:not(.footer-meta){grid-column:1;grid-row:2;font-size:8px}.footer-meta{grid-column:2;grid-row:1/3;max-width:165px;font-size:8px!important}.footer-wordmark{font-size:32px}}
@media(max-width:440px){.shell{width:calc(100% - 40px)}.hero{padding-top:29px;gap:30px}.hero h1{font-size:46px;line-height:1.06}.hero-intro{font-size:14px;line-height:1.8}.hero .eyebrow{font-size:9px;letter-spacing:1.5px}.hero-byline{font-size:11px}.hero-byline>span{margin-inline:4px}.button{font-size:12px;min-height:53px;padding:14px 19px;gap:32px}.email-link{font-size:11px}.hero-art .art-window{height:310px}.hero-art figcaption{font-size:18px}.section-intro h2,.meaning-copy h2{font-size:45px}.loss-list{grid-template-columns:1fr}.loss-list h3{font-size:30px}.loss-list p{font-size:13px;max-width:310px}.approach-invitation{align-items:flex-start;flex-direction:column;gap:17px}.approach-list h3{font-size:28px}.approach-list li{gap:16px}.contact h2{font-size:58px}.contact-email{font-size:16px}.meaning-copy .meaning-motto{font-size:9px!important;letter-spacing:1px}.meaning-motto>span{margin-left:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button-primary:hover{transform:none}}

/* Shorter opening and the approved copy */
.hero h1{margin-bottom:24px}
.hero-invitation{font:italic 32px/1.2 var(--serif);color:var(--pink);max-width:500px;margin-top:20px}
.hero-byline{margin-top:21px}
.service-note{margin-top:10px}
.loss-forms{font:30px/1.35 var(--serif);color:var(--ink)}
.loss-questions{font:italic 31px/1.35 var(--serif);color:var(--pink);margin-top:27px}
.loss-purpose{font-size:14px;line-height:1.9;color:var(--muted);margin-top:24px;max-width:420px}
.approach{padding-bottom:70px}
.approach-reflection{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:27px}
.approach-list li{display:block;margin-bottom:0;padding-block:23px}
.approach-list li:first-child{border-top:1px solid var(--line)}
.approach-list li p{font:34px/1.25 var(--serif);color:var(--ink);margin:0;max-width:none}
.approach-list li em{color:var(--green)}
.meaning-copy>p.meaning-definition{font:30px/1.25 var(--serif);color:var(--pink)}
.contact h2{font-size:62px}
@media(max-width:1100px){.hero-invitation{font-size:30px}.contact h2{font-size:55px}}
@media(max-width:800px){.hero-invitation{font-size:30px;max-width:550px}.approach{padding-bottom:50px}.loss-questions{font-size:31px}.contact h2{font-size:55px}.approach-list li p{font-size:31px}}
@media(max-width:440px){.hero-invitation{font-size:27px;margin-top:16px}.hero-action{margin-top:20px}.loss-forms{font-size:27px}.loss-questions{font-size:29px}.meaning-copy>p.meaning-definition{font-size:28px}.contact h2{font-size:49px}}
/* Email choices — works even without a configured mail app */
.email-dialog{position:fixed;margin:auto;width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:34px;border:1px solid var(--blue);background:var(--charcoal);color:var(--ink);box-shadow:0 24px 90px #0008;overflow:auto}
.email-dialog::backdrop{background:#060908bb;backdrop-filter:blur(3px)}
.email-dialog h2{font-size:45px;line-height:1.1;letter-spacing:-1px;margin:0 38px 26px 0}
.email-dialog-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:27px;line-height:1;cursor:pointer}
.email-dialog-close:hover{color:var(--pink);border-color:var(--pink)}
.email-field-label{display:block;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.email-field{display:block;width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:0;background:var(--deep);color:var(--ink);font:16px/1.4 var(--sans)}
.email-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.email-dialog .button{gap:24px;padding-inline:18px;cursor:pointer}
.button-outline{border:1px solid var(--blue);background:transparent;color:var(--green)}
.button-outline:hover{border-color:var(--pink);color:var(--pink)}
.button-outline:disabled{opacity:.6;cursor:wait}
.email-copy-status{min-height:42px;margin-top:16px;font-size:12px;line-height:1.7;color:var(--green)}
@media(max-width:440px){.email-dialog{padding:25px 20px 20px}.email-dialog h2{font-size:39px}.email-dialog-actions{flex-direction:column}.email-dialog .button{width:100%;justify-content:center}}

