@layer templates{body[data-template=portrait_gallery]{background:var(--color-background);color:var(--color-text)}body[data-template=portrait_gallery] .page-frame{width:min(100% - 3rem,80rem)}body[data-template=portrait_gallery] .portrait-gallery-topbar{z-index:40;background:var(--color-background);position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){body[data-template=portrait_gallery] .portrait-gallery-topbar{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in srgb, var(--color-background) 84%, white 16%)}}body[data-template=portrait_gallery] .portrait-gallery-topbar__inner,body[data-template=portrait_gallery] .portrait-gallery-footer__inner,body[data-template=portrait_gallery] .portrait-gallery-biography,body[data-template=portrait_gallery] .portrait-gallery-legacy,body[data-template=portrait_gallery] .portrait-gallery-timeline,body[data-template=portrait_gallery] .portrait-gallery-ceremony{display:grid}body[data-template=portrait_gallery] .portrait-gallery-topbar__inner{grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding-top:1.4rem;padding-bottom:1.4rem}body[data-template=portrait_gallery] .portrait-gallery-topbar__brand,body[data-template=portrait_gallery] .portrait-gallery-footer__title{font-family:var(--font-heading), serif;color:var(--color-primary);font-size:1.15rem;font-style:italic;text-decoration:none}body[data-template=portrait_gallery] .portrait-gallery-nav{justify-content:center;gap:2rem;display:none}body[data-template=portrait_gallery] .portrait-gallery-nav__link{color:var(--color-text-muted);font-family:var(--font-heading), serif;font-size:1.05rem;text-decoration:none}body[data-template=portrait_gallery] .portrait-gallery-nav__link:hover,body[data-template=portrait_gallery] .portrait-gallery-nav__link:focus-visible{color:var(--color-primary)}body[data-template=portrait_gallery] .portrait-gallery-topbar__actions{justify-content:end;display:flex}body[data-template=portrait_gallery] .portrait-gallery-topbar__share,body[data-template=portrait_gallery] .portrait-gallery-footer__share{color:var(--color-primary);font:inherit;cursor:pointer;background:0 0;border:0}body[data-template=portrait_gallery] .portrait-gallery-hero{justify-content:center;align-items:center;min-height:min(92vh,58rem);padding:7rem 1.5rem 4rem;display:flex}body[data-template=portrait_gallery] .portrait-gallery-hero__inner{text-align:center;width:min(100%,64rem)}body[data-template=portrait_gallery] .portrait-gallery-hero__lockup{gap:.85rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-hero__portrait{background:#fff;max-width:min(100%,28rem);margin:0 auto 3rem;box-shadow:0 28px 70px #38383114}body[data-template=portrait_gallery] :is(memorial-avatar,.memorial-avatar).portrait-gallery-hero__portrait{--avatar-padding:0;--avatar-frame-radius:var(--radius-media);--avatar-image-radius:calc(var(--radius-media) - .05rem);--avatar-image-border:.5rem solid #fff;--avatar-image-background:white;overflow:visible}body[data-template=portrait_gallery] .portrait-gallery-hero__name{color:var(--color-primary);font-family:var(--font-heading), serif;font-size:clamp(2.8rem,6vw,4.8rem);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);margin:0;line-height:1.05}body[data-template=portrait_gallery] .portrait-gallery-hero__dates{color:var(--color-text-muted);font-family:var(--font-heading), serif;margin:1rem 0 2rem;font-size:clamp(1.2rem,2vw,1.8rem);font-style:italic}body[data-template=portrait_gallery] .portrait-gallery-hero__divider{background:color-mix(in srgb, var(--color-line-strong) 60%, transparent);width:4rem;height:1px;margin:0 auto}body[data-template=portrait_gallery] .portrait-gallery-note{background:var(--color-canvas-alt);padding:6rem 0}body[data-template=portrait_gallery] .portrait-gallery-note__inner{text-align:center}body[data-template=portrait_gallery] .portrait-gallery-note__eyebrow,body[data-template=portrait_gallery] .portrait-gallery-legacy__label{color:var(--color-text-muted);font-family:var(--font-label), sans-serif;font-size:.72rem;font-weight:var(--font-weight-label);letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem;display:inline-block}body[data-template=portrait_gallery] .portrait-gallery-note__body{max-width:44rem;color:var(--color-text);font-family:var(--font-heading), serif;margin:0 auto;font-size:clamp(1.45rem,2.4vw,2.1rem);font-style:italic;line-height:1.7}body[data-template=portrait_gallery] .portrait-gallery-section{padding:7rem 0}body[data-template=portrait_gallery] .portrait-gallery-section__title{color:var(--color-primary);font-family:var(--font-heading), serif;margin:0;font-size:clamp(2rem,3vw,2.8rem);line-height:1.1}body[data-template=portrait_gallery] .portrait-gallery-gallery__header{text-align:center;margin-bottom:2.5rem}body[data-template=portrait_gallery] .portrait-gallery-grid{display:block}body[data-template=portrait_gallery] .portrait-gallery-grid__list{grid-template-columns:1fr;gap:2rem;margin:0;padding:0;list-style:none;display:grid}body[data-template=portrait_gallery] .portrait-gallery-grid__item{margin:0;list-style:none}@supports (content-visibility:auto){body[data-template=portrait_gallery] .portrait-gallery-grid__item{content-visibility:auto;contain-intrinsic-size:20rem 18rem}}body[data-template=portrait_gallery] .portrait-gallery-grid__figure{margin:0}body[data-template=portrait_gallery] .portrait-gallery-grid__link{border-radius:var(--radius-media);background:var(--color-surface-raised);display:block;overflow:hidden}body[data-template=portrait_gallery] .portrait-gallery-grid__link img{object-fit:cover;width:100%;height:100%;display:block}body[data-template=portrait_gallery] .portrait-gallery-grid__caption{color:var(--color-text-muted);font-family:var(--font-heading), serif;margin-top:.9rem;font-size:.95rem;font-style:italic}body[data-template=portrait_gallery] .portrait-gallery-section--biography{background:color-mix(in srgb, var(--color-surface-strong) 28%, transparent)}body[data-template=portrait_gallery] .portrait-gallery-biography{gap:3rem}body[data-template=portrait_gallery] .portrait-gallery-biography__title{color:var(--color-primary);font-family:var(--font-heading), serif;margin:0;font-size:clamp(2rem,3vw,3rem);line-height:1.08}body[data-template=portrait_gallery] .portrait-gallery-biography__rail:after{content:"";background:var(--color-primary);width:3rem;height:.2rem;margin-top:1rem;display:block}body[data-template=portrait_gallery] .portrait-gallery-biography__content{gap:2rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-biography__section-title{color:var(--color-primary);font-family:var(--font-heading), serif;margin:0 0 1rem;font-size:1.35rem}body[data-template=portrait_gallery] .portrait-gallery-biography__prose{color:var(--color-text);line-height:1.8}body[data-template=portrait_gallery] .portrait-gallery-timeline{gap:3rem}body[data-template=portrait_gallery] .portrait-gallery-timeline__list{gap:3.5rem;margin:0;padding:0;list-style:none;display:grid;position:relative}body[data-template=portrait_gallery] .portrait-gallery-timeline__list:before{content:"";background:color-mix(in srgb, var(--color-line-strong) 55%, transparent);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}body[data-template=portrait_gallery] .portrait-gallery-timeline__item{display:grid;position:relative}body[data-template=portrait_gallery] .portrait-gallery-timeline__item:before{content:"";background:var(--color-primary);border-radius:999px;width:1rem;height:1rem;position:absolute;top:1.05rem;left:50%;transform:translate(-50%)}body[data-template=portrait_gallery] .portrait-gallery-timeline__card{background:0 0;width:min(100%,24rem);padding:0}body[data-template=portrait_gallery] .portrait-gallery-timeline__year{color:var(--color-primary);font-family:var(--font-heading), serif;margin:0;font-size:clamp(1.8rem,2.2vw,2.4rem)}body[data-template=portrait_gallery] .portrait-gallery-timeline__event-title{margin:.6rem 0 0;font-size:1.2rem}body[data-template=portrait_gallery] .portrait-gallery-timeline__event-description{color:var(--color-text-muted);margin:.6rem 0 0}body[data-template=portrait_gallery] .portrait-gallery-section--ceremony{background:color-mix(in srgb, var(--color-surface-strong) 55%, var(--color-surface));border-top:1px solid color-mix(in srgb, var(--color-line-soft) 60%, transparent);border-bottom:1px solid color-mix(in srgb, var(--color-line-soft) 60%, transparent)}body[data-template=portrait_gallery] .portrait-gallery-ceremony{text-align:center;justify-items:center;gap:1.75rem}body[data-template=portrait_gallery] .portrait-gallery-ceremony__icon{color:var(--color-primary);font-size:2.1rem}body[data-template=portrait_gallery] .portrait-gallery-ceremony__card{border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,42rem);padding:clamp(2rem,3vw,3rem);box-shadow:0 20px 55px #3838310d}body[data-template=portrait_gallery] .portrait-gallery-ceremony__meta{color:var(--color-text);gap:1.4rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-ceremony__meta>div{gap:.35rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-ceremony__meta dt{color:var(--color-text-muted);font-family:var(--font-label), sans-serif;font-size:.72rem;font-weight:var(--font-weight-label);letter-spacing:.16em;text-transform:uppercase}body[data-template=portrait_gallery] .portrait-gallery-ceremony__meta dd:first-of-type{font-family:var(--font-heading), serif;font-size:clamp(1.2rem,1.6vw,1.55rem);line-height:1.5}body[data-template=portrait_gallery] .portrait-gallery-ceremony__placeholder{color:var(--color-text-muted);margin:0;font-size:1.05rem}body[data-template=portrait_gallery] .portrait-gallery-ceremony__actions{flex-wrap:wrap;justify-content:center;gap:.9rem;margin-top:2rem;display:flex}body[data-template=portrait_gallery] .portrait-gallery-legacy{gap:3rem}body[data-template=portrait_gallery] .portrait-gallery-legacy__header{text-align:center}body[data-template=portrait_gallery] .portrait-gallery-legacy__subtitle{max-width:36rem;color:var(--color-text-muted);margin:1rem auto 0}body[data-template=portrait_gallery] .portrait-gallery-guestbook{gap:4rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-memory-list{grid-template-columns:1fr;gap:1.5rem;margin:0;padding:0;list-style:none;display:grid}body[data-template=portrait_gallery] .portrait-gallery-memory-list__item{list-style:none}body[data-template=portrait_gallery] .portrait-gallery-memory-card__body,body[data-template=portrait_gallery] .portrait-gallery-guestbook__local,body[data-template=portrait_gallery] .portrait-gallery-legacy__managed,body[data-template=portrait_gallery] .portrait-gallery-legacy__composer{border-radius:var(--radius-card);background:var(--color-surface-raised);padding:2rem}body[data-template=portrait_gallery] .portrait-gallery-memory-card__quote{color:color-mix(in srgb, var(--color-primary) 40%, transparent);font-family:var(--font-heading), serif;font-size:2.2rem;line-height:1}body[data-template=portrait_gallery] .portrait-gallery-memory-card__message{font-family:var(--font-heading), serif;margin:.75rem 0 2rem;font-size:1.1rem;font-style:italic;line-height:1.8}body[data-template=portrait_gallery] .portrait-gallery-memory-card__author,body[data-template=portrait_gallery] .portrait-gallery-legacy__form-title{color:var(--color-primary);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700}body[data-template=portrait_gallery] .portrait-gallery-legacy__form-copy{color:var(--color-text-muted);margin:.6rem 0 0}body[data-template=portrait_gallery] .portrait-gallery-legacy__form{gap:1.5rem;margin-top:1.5rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-legacy__form-grid{gap:1rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-legacy__form label{gap:.6rem;display:grid}body[data-template=portrait_gallery] .portrait-gallery-legacy__form :is(input,textarea){border:0;border-bottom:2px solid color-mix(in srgb, var(--color-primary) 20%, transparent);width:100%;color:var(--color-text);box-shadow:none;background:0 0;border-radius:0;padding:1rem 0}body[data-template=portrait_gallery] .portrait-gallery-legacy__form :is(input,textarea):focus{border-bottom-color:var(--color-primary);outline:none}body[data-template=portrait_gallery] .portrait-gallery-legacy__submit{justify-content:center;width:100%;padding-top:1rem;padding-bottom:1rem}body[data-template=portrait_gallery] .portrait-gallery-legacy__feedback{margin:0}body[data-template=portrait_gallery] .portrait-gallery-footer{background:var(--color-canvas-alt);margin-top:3rem;padding:4rem 0}body[data-template=portrait_gallery] .portrait-gallery-footer__inner{text-align:center;justify-items:center;gap:1.2rem}body[data-template=portrait_gallery] .portrait-gallery-footer__links{justify-content:center;display:flex}body[data-template=portrait_gallery] .portrait-gallery-footer__meta{color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}@media (min-width:900px){body[data-template=portrait_gallery] .portrait-gallery-nav{display:flex}body[data-template=portrait_gallery] .portrait-gallery-grid__list{grid-template-columns:repeat(12,minmax(0,1fr))}body[data-template=portrait_gallery] .portrait-gallery-grid__item{grid-column:span 4}body[data-template=portrait_gallery] .portrait-gallery-grid__item:first-child{grid-area:span 2/1/auto/span 8}body[data-template=portrait_gallery] .portrait-gallery-grid__item:nth-child(2),body[data-template=portrait_gallery] .portrait-gallery-grid__item:nth-child(3){grid-column:9/-1}body[data-template=portrait_gallery] .portrait-gallery-grid__item:first-child .portrait-gallery-grid__link img{aspect-ratio:16/12}body[data-template=portrait_gallery] .portrait-gallery-grid__item:nth-child(2) .portrait-gallery-grid__link img,body[data-template=portrait_gallery] .portrait-gallery-grid__item:nth-child(3) .portrait-gallery-grid__link img{aspect-ratio:16/10}body[data-template=portrait_gallery] .portrait-gallery-grid__item:nth-child(n+4) .portrait-gallery-grid__link img{aspect-ratio:4/3}body[data-template=portrait_gallery] .portrait-gallery-biography{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:4rem}body[data-template=portrait_gallery] .portrait-gallery-biography__rail{align-self:start;position:sticky;top:8rem}body[data-template=portrait_gallery] .portrait-gallery-timeline__item[data-side=left]{justify-items:start}body[data-template=portrait_gallery] .portrait-gallery-timeline__item[data-side=left] .portrait-gallery-timeline__card{text-align:right;margin-right:calc(50% + 2.5rem)}body[data-template=portrait_gallery] .portrait-gallery-timeline__item[data-side=right]{justify-items:end}body[data-template=portrait_gallery] .portrait-gallery-timeline__item[data-side=right] .portrait-gallery-timeline__card{text-align:left;margin-left:calc(50% + 2.5rem)}body[data-template=portrait_gallery] .portrait-gallery-memory-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}}@media (max-width:899px){body[data-template=portrait_gallery] .portrait-gallery-topbar__inner{grid-template-columns:1fr auto}body[data-template=portrait_gallery] .portrait-gallery-topbar__brand{grid-column:1/2}body[data-template=portrait_gallery] .portrait-gallery-topbar__actions{grid-column:2/3}body[data-template=portrait_gallery] .portrait-gallery-timeline__list:before{left:.5rem;transform:none}body[data-template=portrait_gallery] .portrait-gallery-timeline__item{padding-left:2.25rem}body[data-template=portrait_gallery] .portrait-gallery-timeline__item:before{left:0;transform:translate(0)}}@media (max-width:700px){body[data-template=portrait_gallery] .page-frame{width:min(100% - 1.5rem,100%)}body[data-template=portrait_gallery] .portrait-gallery-hero{min-height:auto;padding-top:5rem}body[data-template=portrait_gallery] .portrait-gallery-note,body[data-template=portrait_gallery] .portrait-gallery-section{padding:4rem 0}body[data-template=portrait_gallery] .portrait-gallery-memory-card__body,body[data-template=portrait_gallery] .portrait-gallery-guestbook__local,body[data-template=portrait_gallery] .portrait-gallery-legacy__composer,body[data-template=portrait_gallery] .portrait-gallery-ceremony__card{padding:1.5rem}}@media (prefers-reduced-motion:no-preference){@keyframes portrait-gallery-soft-reveal{0%{opacity:.95;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}body[data-template=portrait_gallery] .portrait-gallery-topbar{transition:background-color var(--duration-calm) var(--ease-standard), box-shadow var(--duration-calm) var(--ease-standard)}body[data-template=portrait_gallery] .portrait-gallery-topbar:focus-within{box-shadow:0 .75rem 2.25rem #38383114}body[data-template=portrait_gallery] .portrait-gallery-nav__link,body[data-template=portrait_gallery] .portrait-gallery-topbar__share,body[data-template=portrait_gallery] .portrait-gallery-footer__share{transition:color var(--duration-calm) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard)}body[data-template=portrait_gallery] .portrait-gallery-topbar__share:hover,body[data-template=portrait_gallery] .portrait-gallery-topbar__share:focus-visible,body[data-template=portrait_gallery] .portrait-gallery-footer__share:hover,body[data-template=portrait_gallery] .portrait-gallery-footer__share:focus-visible{opacity:.78}body[data-template=portrait_gallery] :is(.portrait-gallery-hero__inner,.portrait-gallery-note__inner,.portrait-gallery-section>.page-frame,.portrait-gallery-footer__inner){animation:portrait-gallery-soft-reveal .56s var(--ease-standard) both}body[data-template=portrait_gallery] .portrait-gallery-grid__link{transition:background-color var(--duration-calm) var(--ease-standard), box-shadow var(--duration-calm) var(--ease-standard)}body[data-template=portrait_gallery] .portrait-gallery-grid__link img{transition:filter var(--duration-calm) var(--ease-standard), transform var(--duration-calm) var(--ease-standard)}body[data-template=portrait_gallery] .portrait-gallery-grid__link:hover,body[data-template=portrait_gallery] .portrait-gallery-grid__link:focus-visible{box-shadow:0 1.3rem 3rem #3838311f}body[data-template=portrait_gallery] .portrait-gallery-grid__link:hover img,body[data-template=portrait_gallery] .portrait-gallery-grid__link:focus-visible img{transform:scale(1.04)}body[data-template=portrait_gallery] .portrait-gallery-ceremony__card,body[data-template=portrait_gallery] .portrait-gallery-memory-card__body,body[data-template=portrait_gallery] .portrait-gallery-guestbook__local,body[data-template=portrait_gallery] .portrait-gallery-legacy__managed,body[data-template=portrait_gallery] .portrait-gallery-legacy__composer{transition:background-color var(--duration-calm) var(--ease-standard), box-shadow var(--duration-calm) var(--ease-standard)}body[data-template=portrait_gallery] .portrait-gallery-ceremony__card:focus-within,body[data-template=portrait_gallery] .portrait-gallery-guestbook__local:focus-within,body[data-template=portrait_gallery] .portrait-gallery-legacy__managed:focus-within,body[data-template=portrait_gallery] .portrait-gallery-legacy__composer:focus-within{box-shadow:0 1.15rem 3rem #38383117}body[data-template=portrait_gallery] .portrait-gallery-legacy__form :is(input,textarea){transition:border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard)}}@media (prefers-reduced-motion:reduce){body[data-template=portrait_gallery] :is(.portrait-gallery-topbar,.portrait-gallery-nav__link,.portrait-gallery-topbar__share,.portrait-gallery-footer__share,.portrait-gallery-hero__inner,.portrait-gallery-note__inner,.portrait-gallery-section>.page-frame,.portrait-gallery-footer__inner,.portrait-gallery-grid__link,.portrait-gallery-grid__link img,.portrait-gallery-ceremony__card,.portrait-gallery-memory-card__body,.portrait-gallery-guestbook__local,.portrait-gallery-legacy__managed,.portrait-gallery-legacy__composer,input,textarea,button,.button){transition:none;animation:none}body[data-template=portrait_gallery] .portrait-gallery-grid__link:hover img,body[data-template=portrait_gallery] .portrait-gallery-grid__link:focus-visible img{transform:none}}}
