/* Physical leaves: content is measured and distributed before the book opens. */
.theme-thm32[data-book-paginated='true'] {
    --thm32-leaf-pad-y:24px;
    --thm32-leaf-pad-x:30px;
    --thm32-leaf-gap:13px;
    --thm32-leaf-gutter:48px;
    --thm32-leaf-media-height:245px;
    --thm32-leaf-body-size:12px;
}
.theme-thm32[data-book-paginated='true'] :is(.thm32-book__pages>.thm32-leaf,.thm32-turn-clone.thm32-leaf) {
    display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:var(--thm32-leaf-gutter); padding:var(--thm32-leaf-pad-y) var(--thm32-leaf-pad-x);
    height:100%; min-height:0; overflow:hidden; overscroll-behavior:none; touch-action:pinch-zoom;
    font-size:var(--thm32-leaf-body-size); line-height:1.55;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__column {
    height:100%; min-height:0; min-width:0; position:relative; overflow:visible;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__column:has(>.thm32-leaf__content:empty)::after {
    content:''; position:absolute; width:72px; height:94px; left:50%; top:50%; translate:-50% -50%; pointer-events:none;
    background:center/contain no-repeat url('../img/paper-ornament.svg'); opacity:.22;
}
.theme-thm32[data-book-paginated='true'] :is(.thm32-book__pages>.thm32-leaf,.thm32-turn-clone.thm32-leaf):has(>.thm32-leaf__lead) {
    grid-template-rows:auto minmax(0,1fr); row-gap:12px;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__lead { grid-column:1/-1; min-width:0; }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__lead .thm32-couple__heading { margin:0; }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__lead .thm32-couple__heading h2 { font-size:32px; }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__lead .thm32-couple__heading>p:not(.thm32-kicker) { max-width:610px; margin-inline:auto!important; }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content {
    display:block; position:static; inset:auto; width:100%; height:auto; min-height:0;
    max-height:none; margin:0; padding:0; overflow:visible; gap:0;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content>*+* { margin-top:var(--thm32-leaf-gap); }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__segment {
    display:block; position:relative; inset:auto; width:100%; height:auto; min-height:0;
    max-height:none; margin:0; padding:0; overflow:visible;
    content-visibility:visible!important; contain-intrinsic-size:none!important;
}
/* The sections inside a page too: a section the kernel leaves unrendered off screen would be
   measured at its placeholder size, and a page that overflows would not take its denser step.
   They keep the containment content-visibility:auto gives a rendered section. */
.theme-thm32[data-book-paginated='true'] .thm32-leaf__segment [data-theme-section] {
    content-visibility:visible!important; contain-intrinsic-size:none!important; contain:layout style paint;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__segment>*+* { margin-top:var(--thm32-leaf-gap); }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__segment+.thm32-leaf__segment {
    margin-top:20px; padding-top:18px; border-top:1px solid var(--line);
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content :is(p,address) {
    overflow-wrap:anywhere; font-size:var(--thm32-leaf-body-size); line-height:1.55;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content h2 {
    font-size:clamp(1.75rem,2.25vw,2.25rem); line-height:1.05;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content h3 { font-size:1.7rem; line-height:1.1; }
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content .thm32-kicker {
    font-size:9px; line-height:1.5; letter-spacing:.13em;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content .thm32-heading {
    display:block; margin:0 0 13px; text-align:center; max-width:none;
}
.theme-thm32[data-book-paginated='true'] .thm32-heading .thm32-kicker { margin-bottom:6px; }
.theme-thm32[data-book-paginated='true'] .thm32-heading>p:not(.thm32-kicker) {
    display:block; margin:8px 0 0!important; font-size:12px; line-height:1.5;
}
.theme-thm32[data-book-paginated='true'] .thm32-leaf__content :is(.thm32-intro,.thm32-couple__profiles,.thm32-events__tickets,.thm32-story__timeline,.thm32-rsvp__layout,.thm32-wishes__guestbook,.thm32-gift__accounts) {
    display:block; min-height:0; margin:0; gap:0;
}
.theme-thm32[data-book-paginated='true'] .thm32-intro__copy h2 { margin-top:13px; font-size:2.45rem; }
.theme-thm32[data-book-paginated='true'] .thm32-divider { margin:16px auto; }
.theme-thm32[data-book-paginated='true'] .thm32-intro__copy p.thm32-intro__signature { font-size:25px; margin-top:15px; }
.theme-thm32[data-book-paginated='true'] .thm32-countdown { gap:16px; margin-top:16px; padding-top:15px; }
.theme-thm32[data-book-paginated='true'] .thm32-countdown strong { font-size:30px; }
.theme-thm32[data-book-paginated='true'] .thm32-countdown span { font-size:9px; }
.theme-thm32[data-book-paginated='true'] .thm32-intro__hero {
    width:min(100%,290px); margin:9px auto 8px; padding:8px 8px 35px; transform:rotate(1.5deg);
}
.theme-thm32[data-book-paginated='true'] :is(.thm32-intro__hero>img,.thm32-intro__monogram) {
    height:var(--thm32-leaf-media-height); min-height:0; aspect-ratio:auto;
}
.theme-thm32[data-book-paginated='true'] .thm32-photo-note { right:-17px; font-size:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-profile__media {
    width:165px; max-width:75%; height:min(var(--thm32-leaf-media-height),200px);
    aspect-ratio:auto; margin:0 auto 12px;
}
.theme-thm32[data-book-paginated='true'] .thm32-profile__copy h3 { font-size:1.7rem; margin:8px auto; }
.theme-thm32[data-book-paginated='true'] .thm32-profile__copy>p:not(.thm32-kicker) { font-size:12px; line-height:1.5; }
.theme-thm32[data-book-paginated='true'] .thm32-event { padding:15px 13px; }
.theme-thm32[data-book-paginated='true'] .thm32-event::before { font-size:15px; margin-bottom:4px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__date { padding-bottom:10px; margin-bottom:10px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__date strong { font-size:42px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__date :is(span,small) { font-size:10px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__copy h3 { font-size:1.9rem; margin:8px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-event__copy>strong { margin:10px 0 5px; font-size:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__actions { gap:4px 12px; margin-top:10px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__map { margin-top:6px; }
.theme-thm32[data-book-paginated='true'] .thm32-event__map summary { min-height:44px; padding:10px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-event__map iframe { height:140px; }
.theme-thm32[data-book-paginated='true'] .thm32-dresscode__palette { gap:17px; }
.theme-thm32[data-book-paginated='true'] .thm32-dresscode__swatch>span { width:65px; height:76px; margin-bottom:9px; }
.theme-thm32[data-book-paginated='true'] .thm32-dresscode__copy small { margin-top:12px; font-size:11px; }
.theme-thm32[data-book-paginated='true'] .thm32-health__grid { gap:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-health-card { gap:4px 10px; padding-bottom:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-livestream__poster { min-height:150px; padding:20px; }
.theme-thm32[data-book-paginated='true'] .thm32-livestream__actions { margin-top:12px; gap:8px; }
.theme-thm32[data-book-paginated='true'] .thm32-quote::before { margin-bottom:18px; font-size:26px; }
.theme-thm32[data-book-paginated='true'] .thm32-quote blockquote p { font-size:1.8rem; line-height:1.3; }
.theme-thm32[data-book-paginated='true'] .thm32-quote cite { margin-top:16px; font-size:10px; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry { display:block; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual { margin-bottom:13px; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual figure { width:calc(100% - 8px); margin-inline:auto; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual img { height:min(var(--thm32-leaf-media-height),165px); aspect-ratio:auto; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__placeholder { height:145px; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__copy { padding:0; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__copy h3 { margin:8px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-story-entry__copy time { font-size:10px; }
.theme-thm32[data-book-paginated='true'] .thm32-gallery__collage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.theme-thm32[data-book-paginated='true'] .thm32-gallery__piece { display:block; width:calc(100% - 8px); max-width:100%; margin:5px auto; padding:6px 6px 26px; }
.theme-thm32[data-book-paginated='true'] .thm32-gallery__piece img { height:150px; aspect-ratio:auto; }
.theme-thm32[data-book-paginated='true'] .thm32-gallery__piece>small { font-size:15px; line-height:1.3; margin-top:5px; }
.theme-thm32[data-book-paginated='true'] .thm32-rsvp__aside h2 { font-size:2.35rem; margin:14px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-rsvp__mark { font-size:38px; margin-top:18px; }
.theme-thm32[data-book-paginated='true'] .thm32-rsvp__deadline { margin-top:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-form { gap:9px 12px; }
.theme-thm32[data-book-paginated='true'] .thm32-field :is(label,legend) { font-size:11px; line-height:1.35; margin-bottom:4px; }
.theme-thm32[data-book-paginated='true'] .thm32-field :is(input:not([type='radio']):not([type='checkbox']),textarea,select) {
    width:100%; min-height:44px; border:0; border-bottom:1px solid #a18f6d77; border-radius:0;
    padding:10px 9px; background:#e6dcc942; color:var(--ink); font:400 14px/1.4 var(--invie-font-body, 'Manrope'),sans-serif;
}
.theme-thm32[data-book-paginated='true'] .thm32-field textarea { height:68px; min-height:68px; resize:none; }
.theme-thm32[data-book-paginated='true'] .thm32-rsvp__form .thm32-field textarea { height:44px; min-height:44px; }
.theme-thm32[data-book-paginated='true'] .thm32-rsvp__form .thm32-form__status:empty { display:none; min-height:0; }
.theme-thm32[data-book-paginated='true'] .thm32-attendance__options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.theme-thm32[data-book-paginated='true'] .thm32-attendance__options label { min-height:44px; margin:0; padding:7px 3px; font-size:10px; line-height:1.3; }
.theme-thm32[data-book-paginated='true'] .thm32-attendance__options input { flex-shrink:0; width:16px; height:16px; }
.theme-thm32[data-book-paginated='true'] .thm32-form__status { min-height:18px; font-size:11px; line-height:1.45; }
.theme-thm32[data-book-paginated='true'] :is(.thm32-button,.thm32-text-link) { min-height:44px; font-size:11px!important; }
.theme-thm32[data-book-paginated='true'] .thm32-wishes__featured { margin-bottom:13px; gap:12px!important; }
.theme-thm32[data-book-paginated='true'] .thm32-wish-card { padding:13px; }
.theme-thm32[data-book-paginated='true'] .thm32-wish-card blockquote { font-size:21px; margin:10px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-wishes__guestbook { margin-top:0; }
.theme-thm32[data-book-paginated='true'] .thm32-wishes__messages li { padding:9px 0; font-size:12px; line-height:1.5; }
.theme-thm32[data-book-paginated='true'] .thm32-wishes__messages li time { font-size:10px; }
.theme-thm32[data-book-paginated='true'] .thm32-gift-card { padding:17px; }
.theme-thm32[data-book-paginated='true'] .thm32-gift-card__bank { margin:16px 0 13px; gap:11px; }
.theme-thm32[data-book-paginated='true'] .thm32-gift-card__account { margin-bottom:12px; gap:6px; }
.theme-thm32[data-book-paginated='true'] .thm32-gift-card__account strong { font-size:27px; }
.theme-thm32[data-book-paginated='true'] .thm32-gift-card__account :is(span,small) { font-size:11px; }
.theme-thm32[data-book-paginated='true'] .thm32-gift__status { margin-top:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-closing__media { width:calc(100% - 10px); height:var(--thm32-leaf-media-height); min-height:0; max-height:none; margin:7px auto; }
.theme-thm32[data-book-paginated='true'] .thm32-closing__monogram { min-height:var(--thm32-leaf-media-height); font-size:100px; }
.theme-thm32[data-book-paginated='true'] .thm32-closing__copy { padding:0; }
.theme-thm32[data-book-paginated='true'] .thm32-closing h2 { font-size:2.75rem; margin:15px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-closing time { margin-top:15px; font-size:11px; }
.theme-thm32[data-book-paginated='true'] .thm32-closing small { margin-top:18px; font-size:10px; }
@media(max-width:900px) {
    .theme-thm32[data-book-paginated='true'] { --thm32-leaf-pad-y:20px; --thm32-leaf-pad-x:20px; --thm32-leaf-gutter:28px; --thm32-leaf-media-height:180px; --thm32-leaf-body-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__content h2 { font-size:28px; }
    .theme-thm32[data-book-paginated='true'] .thm32-field :is(input:not([type='radio']):not([type='checkbox']),textarea,select) { font-size:16px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy h2 { font-size:32px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__media { width:135px; height:155px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece img { height:145px; }
    .theme-thm32[data-book-paginated='true'] .thm32-photo-note { right:-12px; font-size:10px; }
}
@media(max-height:640px) {
    .theme-thm32[data-book-paginated='true'] { --thm32-leaf-pad-y:18px; --thm32-leaf-gap:10px; --thm32-leaf-media-height:170px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__media { height:140px; width:120px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece img { height:115px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual img { height:120px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy h2 { font-size:2.2rem; }
    .theme-thm32[data-book-paginated='true'] .thm32-divider { margin:11px auto; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown { margin-top:11px; padding-top:11px; }
}

/* A programme and a destination are complete pieces of information, rather
   than a map disclosure separated from its address on another paper. */
.theme-thm32[data-book-paginated='true'] .thm32-event--programme {
    padding:15px 16px; text-align:left; background:#ffffff22;
}
.theme-thm32[data-book-paginated='true'] .thm32-event--programme::before { content:none; }
.theme-thm32[data-book-paginated='true'] .thm32-event__masthead { display:flex; align-items:center; gap:15px; }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date {
    flex:0 0 65px; min-width:0; margin:0; padding:0 12px 0 0; border-bottom:0; border-right:1px solid var(--line); text-align:center;
}
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date strong { font-size:38px; line-height:1; margin:3px 0; }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date :is(span,small) { font-size:8px; line-height:1.5; letter-spacing:.07em; }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__copy { min-width:0; }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__copy h3 { margin:5px 0 0; font-size:26px; line-height:1.05; }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__time { margin:14px 0 0; padding-top:12px; border-top:1px solid var(--line); font-size:13px; font-weight:600; }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__venue { margin:5px 0 0; font-size:11px; color:var(--muted); }
.theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__actions { justify-content:flex-start; gap:2px 12px; margin-top:8px; }
.theme-thm32 .thm32-event__actions button.thm32-text-link,
.theme-thm32 .thm32-event-location__actions button.thm32-text-link { cursor:pointer; border:0; border-bottom:1px solid currentColor; padding:0; background:none; color:var(--ink); font-family:inherit; }
.theme-thm32 .thm32-event-location {
    position:relative; min-width:0; padding:17px 16px; border:1px solid #b3a07b; background:linear-gradient(145deg,#ede2ca55,#ffffff22); text-align:left;
}
.theme-thm32 .thm32-event-location::before {
    content:''; position:absolute; top:8px; right:10px; width:48px; height:38px; opacity:.16; pointer-events:none;
    background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 60' fill='none' stroke='%23775f39' stroke-width='1.5'%3E%3Cpath d='M7 29h66L57 19H23L7 29ZM18 19h44L47 8H33L18 19ZM12 55h56M20 29v26m40-26v26M30 29v26m20-26v26M16 47h48M24 4h32M40 4v4'/%3E%3C/svg%3E");
}
.theme-thm32[data-book-paginated='true'] .thm32-event-location__heading { padding-right:25px; }
.theme-thm32[data-book-paginated='true'] .thm32-event-location__heading .thm32-kicker { margin:0 0 5px; }
.theme-thm32[data-book-paginated='true'] .thm32-event-location__heading h3 { margin:0; font-size:26px; line-height:1.1; }
.theme-thm32[data-book-paginated='true'] .thm32-event-location address { margin:9px 0 0; font-style:normal; color:var(--muted); }
.theme-thm32 .thm32-event-location__programme { list-style:none; margin:12px 0 0; padding:10px 0 0; border-top:1px solid var(--line); }
.theme-thm32 .thm32-event-location__programme li { display:grid; gap:2px; margin:0; }
.theme-thm32 .thm32-event-location__programme li+li { margin-top:8px; }
.theme-thm32 .thm32-event-location__programme strong { font-size:11px; line-height:1.4; font-weight:600; }
.theme-thm32 .thm32-event-location__programme span { font-size:10px; line-height:1.5; color:var(--muted); }
.theme-thm32 .thm32-event-location__directions { margin-top:12px; }
.theme-thm32[data-book-paginated='true'] .thm32-event-location__route-label { margin:0 0 6px; font-size:10px; line-height:1.45; color:var(--muted); }
.theme-thm32 .thm32-event-location__route-label strong { font-weight:500; }
.theme-thm32 .thm32-event-location__actions { display:flex; align-items:center; flex-wrap:wrap; gap:5px 13px; }
.theme-thm32 .thm32-event-location__actions .thm32-button { padding-inline:12px; }
.theme-thm32 .thm32-map-dialog {
    width:min(680px,calc(100vw - 28px)); max-height:calc(100dvh - 32px); padding:23px; border:1px solid #a18c65; border-radius:3px;
    color:var(--ink); background:var(--paper); box-shadow:0 25px 90px #15201055; overflow:auto;
}
.theme-thm32 .thm32-map-dialog::backdrop { background:#142013b8; backdrop-filter:blur(5px); }
.theme-thm32 .thm32-map-dialog__header { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.theme-thm32 .thm32-map-dialog__header .thm32-kicker { margin:0 0 5px; font-size:9px; }
.theme-thm32 .thm32-map-dialog h2 { margin:0; font:500 30px/1.1 var(--invie-font-heading, 'Cormorant Garamond'),serif; }
.theme-thm32 .thm32-map-dialog__close { flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line); background:transparent; color:var(--ink); font-size:28px; line-height:1; cursor:pointer; }
.theme-thm32 .thm32-map-dialog address { margin:12px 0; font:400 12px/1.6 var(--invie-font-body, 'Manrope'),sans-serif; font-style:normal; color:var(--muted); }
.theme-thm32 .thm32-map-dialog iframe { display:block; width:100%; height:min(360px,43dvh); border:1px solid var(--line); background:#e8e1d4; }
.theme-thm32 .thm32-map-dialog>.thm32-button { margin-top:14px; min-height:44px; font-size:11px; }
.theme-thm32 :is(.thm32-map-dialog__close,[data-thm32-map-open],[data-thm32-location-target]):focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:360px) {
    .theme-thm32[data-book-paginated='true'] .thm32-event__masthead { gap:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__copy h3,
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__heading h3 { font-size:24px; }
    .theme-thm32 .thm32-map-dialog { padding:17px; }
}

/* Each screen keeps the same two facing papers. Small screens use smaller
   photographs and simpler control layouts, while the text retains its size. */
@media(max-width:600px), (max-width:900px) and (orientation:portrait) {
    .theme-thm32[data-book-paginated='true'] {
        --thm32-leaf-pad-y:16px; --thm32-leaf-pad-x:14px; --thm32-leaf-gutter:20px;
        --thm32-leaf-gap:9px; --thm32-leaf-media-height:128px; --thm32-leaf-body-size:11.5px;
    }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-book__pages>.thm32-leaf,.thm32-turn-clone.thm32-leaf):has(>.thm32-leaf__lead) { row-gap:9px; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__segment+.thm32-leaf__segment { margin-top:14px; padding-top:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__content h2 { font-size:22px; line-height:1.05; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__content h3 { font-size:20px; line-height:1.1; }
    .theme-thm32[data-book-paginated='true'] .thm32-heading { margin-bottom:9px; }
    .theme-thm32[data-book-paginated='true'] .thm32-heading>p:not(.thm32-kicker) { font-size:11.5px; line-height:1.5; margin-top:6px!important; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__lead .thm32-couple__heading h2 { font-size:24px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy h2 { font-size:25px; margin-top:9px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy p.thm32-intro__signature { font-size:19px; margin-top:9px; }
    .theme-thm32[data-book-paginated='true'] .thm32-divider { margin:10px auto; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown { gap:7px; margin-top:10px; padding-top:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown strong { font-size:23px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown span { font-size:9px; letter-spacing:0; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__hero { width:calc(100% - 12px); padding:5px 5px 8px; margin:8px auto; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-intro__hero>img,.thm32-intro__monogram) { height:clamp(160px,calc((100vw - 28px)*.62),240px); }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__hero::before { width:44px; height:15px; top:-6px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__hero figcaption { position:static; margin-top:7px; gap:4px; font-size:11.5px; line-height:1.35; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__hero figcaption i { font-size:15px; }
    .theme-thm32[data-book-paginated='true'] .thm32-photo-note { right:-8px; font-size:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__media { width:88px; height:100px; padding:4px; margin-bottom:7px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__copy h3 { font-size:20px; margin:5px auto; overflow-wrap:anywhere; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__copy>p:not(.thm32-kicker) { font-size:11.5px; line-height:1.5; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-event--programme,.thm32-event-location) { padding:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event__masthead { display:block; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date { width:100%; margin:0 0 8px; padding:0; border:0; text-align:left; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date time { display:flex; flex-wrap:wrap; gap:4px 6px; align-items:baseline; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date strong { font-size:27px; margin:0; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date :is(span,small) { font-size:11px; letter-spacing:0; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__copy h3 { font-size:21px; margin:4px 0 0; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__time { font-size:11.5px; margin-top:9px; padding-top:8px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__venue { font-size:11.5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__heading { padding-right:0; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__heading h3 { font-size:21px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location::before { width:28px; height:23px; opacity:.1; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__programme :is(strong,span) { font-size:11.5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__route-label { font-size:11px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__actions { display:grid; grid-template-columns:1fr; gap:4px; }
    .theme-thm32[data-book-paginated='true'] .thm32-dresscode__palette { gap:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-dresscode__swatch>span { width:48px; max-width:100%; height:58px; margin-bottom:6px; }
    .theme-thm32[data-book-paginated='true'] .thm32-dresscode__swatch strong { font-size:11px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__access { padding:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__meta { margin-bottom:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__meta>strong { font-size:20px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__access :is(dt,dd) { font-size:11.5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__poster { min-height:110px; padding:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__poster span { font-size:30px; }
    .theme-thm32[data-book-paginated='true'] [data-book-segment='health']>*+* { margin-top:5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-health__copy h2 { margin:6px 0; font-size:20px; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-health__copy,.thm32-health-card)>p { line-height:1.45; }
    .theme-thm32[data-book-paginated='true'] .thm32-health-card { display:block; position:relative; padding-bottom:4px; }
    .theme-thm32[data-book-paginated='true'] .thm32-health-card__number { position:absolute; top:0; left:0; font-size:20px; line-height:1; }
    .theme-thm32[data-book-paginated='true'] .thm32-health-card strong { display:block; min-height:20px; padding-left:24px; font-size:11.5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-quote::before { font-size:20px; margin-bottom:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-quote blockquote p { font-size:20px; line-height:1.3; }
    .theme-thm32[data-book-paginated='true'] .thm32-quote cite { font-size:11px; letter-spacing:.04em; margin-top:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual { margin-bottom:8px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual figure { padding:5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual img { height:80px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__placeholder { height:78px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__copy time { font-size:11px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece { padding:5px 5px 20px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece img { height:110px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece>small { font-size:13px; }
    .theme-thm32[data-book-paginated='true'] .thm32-rsvp__aside h2 { font-size:24px; margin:9px 0; }
    .theme-thm32[data-book-paginated='true'] .thm32-form { grid-template-columns:minmax(0,1fr); gap:9px; }
    .theme-thm32[data-book-paginated='true'] .thm32-field :is(label,legend) { font-size:11.5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-field :is(input:not([type='radio']):not([type='checkbox']),textarea,select) { padding-inline:7px; }
    .theme-thm32[data-book-paginated='true'] .thm32-attendance__options { grid-template-columns:1fr; gap:4px; }
    .theme-thm32[data-book-paginated='true'] .thm32-attendance__options label { font-size:11px; padding:8px 6px; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-button,.thm32-text-link) { max-width:100%; padding-inline:8px; white-space:normal; text-align:center; overflow-wrap:anywhere; }
    .theme-thm32[data-book-paginated='true'] .thm32-wish-card { padding:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-wish-card blockquote { font-size:18px; margin:8px 0; }
    .theme-thm32[data-book-paginated='true'] .thm32-wish-card figcaption { gap:6px; }
    .theme-thm32[data-book-paginated='true'] .thm32-wish-card figcaption :is(strong,small) { font-size:11px; overflow-wrap:anywhere; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card { padding:10px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card__bank { display:block; margin:10px 0; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card__bank img { width:50px; margin-bottom:6px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card__bank strong { display:block; font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card__account strong { font-size:21px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing__media { height:224px; padding:5px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing__monogram { min-height:224px; font-size:65px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing h2 { font-size:28px; margin:10px 0; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing small { font-size:11px; margin-top:10px; }
}
@media(max-width:360px) {
    .theme-thm32[data-book-paginated='true'] { --thm32-leaf-pad-x:11px; --thm32-leaf-gutter:18px; --thm32-leaf-gap:8px; --thm32-leaf-media-height:104px; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__content h2 { font-size:21px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy h2 { font-size:21px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__media { width:76px; height:86px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__copy h3 { font-size:19px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece img { height:92px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown>div { min-width:0; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown strong { font-size:19px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown span { font-size:8px; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-intro__hero>img,.thm32-intro__monogram) { height:104px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing__media { height:180px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing__monogram { min-height:180px; }
}

/* One page at a time on phones: a single column at full reading size. These
   rules follow, and supersede, the compact two-page sizes above. */
@media(max-width:600px), (max-width:900px) and (orientation:portrait) {
    .theme-thm32[data-book-paginated='true'] {
        --thm32-leaf-pad-y:22px; --thm32-leaf-pad-x:22px; --thm32-leaf-gutter:0px;
        --thm32-leaf-gap:12px; --thm32-leaf-media-height:200px; --thm32-leaf-body-size:15px;
    }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-book__pages>.thm32-leaf,.thm32-turn-clone.thm32-leaf) { grid-template-columns:minmax(0,1fr); line-height:1.6; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-leaf__content,.thm32-leaf__lead) .thm32-kicker { font-size:12px; letter-spacing:.14em; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__content h2 { font-size:28px; line-height:1.08; }
    .theme-thm32[data-book-paginated='true'] .thm32-leaf__content h3 { font-size:24px; line-height:1.12; }
    .theme-thm32[data-book-paginated='true'] .thm32-heading>p:not(.thm32-kicker) { font-size:15px; line-height:1.6; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy h2 { font-size:30px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__copy p.thm32-intro__signature { font-size:22px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown strong { font-size:26px; }
    .theme-thm32[data-book-paginated='true'] .thm32-countdown span { font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-intro__hero figcaption { font-size:14px; }
    .theme-thm32[data-book-paginated='true'] .thm32-photo-note { font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__media { width:132px; height:150px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__copy h3 { font-size:24px; }
    .theme-thm32[data-book-paginated='true'] .thm32-profile__copy>p:not(.thm32-kicker) { font-size:15px; line-height:1.6; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__date :is(span,small) { font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event--programme .thm32-event__copy h3,
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__heading h3 { font-size:24px; }
    .theme-thm32[data-book-paginated='true'] :is(.thm32-event--programme .thm32-event__time,.thm32-event--programme .thm32-event__venue) { font-size:15px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__programme :is(strong,span) { font-size:14px; }
    .theme-thm32[data-book-paginated='true'] .thm32-event-location__route-label { font-size:13px; }
    .theme-thm32[data-book-paginated='true'] .thm32-dresscode__swatch strong { font-size:13px; }
    .theme-thm32[data-book-paginated='true'] .thm32-livestream__access :is(dt,dd) { font-size:14px; }
    .theme-thm32[data-book-paginated='true'] .thm32-health-card strong { font-size:15px; }
    .theme-thm32[data-book-paginated='true'] .thm32-quote blockquote p { font-size:24px; }
    .theme-thm32[data-book-paginated='true'] .thm32-quote cite { font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__visual img { height:150px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__placeholder { height:140px; }
    .theme-thm32[data-book-paginated='true'] .thm32-story-entry__copy time { font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gallery__piece img { height:180px; }
    .theme-thm32[data-book-paginated='true'] .thm32-field :is(label,legend) { font-size:13px; }
    .theme-thm32[data-book-paginated='true'] .thm32-attendance__options label { font-size:14px; }
    .theme-thm32[data-book-paginated='true'] .thm32-wish-card blockquote { font-size:20px; }
    .theme-thm32[data-book-paginated='true'] .thm32-wish-card figcaption :is(strong,small) { font-size:12px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card__bank strong { font-size:14px; }
    .theme-thm32[data-book-paginated='true'] .thm32-gift-card__account strong { font-size:24px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing h2 { font-size:32px; }
    .theme-thm32[data-book-paginated='true'] .thm32-closing small { font-size:12px; }
}


/* ------------------------------------------------------------------------
   Authored pages (2026-10 review): ten finished compositions, never flowed.
   A page fills its paper; what does not belong on it opens as a sheet.
   ------------------------------------------------------------------------ */
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-leaf__content { height:100%; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page {
    display:flex; flex-direction:column; justify-content:center; gap:14px; height:100%; min-height:0; overflow:hidden; text-align:center;
}
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page>* { margin:0; flex:0 0 auto; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page .thm32-section { padding:0; margin:0; min-height:0; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page>.thm32-section+.thm32-section { padding-top:14px; border-top:1px solid var(--line); }
.thm32-page__head h2 { font-size:1.85rem; line-height:1.08; margin:6px 0 0; text-wrap:balance; }
.thm32-page__lead, .thm32-page__note { margin:0 auto; max-width:34ch; color:var(--muted,#6c6553); line-height:1.6; }
.thm32-page__note strong { color:var(--olive); }
.thm32-page__actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.thm32-page__action {
    align-self:center; display:inline-flex; align-items:center; gap:10px; min-height:44px; padding:0 20px; border:1px solid var(--olive,#46513b);
    border-radius:999px; background:transparent; color:var(--olive,#46513b); font:600 12px/1 var(--invie-font-body, 'Manrope'),sans-serif; letter-spacing:.06em; cursor:pointer;
}
.thm32-page__action--solid { background:var(--olive,#46513b); color:#f7f1e3; }

/* Story: a handwritten contents list. */
.thm32-page-story { display:grid; gap:4px; margin:0; padding:0; list-style:none; text-align:left; }
.thm32-page-story button { display:grid; grid-template-columns:auto 1fr; gap:14px; width:100%; padding:10px 6px; border:0; border-bottom:1px dashed var(--line); background:none; color:inherit; text-align:left; cursor:pointer; }
.thm32-page-story__number { font:italic 26px/1 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--gold,#a68d5c); }
.thm32-page-story__copy { display:grid; gap:2px; min-width:0; }
.thm32-page-story time { font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold,#a68d5c); }
.thm32-page-story strong { font:500 19px/1.2 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--ink,#2f3529); }
.thm32-page-story__copy>span { font-size:11.5px; line-height:1.5; color:var(--muted,#6c6553); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

/* Gallery: three prints fanned out of a paper pocket. */
.thm32-page-prints { position:relative; align-self:center; width:min(78%,300px); aspect-ratio:1/1; border:0; padding:0; background:none; cursor:pointer; }
.thm32-page-prints__print { position:absolute; left:50%; top:46%; width:58%; aspect-ratio:4/5; padding:7px 7px 22px; background:#fffbf0; box-shadow:2px 4px 12px #4a3d2630; translate:-50% -50%; }
.thm32-page-prints__print img { width:100%; height:100%; object-fit:cover; display:block; }
.thm32-page-prints__print:nth-child(1) { rotate:-9deg; translate:-78% -52%; }
.thm32-page-prints__print:nth-child(2) { rotate:7deg; translate:-24% -50%; }
.thm32-page-prints__print:nth-child(3) { rotate:-1deg; translate:-50% -44%; }
.thm32-page-prints__print--film { display:grid; place-items:center; font-size:38px; color:var(--olive); }
.thm32-page-prints__pocket { position:absolute; inset:auto 4% 0; height:34%; background:linear-gradient(#e9dfc9,#e2d6bd); border:1px solid #cbbd9d; border-radius:2px 2px 6px 6px; box-shadow:0 -2px 6px #4a3d2618; }
.thm32-page-prints__pocket::before { content:''; position:absolute; inset:7px; border:1px dashed #bba984; border-radius:2px 2px 4px 4px; }

/* RSVP: a reply card standing in its sleeve. */
.thm32-page-card { position:relative; align-self:center; width:min(80%,290px); aspect-ratio:1.1; border:0; padding:0; background:none; cursor:pointer; }
.thm32-page-card__slip { position:absolute; left:8%; right:8%; top:0; bottom:22%; display:grid; align-content:center; gap:8px; padding:18px 14px; background:#fffbf0; border:1px solid #d9cba9; box-shadow:0 3px 10px #4a3d2624; rotate:-3deg; transition:translate .4s ease; }
.thm32-page-card:hover .thm32-page-card__slip { translate:0 -6px; }
.thm32-page-card__mark { font:500 22px/1 var(--invie-font-heading, 'Cormorant Garamond'),serif; letter-spacing:.16em; color:var(--olive); }
.thm32-page-card__line { font:italic 15px/1.3 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--ink,#2f3529); }
.thm32-page-card__guest { font-size:11px; letter-spacing:.06em; color:var(--muted,#6c6553); }
.thm32-page-card__sleeve { position:absolute; inset:46% 0 0; background:linear-gradient(#46513b,#3a4431); border-radius:2px 2px 4px 4px; box-shadow:0 -1px 0 #6a7558 inset,0 4px 10px #2a301f33; }
.thm32-page-card__sleeve::before { content:''; position:absolute; left:50%; top:-1px; width:44%; height:16px; translate:-50% 0; background:#3a4431; border-radius:0 0 50% 50%; }

/* Guest book: notes pinned to a ruled page. */
.thm32-page-notes { display:grid; gap:10px; text-align:left; }
.thm32-page-notes__note { margin:0; padding:12px 14px; background:#fbf5e6; border:1px solid #e3d6b8; box-shadow:1px 2px 6px #4a3d261c; }
.thm32-page-notes__note:nth-child(odd) { rotate:-1.2deg; }
.thm32-page-notes__note:nth-child(even) { rotate:1deg; }
.thm32-page-notes__note blockquote { margin:0; font:italic 15px/1.45 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--ink,#2f3529); }
.thm32-page-notes__note figcaption { margin-top:6px; font-size:10.5px; letter-spacing:.05em; color:var(--muted,#6c6553); }
.thm32-page-notes__lines { display:grid; gap:22px; padding:10px 6px; }
.thm32-page-notes__lines span { height:1px; background:var(--line); }

/* Gift: an envelope sealed with the monogram. */
.thm32-page-envelope { position:relative; align-self:center; width:min(78%,300px); aspect-ratio:1.55; border:0; padding:0; cursor:pointer;
    background:linear-gradient(160deg,#efe5cf,#e3d5b6); border:1px solid #cdbd98; box-shadow:0 6px 16px #4a3d2630; overflow:hidden; }
.thm32-page-envelope::before, .thm32-page-envelope::after { content:''; position:absolute; bottom:0; width:60%; height:70%; background:#e8dcc1; }
.thm32-page-envelope::before { left:0; clip-path:polygon(0 0,100% 100%,0 100%); }
.thm32-page-envelope::after { right:0; clip-path:polygon(100% 0,100% 100%,0 100%); }
.thm32-page-envelope__flap { position:absolute; inset:0 0 38%; z-index:1; background:linear-gradient(#e9ddc2,#dccdab); clip-path:polygon(0 0,100% 0,50% 100%); }
.thm32-page-envelope__seal { position:absolute; z-index:2; left:50%; top:62%; width:58px; height:58px; translate:-50% -50%; display:grid; place-items:center;
    border-radius:50%; background:radial-gradient(circle at 35% 30%,#8f3f33,#6a2a22 70%); color:#f2dcc0; font:500 17px/1 var(--invie-font-heading, 'Cormorant Garamond'),serif; letter-spacing:.06em; box-shadow:0 2px 5px #2a1a1440; }

/* Sheets: paper drawn out of the book. */
.thm32-sheet { width:min(94vw,640px); max-height:min(88dvh,820px); padding:0; border:0; border-radius:4px; background:#f7f1e3; color:var(--ink,#2f3529); box-shadow:0 30px 60px #20241a55; overflow:hidden; }
.thm32-sheet::backdrop { background:#20241ab3; }
.thm32-sheet[open] { display:flex; flex-direction:column; }
.thm32-sheet__close { position:absolute; z-index:3; top:8px; right:10px; width:44px; height:44px; border:0; background:none; font:28px/1 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--ink); cursor:pointer; }
.thm32-sheet__paper { overflow:auto; overscroll-behavior:contain; padding:34px clamp(18px,5vw,40px) 30px; }
.thm32-sheet__paper .thm32-section { display:block; padding:0; margin:0; min-height:0; opacity:1!important; transform:none!important; }
.thm32-sheet__paper :is(.thm32-rsvp__layout,.thm32-wishes__guestbook,.thm32-gift__accounts,.thm32-story-entry) { grid-template-columns:1fr!important; gap:22px!important; }
.thm32-sheet__paper .thm32-heading { text-align:center; margin-bottom:18px; }
.thm32-sheet__paper .thm32-story__timeline { display:grid; gap:30px; }
.thm32-sheet__paper .thm32-story-entry__visual img { width:100%; max-height:46vh; object-fit:cover; }
.thm32-sheet__paper .thm32-gallery__collage { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.thm32-sheet__paper .thm32-gallery__piece { margin:0!important; transform:none!important; }
.thm32-sheet__paper .thm32-gallery__piece img { width:100%; aspect-ratio:4/5; height:auto; object-fit:cover; }
.thm32-sheet__paper .thm32-rsvp__mark { display:none; }

/* Compact compositions for the pages that keep their original sections. */
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page { justify-content:safe center; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page :is(h2) { font-size:1.7rem; line-height:1.08; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page .thm32-heading { margin:0 0 6px; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page :is(.thm32-photo-note,.thm32-batik-corner,.thm32-quote__brush,.thm32-profile__brush,.thm32-rsvp__mark) { display:none; }

/* Opening: words first, a small portrait beneath. */
.thm32-page--opening .thm32-intro { display:flex!important; flex-direction:column; align-items:center; gap:10px; }
.thm32-page--opening .thm32-intro__copy h2 { font-size:1.9rem!important; margin:4px 0 0!important; }
.thm32-page--opening .thm32-intro__copy>p:not(.thm32-kicker):not(.thm32-intro__signature) { font-size:12px; line-height:1.55; max-width:34ch; margin:6px auto 0; }
.thm32-page--opening .thm32-divider { margin:6px 0; }
.thm32-page--opening .thm32-intro__signature { margin:6px 0 0; }
.thm32-page--opening .thm32-countdown { margin-top:8px; }
.thm32-page--opening .thm32-intro__hero { width:auto!important; max-width:62%; margin:0 auto!important; }
.thm32-page--opening .thm32-intro__hero>img, .thm32-page--opening .thm32-intro__monogram { width:auto!important; height:170px!important; max-height:none!important; aspect-ratio:4/5!important; object-fit:cover; }
.thm32-page--opening .thm32-intro__hero figcaption { font-size:12px; }

/* The couple side by side, like two portraits on one page. */
.thm32-page--couple .thm32-couple__heading>p:not(.thm32-kicker) { font-size:11.5px; line-height:1.5; max-width:38ch; margin:4px auto 0!important; }
.thm32-page--couple .thm32-couple__profiles { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:14px!important; align-items:start; }
.thm32-page--couple .thm32-profile { display:block; margin:0!important; }
.thm32-page--couple .thm32-profile__media { width:min(100%,150px)!important; height:auto!important; aspect-ratio:4/5!important; margin:0 auto 10px!important; padding:5px!important; }
.thm32-page--couple .thm32-profile__media img, .thm32-page--couple .thm32-profile__monogram { width:100%!important; height:100%!important; object-fit:cover; }
.thm32-page--couple .thm32-profile h3 { font-size:1.2rem!important; line-height:1.15; margin:3px 0 4px; }
.thm32-page--couple .thm32-profile__copy>p:not(.thm32-kicker) { font-size:11px; line-height:1.45; margin:0; }
.thm32-page--couple .thm32-profile .thm32-kicker { font-size:9px; }
.thm32-page--couple .thm32-text-link { margin-top:4px; font-size:11px!important; }

/* Events: tickets in brief, one venue card with directions. */
.thm32-page--events .thm32-events__tickets { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
.thm32-page--events .thm32-event { margin:0!important; padding:10px!important; text-align:left; }
.thm32-page--events .thm32-event__masthead { gap:8px; }
.thm32-page--events .thm32-event__date time { padding:0; }
.thm32-page--events .thm32-event__date strong { font-size:26px; }
.thm32-page--events .thm32-event h3 { font-size:1.15rem!important; margin:2px 0 0; }
.thm32-page--events .thm32-event__time { margin:6px 0 2px; font-size:12px; }
.thm32-page--events .thm32-event__venue { margin:0; font-size:11px; }
.thm32-page--events .thm32-event__actions button[data-thm32-location-target] { display:none; }
.thm32-page--events .thm32-event__actions { margin-top:6px; }
.thm32-page--events .thm32-event-location { grid-column:1/-1; margin:0!important; padding:10px 12px!important; text-align:center; }
.thm32-page--events .thm32-event-location h3 { font-size:1.2rem!important; }
.thm32-page--events .thm32-event-location address { font-size:11px; margin:4px 0 0; }
.thm32-page--events :is(.thm32-event-location__programme,.thm32-event-location__route-label) { display:none; }
.thm32-page--events .thm32-event-location__actions { justify-content:center; margin-top:8px; }

/* Notes for guests: palette, stream and care, each in a few lines. */
.thm32-page--notes { gap:10px!important; }
.thm32-page--notes .thm32-section { display:block!important; }
.thm32-page--notes h2 { font-size:1.25rem!important; margin:2px 0 0!important; }
.thm32-page--notes :is(.thm32-dresscode__copy,.thm32-livestream__copy,.thm32-health__copy)>p:not(.thm32-kicker) { display:none; }
.thm32-page--notes .thm32-dresscode__palette { display:flex!important; justify-content:center; gap:14px!important; margin:8px 0 0!important; }
.thm32-page--notes .thm32-dresscode__swatch { display:grid; justify-items:center; gap:4px; }
.thm32-page--notes .thm32-dresscode__swatch>span { width:34px!important; height:34px!important; border-radius:50%!important; }
.thm32-page--notes .thm32-dresscode__swatch strong { font-size:10px; font-weight:600; }
.thm32-page--notes .thm32-livestream__signal { display:none; }
.thm32-page--notes .thm32-livestream__access { margin:6px auto 0!important; padding:8px 12px!important; display:flex; align-items:center; justify-content:center; gap:12px; }
.thm32-page--notes .thm32-livestream__meta { display:none; }
.thm32-page--notes .thm32-health__grid { display:flex!important; flex-wrap:wrap; justify-content:center; gap:6px!important; margin-top:6px; }
.thm32-page--notes .thm32-health-card { padding:4px 10px!important; border:1px solid var(--line); border-radius:999px; font-size:11px; }
.thm32-page--notes .thm32-health-card :is(p,.thm32-health-card__number) { display:none; }
.thm32-page--notes .thm32-health-card h3 { font:600 11px/1.4 var(--invie-font-body, 'Manrope'),sans-serif!important; margin:0; }

/* Closing: the prayer, then the couple's thanks under one small photograph. */
.thm32-page--closing .thm32-quote blockquote, .thm32-page--closing .thm32-quote p { font-size:1.08rem!important; line-height:1.45!important; margin:0 auto; max-width:32ch; }
.thm32-page--closing .thm32-quote cite { font-size:10px; }
.thm32-page--closing .thm32-closing { display:flex!important; flex-direction:column; align-items:center; gap:8px; }
.thm32-page--closing .thm32-closing__media { width:auto!important; height:118px!important; aspect-ratio:4/3; margin:0 auto!important; }
.thm32-page--closing .thm32-closing__copy h2, .thm32-page--closing .thm32-closing__copy h3 { font-size:1.7rem!important; }
.thm32-page--closing .thm32-closing__copy p { font-size:11.5px; margin:4px 0 0; }
.thm32-page--opening .thm32-intro__hero>img, .thm32-page--opening .thm32-intro__monogram { height:150px!important; }
.thm32-page--events .thm32-event__masthead { display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.thm32-page--events .thm32-event__date time { display:flex; align-items:baseline; gap:5px; flex-wrap:wrap; }
.thm32-page--events .thm32-event__date :is(span,small) { font-size:9px; }
.thm32-page--events .thm32-event__date strong { font-size:20px; line-height:1; }
.thm32-page--notes .thm32-health-card { flex:0 0 auto; width:auto!important; min-width:0; white-space:nowrap; display:block!important; }
/* The venue card already names the place; tickets keep the time. */
.thm32-page--events .thm32-events__tickets:has(.thm32-event-location) .thm32-event__venue { display:none; }
.thm32-page--events .thm32-event-location address { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.thm32-page--events .thm32-event-location .thm32-button { min-height:38px; padding-block:8px; }
.thm32-page--opening .thm32-intro__hero { margin-top:10px!important; transform:none!important; rotate:none; }
.thm32-page--opening .thm32-intro__hero figcaption { display:none; }
.thm32-sheet__close:focus-visible { outline:1px solid var(--line); outline-offset:-8px; border-radius:50%; }
/* The way forward is the main control of a book: make it easy to see. */
.theme-thm32 .thm32-reader button { min-width:48px; min-height:48px; border:1px solid var(--line); border-radius:50%; background:#f6f0e1cc; color:var(--olive,#46513b); }
.theme-thm32 .thm32-reader button span { font-size:20px; line-height:1; }
.theme-thm32 .thm32-reader button:disabled { opacity:.35; }
.theme-thm32 .thm32-reader>div>span { font-size:12px!important; letter-spacing:.14em; color:var(--olive,#46513b); }

/* A single page turned like paper: slices of the page roll over a curl. */
.thm32-fold { position:fixed; z-index:40; pointer-events:none; perspective:1800px; transform-style:preserve-3d; }
.thm32-fold__strip { position:absolute; top:0; bottom:0; transform-origin:left center; transform-style:preserve-3d; will-change:transform; }
.thm32-fold__strip>.thm32-fold__front { position:absolute; top:0; bottom:0; visibility:visible!important; opacity:1!important; background:var(--paper,#f6efdf);
    backface-visibility:hidden; -webkit-backface-visibility:hidden; }
.thm32-fold__back { position:absolute; inset:0; transform:rotateY(180deg); backface-visibility:hidden; -webkit-backface-visibility:hidden; background:#efe6d1; }
.thm32-fold__light { position:absolute; inset:0; background:#3b2e18; opacity:0; pointer-events:none; }


/* Fixed paper: each page is laid out at 320 x 540 and scaled with the book
   (book-reader.js sets --thm32-page-scale), so its composition is identical
   on every screen and never clipped. */
.theme-thm32[data-book-paginated] .thm32-leaf.thm32-leaf[data-book-fixed] {
    --thm32-leaf-media-height:180px; --thm32-leaf-body-size:13.5px; --thm32-leaf-gap:12px;
    padding:calc(20px * var(--thm32-page-scale,1)) calc(18px * var(--thm32-page-scale,1));
    gap:calc(36px * var(--thm32-page-scale,1)); font-size:13.5px;
}
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-leaf__column { overflow:visible; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-leaf__content {
    width:320px; height:540px; transform:scale(var(--thm32-page-scale,1)); transform-origin:0 0;
}
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page :is(p,address,li,blockquote) { font-size:13.5px; }
.theme-thm32 .thm32-leaf[data-book-fixed] .thm32-page .thm32-kicker { font-size:10px; }
/* The book is sized by script; a page too tall for a short phone scrolls. */
.theme-thm32 .thm32-book-rig { flex:0 0 auto; }
.theme-thm32[data-book-scroll='true'] .thm32-book-scene { overflow-y:auto; justify-content:flex-start; padding-bottom:8px; }
/* Closing and opening, tightened to sit within the fixed paper. */
.thm32-page--closing .thm32-closing__copy h2 { display:flex; flex-wrap:wrap; justify-content:center; align-items:baseline; gap:0 .3em; margin:2px 0 0!important; }
.thm32-page--closing .thm32-closing__copy h2>* { display:inline!important; margin:0!important; }
.thm32-page--closing .thm32-closing__copy h2 i { font-size:.7em; }
.thm32-page--closing .thm32-closing__copy small { font-size:9.5px; margin-top:4px; }
.thm32-page--closing .thm32-closing__media { height:108px!important; }
.thm32-page--opening .thm32-intro__hero>img, .thm32-page--opening .thm32-intro__monogram { height:132px!important; }
.thm32-page--opening .thm32-intro__hero>img, .thm32-page--opening .thm32-intro__monogram { height:112px!important; }
.thm32-page--opening .thm32-intro { gap:6px!important; }
.thm32-page--opening .thm32-countdown { margin-top:4px!important; }
/* Single-page reading (from the moment the cover starts to open): a compact top bar carries sound and motion, the
   bottom keeps only the page turn, and the book takes the rest. */
@media (max-width:600px), (max-width:900px) and (orientation:portrait) {
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-masthead { height:58px; padding-block:10px; }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-wordmark { font-size:30px; }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-wordmark span { display:none; }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-book-scene { top:calc(62px + env(safe-area-inset-top,0px)); bottom:calc(10px + env(safe-area-inset-bottom,0px)); inset-inline:12px; justify-content:center; gap:10px; }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) :is(.thm32-motion,.thm32-sound) { position:fixed; top:calc(9px + env(safe-area-inset-top,0px)); bottom:auto; left:auto; width:40px; height:40px; min-width:0; padding:0; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#f6f0e1cc; }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-sound { right:calc(6vw + 104px); }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-motion { right:calc(6vw + 150px); }
    .theme-thm32:is(.thm32-is-open,.thm32-is-opening) .thm32-motion small { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden; clip-path:inset(50%); }
}
/* Spreads: a little less air above and below, so the book reads larger. */
@media (min-width:901px), (min-width:601px) and (orientation:landscape) {
    .theme-thm32.thm32-is-open .thm32-book-scene { top:84px; bottom:58px; gap:12px; }
}
/* Turning a page by dragging must never select its words. */
.theme-thm32 :is(.thm32-book,.thm32-turn-clone,.thm32-fold) { -webkit-user-select:none; user-select:none; -webkit-touch-callout:none; }
/* Button labels stay on one line, also in the painted copy of a turning page. */
.theme-thm32 .thm32-page :is(.thm32-page__action,.thm32-text-link,.thm32-button,.thm32-event__actions>*) { white-space:nowrap; }

/* The hardcover swinging open on a single-page reader: past halfway the
   reader sees the inside of the board, an ivory endpaper. */
.theme-thm32 .thm32-cover__book.is-turned { background:#efe6d1; }
.theme-thm32 .thm32-cover__book.is-turned>* { visibility:hidden; }
.theme-thm32 .thm32-cover__book.is-turned::after { background:linear-gradient(90deg,transparent 80%,#4b3e2933); }
.theme-thm32 .thm32-cover__book::before { content:''; position:absolute; inset:0; z-index:4; pointer-events:none; border-radius:inherit; background:#20180c; opacity:var(--cover-shade,0); }

/* ------------------------------------------------------------------------
   Events, films, Kirim Kado and longer lists (2026-10 add-ons): pages keep
   a composition that fits their paper (book-pagination.js, fitFixed adds the
   page's next thm32-fit--* step while it overflows); details open on sheets.
   ------------------------------------------------------------------------ */
/* Events page: one or two tickets with their venue card. */
.thm32-page-tickets { display:grid; gap:10px; }
.thm32-page--events .thm32-events__tickets.thm32-events__tickets--single { grid-template-columns:minmax(0,1fr)!important; }
.thm32-page--events .thm32-events__tickets--single .thm32-event__masthead { flex-direction:row; align-items:center; gap:14px; }
.thm32-page--events .thm32-events__tickets--single .thm32-event__date { flex:0 0 auto; padding-right:14px; border-right:1px solid var(--line); }
.thm32-page--events .thm32-events__tickets--single .thm32-event__date time { display:grid; justify-items:center; gap:2px; }
.thm32-page--events .thm32-events__tickets--single .thm32-event__date strong { font-size:34px; }
.thm32-page--events .thm32-events__tickets--single .thm32-event h3 { font-size:1.45rem!important; }
.thm32-page--events .thm32-page-tickets .thm32-event-location address { display:block; -webkit-line-clamp:none; overflow:visible; }
/* Events page: the programme list, when the tickets do not fit or there are more events or places. */
.thm32-page-tickets ~ :is(.thm32-page-programme,.thm32-page-programme__note,.thm32-page-programme__action) { display:none; }
.thm32-page.thm32-fit--programme .thm32-page-tickets { display:none; }
.thm32-page.thm32-fit--programme .thm32-page-tickets ~ .thm32-page-programme { display:grid; }
.thm32-page.thm32-fit--programme .thm32-page-tickets ~ .thm32-page-programme__note { display:block; }
.thm32-page.thm32-fit--programme .thm32-page-tickets ~ .thm32-page-programme__action { display:inline-flex; }
.thm32-page-programme { display:grid; margin:0; padding:0; list-style:none; text-align:left; border-top:1px solid var(--line); }
.thm32-page-programme>li { border-bottom:1px solid var(--line); }
.thm32-page-programme button { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:12px; width:100%; min-height:44px; padding:8px 4px; border:0; background:none; color:inherit; text-align:left; cursor:pointer; }
.thm32-page-programme button:hover .thm32-page-programme__copy strong { text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:4px; }
.thm32-page-programme__date { display:grid; justify-items:center; align-content:center; color:var(--olive); text-align:center; }
.thm32-page-programme__date small { font-size:9.5px; line-height:1.35; letter-spacing:.12em; color:var(--gold); }
.thm32-page-programme__date strong { font:500 25px/1 var(--invie-font-heading, 'Cormorant Garamond'),serif; }
.thm32-page-programme__copy { display:grid; gap:1px; min-width:0; }
.thm32-page-programme__copy strong { font:500 18px/1.2 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--ink); overflow-wrap:anywhere; }
.thm32-page-programme__copy span { font-size:12px; line-height:1.45; color:var(--muted); overflow-wrap:anywhere; }
.thm32-page-programme__copy .thm32-page-programme__time { font-weight:600; color:var(--ink); }
.thm32-page-programme--roomy button { padding-block:13px; }
.thm32-page-programme--roomy .thm32-page-programme__date strong { font-size:31px; }
.thm32-page-programme--roomy .thm32-page-programme__copy strong { font-size:21px; }
.thm32-page-programme .thm32-page-programme__more { display:none; }
.thm32-page-programme__more .thm32-page-programme__date strong { font-size:22px; color:var(--gold); }
.thm32-page-programme__more .thm32-page-programme__copy strong { font:600 12px/1.4 var(--invie-font-body, 'Manrope'),sans-serif; letter-spacing:.06em; color:var(--olive); }
.thm32-page.thm32-fit--compact .thm32-page-programme__venue { display:none; }
.thm32-page.thm32-fit--compact .thm32-page-programme--roomy button { padding-block:8px; }
.thm32-page.thm32-fit--compact .thm32-page-programme--roomy .thm32-page-programme__copy strong { font-size:18px; }
.thm32-page.thm32-fit--dense { gap:9px!important; }
.thm32-page.thm32-fit--dense .thm32-page-programme__note { display:none!important; }
.thm32-page.thm32-fit--dense .thm32-page-programme button { padding-block:4px; }
.thm32-page.thm32-fit--dense .thm32-page-programme__copy strong { font-size:16px; }
.thm32-page.thm32-fit--short .thm32-page-programme__extra { display:none; }
.thm32-page.thm32-fit--short .thm32-page-programme .thm32-page-programme__more { display:block; }
/* Events sheet: every ticket, two to a row where there is room, then each venue in full. */
.thm32-sheet--events .thm32-events__tickets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.thm32-sheet--events .thm32-event { margin:0; }
.thm32-sheet--events :is(.thm32-event--wide,.thm32-event-location) { grid-column:1/-1; }
.thm32-sheet--events .thm32-event-location { scroll-margin-top:16px; }
@media (max-width:560px) { .thm32-sheet--events .thm32-events__tickets { grid-template-columns:minmax(0,1fr); } }

/* Story page: four moments, and how many more the sheet holds. */
.thm32-page-story strong { overflow-wrap:anywhere; }
.thm32-page-story .thm32-page-story__more button { align-items:center; border-bottom:0; }
.thm32-page-story__more .thm32-page-story__number { font-size:21px; }
.thm32-page-story__more .thm32-page-story__copy strong { font:600 12px/1.4 var(--invie-font-body, 'Manrope'),sans-serif; letter-spacing:.06em; color:var(--olive); }
.thm32-page-story .thm32-page-story__more--short { display:none; }
.thm32-page.thm32-fit--brief .thm32-page-story__copy>span { -webkit-line-clamp:1; }
.thm32-page.thm32-fit--titles .thm32-page-story__copy>span { display:none; }
.thm32-page.thm32-fit--short :is(.thm32-page-story__fourth,.thm32-page-story__more:not(.thm32-page-story__more--short)) { display:none; }
.thm32-page.thm32-fit--short .thm32-page-story .thm32-page-story__more--short { display:block; }

/* Couple page: long names take smaller portraits before anything is cut. */
.thm32-page--couple.thm32-fit--compact .thm32-profile__media { width:min(100%,112px)!important; margin-bottom:6px!important; }
.thm32-page--couple.thm32-fit--tight .thm32-profile__media { width:min(100%,84px)!important; }
.thm32-page--couple.thm32-fit--tight .thm32-profile h3 { font-size:1.05rem!important; }
.thm32-page--couple.thm32-fit--small :is(.thm32-profile__copy,.thm32-couple__heading)>p:not(.thm32-kicker) { font-size:12px!important; line-height:1.4!important; }

/* Gallery page: a couple with films and no photographs shows the poster of the first. */
.thm32-page-prints__print.thm32-page-prints__print--film { rotate:-3deg; translate:-50% -50%; display:grid; place-items:center; }
.thm32-page-prints__print--film>* { grid-area:1/1; }
.thm32-page-prints__play { position:relative; width:48px; height:48px; border-radius:50%; background:#f7f1e3ee; box-shadow:0 4px 12px #2a301f40; }
.thm32-page-prints__play::before { content:''; position:absolute; left:19px; top:15px; border-block:9px solid transparent; border-inline-start:14px solid var(--olive); }

/* Album sheet: an odd last photograph sits in the middle; the films follow the photographs. */
.thm32-sheet__paper .thm32-gallery__piece:last-child:nth-child(odd) { grid-column:1/-1; justify-self:center; width:calc(50% - 5px); }
.thm32-sheet__paper .thm32-gallery__piece.thm32-gallery__piece:only-child { width:min(100%,340px); }
.theme-thm32 .thm32-sheet__paper .thm32-gallery__piece:only-child img { height:auto; aspect-ratio:4/5; }
:is(.thm32-sheet--gallery,.thm32-sheet--gift) .thm32-sheet__paper>.thm32-section+.thm32-section { margin-top:34px; padding-top:30px; border-top:1px solid var(--line); }
.thm32-video { --theme-video-gap:18px; --theme-video-border:#d9cba9; --theme-video-frame:#2f3a2a; --theme-video-button:#f7f1e3; --theme-video-button-text:var(--olive,#3e4b36); }
.theme-thm32 .thm32-video .theme-video__frame { border:6px solid #fffbf0; box-shadow:0 0 0 1px #d9cba9,2px 4px 12px #4a3d2630; }
.theme-thm32[data-theme-version='v2'] .thm32-video .theme-video__caption { margin-top:8px; font:italic 17px/1.35 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--ink); }

/* Kirim Kado: an address card in the look of the transfer details. */
.thm32-gift-address__list { display:grid; gap:18px; }
.theme-thm32 .thm32-gift-card--address { display:grid; gap:8px; text-align:left; }
.thm32-gift-card--address .thm32-gift-card__masthead { margin-bottom:6px; }
.thm32-gift-card__recipient { display:grid; gap:3px; }
.thm32-gift-card__recipient span { color:var(--muted); font-size:11px; }
.thm32-gift-card__recipient strong { font:500 24px/1.2 var(--invie-font-heading, 'Cormorant Garamond'),serif; overflow-wrap:anywhere; }
.theme-thm32 .thm32-gift-card__phone { display:inline-flex; align-items:center; width:fit-content; min-height:44px; color:var(--olive); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.thm32-gift-card__address { font-style:normal; line-height:1.65; overflow-wrap:anywhere; }
.thm32-gift-card__note { font:italic 16px/1.45 var(--invie-font-heading, 'Cormorant Garamond'),serif; color:var(--muted); overflow-wrap:anywhere; }
.thm32-gift-card--address .thm32-button { justify-self:start; margin-top:4px; }
/* The pinned notes lean a little; keep their corners on the paper. */
.thm32-page-notes { padding-inline:6px; }
/* A sheet is laid out in full the moment it opens, so a link into it ("+2 cerita lagi", an event
   of the programme, Kirim Kado) lands on its target instead of on a placeholder height. */
.thm32-sheet__paper [data-theme-section] { content-visibility:visible; contain-intrinsic-size:none; }
/* Full-width rows on the paper draw their focus ring inside, where the page edge cannot cut it. */
.theme-thm32 :is(.thm32-page-programme,.thm32-page-story) button:focus-visible { outline-offset:-3px!important; }

/* Teks & Font: denser steps for the couple's longer words or a wider font of their own
   (fitFixed adds them one by one, only while the page overflows its paper). */
.thm32-page--opening.thm32-fit--compact .thm32-intro__hero>img, .thm32-page--opening.thm32-fit--compact .thm32-intro__monogram { height:76px!important; }
.thm32-page--opening.thm32-fit--tight .thm32-intro__hero { display:none!important; }
.thm32-page--couple.thm32-fit--short .thm32-profile__media { width:min(100%,60px)!important; }
.thm32-page--couple.thm32-fit--short h2 { font-size:1.4rem!important; }
.thm32-page--notes.thm32-fit--compact { gap:6px!important; }
.thm32-page--notes.thm32-fit--compact h2 { font-size:1.1rem!important; }
.thm32-page--notes.thm32-fit--compact>.thm32-section+.thm32-section { padding-top:8px!important; }
.thm32-page--closing.thm32-fit--compact .thm32-closing__media { height:72px!important; }
.thm32-page--closing.thm32-fit--tight :is(.thm32-closing__media,.thm32-closing__monogram) { display:none!important; }

/* Preview audit (2026-10-26). */
/* Notes page: the care pills hold their title only; the phone rule that made room for the hidden
   number must not leave an empty gap in front of it. */
.theme-thm32 .thm32-page--notes .thm32-health-card strong { min-height:0; padding-left:0; }
/* Events page, two tickets side by side on a spread: date above the name, both flush left like on
   phones, without the divider that belongs to the single ticket's date column. The calendar link
   sits at the foot of each ticket, so both line up whatever the length of the names. */
.theme-thm32 .thm32-page--events .thm32-events__tickets:not(.thm32-events__tickets--single) .thm32-event__masthead { align-items:flex-start; }
.theme-thm32[data-book-paginated] .thm32-page--events .thm32-events__tickets:not(.thm32-events__tickets--single) .thm32-event--programme .thm32-event__date {
    flex:0 0 auto; padding:0; border-right:0; text-align:left;
}
.theme-thm32 .thm32-page--events .thm32-event--programme { display:flex; flex-direction:column; }
.theme-thm32 .thm32-page--events .thm32-event--programme .thm32-event__actions { margin-top:auto; padding-top:6px; }
/* A bank without its own logo shows the pale gift icon; tint it so it reads on the paper. */
.thm32-gift-card__bank img[src$='/default.png'] { filter:brightness(.6) sepia(.5); opacity:.75; }
/* Sheets meet the 12px floor of the controls around the book; small labels stay at 10–11px. */
.thm32-sheet__paper .thm32-kicker { font-size:11px; letter-spacing:.16em; }
.theme-thm32 .thm32-sheet__paper :is(.thm32-button,.thm32-text-link) { font-size:12px!important; }
.thm32-sheet__paper :is(.thm32-gift-card__masthead,.thm32-story-entry__chapter) { font-size:10px; }
.theme-thm32 .thm32-sheet__paper .thm32-wishes__messages li time { font-size:11px; }
/* Wishes sheet: the name and the send button span the paper like the message and the RSVP button,
   instead of half a row each beside an empty column. */
.thm32-sheet__paper .thm32-wishes__form>:is(.thm32-field,.thm32-button) { grid-column:1/-1; }
/* The italic numbers of the story list and its sheet sit on the line with the titles (lining figures, as in the
   rest of the book), instead of Cormorant's hanging old-style 3 and 4. */
:is(.thm32-page-story__number,.thm32-story-entry__placeholder strong,.thm32-story-entry__visual figcaption) { font-variant-numeric:lining-nums; }
/* Phones, before opening: sound and motion wait in the top bar where the open book keeps them,
   instead of hanging over the corners of the hardcover. */
@media (max-width:500px) {
    .theme-thm32:not(.thm32-is-open):not(.thm32-is-opening) :is(.thm32-motion,.thm32-sound) {
        top:calc(9px + env(safe-area-inset-top,0px)); width:40px; height:40px; min-width:0; padding:0;
        display:grid; place-items:center; border-radius:50%; background:#f6f0e1cc;
    }
    .theme-thm32:not(.thm32-is-open):not(.thm32-is-opening) .thm32-sound { right:calc(6vw + 104px); }
    .theme-thm32:not(.thm32-is-open):not(.thm32-is-opening) .thm32-motion { left:auto; right:calc(6vw + 150px); }
    .theme-thm32:not(.thm32-is-open):not(.thm32-is-opening) .thm32-motion small { display:none; }
}
