:root{--navy:#6445df;--ink:#222645;--gold:#6445df;--cream:#faf9ff;--muted:#686b83;--line:#e5e1f4;--serif:Arial,Helvetica,sans-serif;--yellow:#ffd34e;--aqua:#0eabc0}body{background:#faf9ff}h1,h2,h3{font-weight:700}.site-header{background:#fff;box-shadow:0 2px 10px #3f287609}.wordmark{font-family:var(--sans);font-size:22px;font-weight:700}.wordmark b{font-weight:800;letter-spacing:-.6px}.wordmark small{font-size:7px;letter-spacing:1.5px;color:var(--muted)}.wordmark img{width:48px;height:48px}.hero{position:relative;gap:30px}.hero:before{content:'';position:absolute;z-index:-1;width:540px;height:470px;border-radius:50%;background:radial-gradient(ellipse,#eee6ff 0,#eee6ff00 72%);right:-3%;top:20px;pointer-events:none}.hero .eyebrow{font-size:11px;color:var(--navy)}.year-label{display:inline-block;border-radius:50px;background:#ffec95;color:#684820;padding:4px 11px;letter-spacing:1.2px;font-size:10px;margin:15px 0 22px}.hero h1{font-size:clamp(42px,4.6vw,64px);font-weight:800;letter-spacing:-2.7px;line-height:1.12}.hero h1 em{font-style:normal;color:var(--navy)}.hero-subtitle{font-size:14px;line-height:1.8}.button{border-radius:10px}.hero-actions .button.primary{box-shadow:0 8px 20px #6445df21}.hero-composition:before{background:#effbfb;border:2px dashed #0eabc037;border-radius:35% 45% 38% 41%}.polaroid{border-radius:12px;padding:13px 13px 19px}.polaroid-front{transform:rotate(-6deg);border:1px solid #e8e2f4}.polaroid-back{transform:rotate(7deg);border:1px solid #eee1c1;background:#fffdf5}.polaroid img{border-radius:5px}.polaroid figcaption{font-style:normal;font-size:14px;color:var(--ink);font-weight:700}.round-seal{background:#ffd34e;color:#453314;border-color:#fff;box-shadow:0 0 0 1px #e4bc50}.round-seal strong{font-weight:800;letter-spacing:-2px}.round-seal span{font-weight:700}.handwritten{font-family:Georgia,serif;font-weight:500;color:#ef6588}.album-strip{border-radius:16px;background:#fff;padding:23px 25px;box-shadow:0 5px 20px #49357c06;border:1px solid var(--line);margin-top:4px;margin-bottom:0}.album-strip>div>strong{font-weight:700;font-size:23px}.album-stats strong{font-weight:700;font-size:24px}.album-select-wrap select{border-radius:8px;background:#faf9ff}.category-section{padding-bottom:6px}.section-heading h2{font-weight:750;font-size:35px;letter-spacing:-1px}.category-section .section-heading{margin-bottom:22px}.category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:15px}.category-card{position:relative;padding:0;text-align:left;background:#fff;border-radius:13px;overflow:hidden;border:1px solid var(--line);box-shadow:0 3px 12px #45307b06;transition:transform .15s}.category-card:hover{transform:translateY(-3px)}.category-card[aria-pressed=true]{outline:3px solid var(--navy);outline-offset:3px}.category-card>img{width:100%;aspect-ratio:1.35;object-fit:cover}.category-card>div{padding:13px 13px 15px;border-top:4px solid var(--category-color)}.category-card strong{display:block;font-size:12px;color:var(--ink);font-weight:700}.category-card small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.gallery-section{padding-top:42px}.filters button,.favorites-filter{font-size:10px;padding:8px 13px;background:#fff;border-radius:50px}.favorites-filter[aria-pressed=true]{color:#fff}.gallery-result{font-size:11px;color:var(--muted);margin:0 0 16px}.gallery-toolbar{margin-bottom:14px}.photo-frame{border-radius:13px}.photo-meta h3{font-size:17px;font-weight:700}.photo-meta>span{font-size:8px}.photo-meta{padding-top:14px}.story-section{background:linear-gradient(120deg,#5134bd,#6445df 58%,#7671e2)}.story-intro h2{font-size:36px;font-weight:700;letter-spacing:-1.2px}.story-intro h2 em{color:#ffe68e;font-style:normal}.story-intro p,.timeline p{color:#e3ddff}.story-intro .eyebrow,.timeline .eyebrow{color:#ffe68e}.timeline li{border-left-color:#b19cec}.timeline li:before{background:#ffd34e}.timeline h3{font-size:23px;font-weight:700}.dedication{background:#fff;border-radius:15px;border-top:5px solid #6445df}.dedication:nth-child(2){border-top-color:#0eabc0;background:#f5ffff}.dedication:nth-child(3){border-top-color:#ef6588;background:#fff7f9}.quote-mark{font-family:Georgia,serif;color:#b6a3eb}.dedication blockquote{font-family:Georgia,serif;font-weight:400}.dedication cite{font-size:8px;letter-spacing:.8px}.keepsake-image{border-radius:18px}.keepsake h2{font-size:37px;font-weight:750;letter-spacing:-1.1px}.keepsake h2 em{font-style:normal}.footer-brand{font-weight:800;letter-spacing:-1px}footer p{font-family:Georgia,serif;color:#7b64a8}.plans-link{display:block;font-size:11px;font-weight:600;color:var(--navy);margin-top:17px}.lightbox,.qr-dialog{background:#faf9ff;border-radius:16px}.lightbox-info h3{font-weight:700;font-size:23px}.qr-dialog h2{font-weight:750;font-size:29px}.eyebrow{letter-spacing:1.6px}.qr-dialog .small-note{max-width:100%}select:focus-visible{outline-offset:3px}@media(max-width:1150px){.category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.category-card{display:flex;align-items:stretch}.category-card>img{width:43%;aspect-ratio:1}.category-card>div{border-top:0;border-left:4px solid var(--category-color);display:flex;flex-direction:column;justify-content:center;width:57%}.hero h1{font-size:52px}.hero-composition{height:410px}}@media(max-width:900px){.hero h1{font-size:43px;letter-spacing:-1.8px}.hero-composition{height:350px}.hero-subtitle{font-size:13px}.wordmark{font-size:19px}.wordmark img{width:42px;height:42px}.wordmark small{font-size:6px}.site-header nav{gap:15px}.album-strip{padding:20px 18px}.album-stats{gap:13px}.album-stats strong{font-size:21px}.category-card>div{padding-left:10px}.category-card strong{font-size:11px}.gallery-toolbar{flex-wrap:wrap}.story-inner{gap:40px}.story-intro h2{font-size:30px}}@media(max-width:720px){.site-header{gap:11px}.wordmark{font-size:20px}.wordmark img{width:44px;height:44px}.wordmark small{font-size:6px;letter-spacing:1.1px}.hero h1{font-size:clamp(36px,10vw,49px);letter-spacing:-1.8px}.hero{padding-top:34px}.hero:before{width:100%;height:300px;right:0;top:260px}.hero-composition{height:375px}.hero-subtitle{max-width:100%;font-size:13px}.polaroid figcaption{font-size:12px!important}.album-strip{padding:18px 15px}.album-strip>div>strong{font-size:19px}.album-select-wrap{max-width:57%}select{font-size:10px}.album-stats{padding-right:12%;padding-top:13px}.album-stats strong{font-size:22px}.category-section{padding-top:38px;padding-bottom:2px}.section-heading h2{font-size:29px;letter-spacing:-.8px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-card{display:block}.category-card>img{width:100%;aspect-ratio:1.7}.category-card>div{width:100%;display:block;border-left:0;border-top:4px solid var(--category-color);padding:10px 11px}.category-card strong{font-size:12px}.gallery-section{padding-top:35px}.gallery-toolbar{gap:12px}.filters{gap:6px}.filters button{font-size:9px;padding:7px 10px}.photo-meta h3{font-size:16px}.photo-meta>span{font-size:7px;letter-spacing:.6px}.story-intro h2{font-size:30px}.story-intro p{font-size:12px}.timeline h3{font-size:21px}.dedication blockquote{font-size:23px}.keepsake h2{font-size:30px}.footer-brand{font-size:25px}}@media(max-width:380px){.hero-composition{height:320px}.hero h1{font-size:36px}.wordmark{font-size:18px}.wordmark img{width:40px;height:40px}.album-strip>div>strong{font-size:17px}.album-select-wrap{max-width:54%}.handwritten{font-size:12px}.round-seal{width:85px;height:85px}.category-card strong{font-size:11px}.hero-actions .button{font-size:10px}.filters button{padding:7px 9px}}

/* Photo demo: every hero image occupies space in the document flow. */
:root{--muted:#60647b}
.site-header{min-height:96px;height:auto;padding-top:12px;padding-bottom:12px}
.wordmark img{width:70px;height:70px;object-fit:contain;flex-shrink:0}
.wordmark small{font-size:8px;letter-spacing:1px}
.hero{grid-template-columns:1fr 1.08fr;align-items:center;gap:48px;padding-top:54px;padding-bottom:36px;min-height:0}
.hero:before,.hero-composition:before{display:none}
.hero-copy{min-width:0}
.hero-composition{height:auto;min-height:0;display:grid;gap:14px;width:100%;max-width:none;position:relative;isolation:auto;margin:0}
.hero-main-photo{position:static;background:white;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 16px 38px #35207110}
.hero-main-photo>img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.hero-main-photo>figcaption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px;font-size:14px;font-weight:700}
.hero-main-photo>figcaption>strong{background:var(--yellow);color:#433010;padding:3px 12px;border-radius:50px;font-size:18px}
.hero-photo-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hero-photo-row>figure{margin:0;background:white;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.hero-photo-row img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.hero-photo-row figcaption{padding:9px 13px;font-size:12px;font-weight:600;color:var(--muted)}
.hero-subtitle{font-size:16px;max-width:450px}
.hero-actions .button{font-size:14px;padding:14px 20px}
.demo-note{font-size:12px;line-height:1.5;align-items:flex-start}
.demo-note>span{flex-shrink:0;margin-top:6px}
.album-strip{position:relative;margin-top:0;z-index:0;gap:25px}
.album-select-wrap{min-width:0}
.album-select-wrap label{font-size:12px}
.album-select-wrap select{font-size:13px;max-width:100%}
.album-stats{font-size:13px}
.category-card>img{display:block;height:auto;width:100%;aspect-ratio:3/2;object-fit:cover;flex-shrink:0}
.category-card strong{font-size:14px}
.category-card small{font-size:12px}
.gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 22px}
.photo-frame{aspect-ratio:3/2}
.photo-meta h3{font-size:19px;line-height:1.3}
.photo-meta>span{font-size:10px}
.gallery-note,.gallery-result{font-size:13px}
.filters button,.favorites-filter{font-size:13px;min-height:40px}
.section-heading>p{font-size:15px}
.keepsake-copy>p{font-size:16px}
.keepsake-options{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}
.keepsake-options span{font-size:12px;padding:5px 10px;border:1px solid var(--line);border-radius:50px;background:#fff}
.plans-link{font-size:14px}
.lightbox-info p{font-size:14px}
@media(max-width:1150px){
 .hero{gap:30px}.hero h1{font-size:46px}.hero-subtitle{font-size:15px}
 .category-card{display:block}.category-card>div{width:100%;border-left:0;border-top:4px solid var(--category-color);padding:12px 14px}
}
@media(max-width:800px){
 .site-header nav{gap:18px;font-size:12px}.wordmark{font-size:19px}.wordmark img{width:62px;height:62px}
 .hero h1{font-size:39px;letter-spacing:-1.5px}.hero{gap:24px}.hero-actions .button{font-size:12px;padding:12px 16px}
 .album-strip{flex-wrap:wrap}.album-stats{width:100%;border-top:1px solid var(--line);padding-top:12px;justify-content:flex-start;gap:25px}
}
@media(max-width:720px){
 html{scroll-padding-top:148px}
 .site-header{padding:10px 5%;gap:9px;min-height:110px;align-items:center}
 .wordmark{font-size:22px;gap:10px;white-space:normal;min-width:0}
 .wordmark img{width:62px;height:62px}.wordmark small{font-size:7px;letter-spacing:.5px}
 .site-header nav{gap:24px;flex-wrap:wrap;min-height:35px;font-size:12px;padding-top:8px}
 .site-header>.icon-button{width:40px;height:40px}
 .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding-top:30px;padding-bottom:28px;align-items:start}
 .hero h1{font-size:clamp(36px,10.6vw,49px);letter-spacing:-1.9px}
 .hero-subtitle{font-size:15px;margin:20px 0;max-width:100%}
 .hero-composition{width:100%;max-width:none;height:auto;min-height:0;margin:0;gap:12px}
 .hero-main-photo{border-radius:18px}.hero-main-photo>figcaption{font-size:12px;padding:13px 15px;gap:10px}
 .hero-main-photo>figcaption>strong{font-size:17px;padding:2px 9px}
 .hero-photo-row{gap:12px}.hero-photo-row figcaption{font-size:11px;padding:8px 10px}
 .hero-actions{gap:12px}.hero-actions .button{font-size:13px;padding:13px 17px}
 .demo-note{font-size:11px;margin-top:16px}
 .album-strip{display:grid;grid-template-columns:minmax(0,1fr);padding:18px;gap:15px}
 .album-strip>div>strong{font-size:23px}.album-select-wrap{max-width:100%;width:100%;margin:0}
 .album-select-wrap select{font-size:14px;padding:9px 12px;height:auto}
 .album-stats{display:flex;gap:26px;justify-content:flex-start;width:100%;padding:12px 0 0;font-size:13px}
 .album-stats strong{font-size:24px}.strip-label{font-size:10px}
 .category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .category-card>img{height:auto;aspect-ratio:3/2}.category-card>div{padding:11px}
 .category-card strong{font-size:13px}.category-card small{font-size:11px}
 .section-heading h2{font-size:30px}.section-heading>p{font-size:14px;margin-top:12px}
 .gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.photo-frame{aspect-ratio:4/3}
 .photo-meta h3{font-size:15px;letter-spacing:-.2px}.photo-meta>span{font-size:9px}.photo-meta{padding-top:10px}
 .filters button{font-size:12px;padding:8px 12px}.favorites-filter{font-size:12px}
 .gallery-note,.gallery-result{font-size:12px}.favorite{width:34px;height:34px;right:8px;top:8px}
 .story-intro p,.timeline p{font-size:14px}.story-intro h2{font-size:31px}.timeline h3{font-size:23px}
 .dedication cite{font-size:10px}.keepsake h2{font-size:31px}.keepsake-copy>p{font-size:15px}
 .keepsake-image{max-height:none}.keepsake-image img{height:auto;object-fit:contain;width:100%}
 .keepsake .button{font-size:14px}.small-note{font-size:12px}
 footer .plans-link{font-size:14px}footer>span{font-size:12px}
}
@media(max-width:380px){
 .wordmark{font-size:20px}.wordmark img{width:56px;height:56px}
 .wordmark small{font-size:6px}.site-header nav{gap:17px}
 .hero h1{font-size:36px}.hero-composition{height:auto}.category-card strong{font-size:12px}
 .hero-photo-row figcaption{font-size:10px}.hero-main-photo>figcaption{font-size:11px}
 .photo-meta h3{font-size:14px}.filters button{padding:8px 10px}
}

.promotion-title{overflow-wrap:anywhere;line-height:1.05!important;font-size:clamp(46px,5.7vw,76px)!important;color:var(--navy);max-width:100%}
.promotion-lead{font-size:23px;font-weight:600;line-height:1.45;margin-top:23px;letter-spacing:-.4px}
.promotion-lead em{font-style:normal;font-weight:400;color:var(--muted)}
.service-brand{display:inline-block;width:240px;max-width:65vw}
.service-brand img{width:100%;height:auto;max-height:120px;object-fit:contain}
.dedication-kind{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--navy);margin-bottom:10px}
@media(max-width:720px){.promotion-title{font-size:clamp(42px,12vw,60px)!important}.promotion-lead{font-size:20px;margin-top:20px}.service-brand{width:210px}}

.video-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.video-card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden}.video-card video{display:block;width:100%;aspect-ratio:16/9;background:#211a38}.video-card h3{font-size:20px;margin:20px 20px 8px}.video-card p{font-size:12px;color:var(--muted);margin:0 20px 20px}.dedication blockquote{white-space:pre-wrap;overflow-wrap:anywhere}.hero-subtitle{white-space:pre-wrap}
@media(max-width:720px){.video-list{grid-template-columns:1fr}}
