/* Draft B: clear process, smaller galleries, and a tighter mobile rhythm. */
.portrait-section,.experiences{padding:72px 0}
.portrait-section .section-head,.experiences .section-head{margin-bottom:28px;gap:20px}
.portrait-section .section-head h2{font-size:clamp(2rem,4.3vw,3.65rem);line-height:1.06}
.experiences .section-head h2{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;max-width:760px}
.portrait-section .section-head-copy:after,.experiences .section-head-copy:after{height:5px;margin-top:18px;width:84px;transform:none}
.digital-how-it-works{background:var(--ink);color:#fff;border:0;padding:26px 28px}
.digital-how-it-works h4{font-size:1.55rem;line-height:1.2;padding:0;margin:0 0 18px;font-weight:850;letter-spacing:-.025em}
.digital-how-it-works .digital-steps{background:none;border:0;padding:0;gap:20px}
.digital-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:start;gap:12px}
.step-number{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--coral);color:var(--ink);font-size:1rem;font-weight:900}
.digital-steps li:nth-child(2) .step-number{background:#bfd0ff}
.digital-steps li:nth-child(3) .step-number{background:var(--green)}
.digital-steps strong{font-size:1.08rem;line-height:1.25;margin:4px 0 8px}
.digital-steps p{color:#e0e5ef;font-size:1rem;line-height:1.5}
.digital-options{display:grid;grid-template-columns:minmax(160px,.65fr) minmax(0,2fr);gap:18px;align-items:center;background:#ffdbd1;border:0;border-left:6px solid var(--coral);padding:22px 28px}
.digital-options h4{font-size:1.4rem;font-weight:850;letter-spacing:-.03em;line-height:1.2;margin:0}
.digital-options p{font-size:1rem;line-height:1.5;margin:0;color:var(--ink);max-width:750px}

.keepsake-family{grid-column:1/-1;margin-top:12px;min-width:0}
.keepsake-heading{border-top:2px solid var(--ink);padding-top:20px;margin-bottom:22px}
.keepsake-heading h3{font-size:clamp(1.55rem,3vw,2rem);line-height:1.15;letter-spacing:-.035em;margin:0}
.keepsake-heading>p{max-width:76ch;font-size:1rem;line-height:1.6;margin:14px 0 0;color:var(--soft)}
.keepsake-image-link{display:block;border-radius:inherit}
.keepsake-image-link:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.theme-collection-link{display:block;font-size:.9rem;line-height:1.5;font-weight:750;text-underline-offset:4px;margin-top:16px}
.brand-strip-inner>div>p{font-size:1rem;line-height:1.6;max-width:60ch;margin:20px 0 0;color:var(--ink)}
.keepsake-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:22px;align-items:start}
.keepsake-grid .portrait-card{transform:none;background:#fff0e7}
.keepsake-grid .flower-portrait{background:#edf2ff}
.keepsake-grid h4{font-size:1.35rem;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px}
.keepsake-grid .subgroup p{font-size:1rem}
.specialty-with-guests figcaption{position:static;background:none;color:var(--ink);padding:9px 4px 4px;font-size:.875rem;line-height:1.35}
.specialty-with-guests figure{border-radius:14px 14px 0 0}
.specialty-with-guests img{border-radius:14px}
.specialty-with-guests .specialty-format img{aspect-ratio:4/3;object-fit:cover;background:none}
.portrait-card.pet-feature{background:var(--sky);margin-top:24px}
.portrait-collage .digital-guests{object-position:center}
.portrait-styles.with-anime{background:#eef2ff;border-left:6px solid var(--blue)}
.portrait-styles.with-anime .portrait-sample{max-width:540px}
.portrait-styles.with-anime .portrait-sample img{height:auto;background:none}
.portrait-style-copy h3{font-size:clamp(1.65rem,2.8vw,2.25rem);line-height:1.13}
.interactive-group{margin-top:38px}
.interactive-heading{padding-top:26px;border-top:1px solid rgba(255,255,255,.3)}
.interactive-heading h3{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.15}
@media(hover:hover){.keepsake-grid .portrait-card:hover{transform:none}}
@media(max-width:920px){
 .digital-how-it-works .digital-steps{grid-template-columns:1fr;gap:16px}
 .digital-steps li+li{border-top:1px solid rgba(255,255,255,.2);padding-top:16px}
 .digital-steps strong{margin-bottom:5px}
}
@media(max-width:680px){
 .portrait-section,.experiences{padding:46px 0}
 .portrait-section .section-head,.experiences .section-head{gap:14px;margin-bottom:24px}
 .portrait-section .section-head h2,.experiences .section-head h2{font-size:clamp(1.8rem,7.8vw,2.15rem);line-height:1.09;letter-spacing:-.045em}
 .portrait-section .section-head .lede,.experiences .section-head .lede{font-size:1rem;line-height:1.5}
 .digital-how-it-works{padding:22px}
 .digital-how-it-works h4{padding:0;margin-bottom:18px;font-size:1.5rem}
 .digital-how-it-works .digital-steps{padding:0}
 .digital-options{display:block;padding:20px 18px}
 .digital-options h4{font-size:1.35rem;margin-bottom:8px}
 .keepsake-grid{grid-template-columns:1fr;gap:22px}
 .keepsake-heading{padding-top:18px;margin-bottom:18px}
 .interactive-group{margin-top:32px}
 .interactive-heading{padding-top:22px}
 .interactive-heading h3{font-size:1.75rem}
}

/* Give the three pop art tiles more room within one compact feature. */
.portrait-card.compact-pop-art{display:grid;grid-template-columns:minmax(240px,.58fr) minmax(0,1.52fr);gap:24px;align-items:center;background:#fff0e7;padding:30px 24px}
.compact-pop-art .pop-art-copy{min-width:0}
.compact-pop-art h3{font-size:clamp(1.7rem,2.8vw,2.25rem);line-height:1.13;margin:0 0 14px}
.compact-pop-art .eyebrow{color:#984125;margin-bottom:12px}
.compact-pop-art .pop-art-copy>p:not(.eyebrow){font-size:1.05rem;color:var(--soft);line-height:1.55;margin-bottom:22px}
.compact-pop-art .portrait-sample{width:100%;max-width:800px;margin:0 auto}
.compact-pop-art .portrait-sample img{width:100%;height:auto;background:none;border-radius:16px}
.compact-pop-art .portrait-sample figcaption{color:var(--ink)}
.experience-explore{margin-top:18px}
.paper-option .text-link{font-weight:800;text-underline-offset:4px}
.specialty-format figcaption a{font-weight:800;text-underline-offset:3px}
.painting-feature .detail-link{margin-bottom:22px}

/* Keep the planning guidance and reviews easy to scan. */
.reviews,#how-it-works{padding:44px 0}
.reviews .section-head,#how-it-works .section-head{margin-bottom:22px}
.reviews h2,#how-it-works h2{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.12;margin-bottom:0}
.reviews .section-head-copy:after,#how-it-works .section-head-copy:after{height:4px;width:76px;transform:none;margin-top:15px}
.review-grid{gap:16px}
.review-card{padding:22px 24px;border-radius:20px;box-shadow:none}
.review-card:before{content:none}
.review-card blockquote{font-size:1.35rem;line-height:1.35;margin-bottom:12px}
.review-action{margin-top:18px}
.process-grid{gap:14px}
.process-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px 12px;align-content:start;padding:20px;border-radius:18px;box-shadow:none}
.process-card:nth-child(2){transform:none}
.process-card:before{grid-row:1/3;width:32px;height:32px;margin:0;box-shadow:none}
.process-card h3{font-size:1.1rem;line-height:1.3;margin:3px 0 0}
.process-card p{grid-column:2;font-size:.95rem;line-height:1.5}
@media(max-width:920px){.portrait-card.compact-pop-art{grid-template-columns:1fr;gap:22px}.compact-pop-art .portrait-sample{max-width:740px}}
@media(max-width:680px){.portrait-card.compact-pop-art{padding:24px 18px;gap:22px}.compact-pop-art .pop-art-copy>p:not(.eyebrow){font-size:1rem;margin-bottom:18px}.compact-pop-art .portrait-sample{max-width:none}.reviews,#how-it-works{padding:36px 0}.review-card{padding:20px}.review-card blockquote{font-size:1.2rem}.process-grid{gap:10px}.process-card{padding:18px}.experience-explore{font-size:.85rem;padding:0 18px}}

/* Match the two pet-photo windows while retaining the approved feature size. */
.pet-media{align-items:start}
.pet-media img{height:330px;object-fit:cover;object-position:center;background:none}
@media(max-width:920px){.pet-media img{height:360px}}
@media(max-width:680px){.pet-media img{height:230px}}

/* Three tile subjects share one compact feature. */
.pop-tile-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:center;min-width:0}
.compact-pop-art .pop-tile-trio>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:12px}
.tile-person-crop{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px}
.compact-pop-art .tile-person-crop img{position:absolute;width:406%;max-width:none;height:auto;left:-160%;top:-55%;border-radius:0}
@media(max-width:680px){.pop-tile-trio{gap:8px}.compact-pop-art .pop-tile-trio>img,.tile-person-crop{border-radius:9px}}

/* Give the three mobile tiles comparable visual presence to the anime artwork. */
@media(max-width:680px){.compact-pop-art .pop-tile-trio{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:390px;margin:0 auto}.compact-pop-art .pop-tile-trio>img{grid-column:span 2}.compact-pop-art .pop-tile-trio>img:last-child{grid-column:2/span 2}.compact-pop-art .portrait-sample figcaption{text-align:center}}

/* Make format links and interactive labels easy to spot on light cards. */
.specialty-with-guests figcaption a.keepsake-caption-link,.keepsake-caption-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 13px;border-radius:8px;background:#17233e;color:#fff;text-decoration:none;font-size:.9rem;font-weight:750;line-height:1.35}
.keepsake-caption-link:hover{background:#3155d9;color:#fff}.keepsake-caption-link:focus-visible{outline:3px solid #3155d9;outline-offset:4px}
.experiences :is(#flower-minis,.bead-feature) .experience-copy>.eyebrow{color:#17233e;background:#ffd66e;display:inline-block;justify-self:start;padding:6px 10px;border-radius:6px;line-height:1.4}
.digital-capacity-note{grid-column:1/-1;font-size:1rem;line-height:1.55;margin:0;padding:15px 18px;background:#f4f1ff;border-left:4px solid #6241bc;border-radius:0 10px 10px 0}
.digital-capacity-note a{font-weight:750;text-underline-offset:3px;white-space:normal}.wedding-collection-link{display:block;margin-top:14px}
