:root{--ink:#432e53;--gold:#967746;--paper:#fffbf3;--purple:#503561}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px;background:#e9deee;overflow-x:clip}body{overflow-x:clip;margin:0;color:var(--ink);font-family:Manrope,sans-serif;isolation:isolate}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{border:0}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:400}em{font-weight:400}p{line-height:1.75}.world{position:fixed;inset:0;z-index:-2;overflow:hidden;background:#d7c1e6}.painting{position:absolute;inset:0;background:url('assets/watercolor.png') center 40%/cover}.world canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.92}.veil{position:absolute;inset:0;background:#f8f0f523}.cloud{position:absolute;pointer-events:none;left:-25%;width:150%;height:50%;bottom:-20%;background:url('assets/clouds.png') center/100% 100% no-repeat;opacity:.5;animation:drift 27s ease-in-out infinite alternate}.cloud-front{animation-direction:alternate-reverse;animation-duration:19s;bottom:-26%;opacity:.7}@keyframes drift{from{transform:translateX(-5%) scale(1)}to{transform:translateX(7%) scale(1.12)}}header{height:86px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600;letter-spacing:.16em;white-space:nowrap}.halo{font:36px/1 Georgia,serif;color:var(--gold)}.top-nav{display:flex;gap:30px;font-size:13px}#motion{background:transparent;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;min-height:44px}.brand,#motion,.top-nav{position:relative;isolation:isolate}.brand:before,#motion:before,.top-nav:before{content:'';position:absolute;z-index:-1;inset:-18px -25px;background:radial-gradient(ellipse,#fff9eff5,transparent 73%);filter:blur(8px)}.hero{text-align:center;padding:50px 20px 65px;min-height:570px}.eyebrow,.step{font-size:11px;letter-spacing:.21em;font-weight:600}.hero .eyebrow{margin:0 0 22px}h1{font-size:clamp(64px,7vw,104px);line-height:.96;letter-spacing:-.045em;margin:0 0 26px}.hero-intro{font:26px/1.4 'Cormorant Garamond',serif;margin:0}.scroll-cue{display:inline-flex;align-items:center;flex-direction:column;gap:16px;font-size:12px;letter-spacing:.04em;margin-top:36px}.scroll-cue span{height:40px;width:1px;background:linear-gradient(var(--gold),transparent)}.timeline{max-width:1160px;margin:auto;position:relative;padding:0 40px}.timeline-line{position:absolute;left:50%;top:40px;bottom:40px;width:1px;background:linear-gradient(transparent,#a2865866 8%,#a2865866 92%,transparent)}.chapter{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;min-height:560px;padding:45px 0 70px;scroll-margin-top:30px}.chapter:before{content:'';position:absolute;left:50%;top:50%;width:9px;height:9px;border:1px solid var(--gold);background:#f5edf4;transform:translate(-50%,-50%) rotate(45deg)}.chapter.reverse .chapter-copy{grid-column:2;grid-row:1}.chapter.reverse .feature-art{grid-column:1;grid-row:1}.chapter-copy{position:relative}.chapter-copy:before{content:'';position:absolute;inset:-50px -40px;background:radial-gradient(ellipse,#fcf6eeeb,transparent 75%);z-index:-1;filter:blur(12px)}h2{font-size:clamp(44px,4.6vw,64px);line-height:1.02;letter-spacing:-.035em;margin:20px 0 22px}.chapter-copy>p{font-size:15px;max-width:420px}.text-link{display:inline-block;font-size:13px;border-bottom:1px solid #98774d80;padding-bottom:7px;margin-top:12px}.instruction{font-size:12px!important;color:#776482}.feature-art{perspective:1200px;will-change:transform}.portrait-demo-inner{position:relative;max-width:455px;aspect-ratio:1;margin:auto}.portrait-demo-inner>img{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.portrait-aperture{position:absolute;inset:18% 28% 21%;border-radius:50%;background:radial-gradient(#fffbed,#eee4f3);display:grid;place-items:center;text-align:center;font:28px/1.1 'Cormorant Garamond',serif}.art-note{display:block;text-align:center;font:italic 21px 'Cormorant Garamond',serif}.photo-stack{height:410px}.paper{padding:10px 10px 14px;background:var(--paper);border:1px solid #bd9d685c;box-shadow:7px 18px 40px #432b5629;position:absolute;width:80%;transition:transform .35s}.paper:hover{transform:rotate(0) translateY(-5px)}.paper img{display:block;width:100%;height:210px;object-fit:cover}.paper span{display:block;font:italic 18px/1.3 'Cormorant Garamond',serif;margin-top:12px}.photo-main{top:0;left:0;transform:rotate(-4deg)}.photo-small{bottom:0;right:0;width:57%;transform:rotate(5deg)}.photo-small img{height:175px}.love-note,.review-card,.programme-card{background:#fffcf3f5;border:1px solid #b9a07966;box-shadow:0 18px 55px #43275620;padding:35px}.love-note{transform:rotate(-2deg)}.quote{font:64px/.7 'Cormorant Garamond',serif;color:var(--gold)}.love-note>p{font:29px/1.4 'Cormorant Garamond',serif;min-height:164px;margin:12px 0 25px}.love-note footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #98774d55;padding-top:17px;font-size:12px}.example{font-size:10px;color:#817185}.story-controls{display:flex;align-items:center;gap:22px;margin-top:25px;font-size:12px}.story-controls button{background:transparent;border-bottom:1px solid #9b7b5366;padding:8px 0;font-size:13px}.story-controls>span{color:#927449;font-size:11px;letter-spacing:.12em}.review-top{display:flex;gap:10px;align-items:center;font-size:12px}.small-halo{font:26px Georgia;color:var(--gold)}.status{margin-left:auto;font-size:10px;background:#ede2f2;padding:7px 9px;border-radius:20px}.review-card>p:not(.review-feedback){font:27px/1.4 'Cormorant Garamond',serif;margin:25px 0 16px}.review-author{font-size:12px;display:block}.outline{display:block;background:transparent;border:1px solid #a2865866;padding:13px 15px;min-height:44px;font-size:13px;margin-top:25px;width:100%}.review-feedback{font-size:11px;margin:15px 0 0}.review-card.approved .status{background:#e6e7dd}.programme-card{text-align:center;transform:rotate(2deg);padding:40px 28px}.programme-card h3{font-size:43px;line-height:1.05;margin:24px 0}.programme-rule{height:1px;width:45px;background:#ae8a51;margin:25px auto}.programme-card>p{font:21px/1.8 'Cormorant Garamond',serif}.programme-foot{font-size:11px}.coming{font-size:11px;letter-spacing:.06em;border-bottom:1px solid #a4865c66;padding-bottom:8px;display:inline-block;margin-top:12px}.keepsake{margin:0;background:#fcf8ef;box-shadow:-8px 5px 0 #c6b699,8px 18px 45px #4327562b;padding:10px;transform:rotate(-3deg);border:1px solid #d5c4a7}.keepsake>img{width:100%;height:215px;object-fit:cover;display:block}.keepsake figcaption{text-align:center;padding:24px 14px 12px}.keepsake figcaption>span{font-size:10px;letter-spacing:.17em}.keepsake h3{font-size:39px;line-height:1.05;margin:15px 0}.keepsake p{font-size:11px}.how-section,.partner-section{max-width:1040px;margin:85px auto 0;padding:50px 35px;text-align:center;background:radial-gradient(ellipse,#faf2eedd,transparent 78%)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;text-align:left;margin-top:50px}.steps article{border-top:1px solid #9f825b77;padding-top:20px}.steps article>span{font-size:12px;letter-spacing:.12em;color:#977346}.steps h3{font-size:34px;margin:17px 0 12px}.steps p{font-size:14px}.partner-section{max-width:790px}.partner-section>p{font-size:15px;max-width:640px;margin:25px auto 38px}details{text-align:left;border-top:1px solid #9e825866;padding:20px 0}summary{cursor:pointer;font-size:14px;line-height:1.5}details p{font-size:14px;padding:0 20px;color:#665273}.closing{text-align:center;padding:80px 20px 220px}.closing>p{font:45px/1.1 'Cormorant Garamond',serif;margin:20px 0 30px}.closing>span:not(.halo){display:block;font-size:11px;letter-spacing:.18em}.closing>a{display:inline-block;font-size:12px;margin-top:25px;border-bottom:1px solid #9e825866;padding-bottom:7px}.bottom-dock{position:fixed;z-index:10;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:min(760px,calc(100% - 32px));isolation:isolate}.bottom-dock>a{display:grid;place-items:center;background:#503561;color:#fff9ef;border:1px solid #9477a166;border-radius:7px;min-height:54px;font-size:14px;text-align:center;box-shadow:0 6px 20px #3f25471c;padding:12px 8px;white-space:nowrap;transition:background .2s,transform .2s}.bottom-dock>a:hover{background:#694579;transform:translateY(-2px)}.bottom-dock:before{content:'';position:absolute;z-index:-2;pointer-events:none;bottom:-50px;left:50%;transform:translateX(-50%);width:130vw;height:170px;background:linear-gradient(transparent,#f3e9f4d9 65%);filter:blur(8px)}.bottom-dock:after{content:'';position:absolute;z-index:-1;pointer-events:none;bottom:-70px;left:-35vw;width:150vw;height:210px;background:url('assets/clouds.png') center/100% 100% no-repeat;animation:drift 18s ease-in-out infinite alternate}.short{display:none}dialog{border:1px solid #ab8a53;background:#fffaf2;padding:35px 20px 15px;max-width:800px;width:calc(100% - 30px);color:var(--ink)}dialog::backdrop{background:#35214099;backdrop-filter:blur(8px)}dialog img{width:100%;max-height:70svh;object-fit:contain}dialog p{text-align:center;font:italic 22px 'Cormorant Garamond',serif}.close{position:absolute;right:7px;top:3px;font:28px Georgia;background:none;min-width:35px;min-height:35px}.paused .cloud,.paused .bottom-dock:after{animation-play-state:paused}
@media(max-width:900px){.chapter{gap:60px;min-height:510px}.timeline{padding-inline:30px}.love-note,.review-card{padding:25px}.love-note>p{font-size:25px}.review-top{flex-wrap:wrap}.portrait-aperture{font-size:22px}.top-nav{gap:20px}.example{display:none}}
@media(max-width:650px){header{height:74px;padding-inline:18px;gap:12px}.brand{font-size:10px;gap:7px;letter-spacing:.11em}.brand .halo{font-size:29px}.top-nav{display:none}#motion{font-size:11px;gap:6px}.hero{padding:40px 20px 30px;min-height:510px}.hero .eyebrow{font-size:9px;letter-spacing:.15em}h1{font-size:68px}.hero-intro{font-size:23px}.scroll-cue{font-size:11px}.timeline{padding:0 24px 0 40px}.timeline-line{left:20px}.chapter,.chapter.reverse{display:flex;flex-direction:column;align-items:stretch;gap:30px;padding:25px 0 55px;min-height:0}.chapter:before{left:-20px;top:32px;width:7px;height:7px}.step{font-size:10px;letter-spacing:.13em}h2{font-size:46px;margin:16px 0 18px}.chapter-copy>p{font-size:14px;margin-bottom:12px}.chapter-copy:before{inset:-20px}.portrait-demo-inner{max-width:340px}.portrait-aperture{font-size:24px}.art-note{font-size:19px}.photo-stack{height:340px;margin:5px 0 20px}.paper img{height:180px}.photo-small img{height:140px}.paper span{font-size:16px}.love-note,.review-card{padding:25px}.love-note>p{font-size:26px;min-height:155px}.review-card>p:not(.review-feedback){font-size:26px}.programme-card{padding:30px 20px}.keepsake>img{height:195px}.how-section,.partner-section{padding:30px 24px;margin-top:30px}.steps{grid-template-columns:1fr;gap:18px;margin-top:30px}.steps article{display:grid;grid-template-columns:35px 1fr;column-gap:12px}.steps article>span{padding-top:9px}.steps h3{margin:0;font-size:32px}.steps p{grid-column:2;margin:10px 0}.partner-section>p{font-size:14px}.closing{padding-top:45px;padding-bottom:190px}.closing>p{font-size:38px}.bottom-dock{width:calc(100% - 24px);gap:7px;bottom:max(20px,env(safe-area-inset-bottom))}.bottom-dock>a{font-size:12px;min-height:54px;padding:10px 4px}.wide{display:none}.short{display:inline}.bottom-dock:after{left:-45vw;width:180vw}.bottom-dock:before{height:130px}.desktop-break{display:none}}
@media(max-width:360px){h1{font-size:59px}.hero{min-height:490px}.timeline{padding-right:20px;padding-left:36px}h2{font-size:41px}.love-note{padding:23px}.review-top{gap:7px}.status{font-size:9px}.bottom-dock>a{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.feature-art{transform:none!important}}

/* Compact opening and embedded template collection */
.hero{min-height:0;padding:20px 20px 30px}h1{font-size:clamp(58px,6vw,82px)}.hero .eyebrow{margin-bottom:14px}.hero-intro{font-size:24px}.scroll-cue{margin-top:18px;gap:8px}.scroll-cue span{height:20px}.chapter{min-height:0;padding:30px 0 40px;gap:85px}.how-section,.partner-section{margin-top:35px;padding-top:30px;padding-bottom:30px}.closing{padding-top:35px}.template-section{position:relative;padding:12px 0 35px;background:radial-gradient(ellipse,#fcf6eecc,transparent 80%)}.template-heading{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:20px}.template-heading h2{font-size:42px;margin:10px 0}.template-heading p{font-size:15px;margin:0}.template-cta{display:inline-flex;justify-content:center;align-items:center;white-space:nowrap;background:var(--purple);color:var(--paper);border:1px solid #a68eae;border-radius:7px;padding:14px 20px;font-size:14px;min-height:46px}.template-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9e82ac transparent;padding:4px 3px 15px;scroll-behavior:smooth}.template-card{flex:0 0 44%;min-width:0;scroll-snap-align:start;background:#fffaf3;border:1px solid #bba27e77;border-radius:8px;overflow:hidden;box-shadow:0 8px 22px #41284f12}.template-window{position:relative;height:310px;display:flex;align-items:center;flex-direction:column;text-align:center;padding:13px 18px 18px;isolation:isolate;overflow:hidden;background:#e9dbef}.template-window:before{content:'';position:absolute;inset:0;z-index:-2;background:var(--template-image) center/cover}.template-window:after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse,#fff9edcc,transparent 80%)}.template-window.garden:before,.template-window.coast:before{filter:brightness(1.05)}.template-window.garden:after,.template-window.coast:after{background:#fff9ec88}.mini-brand{font-size:9px;letter-spacing:.17em}.mini-kicker{font-size:8px;letter-spacing:.17em;margin-top:14px}.mini-portrait{width:140px;height:140px;position:relative;display:grid;place-items:center}.mini-portrait img{position:absolute;width:100%;height:100%;object-fit:contain}.mini-portrait>span{font:italic 20px/1 'Cormorant Garamond',serif;background:#faf5ed;border-radius:50%;padding:22px 10px}.template-window h3{font-size:30px;margin:0 0 5px;line-height:1.1}.mini-quote{font:italic 13px 'Cormorant Garamond',serif}.mini-links{display:flex;gap:7px;margin-top:auto;padding-top:12px}.mini-links span{font-size:8px;background:#503561;color:#fff;padding:7px 10px;border-radius:3px}.template-caption{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 16px}.template-caption h3{font-size:23px;margin:0}.template-caption p{font-size:12px;margin:3px 0 0;color:#78617f}.template-caption button,.template-controls button{font-size:13px;background:transparent;border-bottom:1px solid #b99f7b;padding:8px 0}.template-controls{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:12px}.template-controls>div{display:flex;gap:22px}.timeline-line{top:420px}#template-gallery{width:min(1120px,calc(100% - 28px));max-width:1120px;max-height:90svh;padding:35px;border-radius:10px;background:#f8f1f8}#template-gallery h2{margin:12px 0;font-size:46px}.gallery-intro{font-size:15px;margin:0 0 25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gallery-grid .template-caption button{display:none}.gallery-grid .template-caption{min-height:90px}.gallery-grid .template-window{height:320px}.gallery-grid .template-card.selected{outline:2px solid #94754b;outline-offset:3px}.gallery-action{text-align:center;margin-top:25px}.gallery-action p{font-size:12px;margin-bottom:0}body:has(dialog[open]){overflow:hidden}
@media(max-width:900px){.chapter{gap:50px}.template-heading{align-items:flex-start}.template-heading h2{font-size:36px}.template-heading .template-cta{font-size:13px;padding:12px}.gallery-grid{grid-template-columns:1fr}.gallery-grid .template-card{max-width:480px;width:100%;margin:auto}.gallery-grid .template-window{height:320px}}
@media(max-width:650px){.hero{min-height:0;padding:16px 20px 22px}h1{font-size:54px;margin-bottom:16px}.hero-intro{font-size:21px}.hero .eyebrow{margin-bottom:12px}.scroll-cue{margin-top:14px}.timeline{padding:0 20px 0 32px}.template-section{padding-top:8px;padding-bottom:20px}.template-heading{display:block;margin-bottom:15px}.template-heading h2{font-size:35px}.template-heading p{font-size:14px}.template-heading .template-cta{margin-top:14px;font-size:14px}.template-rail{gap:13px;margin-right:-20px;padding-right:25px;scroll-padding-left:3px}.template-card{flex-basis:86%}.template-window{height:290px;padding-inline:10px}.template-window h3{font-size:28px}.template-caption{padding:12px}.template-caption h3{font-size:21px}.template-caption p{font-size:12px}.template-controls{gap:10px;font-size:11px}.template-controls>div{gap:16px}.chapter{gap:20px;padding:22px 0 28px}.chapter:before{left:-12px}.timeline-line{top:570px}.photo-stack{height:320px}.how-section,.partner-section{margin-top:15px;padding-top:20px}#template-gallery{padding:32px 18px 22px}#template-gallery h2{font-size:39px}.gallery-intro{font-size:14px}.gallery-grid .template-window{height:310px}}
@media(prefers-reduced-motion:reduce){.template-rail{scroll-behavior:auto}}

/* Full-size memorial viewport suspended over the same animated cloud bank. */
.bottom-dock::before,.bottom-dock::after{left:50%;width:110vw;transform:translateX(-50%);z-index:-1}
.bottom-dock::before{height:220px;bottom:-45px;background:linear-gradient(to bottom,transparent 0%,#f2e8f3c9 46%,#ede3f0f5 76%,#ede3f0 100%);filter:blur(8px)}
.bottom-dock::after{height:240px;bottom:-40px;background:url('assets/clouds.png') 50% 100%/100% 250% no-repeat;mask-image:linear-gradient(to bottom,transparent 0%,#0008 24%,#000 65%);filter:hue-rotate(43deg) saturate(1.2);opacity:.95;animation:memorial-cloud-drift 17s ease-in-out infinite alternate}
@keyframes memorial-cloud-drift{from{transform:translateX(-53%) translateY(4px)}to{transform:translateX(-47%) translateY(-5px)}}
.template-section{padding:8px 0 38px}.template-heading{display:block;text-align:center;margin:0 auto 25px}.template-heading h2{font-size:clamp(36px,4vw,52px);margin:12px 0}.template-heading p{font-size:16px}.floating-preview{position:relative;margin:0 auto;max-width:1000px;isolation:isolate}.screen-edge{position:relative;z-index:1;padding:6px;border:1px solid #e9dac1;border-radius:12px;background:#fcf7ee88;box-shadow:0 24px 70px #3a20474a,0 1px 0 #fff inset;overflow:hidden}.screen-viewport{width:100%;overflow:hidden;position:relative;aspect-ratio:3/2;border-radius:7px;background:#e4d3e9}.screen-viewport iframe{display:block;position:absolute;top:0;left:0;border:0;transform-origin:0 0;max-width:none}.screen-clouds{position:absolute;z-index:2;pointer-events:none;left:50%;bottom:-90px;width:135%;height:185px;background:url('assets/clouds.png') 50% 100%/100% 250% no-repeat;mask-image:linear-gradient(transparent,#000 45%);filter:hue-rotate(43deg) saturate(1.15);animation:memorial-cloud-drift 20s ease-in-out infinite alternate}.preview-footer{position:relative;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:20px;max-width:1000px;margin:30px auto 0;padding:15px 4px;background:radial-gradient(ellipse,#fff8f0bb,transparent 78%)}.preview-footer h3{font-size:30px;margin:0}.preview-footer p{font-size:13px;margin:3px 0}.preview-actions{display:flex;gap:25px;align-items:center}.preview-actions .text-link{margin:0}.timeline-line{top:850px}.paused .screen-clouds{animation-play-state:paused}
@media(max-width:650px){.bottom-dock::after{height:210px;width:170vw}.bottom-dock::before{height:190px}.template-section{margin-left:-12px;padding-bottom:25px}.template-heading{margin-bottom:22px}.template-heading h2{font-size:36px}.template-heading p{font-size:14px}.floating-preview{max-width:420px}.screen-edge{padding:4px;border-radius:9px}.screen-viewport{aspect-ratio:390/760;border-radius:5px}.screen-clouds{height:125px;bottom:-65px;width:150%}.preview-footer{flex-direction:column;text-align:center;gap:16px;margin-top:20px;padding-top:12px}.preview-actions{gap:18px}.preview-actions .text-link{font-size:12px}.preview-actions .template-cta{font-size:13px;padding:12px}.timeline-line{top:1000px}}

/* Center the feature story over gently moving, translucent clouds. */
.chapter-copy{text-align:center;isolation:isolate}.chapter-copy>p{margin-left:auto;margin-right:auto}.chapter-copy .story-controls{justify-content:center}.chapter-copy:before{inset:-25px -35px;background:radial-gradient(ellipse,#fffaf0f2 10%,#faf3efd9 43%,transparent 76%);filter:blur(14px);z-index:-2}.chapter-copy:after{content:'';position:absolute;inset:-35px -50px;z-index:-1;pointer-events:none;background:url('assets/clouds.png') 50% 80%/155% 250% no-repeat;mask-image:radial-gradient(ellipse,#000b 15%,#0008 48%,transparent 73%);opacity:.7;filter:blur(3px) hue-rotate(43deg);animation:feature-mist 16s ease-in-out infinite alternate}.chapter:nth-of-type(even) .chapter-copy:after{animation-direction:alternate-reverse;animation-duration:21s}@keyframes feature-mist{from{transform:translate3d(-3%,2%,0) scale(1)}to{transform:translate3d(3%,-2%,0) scale(1.08)}}.steps{text-align:center}.paused .chapter-copy:after{animation-play-state:paused}@media(max-width:650px){.chapter-copy:after{inset:-25px -20px}.chapter-copy:before{inset:-20px -15px}.steps article{display:block}.steps article>span{display:block;padding:0 0 10px}.steps p{margin:10px auto;max-width:340px}}

#template-gallery{width:min(1120px,calc(100% - 28px));padding:28px 35px 55px;background:linear-gradient(#f8f2f9ed,#eee2f1e6),url('assets/watercolor.png') center/cover}.gallery-heading{text-align:center}#template-gallery .gallery-heading h2{font-size:44px;margin:8px 0 18px}.design-switcher{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.design-switcher button{font-size:14px;padding:11px 18px;background:#fffaf080;border:1px solid #bda6c6;border-radius:6px;min-height:44px}.design-switcher button[aria-pressed=true]{background:var(--purple);color:var(--paper)}#template-gallery #design-description{font:13px/1.5 Manrope,sans-serif;text-align:center;margin:14px 0 22px}.gallery-screen{max-width:min(100%,calc((90svh - 235px)*1.5));}.gallery-screen .screen-clouds{bottom:-45px;height:105px}.gallery-screen .screen-edge{box-shadow:0 15px 35px #3a204737}#close-gallery{z-index:5;background:#f8f2f9;border-radius:50%;top:10px;right:10px}@media(max-width:650px){#template-gallery{padding:35px 12px 40px}.gallery-screen{max-width:100%}#template-gallery .gallery-heading h2{font-size:36px}.gallery-heading .step{font-size:9px}.design-switcher{gap:6px}.design-switcher button{padding:10px;font-size:12px}#template-gallery #design-description{font-size:12px;margin:12px 0 18px}.gallery-screen .screen-clouds{height:85px;bottom:-35px}}

/* A continuous gallery: scaled screens, with full previews one click away. */
#template-gallery{width:min(900px,calc(100% - 28px));padding:30px 40px 45px}.gallery-list{display:flex;flex-direction:column;gap:38px;margin-top:24px}.gallery-design{min-width:0}.gallery-list .gallery-screen{max-width:620px;margin:auto}.gallery-list .screen-viewport{aspect-ratio:3/2}.gallery-list iframe{pointer-events:none}.gallery-design-footer{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:620px;margin:18px auto 0;padding:4px 6px}.gallery-design-footer h3{font-size:27px;margin:0}.gallery-design-footer p{font:12px/1.5 Manrope,sans-serif;text-align:left;margin:3px 0 0}.full-template-button{font-size:12px;white-space:nowrap;padding:10px 14px;border:1px solid #a88eae;border-radius:6px;background:#503561;color:#fffaf0}.gallery-list .screen-clouds{height:75px;bottom:-32px;width:118%}#close-gallery{position:sticky;float:right;top:0;margin:-15px -25px 0 0}@media(max-width:650px){#template-gallery{padding:25px 14px 35px}.gallery-list{gap:30px;margin-top:20px}.gallery-design-footer{gap:10px;margin-top:12px;padding-inline:2px}.gallery-design-footer h3{font-size:22px}.gallery-design-footer p{font-size:10px}.full-template-button{font-size:11px;padding:10px}.gallery-list .screen-clouds{height:55px;bottom:-23px}#close-gallery{margin:-12px -3px 0 0}}

.gallery-list iframe{pointer-events:auto}.device-switch{display:flex;justify-content:center;gap:3px;width:max-content;max-width:100%;margin:0 auto 15px;padding:4px;background:#fffaf0df;border:1px solid #bca6c477;border-radius:30px;box-shadow:0 4px 18px #44284a0d;position:relative;z-index:4}.device-switch button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;border-radius:24px;padding:9px 15px;font-size:12px;min-height:40px;white-space:nowrap}.device-switch button[aria-pressed=true]{background:#503561;color:#fffaf0}.device-switch svg{width:17px;height:17px;stroke:currentColor;stroke-width:1.3}.floating-preview[data-device=mobile]>.screen-edge{max-width:350px;margin-inline:auto}.gallery-list .floating-preview[data-device=mobile]>.screen-edge{max-width:280px}.floating-preview[data-device=desktop] .screen-viewport{aspect-ratio:3/2}.floating-preview[data-device=mobile] .screen-viewport{aspect-ratio:390/760}.memorial-choice-actions{display:flex;align-items:center;gap:9px}.select-memorial{font-size:12px;white-space:nowrap;padding:10px 14px;border:1px solid #a88eae;border-radius:6px;background:#503561;color:#fffaf0;min-height:40px}.memorial-choice-actions .full-template-button{background:transparent;color:var(--ink);border-color:#a88eae77}.select-memorial[aria-pressed=true]{background:#6f547d}.gallery-design-footer{flex-wrap:wrap}.preview-footer p{max-width:330px}@media(max-width:650px){.gallery-design-footer{justify-content:center;text-align:center;gap:12px}.gallery-design-footer>div:first-child{width:100%}.gallery-design-footer p{text-align:center}.memorial-choice-actions{justify-content:center;flex-wrap:wrap}.device-switch button{padding:8px 13px}.select-memorial{font-size:11px}.gallery-list .floating-preview[data-device=mobile]>.screen-edge{max-width:260px}}

/* Match the memorial button geometry. */
.device-switch{border-radius:7px}.device-switch button{border-radius:4px}

/* One compact, consistently sized row of memorial controls. */
.memorial-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:620px;margin:0 auto 15px}.memorial-toolbar .device-switch{margin:0;padding:3px;border-radius:6px;flex-shrink:0;height:40px}.memorial-toolbar .device-switch button{height:32px;min-height:32px;padding:6px 10px;font-size:11px}.memorial-toolbar .device-switch svg{width:15px;height:15px}.memorial-toolbar .memorial-choice-actions{display:flex;flex-wrap:nowrap;gap:8px}.memorial-toolbar .full-template-button,.memorial-toolbar .select-memorial{display:inline-flex;align-items:center;justify-content:center;height:40px;min-height:40px;padding:0 12px;font-size:12px}.compact-preview-label{display:none}.gallery-design-footer{justify-content:center;text-align:center}.gallery-design-footer p{text-align:center}@media(max-width:650px){.memorial-toolbar{gap:6px}.memorial-toolbar .device-switch button{font-size:0;gap:0;width:30px;padding:5px}.memorial-toolbar .device-switch svg{width:16px;height:16px}.memorial-toolbar .memorial-choice-actions{gap:6px;flex:1;justify-content:flex-end}.memorial-toolbar .full-template-button,.memorial-toolbar .select-memorial{font-size:11px;padding:0 9px}.full-preview-label{display:none}.compact-preview-label{display:inline}}

/* A stationary cloud dock surrounding a sliding memorial stage. */
#template-gallery{width:min(1120px,calc(100% - 28px));padding:26px 30px 16px}.gallery-list{display:block;overflow:hidden;margin-top:12px}.gallery-design[hidden],.memorial-toolbar[hidden]{display:none!important}.gallery-list .gallery-screen{max-width:min(700px,calc((90svh - 260px)*1.5))}.gallery-list .screen-clouds{display:none}.gallery-list .floating-preview[data-device=mobile]>.screen-edge{max-width:min(260px,calc((90svh - 260px)*.513))}.gallery-design-footer{margin-top:10px;padding:0}.gallery-design-footer h3{font-size:25px}.memorial-browser-controls{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin-top:20px;padding:12px 0 6px}.memorial-control-dock{position:relative;z-index:2;background:#fff9f0e8;border:1px solid #bba3bf;border-radius:7px;padding:5px;box-shadow:0 8px 25px #4a315517}.memorial-control-dock .memorial-toolbar{margin:0;gap:8px}.memorial-control-dock .device-switch{border:0;background:none;box-shadow:none;padding:0;height:38px}.memorial-control-dock .device-switch button{font-size:12px;height:38px;min-height:38px;padding:8px 10px;gap:6px;width:auto}.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{height:38px;min-height:38px;padding:0 12px;font-size:12px}.memorial-prev,.memorial-next{position:relative;z-index:2;padding:12px 0;background:transparent;font-size:14px;color:var(--ink);min-height:44px}.memorial-prev{justify-self:start}.memorial-next{justify-self:end}.browser-clouds{position:absolute;z-index:-1;pointer-events:none;left:50%;width:125%;height:180px;bottom:-40px;transform:translateX(-50%);background:url('assets/clouds.png') 50% 100%/100% 250% no-repeat;mask-image:linear-gradient(transparent,#000 65%);opacity:.92}.memorial-control-dock .full-preview-label{display:inline}.memorial-control-dock .compact-preview-label{display:none}@media(max-width:760px){.memorial-browser-controls{grid-template-columns:1fr 1fr;gap:3px 12px;margin-top:12px}.memorial-prev{grid-column:1;grid-row:1}.memorial-next{grid-column:2;grid-row:1}.memorial-control-dock{grid-column:1/3;grid-row:2;justify-self:center}.memorial-control-dock .full-preview-label{display:none}.memorial-control-dock .compact-preview-label{display:inline}.memorial-control-dock .device-switch svg{display:none}.memorial-control-dock .device-switch button{font-size:12px;padding:8px}.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{font-size:11px;padding:0 8px}.memorial-control-dock .memorial-toolbar{gap:4px}.memorial-control-dock .memorial-choice-actions{gap:4px}#template-gallery{padding:25px 14px 14px}.gallery-list .gallery-screen{max-width:620px}.gallery-list .floating-preview[data-device=mobile]>.screen-edge{max-width:min(260px,calc((90svh - 290px)*.513))}.gallery-design-footer h3{font-size:23px}.gallery-design-footer p{font-size:11px}.memorial-control-dock{max-width:100%}.memorial-control-dock .select-memorial{white-space:normal;line-height:1.15;max-width:95px}.browser-clouds{height:200px}}

/* Keep all navigation above the screen, with side controls centered on the dock. */
.memorial-browser-controls{grid-template-columns:minmax(65px,1fr) auto minmax(65px,1fr);align-items:center;gap:18px;margin:6px 0 22px;padding:8px 0;z-index:3}.memorial-prev{grid-column:1;grid-row:1;align-self:center}.memorial-next{grid-column:3;grid-row:1;align-self:center}.memorial-control-dock{grid-column:2;grid-row:1;justify-self:center;padding:6px 8px}.memorial-control-dock .memorial-toolbar{gap:14px;max-width:none}.memorial-control-dock .device-switch button{font-size:14px;gap:8px;padding:9px 14px;min-height:42px;height:42px}.memorial-control-dock .device-switch{height:42px}.memorial-control-dock .device-switch svg{display:block;width:18px;height:18px}.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{height:42px;min-height:42px;font-size:14px;padding:0 16px;max-width:none;white-space:nowrap}.memorial-control-dock .full-preview-label{display:none}.memorial-control-dock .compact-preview-label{display:inline}.browser-clouds{height:130px;bottom:-24px;opacity:.7}.gallery-list{margin-top:0}.gallery-list .gallery-screen{max-width:min(760px,calc((90svh - 275px)*1.5))}@media(max-width:760px){#template-gallery{width:calc(100% - 16px);padding-inline:10px}.memorial-browser-controls{grid-template-columns:48px minmax(0,1fr) 40px;gap:5px;margin:4px 0 18px}.memorial-prev,.memorial-next{font-size:12px;min-height:44px}.memorial-control-dock{width:100%;padding:5px;max-width:370px}.memorial-control-dock .memorial-toolbar{flex-direction:column;gap:5px;width:100%}.memorial-control-dock .device-switch{width:100%;height:38px;justify-content:center}.memorial-control-dock .device-switch button{flex:1;min-height:38px;height:38px;font-size:13px;padding:6px;gap:5px}.memorial-control-dock .device-switch svg{width:16px;height:16px}.memorial-control-dock .memorial-choice-actions{width:100%;gap:5px}.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{flex:1;min-width:0;font-size:12px;padding:0 5px;height:38px;min-height:38px;white-space:normal;text-align:center;line-height:1.2}.browser-clouds{height:170px}.gallery-list .gallery-screen{max-width:100%}.gallery-list .floating-preview[data-device=mobile]>.screen-edge{max-width:min(260px,calc((90svh - 340px)*.513))}}

/* Compact single-row dock at every width. */
.preview-open-icon,.selection-check{width:16px;height:16px;flex-shrink:0}.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{gap:5px;padding-inline:10px}.memorial-control-dock .memorial-toolbar{flex-direction:row}.memorial-control-dock .device-switch button{padding-inline:10px}.memorial-control-dock .memorial-choice-actions{width:auto}.memorial-control-dock .select-memorial{white-space:nowrap}
@media(max-width:760px){.memorial-browser-controls{grid-template-columns:45px minmax(0,1fr) 30px;gap:4px}.memorial-control-dock{padding:4px;max-width:520px}.memorial-control-dock .memorial-toolbar{gap:3px;flex-direction:row;justify-content:center}.memorial-control-dock .device-switch{width:auto;flex:0 0 auto}.memorial-control-dock .device-switch button{flex:none;font-size:11px;padding-inline:4px;gap:3px}.memorial-control-dock .device-switch svg,.preview-open-icon,.selection-check{width:13px;height:13px}.memorial-control-dock .memorial-choice-actions{width:auto;gap:3px;flex:0 1 auto}.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{flex:none;font-size:11px;padding-inline:4px;gap:3px;white-space:nowrap}.memorial-prev,.memorial-next{font-size:11px}.memorial-control-dock .device-switch,.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{height:38px;min-height:38px}}
@media(max-width:430px){#template-gallery{padding-inline:7px}.memorial-browser-controls{grid-template-columns:39px minmax(0,1fr) 25px;gap:3px}.memorial-prev,.memorial-next{font-size:10px}.memorial-control-dock{padding:3px}.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{font-size:10px;padding-inline:3px;gap:2px}.memorial-control-dock .device-switch svg,.preview-open-icon,.selection-check{width:12px;height:12px}.memorial-control-dock .memorial-toolbar,.memorial-control-dock .memorial-choice-actions{gap:2px}}
@media(max-width:360px){.memorial-browser-controls{grid-template-columns:36px minmax(0,1fr) 23px;gap:2px}.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{font-size:9px;padding-inline:2px}.memorial-control-dock .device-switch svg,.preview-open-icon,.selection-check{width:10px;height:10px}.memorial-prev,.memorial-next{font-size:9px}}

/* Content-sized dock: no stretched empty sides or uneven control spacing. */
.memorial-browser-controls{grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);gap:14px}.memorial-control-dock{width:max-content;max-width:100%;padding:5px;border-radius:7px}.memorial-control-dock .memorial-toolbar{width:auto;gap:6px}.memorial-control-dock .device-switch{width:auto;padding:0;gap:2px}.memorial-control-dock .memorial-choice-actions{width:auto;flex:none;gap:6px}.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{height:40px;min-height:40px;padding-inline:12px;font-size:13px;gap:6px;flex:none;border-radius:4px}.memorial-control-dock .device-switch{height:40px}.memorial-control-dock .device-switch svg,.preview-open-icon,.selection-check{width:15px;height:15px}.memorial-prev,.memorial-next{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:13px}.memorial-prev svg,.memorial-next svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.memorial-control-dock .full-preview-label{display:none}.memorial-control-dock .compact-preview-label{display:inline}
@media(max-width:760px){.memorial-browser-controls{gap:8px}.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{padding-inline:9px;font-size:12px;gap:4px}.memorial-control-dock .memorial-toolbar,.memorial-control-dock .memorial-choice-actions{gap:4px}.memorial-prev,.memorial-next{font-size:11px;gap:3px}.memorial-prev svg,.memorial-next svg{width:15px;height:15px}}
@media(max-width:500px){.memorial-browser-controls{gap:5px}.memorial-control-dock{padding:4px}.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{padding-inline:6px;font-size:11px;gap:3px}.memorial-control-dock .device-switch svg,.preview-open-icon,.selection-check{width:12px;height:12px}.memorial-prev,.memorial-next{gap:2px}.memorial-prev span,.memorial-next span{display:none}.memorial-prev,.memorial-next{min-width:23px;justify-content:center}.memorial-prev svg,.memorial-next svg{width:20px;height:20px}}
@media(max-width:360px){.memorial-browser-controls{gap:3px}.memorial-control-dock{padding:3px}.memorial-control-dock .device-switch button,.memorial-control-dock .full-template-button,.memorial-control-dock .select-memorial{font-size:10px;padding-inline:4px}.memorial-control-dock .memorial-toolbar,.memorial-control-dock .memorial-choice-actions{gap:2px}.memorial-prev,.memorial-next{min-width:20px}}
