@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-italic-Dc_OZ8oc.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-italic-BLh7T8o8.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/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(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff")}@font-face{font-family:Great Vibes;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/great-vibes-latin-400-normal-q5-78SH_.woff2) format("woff2"),url(/assets/great-vibes-latin-400-normal-BAZ173uY.woff) format("woff")}:root{font-family:DM Sans,sans-serif;color:#15355c;background:#eff3f7;font-synthesis:none;font-weight:400;--navy: #15355c;--blue: #244d80;--muted: #52677f;--line: #cbd5e1;--paper: #f8fafc;--serif: "Cormorant Garamond", Georgia, serif;--sans: "DM Sans", sans-serif;--script: "Great Vibes", cursive}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}button,a{touch-action:manipulation}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #497eb8;outline-offset:5px}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}fieldset{border:0;padding:0;margin:0;min-width:0}legend{padding:0}small{font-size:12px}.screen{position:relative;min-height:100dvh;overflow:hidden;isolation:isolate}.intro{display:flex;flex-direction:column;background:radial-gradient(ellipse at 77% 25%,#fffef9 0%,#f8faf9d9 32%,transparent 67%),linear-gradient(116deg,#789fc3,#b6cfe5 32%,#e7eff5 60%,#f8faf7)}.intro:before,.intro:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none}.intro:before{background:conic-gradient(from 207deg at 80% 0%,transparent 0deg,#fffdf4a3 8deg,transparent 19deg,transparent 29deg,#ffffff85 35deg,transparent 44deg,transparent 58deg,#f8fcff8c 64deg,transparent 75deg,transparent 360deg);filter:blur(10px);opacity:.8}.intro:after{background:radial-gradient(ellipse 44% 13% at 9% 91%,#f1f8ffb3,transparent 76%),radial-gradient(ellipse 37% 18% at 34% 103%,#f4f9ffd9,transparent 78%),radial-gradient(ellipse 31% 12% at 65% 98%,#fffefbc9,transparent 80%),radial-gradient(ellipse 29% 26% at 47% 37%,#f7fbffad,transparent 78%),radial-gradient(ellipse 13% 40% at 53% 44%,#ffffff70,transparent 85%)}.intro-top{display:flex;justify-content:space-between;align-items:center;padding:34px 4.6vw;color:#31506e;font-size:11px;text-transform:uppercase;letter-spacing:3px}.intro-composition{flex:1;display:grid;grid-template-columns:1.04fr 1fr;align-items:center;max-width:1500px;width:100%;margin:auto;padding:10px 5.5vw 25px 2vw;gap:2vw}.intro-portrait-wrap{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none}.portrait-window{overflow:hidden;position:relative}.portrait-window img{width:160%;max-width:none;height:auto;position:absolute;left:-30%;top:0}.intro-portrait{--portrait-width: min(92vw, 165dvh);position:absolute;width:var(--portrait-width);max-width:none;height:auto;left:calc(var(--portrait-width) * -.225);top:clamp(85px,13dvh,145px);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 66%,transparent 80%),linear-gradient(to bottom,#000 30%,transparent 36.7%),linear-gradient(to bottom,transparent 0%,#000 6%),radial-gradient(ellipse 24% 18% at 48% 18%,#000 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 12%,#000 66%,transparent 80%),linear-gradient(to bottom,#000 30%,transparent 36.7%),linear-gradient(to bottom,transparent 0%,#000 6%),radial-gradient(ellipse 24% 18% at 48% 18%,#000 95%,transparent 100%);-webkit-mask-composite:source-in,source-in,source-over;mask-composite:intersect,intersect,add}.intro-copy{grid-column:2;text-align:center;padding-bottom:12px}.script-label{font-family:var(--serif);font-style:italic;font-size:clamp(25px,2.9vw,43px);line-height:1.2;margin-bottom:12px}.intro .intro-celebration{margin:0 0 17px;color:#254f7b;font-style:normal}.intro .celebrating-word{color:#214974;text-shadow:0 1px 0 #ffffff,0 4px 20px #ffffff80;display:block;font-family:Great Vibes,cursive;font-size:clamp(65px,6.8vw,104px);font-weight:400;line-height:1.13;padding:0 8px 5px}.intro .life-of-line{display:block;margin-top:-3px;font-family:var(--serif);font-size:clamp(17px,1.5vw,22px);font-weight:500;line-height:1.4;letter-spacing:.16em;text-transform:uppercase}.intro h1{font-size:clamp(52px,6.7vw,104px);line-height:.95;letter-spacing:-2.5px;max-width:600px;margin:auto}.nickname{text-transform:uppercase;letter-spacing:5px;font-size:18px;margin:21px 0 25px;font-family:var(--serif);font-weight:500}.life-dates{display:flex;align-items:center;justify-content:center;gap:29px}.life-dates>span:not(.date-divider){display:grid;gap:7px;font-family:var(--serif);font-size:22px}.life-dates small{text-transform:uppercase;letter-spacing:2px;font-family:DM Sans,sans-serif;font-size:9px;color:var(--muted)}.date-divider{height:33px;width:1px;background:#9baec2}.invitation{font-family:var(--serif);font-style:italic;font-size:25px;line-height:1.3;max-width:360px;margin:27px auto}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:50px;padding:15px 24px;background:var(--navy);color:#fff;border-radius:9px;font-size:13px;font-weight:500;line-height:1.3;transition:background .2s,transform .2s;text-align:center}.primary-button:hover:not(:disabled){background:#285888}.primary-button:active:not(:disabled){transform:scale(.98)}.primary-button:disabled{background:#dce3eb;color:#566475;box-shadow:none}.enter-button{text-transform:uppercase;letter-spacing:2px;min-width:260px;min-height:58px;box-shadow:0 8px 25px #284c7726}.intro .nickname{letter-spacing:5px;margin:19px 0 22px}.intro .life-dates{width:fit-content;min-width:310px;padding:17px 15px 0;margin-inline:auto;border-top:1px solid #9eb6ce8c}.intro .enter-button{position:relative;overflow:hidden;min-width:284px;min-height:60px;border:1px solid #91b0cd;background:linear-gradient(150deg,#315f91,#163962 48%,#102b4c);box-shadow:inset 0 1px #ffffff45,0 12px 30px #1d43652e;letter-spacing:2.3px}.intro .enter-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(115deg,transparent 12%,#ffffff1c 44%,transparent 72%);opacity:0;transition:opacity .25s ease}.intro .enter-button:hover:before,.intro .enter-button:focus-visible:before{opacity:1}.intro .enter-button:hover:not(:disabled){box-shadow:inset 0 1px #ffffff75,0 12px 30px #1d436548;background:linear-gradient(150deg,#3c6d9e,#1a406d 55%,#153459)}.intro-bottom{text-align:center;font-family:var(--serif);font-style:italic;font-size:20px;letter-spacing:.4px;padding:12px 20px 29px;color:#405d7a}.hub{display:flex;flex-direction:column;background:radial-gradient(ellipse at 73% 28%,#fff,#eaf0f6 55%,#cad8e8);padding-bottom:14px}.hub-portrait{position:absolute;top:50px;left:-11vw;width:48vw;aspect-ratio:1.05;opacity:.12;-webkit-mask-image:linear-gradient(90deg,#000 10%,#000 40%,transparent),linear-gradient(#000 60%,transparent);mask-image:linear-gradient(90deg,#000 10%,#000 40%,transparent),linear-gradient(#000 60%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect;z-index:-1}.hub-wash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 10% 90%,#f7fafdd9,transparent 45%)}.hub-top{display:flex;justify-content:space-between;align-items:center;padding:22px 3.5vw 8px}.text-button{display:inline-flex;align-items:center;gap:9px;background:transparent;font-size:12px;min-height:44px;padding:4px 8px}.hub-top>span{text-transform:uppercase;font-size:9px;letter-spacing:2.4px}.hub-header{text-align:center;padding:3px 20px 10px}.hub-header h1{font-size:clamp(39px,4.3vw,65px);line-height:1;letter-spacing:-1.3px}.hub-header h1:focus{outline:none}.hub-header .script-label{font-size:27px;margin-bottom:5px}.hub-header .nickname{margin:10px 0 16px;font-size:15px;letter-spacing:4px}.hub-header .life-dates>span:not(.date-divider){font-size:17px;display:flex;gap:9px;align-items:center}.hub-header .life-dates small{font-size:8px}.hub-header .date-divider{height:18px}.hub-instruction{font-family:var(--serif);font-style:italic;font-size:21px;margin-top:18px;color:#4b6380}.carousel-region{--card-width: 360px;position:relative;width:min(100%,1040px);margin:auto;min-width:0}.carousel-track{position:relative;display:flex;align-items:center;gap:22px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:38px calc((100% - var(--card-width)) / 2) 45px;scroll-padding:0 calc((100% - var(--card-width)) / 2);touch-action:pan-x pan-y}.carousel-track::-webkit-scrollbar{display:none}.memorial-card{flex:0 0 var(--card-width);height:clamp(310px,44dvh,420px);padding:0;position:relative;overflow:hidden;border-radius:18px;background:#193d64;scroll-snap-align:center;scroll-snap-stop:always;transform:translateY(10px) scale(.88);opacity:.66;transition:transform .35s,opacity .35s;box-shadow:0 14px 30px #1b3b6029;border:1px solid #fff9;text-align:center;color:#fff}.memorial-card.is-active{z-index:1;transform:scale(1.12);opacity:1;box-shadow:0 18px 32px #1b3b6033,0 0 0 1px #ffffff70}.memorial-card:focus-visible{outline-offset:3px;outline-color:#356daa}.card-image{width:100%;height:100%;object-fit:cover;object-position:center 36%}.shop-card-image{object-position:center top}.card-caption{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;align-items:center;padding:64px 12px 25px;background:linear-gradient(transparent,#0e294de8 35%,#102e51)}.card-caption>small{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;color:#d0dfef;margin:11px 0 4px}.card-caption h2{font-size:34px;line-height:1.15}.card-open{display:flex;align-items:center;gap:19px;font-size:11px;margin-top:17px}.symbol-visual{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:28px;background:radial-gradient(ellipse at 50% 15%,#d5e5ee,#557c9f 55%,#1d436c);color:#f5f7f7}.arch{border:1px solid #e4ecf682;border-bottom:0;width:164px;height:215px;border-radius:90px 90px 0 0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#fafbf132,transparent 70%);box-shadow:0 0 0 18px #e1eaf016,0 0 0 36px #e1eaf00c}.service-visual{padding-top:35px}.gallery-visual{padding-top:70px;background:radial-gradient(ellipse at 50% 10%,#afc5d7,#42688e 65%,#183e66)}.symbol-visual>span{font-family:var(--serif);font-style:italic;font-size:22px;margin-top:14px}.directions-visual{padding-top:38px}.location-rings{display:grid;place-items:center;width:156px;height:156px;border:1px solid #e8f1f866;border-radius:50%;box-shadow:0 0 0 20px #e8f1f80c,0 0 0 40px #e8f1f809}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:24px}.round-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #afc0d2;border-radius:50%;width:44px;height:44px;flex-shrink:0;background:#f8fbffb3;transition:background .2s}.round-button:hover{background:#e0eaf5}.carousel-dots{display:flex;gap:0}.carousel-dots button{width:32px;height:44px;display:grid;place-items:center;background:transparent;padding:0}.carousel-dots span{width:7px;height:7px;border-radius:50%;background:#96aac0;transition:transform .2s,background .2s}.carousel-dots .active span{background:#234d7c;transform:scale(1.4)}.hub-bottom{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--serif);font-size:16px;color:#506a84;margin-top:15px;min-height:26px}.modal{border:1px solid #dce5ee;border-radius:20px;padding:0;width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 64px);color:var(--navy);background:var(--paper);box-shadow:0 30px 100px #09264d40;overflow:hidden}.modal::backdrop{background:#132b4f69;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.modal-shell{display:flex;flex-direction:column;max-height:calc(100dvh - 66px)}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:25px 30px 21px;border-bottom:1px solid #dbe3ed;flex-shrink:0}.eyebrow{font-size:10px;font-weight:500;letter-spacing:1.5px;text-transform:uppercase;color:#506987}.modal-header h2{font-size:36px;line-height:1.1;margin-top:6px}.close-button{background:transparent}.modal-body{padding:28px 30px 32px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0}.service-date{display:flex;gap:21px;align-items:center;margin:24px 0 28px}.calendar-tile{width:79px;flex-shrink:0;border:1px solid #bdcde0;border-radius:10px;overflow:hidden;text-align:center}.calendar-tile span{display:block;background:#e1eaf4;font-size:10px;letter-spacing:1px;padding:7px;text-transform:uppercase}.calendar-tile strong{display:block;font:44px/1.25 var(--serif);padding:3px 8px}.service-date h3{font-size:29px;line-height:1.12}.service-date p{font-size:12px;color:var(--muted);line-height:1.5;margin-top:7px}.service-times{display:grid;gap:22px;margin:24px 0 27px}.service-times>div{display:flex;align-items:center;gap:17px}.service-times span{display:grid;gap:5px}.service-times small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.service-times strong{font-size:15px;font-weight:500}.venue{display:flex;gap:15px;padding:24px 0;border-top:1px solid var(--line)}.venue svg{flex-shrink:0}.venue h3{font-size:25px;line-height:1.15}.venue p{font-size:14px;margin-top:8px}.venue .officiant{font-family:var(--serif);font-size:21px;color:var(--muted);margin-top:17px}.service-content>.primary-button{width:100%;margin-top:5px}.directions-content{text-align:center;padding:9px 0}.location-symbol{display:grid;place-items:center;width:102px;height:102px;border-radius:50%;background:#e5edf5;margin:0 auto 27px}.directions-content h3{font-size:35px;max-width:390px;margin:12px auto;line-height:1.1}.address{font-size:16px;line-height:1.6;margin-bottom:27px}.quiet{color:var(--muted);font-size:12px;line-height:1.65}.directions-content .quiet{margin-top:15px}.shop-modal{width:min(890px,calc(100% - 32px))}.product-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:29px}.product-photo{align-self:start;overflow:hidden;border-radius:12px;background:#e5eaf0}.product-image-window{aspect-ratio:4 / 5;padding:10px;overflow:hidden}.product-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.product-photo>span{display:block;text-align:center;padding:10px;font-size:10px;letter-spacing:1px;text-transform:uppercase}.product-details h3{font-size:31px;line-height:1.05;margin:9px 0 13px}.product-price{display:flex;align-items:center;gap:15px;font-size:25px;font-weight:500}.product-price span{font-size:12px;font-weight:400;color:var(--muted);border-left:1px solid var(--line);padding-left:15px}.size-field{margin-top:24px}.size-field legend,.quantity-row,.fulfillment-field legend{font-size:12px;font-weight:500}.size-field legend>span{color:var(--muted);font-weight:400;margin-left:8px}.size-options{display:flex;gap:7px;margin-top:11px}.size-options label{position:relative;flex:1}.size-options input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.size-options label>span:first-of-type{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #bdcad9;border-radius:7px;font-size:12px}.size-options .selected>span:first-of-type{background:var(--navy);border-color:var(--navy);color:#fff}.size-options input:focus-visible+span{outline:3px solid #497eb8;outline-offset:3px}.size-field .quiet{margin-top:8px;font-size:10px}.quantity-row{display:flex;align-items:center;justify-content:space-between;margin:17px 0}.quantity-control{display:flex;align-items:center;border:1px solid #bdcad9;border-radius:8px;overflow:hidden}.quantity-control button{display:grid;place-items:center;width:42px;height:42px;background:transparent}.quantity-control button:disabled{color:#94a1af}.quantity-control output{min-width:27px;text-align:center}.fulfillment-field{display:grid;gap:8px}.fulfillment-field legend{margin-bottom:10px}.fulfillment-field>label{display:flex;align-items:center;gap:10px;border:1px solid #cbd6e3;border-radius:9px;padding:11px;min-height:64px;font-size:12px;cursor:pointer}.fulfillment-field>label.selected{background:#eaf0f7;border-color:#456e9a}.fulfillment-field input{accent-color:var(--navy);width:17px;height:17px;flex-shrink:0}.fulfillment-field>label>span{flex:1}.fulfillment-field small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.fulfillment-field label:has(input:disabled){opacity:.6;cursor:not-allowed}.deadline-note{display:flex;gap:13px;background:#e7eef6;border:1px solid #d1dfed;border-radius:10px;padding:16px;margin-top:24px}.deadline-note svg{flex-shrink:0}.deadline-note strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.deadline-note p{font-size:12px;line-height:1.6}.deadline-note p span{display:block;font-size:10px;margin-top:4px;color:var(--muted)}.checkout-summary{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:24px;padding-bottom:25px;border-bottom:1px solid var(--line)}.checkout-summary>div{display:grid;grid-template-columns:auto auto;gap:5px 18px;align-items:center}.checkout-summary span{font-size:13px}.checkout-summary strong{font-size:27px;font-weight:500}.checkout-summary small{grid-column:1/-1;font-size:10px;color:var(--muted)}.checkout-note{margin-top:15px}.poster-product{display:flex;gap:20px;align-items:center;margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:12px;background:#eef3f8}.poster-product img{flex:0 0 auto;width:72px;height:108px;object-fit:contain;border-radius:5px}.poster-product h3{font-size:25px;line-height:1.1;margin:6px 0}.poster-product p:not(.eyebrow){font-size:12px;color:var(--muted);margin:8px 0}.coming-soon{display:inline-block;font-size:10px;padding:5px 9px;background:#e3eaf2;border-radius:5px}.gallery-empty{text-align:center;padding:30px 0 38px}.gallery-empty>svg{margin:0 auto 25px;color:#6c89a8}.gallery-empty h3{font-size:34px}.gallery-empty p{font-size:14px;color:var(--muted);max-width:310px;margin:15px auto;line-height:1.7}.gallery-empty>span{display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin-top:24px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:15px;margin-top:20px}.gallery-grid button{padding:0;background:transparent;text-align:left}.gallery-grid img{width:100%;height:180px;object-fit:cover;border-radius:9px}.gallery-grid span{display:block;font-size:12px;margin-top:8px}.lightbox>img{max-height:55dvh;max-width:100%;object-fit:contain;margin:15px auto}.lightbox>p{text-align:center;font-size:13px}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1600px){.intro-composition{padding-left:20px;padding-right:80px}.hub-header{padding-top:15px}.memorial-card{height:440px}}@media(max-width:767px){.intro-top{padding:19px 23px 4px;font-size:9px;letter-spacing:2px}.intro-top svg{width:19px}.intro-composition{display:flex;flex-direction:column;justify-content:center;gap:0;padding:0 22px;flex:1}.intro-portrait-wrap{--mobile-portrait-width: min(140vw, 620px, 62dvh);position:relative;inset:auto;width:100vw;height:calc(var(--mobile-portrait-width) * .55);flex:0 0 auto;margin:0 -22px}.intro-portrait{width:var(--mobile-portrait-width);left:calc((100vw - var(--mobile-portrait-width)) / 2);top:0;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 77%,transparent 100%),linear-gradient(to bottom,#000 30%,transparent 36.7%),linear-gradient(to bottom,transparent 0%,#000 6%),radial-gradient(ellipse 24% 18% at 48% 18%,#000 95%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 20%,#000 77%,transparent 100%),linear-gradient(to bottom,#000 30%,transparent 36.7%),linear-gradient(to bottom,transparent 0%,#000 6%),radial-gradient(ellipse 24% 18% at 48% 18%,#000 95%,transparent 100%)}.intro-copy{padding:0;width:100%}.intro-copy .script-label{font-size:25px;margin-bottom:7px}.intro h1{font-size:clamp(43px,11.7vw,59px);line-height:.96;letter-spacing:-1.5px;max-width:360px}.intro .nickname{font-size:15px;margin:12px 0 16px;letter-spacing:4px}.life-dates{gap:22px}.life-dates>span:not(.date-divider){font-size:20px;gap:4px}.life-dates small{font-size:8px}.invitation{font-size:22px;max-width:290px;margin:20px auto}.enter-button{min-height:52px;min-width:250px;font-size:11px}.intro-bottom{font-size:16px;padding:14px 20px 18px}.hub{padding-bottom:10px}.hub-top{padding:11px 14px 4px}.hub-top>span{display:none}.hub-top .text-button{font-size:10px}.hub-portrait{width:90vw;left:-40vw;top:75px}.hub-header{padding:0 15px 8px}.hub-header .script-label{font-size:23px}.hub-header h1{font-size:43px;letter-spacing:-1px}.hub-header .nickname{margin:8px 0 13px;font-size:13px}.hub-header .life-dates{gap:15px}.hub-header .life-dates>span:not(.date-divider){display:grid;gap:4px;font-size:17px}.hub-instruction{font-size:18px;margin-top:15px}.carousel-region{--card-width: min(76vw, 320px);margin:auto 0}.carousel-track{gap:10px;padding-top:25px;padding-bottom:32px}.memorial-card{height:clamp(290px,43dvh,380px);border-radius:15px;transform:translateY(8px) scale(.89)}.card-caption{padding-bottom:22px}.card-caption h2{font-size:29px}.card-caption>small{font-size:8px}.card-caption>svg{width:24px}.card-open{font-size:10px;margin-top:14px}.symbol-visual{padding-top:22px}.arch{height:185px;width:140px}.gallery-visual{padding-top:51px}.directions-visual{padding-top:25px}.location-rings{width:140px;height:140px}.hub-bottom{font-size:14px;margin-top:8px}.carousel-controls{gap:17px}.modal{width:calc(100% - 24px);max-height:calc(100dvh - 28px);border-radius:16px}.modal-shell{max-height:calc(100dvh - 30px)}.modal-header{padding:20px 18px 16px}.modal-header h2{font-size:31px}.modal-header .eyebrow{font-size:8px}.modal-body{padding:22px 18px 25px}.close-button{width:40px;height:40px}.service-date{gap:15px}.service-date h3{font-size:26px}.calendar-tile{width:65px}.service-date p{font-size:11px}.venue h3{font-size:25px}.service-times strong{font-size:13px}.directions-content h3{font-size:31px}.product-layout{grid-template-columns:1fr;gap:23px}.product-photo{max-width:280px;width:100%;margin:auto}.product-details h3{font-size:31px}.product-photo>span{padding:8px}.product-details .eyebrow{font-size:9px}.size-field{margin-top:20px}.size-options label>span:first-of-type{min-height:47px}.checkout-summary{align-items:stretch;flex-direction:column;gap:17px}.checkout-summary>div{grid-template-columns:1fr auto}.checkout-summary small{grid-column:1}.checkout-summary .primary-button{width:100%}.poster-product{padding:16px;gap:15px}.poster-product h3{font-size:23px}.poster-product .eyebrow{font-size:8px}.poster-product img{width:68px;height:102px}.gallery-empty h3{font-size:30px}}@media(max-height:720px)and (max-width:767px){.intro-top{padding-top:12px}.intro-portrait-wrap{--mobile-portrait-width: min(125vw, 68dvh)}.intro-copy .script-label{font-size:22px}.intro h1{font-size:44px}.intro .nickname{margin:8px 0 11px}.invitation{font-size:20px;margin:13px auto}.intro-bottom{padding:9px 10px 12px;font-size:14px}.life-dates>span:not(.date-divider){font-size:18px}.enter-button{min-height:48px}.hub-header h1{font-size:36px}.hub-header .script-label{font-size:21px}.hub-header .nickname{margin:6px 0 10px}.hub-instruction{margin-top:9px;font-size:17px}.hub-header .life-dates small{font-size:7px}.memorial-card{height:275px}.card-caption{padding-bottom:18px}.card-caption h2{font-size:27px}.arch{height:164px}.symbol-visual>span{font-size:19px}.gallery-visual{padding-top:36px}.location-rings{height:120px;width:120px}.hub-bottom{margin-top:5px}.hub-top{padding-top:4px}}@media(max-width:350px){.intro h1{font-size:41px}.intro-copy .script-label{font-size:22px}.invitation{font-size:19px}.hub-header h1{font-size:35px}.card-caption h2{font-size:25px}.service-date h3{font-size:23px}.modal-header h2{font-size:29px}.primary-button{padding-left:16px;padding-right:16px}.deadline-note{padding:12px;gap:9px}.poster-product h3{font-size:21px}}@media(max-height:600px)and (min-width:768px){.intro-top{padding-top:18px;padding-bottom:12px}.intro h1{font-size:64px}.intro-portrait{--portrait-width: min(92vw, 150dvh);top:70px}.intro .nickname{margin:12px 0}.invitation{margin:16px auto}.hub-header .script-label{font-size:21px}.hub-header h1{font-size:42px}.hub-header .nickname{margin:5px 0 10px}.hub-header .life-dates{display:none}.hub-instruction{margin-top:8px}.hub-top{padding-top:5px}.memorial-card{height:250px}.carousel-region{--card-width: 320px}.card-caption{padding-bottom:17px}.symbol-visual{padding-top:0}.hub-bottom{display:none}}@media(prefers-reduced-motion:no-preference){.intro,.hub{animation:reveal .5s ease both}.modal[open]{animation:panel-in .22s ease both}@keyframes reveal{0%{opacity:0}to{opacity:1}}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(prefers-reduced-transparency:reduce){.modal::backdrop{background:#697c94;-webkit-backdrop-filter:none;backdrop-filter:none}.round-button{background:#f4f8fc}}@media(max-height:620px)and (max-width:767px){.hub-header .life-dates>span:not(.date-divider){display:flex;gap:6px;align-items:center;font-size:14px}.hub-header .life-dates small{font-size:7px}.hub-instruction{margin-top:8px}.memorial-card{height:245px}.carousel-track{padding-top:20px;padding-bottom:24px}.hub-bottom{display:none}.hub{padding-bottom:6px}}@media(max-width:767px){.intro{background:radial-gradient(ellipse at 90% 10%,#fffefb 0%,#f5f9fcc9 31%,transparent 67%),linear-gradient(148deg,#86aacc,#d6e5f2 44%,#f0f5f7 76%,#c7daeb)}.intro:before{opacity:.5}.intro:after{background:radial-gradient(ellipse 85% 12% at 8% 45%,#f4faff8c,transparent 83%),radial-gradient(ellipse 92% 19% at 60% 101%,#f8fcffd9,transparent 83%)}.intro .intro-celebration{margin-bottom:12px}.intro .celebrating-word{font-size:58px;line-height:1.08;padding-bottom:5px}.intro .life-of-line{font-size:15px;margin-top:0;letter-spacing:.14em}.intro h1{font-size:clamp(43px,12.2vw,60px)}.intro .nickname{margin:10px 0 13px;letter-spacing:4px}.intro .life-dates{min-width:0;width:280px;max-width:100%;padding:12px 0 0}.intro .invitation{margin:16px auto 19px}.intro .enter-button{min-width:264px;min-height:54px}}@media(max-height:720px)and (max-width:767px){.intro-portrait-wrap{--mobile-portrait-width: min(119vw, 63dvh)}.intro .intro-celebration{margin-bottom:9px}.intro .celebrating-word,.intro .life-of-line{display:inline;padding:0;font-family:Great Vibes,cursive;font-size:clamp(28px,8.8vw,34px);font-weight:400;line-height:1.2;letter-spacing:0;text-transform:none}.intro h1{font-size:clamp(41px,11.7vw,46px)}.intro .nickname{margin:8px 0 10px}.intro .life-dates{width:265px;padding-top:9px}.intro .invitation{margin:12px auto}.intro .enter-button{min-width:250px;min-height:48px}}@media(max-height:650px)and (min-width:768px){.intro .celebrating-word{font-size:65px}.intro .intro-celebration{margin-bottom:10px}.intro h1{font-size:clamp(52px,6.3vw,78px)}.intro .nickname{margin:10px 0 12px}.intro .life-dates{padding-top:11px}.intro .invitation{margin:15px auto}.intro .enter-button{min-height:52px}}@media(max-height:600px)and (max-width:767px){.intro-portrait-wrap{--mobile-portrait-width: min(119vw, 58dvh)}}.size-quantities .quiet{margin:4px 0 12px}.size-quantity-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.size-quantity-row>span{font-weight:500}.size-quantity-row small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.size-quantities .quantity-control button{width:44px;height:44px}.size-quantities .quantity-control output{min-width:30px;text-align:center}.order-review{padding:20px 0 10px}.order-review h4{font-size:16px;margin:0 0 14px}.order-review ul{list-style:none;padding:0;margin:0 0 14px}.order-review li,.order-review dl>div{display:flex;justify-content:space-between;gap:20px;margin:8px 0;font-size:14px}.order-review dl{margin:0;padding-top:8px;border-top:1px solid var(--line)}.order-review dd{margin:0;white-space:nowrap}.shop-content .checkout-summary{gap:20px}.shop-content .checkout-summary .primary-button{font-size:12px;padding-inline:20px}.checkout-error{color:#79382d;font-size:14px;line-height:1.6;padding:14px 16px;background:#fcf0ec;border-radius:8px}.thank-you-page{min-height:100svh;display:grid;place-items:center;padding:28px;background:var(--paper)}.thank-you-card{max-width:620px;text-align:center}.thank-you-card h1{font:500 clamp(40px,8vw,64px)/1.05 var(--serif);margin:24px 0}.thank-you-card p{line-height:1.8}.thank-you-card .primary-button{margin:28px auto 0}@media(max-width:767px){.shop-content .checkout-summary>div{align-items:flex-start}.shop-content .checkout-summary small{text-align:left}}@media(max-width:767px){.memorial-card.is-active{transform:scale(1.1)}}.poster-order-product{margin-top:28px;padding-top:28px;border-top:1px solid var(--line)}.poster-pickup{font-size:12px;line-height:1.7;margin-top:18px}.poster-order-product .quantity-control{flex-shrink:0}.poster-order-product .size-quantity-row>span{min-width:0;padding-right:8px}.gallery-more{margin-top:20px;text-align:center}.carousel-region{--carousel-width: min( calc(100vw - 64px) , 1200px);--carousel-gap: 32px;--card-width: calc((var(--carousel-width) - 128px) / 3);width:var(--carousel-width);margin:auto}.carousel-track{gap:var(--carousel-gap);padding:38px calc((100% - var(--card-width)) / 2) 42px}.memorial-card{transform:translateY(8px);opacity:.76}.memorial-card.is-active{transform:scale(1.12);opacity:1}.card-caption h2{font-size:clamp(27px,2.45vw,34px)}@media(max-width:1023px){.carousel-region{--carousel-width: min( calc(100vw - 40px) , 400px);--card-width: calc(var(--carousel-width) - 24px);--carousel-gap: 24px}.carousel-track{padding-top:20px;padding-bottom:24px}.memorial-card,.memorial-card.is-active{transform:none}.card-caption h2{font-size:30px}}.hub-header h1,.card-caption h2,.modal-header h2,.product-details h3,.directions-content h3,.gallery-empty h3,.venue h3{font-family:var(--serif);font-weight:500;font-style:normal;line-height:1.08;letter-spacing:-.02em}.hub-header h1{line-height:.98}.hub-header .hub-celebration{font-style:normal;margin-bottom:8px}.hub-celebration .celebrating-word{display:block;font-family:var(--script);font-weight:400;font-size:46px;line-height:1.05;color:#214974}.hub-celebration .life-of-line{display:block;margin-top:5px;font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}.life-dates>span:not(.date-divider){font-family:var(--sans);font-size:16px}.hub-header .life-dates>span:not(.date-divider){font-size:14px}.hub-instruction{font:400 14px/1.5 var(--sans);margin-top:14px}.service-date h3{font:500 23px/1.25 var(--sans);letter-spacing:-.02em}.calendar-tile strong{font-family:var(--sans);font-size:36px;font-weight:500}.venue .officiant{font-family:var(--sans);font-size:15px}.directions-visual>span{font:400 16px/1.4 var(--sans)}.hub-bottom{font-style:italic}@media(max-width:767px){.hub-celebration .celebrating-word{font-size:38px}.hub-celebration .life-of-line{font-size:9px;margin-top:3px}.hub-instruction{margin-top:12px;font-size:13px}.service-date h3{font-size:21px}}@media(max-width:767px)and (max-height:620px){.hub-celebration .celebrating-word{font-size:30px}.hub-celebration .life-of-line{font-size:8px;margin-top:0}.hub-header .hub-celebration{margin-bottom:4px}.hub-header .life-dates>span:not(.date-divider){font-size:12px}.hub-instruction{margin-top:6px;font-size:12px}.carousel-track{padding-top:14px;padding-bottom:16px}}.gallery-modal{width:min(880px,calc(100% - 32px))}.gallery-modal .gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-modal .gallery-grid button{min-width:0;border-radius:8px;overflow:hidden;background:#e6edf3}.gallery-modal .gallery-grid img{display:block;width:100%;height:auto;aspect-ratio:4 / 5;object-fit:contain;border-radius:0}.gallery-modal .lightbox{display:grid;grid-template-rows:44px minmax(0,1fr) 44px;gap:12px;height:min(660px,calc(100dvh - 250px));min-height:200px;touch-action:pan-y pinch-zoom}.gallery-modal .lightbox>.text-button{justify-self:start}.gallery-modal .lightbox>img{display:block;width:100%;height:100%;min-height:0;max-height:none;object-fit:contain;margin:0}.gallery-modal .lightbox-controls{margin:0;font-size:13px}@media(max-width:767px){.gallery-modal{width:calc(100% - 24px)}.gallery-modal .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-modal .lightbox{height:calc(100dvh - 250px)}}.gallery-keepsake-cover,.service-photo-cover{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 50% 8%,#cadbe7,#698aa7 56%,#23486e)}.keepsake-photo{position:absolute;top:7%;height:57%;aspect-ratio:4 / 5;max-width:49%;padding:5px 5px 12px;background:#f9faf7;box-shadow:0 8px 20px #112b4f40}.keepsake-photo img{display:block;width:100%;height:100%;object-fit:contain;background:#e9edf0}.keepsake-back{left:9%;transform:rotate(-9deg)}.keepsake-front{right:9%;top:13%;transform:rotate(8deg)}.service-church-window{position:absolute;right:4%;top:15%;width:44%;aspect-ratio:230 / 226;overflow:hidden;border:3px solid #f1f4f7;box-shadow:0 8px 22px #112b4f30}.service-church-window img{position:absolute;width:436.96%;max-width:none;height:auto;left:-234.78%;top:-27.43%}.service-bishop-window{position:absolute;left:6%;top:5%;width:49%;height:65%;overflow:hidden;border:4px solid #f1f4f7;box-shadow:0 8px 24px #112b4f40}.service-bishop-window img{display:block;width:106%;max-width:none;height:auto;margin-left:-3%}@media(max-width:767px)and (max-height:620px){.service-bishop-window{top:3%;width:41%}.service-church-window{top:9%}}.directions-card-image{object-position:center 55%}.memorial-card:has(.directions-card-image) .card-caption{background:linear-gradient(transparent,#0e294d4d 45%,#102e51)}@media(max-width:350px)and (max-height:620px){.memorial-card:has(.directions-card-image) .card-caption h2{font-size:24px}}.memorial-audio-corner{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));z-index:20}.memorial-audio-button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid #9db3cc;border-radius:50%;background:var(--paper);color:var(--navy);box-shadow:0 3px 12px #173d6320;cursor:pointer}.memorial-audio-button:hover{background:#e7eef6}.memorial-audio-button:focus-visible{outline:3px solid #597fa9;outline-offset:3px}.modal-audio-corner{display:flex;justify-content:flex-end;padding:6px 18px max(8px,env(safe-area-inset-bottom));flex-shrink:0;border-top:1px solid #dbe3ed;background:var(--paper)}@media(max-width:360px)and (max-height:620px){.hub .carousel-controls{padding-right:48px;gap:8px}}.comfort-card-art{position:relative;width:100%;height:100%;overflow:hidden;background:radial-gradient(ellipse at 20% 12%,#fffaf1,#d9e5ed 58%,#768ba0)}.comfort-card-paper{position:absolute;width:68%;height:49%;left:16%;top:11%;border:1px solid #ffffffb3;box-shadow:0 7px 22px #283d5229}.comfort-card-art .paper-back{background:#bdcedc;transform:translate(-9%,5%) rotate(-12deg)}.comfort-card-art .paper-middle{background:#e2dbcd;transform:translate(11%,2%) rotate(10deg)}.comfort-card-art .paper-front{background:repeating-linear-gradient(0deg,#fff0 0,#fff0 3px,#a1917310 4px),#faf5e9;transform:rotate(-3deg);padding:15% 10%}.comfort-card-paper span{display:block;color:#35536c;font-family:var(--serif);font-size:clamp(25px,2.5vw,35px);font-style:italic;white-space:nowrap}.comfort-card-paper i{display:block;height:1px;background:#baa88266;margin:12px 0}.comfort-card-paper i:last-child{width:65%}.comfort-card-line{font:italic 17px/1.35 var(--serif);margin-top:8px;color:#e4edf4}.comfort-modal{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border:0;border-radius:0;background:#f3f5f6}.comfort-modal .modal-shell{height:100%;max-height:100%}.comfort-modal .modal-header{padding-inline:max(24px,calc((100vw - 1160px)/2));background:var(--paper)}.comfort-modal .modal-body{padding:0 max(24px,calc((100vw - 1160px)/2)) 40px;flex:1}.comfort-wall{max-width:1160px;margin:auto}.comfort-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 0;position:sticky;top:0;z-index:2;background:#f3f5f6;border-bottom:1px solid #d6dfe7}.comfort-toolbar p{max-width:550px;color:#4f6477;line-height:1.6;font-size:15px}.comfort-toolbar .primary-button{flex-shrink:0}.comfort-composer{scroll-margin-top:110px;max-width:820px;background:#fffdf8;padding:26px;margin:26px auto;border:1px solid #dbd7cb;border-radius:12px;box-shadow:0 10px 28px #28445909}.comfort-form-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.comfort-form-heading h3{font:500 31px/1.2 var(--serif)}.comfort-composer fieldset{border:0;padding:0;min-width:0}.comfort-composer legend{font-size:13px;margin-bottom:14px}.comfort-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comfort-choices label{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #c6d2dd;border-radius:8px;cursor:pointer;line-height:1.5;font-size:14px;background:#fafcff}.comfort-choices label.selected{border-color:#375f87;background:#e5eef5}.comfort-choices label:focus-within{outline:2px solid #375f87;outline-offset:2px}.comfort-choices input{accent-color:var(--navy);margin-top:4px;flex-shrink:0}.comfort-name{display:block;font-size:13px;margin-top:23px}.comfort-name span{color:var(--muted)}.comfort-name input{display:block;width:100%;max-width:420px;padding:13px;min-height:44px;margin-top:8px;border:1px solid #afc0d2;border-radius:6px;color:var(--navy);background:#fff;font:inherit}.comfort-composer .quiet{margin:7px 0 20px}.comfort-error{color:#79382d;margin:14px 0;font-size:14px}.comfort-family{max-width:720px;margin:36px auto;padding:23px 30px;text-align:center;border-block:1px solid #c2b591}.comfort-family p{font:italic 26px/1.45 var(--serif);margin-top:10px}.comfort-empty{text-align:center;color:#52697c;padding:30px 12px;font:22px/1.5 var(--serif)}.comfort-notes{columns:3 280px;column-gap:28px;padding:8px}.comfort-note{break-inside:avoid;padding:28px;margin:0 0 28px;box-shadow:0 5px 18px #223c5212;border:1px solid #d6cfc0;background:#fbf6eb;transform:rotate(-.7deg);overflow-wrap:anywhere;scroll-margin-top:120px}.comfort-note p{font:25px/1.4 var(--serif);color:#243e54}.comfort-note footer{margin-top:22px;font-size:12px;color:#526376}.comfort-note small{display:block;margin-top:14px;font-size:11px;color:#506987}.comfort-paper-1{background:#e7eff5;border-color:#ccd9e3;transform:rotate(.8deg)}.comfort-paper-2{background:#edece9;border-color:#d5d3cd;transform:rotate(-.3deg)}.comfort-paper-3{background:#f1e8d4;border-color:#d8cba9;transform:rotate(.5deg)}.comfort-more{display:flex;margin:24px auto 0;min-height:44px}@media(prefers-reduced-motion:no-preference){.comfort-note-new{animation:comfort-place .5s ease-out}@keyframes comfort-place{0%{opacity:0;translate:0 -9px}to{opacity:1;translate:0 0}}}@media(max-width:767px){.comfort-modal .modal-header{padding:18px}.comfort-modal .modal-body{padding:0 18px 24px}.comfort-toolbar{flex-wrap:wrap;gap:12px;padding:16px 0}.comfort-toolbar p{font-size:13px}.comfort-toolbar .primary-button{min-height:44px}.comfort-composer{padding:18px;scroll-margin-top:155px}.comfort-choices{grid-template-columns:1fr}.comfort-form-heading h3{font-size:26px}.comfort-family{padding:22px 8px;margin:25px auto}.comfort-family p{font-size:23px}.comfort-notes{columns:1;padding:2px}.comfort-note{transform:none;padding:24px;scroll-margin-top:160px}.comfort-card-line{font-size:15px;margin-top:5px}}@media(max-width:360px)and (max-height:620px){.carousel-dots button{width:20px}.hub .carousel-controls{gap:6px}}
