@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dm-sans-latin-400-normal.CW0RaeGs.woff2)format("woff2"),url(/_astro/dm-sans-latin-400-normal.BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/dm-sans-latin-500-normal.B9HHJjqV.woff2)format("woff2"),url(/_astro/dm-sans-latin-500-normal.Dr3UlScf.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/dm-sans-latin-700-normal.DvUfVpUG.woff2)format("woff2"),url(/_astro/dm-sans-latin-700-normal.CUSSCpQX.woff)format("woff")}:root{color:#272923;font-synthesis:none;--bg:#f5f2eb;--ink:#272923;--accent:#38463a;--muted:#66665c;--line:#c7c5b9;--display:"DM Sans", sans-serif;--sans:"DM Sans", sans-serif;--section:clamp(72px, 9vw, 144px);background:#f5f2eb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{font-family:var(--sans);background:var(--bg);color:var(--ink);margin:0}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;display:block}img{height:auto}button{color:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400}h1{letter-spacing:-.045em;font-size:clamp(60px,7.8vw,118px);line-height:.97}h2{letter-spacing:-.045em;white-space:pre-line;font-size:clamp(42px,4.8vw,70px);line-height:1.06}h3{letter-spacing:-.03em;font-size:30px;line-height:1.15}p{line-height:1.7}p+p{margin-top:20px}ul{margin:22px 0;padding-left:20px}li{margin:9px 0;line-height:1.65}.wrap{width:min(1280px,100% - 112px);margin-inline:auto}.section{padding-block:var(--section)}.eyebrow{letter-spacing:.15em;text-transform:uppercase;font-size:11px;font-weight:600;line-height:1.6;display:block}.lead{font-size:clamp(20px,2.1vw,28px);line-height:1.5}.small{font-size:13px;line-height:1.6}.skip{background:var(--ink);color:var(--bg);z-index:99;padding:16px;position:fixed;top:-100px;left:20px}.skip:focus{top:10px}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a,button{touch-action:manipulation}.button{background:var(--accent);min-height:56px;color:var(--bg);border:1px solid var(--accent);justify-content:center;align-items:center;gap:28px;padding:19px 24px;font-size:14px;font-weight:500;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.button:hover{filter:brightness(1.12);transform:translateY(-3px)}.button svg{flex-shrink:0}.text-link{border-bottom:1px solid;align-items:center;gap:24px;padding-block:12px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translate(5px)}.site-header{justify-content:space-between;align-items:center;gap:32px;min-height:104px;padding-block:28px;display:flex}.wordmark{letter-spacing:-.065em;font-size:22px;font-weight:700;line-height:1.04;text-decoration:none}.wordmark span{letter-spacing:-.045em}.wordmark-dot{color:var(--accent)}.site-header nav{align-items:center;gap:36px;font-size:13px;display:flex}.site-header nav a{padding-block:12px;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.site-header .nav-cta{border-bottom:1px solid;gap:28px;display:flex}.menu-toggle{display:none}.section-heading{max-width:800px;margin-bottom:58px}.section-heading .eyebrow{margin-bottom:24px}.section-heading p{max-width:480px;margin-top:24px}.service-row{border-top:1px solid var(--line);grid-template-columns:.25fr 1.35fr 1.5fr 50px;align-items:start;gap:28px;padding:36px 0;display:grid}.service-row:last-child{border-bottom:1px solid var(--line)}.service-no{font-size:13px;line-height:2}.service-title .eyebrow{margin-bottom:12px}.service-title h3{max-width:330px;font-size:32px}.service-copy p{font-size:15px}.service-resource{align-items:center;gap:10px;width:fit-content;margin-top:14px;font-size:13px;font-weight:500;display:flex}.service-copy details{margin-top:18px}.service-copy summary{font-size:13px}.service-copy li{font-size:14px}.round-link{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:background .2s,color .2s;display:flex}.round-link:hover{background:var(--ink);color:var(--bg)}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:44px;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary>span{font-family:var(--sans);font-weight:400;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}.process{background:var(--soft,#e9e7dd)}.steps{grid-template-columns:repeat(3,1fr);gap:48px;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);margin:0;padding-top:24px}.step-number{margin-bottom:44px;font-size:13px;display:block}.steps h3{margin-bottom:18px}.steps p{font-size:15px}.arrangements{grid-template-columns:1fr 1fr;align-items:center;gap:80px;display:grid}.arrangements h2,.arrangements .text-link{margin-top:24px}.offers{flex-wrap:wrap;grid-column:1/-1;gap:30px;display:flex}.offer{border:1px solid var(--line);padding:30px}.faq{border-top:1px solid var(--line);grid-template-columns:1fr 1.2fr;gap:80px;display:grid}.faq h2{margin-top:24px}.faq-list details{border-bottom:1px solid var(--line);padding:16px 0}.faq-list details:first-child{border-top:1px solid var(--line)}.faq-list summary{font-size:15px;font-weight:500}.faq-list summary>span{font-size:26px}.faq-list p{padding:12px 30px 8px 0;font-size:15px}.booking{background:var(--ink);color:var(--bg)}.booking-grid{grid-template-columns:1.1fr 1fr;align-items:center;gap:100px;display:grid}.booking h2{margin:24px 0 28px}.booking-grid>div>p{max-width:420px}.contact-links{gap:14px;margin-top:40px;display:grid}.contact-links a{overflow-wrap:anywhere;align-items:center;gap:20px;font-size:16px;text-decoration:none;display:flex}.contact-links a:hover{text-decoration:underline}.contact-name{margin-top:26px;font-size:12px}.booking-box{border:1px solid color-mix(in srgb, var(--bg) 40%, transparent);padding:36px}.booking-box h3{margin:14px 0 28px;font-size:32px}.booking-box label{margin:20px 0 10px;font-size:13px;display:block}.booking-box label span{opacity:.8}.booking-box input,.booking-box select{background:var(--bg);width:100%;min-height:52px;color:var(--ink);border:1px solid var(--bg);border-radius:0;padding:12px;display:block}.booking-box .button{background:var(--bg);color:var(--ink);border-color:var(--bg);width:100%;margin-block:24px 16px}.booking :focus-visible{outline-color:var(--bg)}.privacy-note{margin-top:20px;font-size:11px;line-height:1.6}.giving{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding-block:40px;display:flex}.giving p{margin-top:8px;font-size:15px}.footer{justify-content:space-between;align-items:center;gap:30px;padding-block:60px;display:flex}.footer>p{font-size:13px}.footer>div{gap:14px;font-size:12px;display:grid}.footer small{font-size:10px}.mobile-break{display:none}.calendar-dialog{border:1px solid var(--line);background:var(--bg);width:100%;max-width:min(1000px,100% - 24px);max-height:90dvh;color:var(--ink);padding:24px}.calendar-dialog::backdrop{background:#101b26b8}.dialog-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.dialog-heading h2{font-size:28px}.dialog-close{background:0 0;border:1px solid;padding:12px}.calendar-dialog #cal-inline{min-height:520px;overflow:auto}.calendar-dialog iframe{border:0;width:100%;min-height:520px}[hidden]{display:none!important}.calendar-dialog a{text-decoration:underline}body:has(dialog[open]){overflow:hidden}.legal{max-width:800px;padding-block:80px}.legal h1{margin:24px 0;font-size:72px}.legal h2{margin:40px 0 15px;font-size:30px}.legal ul{margin-top:12px}.legal-header{border-bottom:1px solid var(--line)}.legal-header a{font-size:14px}@media (width>=1600px){.wrap{width:min(1440px,100% - 160px)}}@media (width<=1000px){.wrap{width:calc(100% - 64px)}.site-header nav{gap:24px}.service-row{grid-template-columns:25px 1fr 1.2fr 44px;gap:18px}.service-title h3{font-size:27px}.booking-grid{gap:40px}.booking-box{padding:24px}.arrangements,.faq{gap:40px}.steps{gap:28px}.footer>p{display:none}}@media (width<=700px){:root{--section:72px}.wrap{width:calc(100% - 40px)}.site-header{flex-wrap:wrap;gap:20px;min-height:90px;padding-block:22px;position:relative}.wordmark{font-size:20px}.menu-toggle{border:1px solid var(--line);background:0 0;align-items:center;gap:22px;min-height:44px;padding:10px 14px;font-size:13px;display:flex}.menu-toggle span{font-size:20px}.site-header nav{flex-direction:column;align-items:stretch;gap:0;width:100%;padding:12px 0;display:none}.site-header nav.open{display:flex}.site-header nav a{padding:16px 0}.site-header .nav-cta{justify-content:space-between}.desktop-break{display:none}.mobile-break{display:block}.section-heading{margin-bottom:36px}.service-row{grid-template-columns:24px 1fr 44px;gap:16px;padding:28px 0}.service-title{grid-column:2}.service-title h3{font-size:30px}.service-copy{grid-area:2/2/auto/4}.round-link{grid-area:1/3;width:44px;height:44px}.service-no{grid-row:1}.service-copy p{font-size:15px}.steps{grid-template-columns:1fr;gap:30px}.step-number{margin-bottom:20px}.steps li{padding-top:20px}.steps h3{font-size:30px}.arrangements,.faq,.booking-grid{grid-template-columns:1fr;gap:36px}.booking-box{padding:24px}.booking h2{font-size:48px}.contact-links a{font-size:14px}.giving{flex-direction:column;align-items:flex-start}.footer{align-items:flex-start;padding-block:40px}.footer>div{max-width:170px;line-height:1.5}.button{padding:16px 20px;font-size:13px}.faq-list summary{font-size:14px}.legal{padding-block:50px}.legal h1{font-size:54px}.dialog-heading h2{font-size:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.wordmark{align-items:center;width:fit-content;display:inline-flex}.brand-lockup{flex:none;width:176px;display:block}.brand-lockup--mark{width:156px}.brand-signature{width:100%;height:auto;display:block}@media (prefers-reduced-motion:no-preference){.brand-signature{transition:transform .32s,filter .32s}.wordmark:hover .brand-signature{filter:drop-shadow(0 5px 8px #402e251a);transform:translateY(-2px)}}@media (width<=700px){.brand-lockup{width:142px}.brand-lockup--mark{width:126px}}.line-icon{width:36px;height:38px;color:var(--accent);margin-bottom:16px}.service-title .line-icon{width:29px;height:31px}.service-panel .line-icon{width:40px;height:42px}.step-number{justify-content:space-between;align-items:center;gap:24px;display:flex}.step-trail{opacity:.55;width:60%;height:25px}.portrait-story{grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding-top:10px;display:grid}.portrait-frame{border:1px solid var(--line);width:100%;max-width:490px;padding:18px;position:relative}.portrait-frame>img{aspect-ratio:1;object-fit:cover;width:100%}.portrait-frame figcaption{text-transform:uppercase;letter-spacing:.13em;margin-top:16px;font-size:10px}.portrait-rosette{background:var(--bg);border:1px solid var(--line);width:120px;color:var(--accent);border-radius:50%;padding:12px;position:absolute;bottom:-35px;right:-45px}.portrait-story h2{margin:25px 0}.portrait-story em{font-weight:400}.portrait-story p{max-width:460px;font-size:15px}.portrait-story .text-link{margin-top:24px}.horizon .portrait-frame{border-radius:230px 230px 0 0;padding:14px}.horizon .portrait-frame>img{aspect-ratio:.92;border-radius:230px 230px 0 0}.horizon .portrait-rosette{color:#153d50;background:#e8bd72;border:0}.fieldnotes .portrait-frame{background:#e1e5d6;padding:22px;transform:rotate(-3deg)}.fieldnotes .portrait-story{grid-template-columns:1fr 1.2fr;gap:95px}.fieldnotes .portrait-story h2{font-size:58px}.keepsake .portrait-print{background:#fcf7ef;padding:12px 12px 40px;inset:35px 20px 30px 0;transform:rotate(-4deg)}.portrait-print>img{object-fit:cover;object-position:50% 25%;width:100%;height:100%}.keepsake .portrait-print>img{object-fit:contain;object-position:50% 100%;filter:drop-shadow(0 12px 14px #402e251f);height:calc(100% - 24px)}.portrait-print figcaption{font-family:var(--sans);letter-spacing:.06em;color:#402e25;padding-top:11px;font-size:10px}.keepsake .memory-note{z-index:2;width:190px;min-height:225px;padding:23px;bottom:-15px;right:-8px}.keepsake .memory-note>p{margin-top:17px;font-size:30px}.keepsake .art-bottom{left:-23px}.keepsake .art-caption{top:0;left:0}.payment-entry{border:1px solid var(--line);background:var(--soft);grid-column:1/-1;grid-template-columns:65px 1fr auto;align-items:center;gap:25px;margin-top:15px;padding:34px;display:grid}.payment-entry h3{margin:8px 0;font-size:32px}.payment-entry p{font-size:14px}.payment-entry .line-icon{width:48px;height:50px;margin:0}.entry-actions{gap:12px;display:grid}.entry-actions>.small{font-size:10px}.booking-preview-entry{border-bottom:1px solid color-mix(in srgb, currentColor 35%, transparent);margin-bottom:30px;padding-bottom:30px}.booking .line-icon{color:inherit;width:38px}.booking-preview-entry .eyebrow{margin-top:20px}.booking-preview-entry h3{margin-bottom:10px}.booking-preview-entry .button{margin-top:10px}.experience-dialog{border:1px solid var(--line);width:min(1020px,100% - 32px);max-height:92dvh;color:var(--ink);background:var(--bg);padding:0;overflow:auto}.experience-dialog::backdrop{backdrop-filter:blur(5px);background:#17121ac9}.experience-top{border-bottom:1px solid var(--line);background:var(--bg);z-index:3;justify-content:space-between;align-items:center;gap:16px;padding:18px 25px;display:flex;position:sticky;top:0}.experience-top .eyebrow{font-size:9px}.experience-top>button{border:1px solid var(--line);background:0 0;min-height:44px;padding:10px 15px;font-size:12px}.appointment-layout,.payment-layout{grid-template-columns:.85fr 1.15fr;display:grid}.appointment-layout>aside,.payment-summary{border-right:1px solid var(--line);padding:38px}.appointment-layout>aside>img{object-fit:cover;border-radius:50%;width:92px;height:92px;margin-bottom:28px}.appointment-layout h2,.payment-summary h2{margin:20px 0;font-size:40px;line-height:1.07}.appointment-layout aside>p,.payment-summary>p{font-size:14px}.appointment-layout aside>a{margin-top:25px;font-size:12px;display:inline-block}.demo-disclosure{border-top:1px solid var(--line);padding-top:20px;line-height:1.6;margin-top:24px!important;font-size:12px!important}.appointment-picker,.checkout-preview{min-width:0;padding:38px}.experience-dialog label{margin-bottom:10px;font-size:12px;display:block}.experience-dialog select{border:1px solid var(--line);background:var(--bg);width:100%;min-height:48px;color:var(--ink);border-radius:0;padding:10px 12px;font-size:13px}.month-heading{justify-content:space-between;align-items:center;gap:15px;margin:28px 0 20px;display:flex}.month-heading h3{font-size:27px}.month-heading>span{font-size:10px}.demo-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.demo-days>button{border:1px solid var(--line);min-height:52px;color:var(--ink);background:0 0;padding:8px 3px;font-size:13px}.demo-days>button>span{margin-bottom:5px;font-size:9px;display:block}.demo-days>button[aria-pressed=true],.demo-times>button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.time-label{margin:26px 0 12px;font-size:10px}.demo-times{gap:8px;display:flex}.demo-times>button{border:1px solid var(--line);background:0 0;flex:1;min-height:44px;padding:10px;font-size:12px}.selection-summary{min-height:42px;margin:20px 0;font-size:12px}.experience-dialog .button{width:100%;min-height:52px;padding:16px;font-size:13px}.experience-dialog .button:disabled{opacity:.45;cursor:not-allowed;filter:none;transform:none}.experience-dialog .review-details{border-block:1px solid var(--line);gap:9px;margin-block:25px;padding-block:20px;display:grid}.review-details dt{text-transform:uppercase;letter-spacing:.09em;font-size:10px}.review-details dd{margin:0 0 12px;font-size:15px}.experience-dialog [data-booking-stage=review] h3{margin-top:25px;font-size:37px}.experience-dialog [data-booking-stage=review]>p{margin-bottom:25px;font-size:13px}.demo-back{background:0 0;border:0;border-bottom:1px solid;margin-top:18px;padding:12px 0;font-size:12px}.payment-summary>label{margin-top:25px}.payment-choice{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px;display:grid}.payment-choice>button{border:1px solid var(--line);text-align:left;background:0 0;min-height:78px;padding:17px 12px;font-size:13px}.payment-choice>button>span{margin-top:8px;font-size:10px;line-height:1.5;display:block}.payment-choice>button[aria-pressed=true]{border-color:var(--accent);outline:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.payment-total{gap:12px;margin-top:30px;display:grid}.payment-total dt{font-size:12px}.payment-total dd{font-size:21px;font-family:var(--display);margin:0}.checkout-preview h3{margin:30px 0;font-size:36px}.checkout-order{background:var(--soft,#eee);gap:10px;margin-bottom:25px;padding:20px;font-size:13px;display:grid}.sample-card{border:1px solid var(--line);align-items:center;gap:12px;padding:18px;font-size:11px;line-height:1.5;display:flex}.sample-card svg{flex-shrink:0;width:30px}.sample-card>span:last-child{letter-spacing:2px;font-size:14px}.checkout-preview p{margin-top:20px;font-size:13px;line-height:1.7}.checkout-preview .button{margin-top:25px}.checkout-preview .small{font-size:10px}.demo-check{background:var(--accent);width:65px;height:65px;color:var(--bg);border-radius:50%;place-items:center;margin-top:35px;font-size:28px;display:grid}.chapter .checkout-order{background:#e9dfcd}.chapter .demo-days>button[aria-pressed=true],.chapter .demo-times>button[aria-pressed=true],.chapter .demo-check{color:#fff}.chapter .experience-dialog :focus-visible{outline-color:#573c50}.portrait-frame,.service-row,.guide-entry,.steps>li{transition:translate .6s,opacity .6s}.reveal-arrived{animation:.65s both subtle-arrival}@keyframes subtle-arrival{0%{opacity:.5;translate:0 18px}to{opacity:1;translate:0}}@media (width<=1000px){.site-header nav{gap:22px}.site-header nav .nav-cta{gap:12px}.portrait-story,.fieldnotes .portrait-story{gap:55px}.portrait-story h2,.fieldnotes .portrait-story h2{font-size:45px}.payment-entry{grid-template-columns:45px 1fr;gap:22px}.entry-actions{grid-column:2}.appointment-layout>aside,.payment-summary,.appointment-picker,.checkout-preview{padding:27px}.keepsake .portrait-print{inset:40px 10px 30px 0}.keepsake .memory-note{width:165px;min-height:200px;padding:20px}.keepsake .memory-note>p{font-size:27px}.keepsake .memory-note small{font-size:8px}}@media (width<=700px){.portrait-story,.fieldnotes .portrait-story{grid-template-columns:1fr;gap:50px;padding-top:0}.portrait-frame{width:93%;max-width:400px;margin:auto}.portrait-rosette{width:90px;bottom:-25px;right:-14px}.portrait-story h2,.fieldnotes .portrait-story h2{font-size:47px}.keepsake .portrait-print{padding:9px 9px 35px;inset:30px 20px 15px 12px}.keepsake .memory-note{width:155px;min-height:180px;padding:16px;bottom:-20px;right:0}.keepsake .memory-note>p{font-size:24px}.keepsake .art-caption{font-size:8px;left:10px}.keepsake .art-bottom{left:0}.portrait-print figcaption{font-size:8px}.keepsake-art{margin-bottom:25px}.payment-entry{grid-template-columns:1fr;gap:18px;padding:24px}.entry-actions{grid-column:auto}.payment-entry h3{font-size:31px}.payment-entry .line-icon{width:35px}.entry-actions>.small{font-size:9px}.experience-dialog{width:calc(100% - 20px);max-height:94dvh}.experience-top{padding:12px 16px}.experience-top .eyebrow{max-width:185px;font-size:8px}.appointment-layout,.payment-layout{grid-template-columns:1fr}.appointment-layout>aside,.payment-summary{border-right:0;border-bottom:1px solid var(--line);padding:24px}.appointment-layout aside>img{float:right;width:64px;height:64px;margin:0 0 15px 15px}.appointment-layout h2,.payment-summary h2{margin:15px 0;font-size:32px}.appointment-layout aside>p{font-size:12px}.appointment-layout .demo-disclosure{padding-top:14px;margin-top:15px!important}.appointment-layout aside>a{margin-top:15px}.appointment-picker,.checkout-preview{padding:24px 20px}.month-heading h3{font-size:24px}.demo-days{gap:4px}.demo-days>button{min-height:48px}.demo-times>button{padding:10px 5px;font-size:11px}.payment-summary>p{font-size:12px}.checkout-preview h3{font-size:32px}.booking-preview-entry h3{font-size:34px}.fieldnotes .service-title .line-icon{width:26px}.step-trail{width:110px}}@media (prefers-reduced-motion:reduce){.reveal-arrived,.orbital-star{animation:none!important}.golden-portrait{transition:none!important;transform:none!important}}.experience-dialog .appointment-layout h2,.experience-dialog .payment-summary h2{font-size:40px;line-height:1.1}.experience-dialog .appointment-layout h3,.experience-dialog .checkout-preview h3{font-size:32px}.experience-dialog .appointment-layout .month-heading h3{font-size:25px}@media (width<=700px){.experience-dialog .appointment-layout h2,.experience-dialog .payment-summary h2{font-size:31px}.experience-dialog .appointment-layout .month-heading h3{font-size:23px}}
