/* Photo placement for the Strawberry Matcha template */
.cover-portrait>img{width:74%;height:100%;padding:0;object-fit:cover;object-position:50% 34%;border:7px solid var(--paper);border-bottom-width:19px;box-shadow:0 5px 14px #52634425;transform:rotate(-4deg)}
.cover-portrait{display:flex;align-items:center;justify-content:center}
.desktop-photo>img{object-fit:cover;object-position:50% 34%;transform:none}
.profile-copy h3{font-size:clamp(22px,6vw,28px);line-height:1.2;overflow-wrap:anywhere}
.profile-copy p{font-size:16px;line-height:1.5}
.profile-sub{font-size:16px}.polaroids figure img{object-position:50% 24%}
.event-info>p{font-size:17px;line-height:1.55}.event-card{padding-bottom:42px}.gift-card>p{font-size:17px}
@media(max-width:360px){.profile-copy h3{font-size:21px}.profile-copy p{font-size:14px}.cover-portrait>img{width:70%}}
/* Cover artwork: broad heart above and behind a smaller outlined photo. */
.cover-portrait{display:block;isolation:isolate;overflow:visible;max-width:325px;height:265px;margin:12px 0 26px}
.cover-portrait .heart-back{display:block;position:absolute;left:1%;top:0;width:98%;height:83%;padding:0;z-index:0;overflow:visible}
.cover-portrait .cover-cutout{position:absolute;left:11%;top:4%;width:78%;height:96%;z-index:1;overflow:hidden;filter:drop-shadow(0 2px 1px #52634412)}
.cover-portrait .left-doodle{left:-3%;bottom:12%;z-index:2}.cover-portrait .right-doodle{right:-3%;bottom:10%;z-index:2}
.desktop-photo{padding:0;background:none;border:0;box-shadow:none;transform:none;isolation:isolate;overflow:visible}
.desktop-photo::after{display:none}
.desktop-photo>.heart-back{position:absolute;inset:0 0 auto;width:100%;height:85%;padding:0;z-index:0}
.desktop-photo>.cover-cutout{position:absolute;left:12%;top:5%;width:76%;height:95%;z-index:1;overflow:hidden;filter:drop-shadow(0 3px 1px #52634412)}
@media(max-width:390px){.cover-portrait{height:244px;margin:10px 0 23px}}
@media(max-width:340px){.cover-portrait{height:222px}}
@media(max-height:760px){.cover-portrait{height:207px;margin:10px 0 18px}}
@media(max-height:660px){.cover-portrait{height:174px;margin:10px 0 14px}}
/* The heart extends above the heads and beyond both shoulders. */
.cover-portrait .heart-back{left:-6%;top:-6%;width:112%;height:100%}
.cover-portrait .cover-cutout{left:14%;top:17%;width:72%;height:83%}
.desktop-photo>.heart-back{left:-5%;top:-6%;width:110%;height:100%}
.desktop-photo>.cover-cutout{left:14%;top:17%;width:72%;height:83%}
/* Upper body couple portrait, matching the supplied reference. */
.adult-photo{max-width:400px;height:300px;width:100%;margin:22px auto 0;isolation:isolate}
.adult-photo>.couple-cutout-photo{position:relative;width:100%;height:100%;padding:0;object-fit:contain;object-position:center bottom;z-index:1;border:0;border-radius:0;box-shadow:none;transform:none;filter:url(#couple-ink-outline)}
.adult-photo .adult-hearts{z-index:2;top:38%;opacity:.9}
.adult-photo .adult-hearts.left{left:-8px}.adult-photo .adult-hearts.right{right:-8px}
@media(max-width:390px){.adult-photo{height:270px}}
@media(max-width:340px){.adult-photo{height:240px}}

/* Keep the cover greeting level and clear of the ornamental frame. */
.cover-content{padding-top:36px}
.cover-content>.stationery-label{transform:none;font-style:normal;display:block;align-self:center;flex:0 0 auto;width:100%;max-width:100%;line-height:1.4;text-align:center;margin:8px 0 16px;letter-spacing:.4px}
@media(max-height:660px){.cover-content{padding-top:32px}.cover-content>.stationery-label{margin-top:6px;margin-bottom:12px}}

/* Keep the groom's surname and degree together at every phone width. */
.profile.groom{grid-template-columns:42% minmax(0,1fr);gap:14px}
.profile.groom .profile-copy{min-width:0}
.profile.groom h3{font-size:clamp(21px,5.5vw,26px);line-height:1.3;overflow-wrap:normal;word-break:normal}
.groom-last-line{font-size:.84em;white-space:nowrap;letter-spacing:-.3px}
.academic-degree{white-space:nowrap}
/* A curated album: a full portrait, a paired spread, a monochrome interlude and a closing portrait. */
.gallery-section .curated-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 16px;padding:8px 5px 12px;max-width:390px;margin:0 auto}
.curated-gallery .memory-print{position:relative;margin:0;padding:7px 7px 0;background:#fff8ee;border:1px solid #b9dca980;box-shadow:0 4px 11px #43503212;border-radius:2px;min-width:0;isolation:isolate}
.memory-print button{display:block;width:100%;padding:0;border:0;background:#eee4d7;cursor:zoom-in;overflow:hidden}
.memory-print img{display:block;width:100%;height:auto;object-fit:cover}
.memory-print figcaption{font-family:var(--hand);font-size:16px;line-height:1.35;color:#52751f;padding:10px 2px 12px;letter-spacing:.3px;text-align:center}
.memory-print figcaption span{color:#d55e7e}
.curated-gallery .lead,.curated-gallery .mono-print,.curated-gallery .closing-print{grid-column:1/-1}
.curated-gallery .lead{margin:0 6px 2px;rotate:-1.2deg}
.curated-gallery .lead button{aspect-ratio:1373/2048}.curated-gallery .lead img{height:100%;object-position:50% 50%}
.curated-gallery .left-print{rotate:-3deg;align-self:start;margin-top:3px}
.curated-gallery .right-print{rotate:3deg;align-self:start;margin-top:24px}
.curated-gallery .left-print button,.curated-gallery .right-print button{aspect-ratio:3/4}
.curated-gallery .left-print img{height:100%;object-position:50% 61%}
.curated-gallery .right-print img{height:100%;object-position:59% 65%}
.curated-gallery .left-print figcaption,.curated-gallery .right-print figcaption{font-size:14px;padding-block:9px}
.curated-gallery .mono-print{margin:6px 5px 0;rotate:-.8deg;background:#fcbacb35;border-color:#fc9fb180}
.curated-gallery .mono-print button{aspect-ratio:4/5}.curated-gallery .mono-print img{height:100%;object-position:50% 42%}
.curated-gallery .mono-print figcaption{color:#9b4059}
.curated-gallery .closing-print{margin:3px 7px 0;rotate:1.1deg}
.curated-gallery .closing-print button{aspect-ratio:1373/2048}.curated-gallery .closing-print img{height:100%}
.memory-print::after{content:'';position:absolute;left:calc(50% - 27px);top:-9px;width:54px;height:18px;background:#b9dca9c9;rotate:-5deg;clip-path:polygon(0 5%,100% 0,97% 25%,100% 50%,97% 76%,100% 100%,0 96%,3% 71%,0 48%,3% 25%);pointer-events:none;z-index:2}
.memory-print.right-print::after,.memory-print.mono-print::after{background:#fcbacbc9;rotate:6deg}
.memory-print button:focus-visible{outline:3px solid #74a12e;outline-offset:3px}
#photoDialog{max-width:min(94vw,700px);max-height:94svh;padding:12px;background:#fff8ee;border:1px solid #b9dca9;border-radius:12px}
#photoDialog #largePhoto{display:block;max-width:100%;max-height:78svh;width:auto;height:auto;object-fit:contain;margin:auto}
@media(max-width:340px){.gallery-section .curated-gallery{gap:22px 13px}.memory-print figcaption{font-size:14px}.curated-gallery .left-print figcaption,.curated-gallery .right-print figcaption{font-size:12px}}
