/* V5.4 independent component compositions. The approved hero is not modified. */
.v54-component{contain:layout style;isolation:isolate}
.v54-component:after{pointer-events:none}
.v54-component :is(h2,h3,figure,p,blockquote){max-width:100%}
.v54-component img{display:block;max-width:100%;object-fit:cover}
.v54-component .panel-eyebrow{letter-spacing:.16em}
.v54-component .section-head{margin-bottom:12px}
.v54-component :is(.sample-note,.gallery-footnote){font-size:10px;line-height:1.5}
.v54-component.layout-kf-002{border-radius:21px;background:linear-gradient(160deg,#fff7f4,#fff1ed);box-shadow:0 5px 20px #b58d7512}
.v54-component.layout-kf-003{border-radius:4px;border-color:#d2c3ac;background:#fffdfa}
.v54-component.layout-kf-004{border-radius:19px;background:#fffbf4;border:1px solid #dfb9a2}
.v54-component.layout-kf-005{border-radius:24px;background:linear-gradient(140deg,#fffdfb,#f4effa);border:1px solid #d9cce9}
.v54-component .rose-heading,.v54-component .heritage-header,.v54-component .moon-cal-title{text-align:center;margin:0 auto 15px}
.v54-component .rose-heading>span,.v54-component .heritage-header>.panel-eyebrow,.v54-component .moon-cal-title .panel-eyebrow{display:block;font:700 10px 'Segoe UI',sans-serif;letter-spacing:.15em;margin-bottom:5px}
.v54-component .rose-heading h2,.v54-component .heritage-header h2,.v54-component .moon-cal-title h2{font:italic 27px/1.16 Georgia,serif;margin:4px auto 10px;color:var(--deep)}
.v54-component .rose-heading:after{content:'♡ ───── ♡ ───── ♡';display:block;font:11px Georgia,serif;color:#cd9c9c;margin-top:9px}
.v54-component .heritage-header:after{content:'✤  ─────────  ✤';font:12px Georgia,serif;color:#c88767}
.v54-component .ruled-heading{border-bottom:1px solid var(--tint);padding-bottom:15px;margin-bottom:18px}
.v54-component .ruled-heading>span{display:block;font:700 10px 'Segoe UI',sans-serif;letter-spacing:.2em}
.v54-component .ruled-heading h2{font:40px/1.02 Georgia,serif;letter-spacing:-.04em;margin:12px 0 0}
.v54-component .moon-cal-title h2{color:#6f5383}.v54-component .moon-cal-title:after{content:'✧  ────  ✧';display:block;color:#ac8cbe}
/* STORY 1: preserved botanical split composition */
.v54-story.layout-kf-001{display:grid;grid-template-columns:49% 51%;padding:0;overflow:hidden;min-height:235px}
.v54-story.layout-kf-001 .story-portrait{width:100%;height:100%;min-height:245px;mask-image:linear-gradient(90deg,transparent,#000 25%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 25%)}
/* STORY 2: scrapbook with tilted separate photo cards */
.v54-story.layout-kf-002{display:flex;flex-direction:column;min-height:0;padding:20px 18px 25px}
.scrapbook-heading{text-align:center}.scrapbook-heading h2{font:italic 29px Georgia,serif;margin:8px auto;color:#b75d59}
.scrapbook-pictures{display:flex;gap:0;justify-content:center;align-items:center;min-height:234px;padding:18px 2px 11px}
.scrapbook-pictures figure{width:57%;background:white;padding:7px 7px 27px;margin:0;box-shadow:0 8px 23px #452b2636;transform:rotate(-7deg);position:relative;border-radius:3px}
.scrapbook-pictures figure+figure{transform:rotate(8deg);margin-left:-17px;margin-top:24px}
.scrapbook-pictures img{aspect-ratio:4/4.4;width:100%;object-fit:cover}
.scrapbook-pictures figcaption{font:italic 11px Georgia,serif;color:#995b55;text-align:center;margin-top:8px}
.scrapbook-paragraph{font:italic 14px/1.6 Georgia,serif;text-align:center;color:#91534a;margin:20px 7px 0;padding-top:12px;border-top:1px dashed #e0aa9b}
/* STORY 3: editorial lead + full bleed landscape + independent body strip */
.v54-story.layout-kf-003{padding:0;display:block;overflow:hidden}
.editorial-lead{padding:24px 19px 19px}.editorial-lead h2{font:37px/1.01 Georgia,serif;letter-spacing:-.035em;margin:15px 0 0;color:#132945}
.editorial-lead h2 i{color:#b89560;font-weight:normal}
.editorial-photo{height:220px;overflow:hidden}.editorial-photo img{width:100%;height:100%;object-position:50% 42%}
.editorial-body{display:flex;gap:17px;padding:18px 20px 21px;align-items:flex-start}
.giant-index{font:62px Georgia,serif;color:#d0c3b2;line-height:.9}
.editorial-body p{font:14px/1.6 Georgia,serif;margin:0}
/* STORY 4: tall carved arch and centered prose */
.v54-story.layout-kf-004{display:flex;flex-direction:column;align-items:center;text-align:center;padding:19px 20px 25px}
.heritage-arch{height:262px;width:min(83%,270px);border:7px solid #f2d8c5;outline:1px solid #c98a67;border-radius:145px 145px 13px 13px;overflow:hidden;box-shadow:0 11px 19px #a86c5130;margin:12px auto 23px}
.heritage-arch img{width:100%;height:100%}.heritage-prose{font:14px/1.7 Georgia,serif;margin:0;text-align:center}
.heritage-divider{font-size:18px;color:#ae644d;margin-top:19px}
/* STORY 5: dreamy overlapping photograph cards */
.v54-story.layout-kf-005{padding:22px 17px 26px;display:flex;flex-direction:column;align-items:center}
.moon-story-title{text-align:center}.moon-story-title h2{font:italic 29px Georgia,serif;color:#6c4f83;margin:8px 0 0}
.moon-collage{position:relative;display:flex;align-items:center;min-height:232px;width:100%;padding:15px 8px 6px;gap:0}
.moon-collage figure{margin:0;width:65%;height:202px;overflow:hidden;border-radius:82px 82px 16px 16px;border:5px solid #fff;box-shadow:0 8px 25px #785c8a55;z-index:1}
.moon-collage figure+figure{width:44%;height:158px;margin-left:-32px;transform:rotate(8deg);z-index:2;border-radius:14px 74px 14px 14px}
.moon-collage img{width:100%;height:100%}
.v54-story.layout-kf-005 blockquote{font:italic 14px/1.6 Georgia,serif;text-align:center;margin:6px 12px 0;color:#6a5475}
/* SECOND MESSAGE designs */
.v54-note.layout-kf-001{position:relative;display:block;min-height:298px;padding:0;overflow:hidden;background:#183f36}
.v54-note.layout-kf-001 .note-media{position:absolute;inset:0;height:100%}.v54-note.layout-kf-001 .note-media img{height:100%;width:100%;filter:brightness(.72)}
.v54-note.layout-kf-001:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#152d2adc,#152d2a99 60%,transparent);z-index:1}
.v54-note.layout-kf-001 .note-copy{position:relative;z-index:2;color:white;width:75%;padding:34px 22px;min-height:298px;display:flex;flex-direction:column;justify-content:center}
.v54-note.layout-kf-001 .note-copy :is(h2,p,.panel-eyebrow){color:white!important}
.v54-note.layout-kf-001 .note-copy h2{font:italic 28px Georgia,serif;margin:10px 0}.v54-note.layout-kf-001 .note-copy p{font:13px/1.55 Georgia,serif}
.v54-note.layout-kf-002{display:grid;grid-template-columns:1.1fr .95fr;align-items:center;padding:18px 12px;gap:9px}
.love-letter{padding:18px 12px 24px;background:linear-gradient(#fffbf6,#fff8ee);border:1px solid #efd0c2;box-shadow:4px 4px 0 #eddbd4;transform:rotate(-2deg)}
.love-letter h2{font:italic 24px Georgia,serif;color:#b65c56;margin:12px 0}.love-letter p{font:12px/1.55 Georgia,serif}.love-letter em{font:italic 11px Georgia,serif;color:#b05d58}
.letter-portrait{margin:0;transform:rotate(4deg);border:5px solid white;background:white;box-shadow:0 6px 20px #bb8e7850}.letter-portrait img{width:100%;height:190px}.letter-portrait figcaption{font:italic 10px Georgia,serif;text-align:center;margin:10px 2px}
.v54-note.layout-kf-003{display:block;padding:24px 18px 0;overflow:hidden}
.magazine-number{display:block;font:700 10px 'Segoe UI',sans-serif;letter-spacing:.2em;color:#ad8952}
.v54-note.layout-kf-003 blockquote{font:italic 42px/1.09 Georgia,serif;letter-spacing:-.04em;margin:20px 0;color:#19314f}
.magazine-note-bottom{display:grid;grid-template-columns:1fr 42%;gap:14px;border-top:2px solid #183450;align-items:start;padding:16px 0 0;min-height:160px}.magazine-note-bottom p{font:13px/1.5 Georgia,serif;margin:0}.magazine-note-bottom img{height:170px;width:100%}
.v54-note.layout-kf-004{display:flex;flex-direction:column;align-items:center;padding:17px 17px 24px;text-align:center}
.note-arch-photo{border-radius:160px 160px 14px 14px;height:230px;width:70%;overflow:hidden;border:5px solid #f4dcca}
.note-arch-photo img{height:100%;width:100%}
.heritage-note-card{padding:18px 18px 15px;margin-top:-28px;background:#fffaf4f5;position:relative;max-width:94%;border:1px solid #d9aa8f;border-radius:11px}
.heritage-note-card h2{font:italic 28px Georgia,serif;margin:6px 0}.heritage-note-card p{font:13px/1.55 Georgia,serif;margin:6px 0}.heritage-note-card>span:last-child{color:#b77d5f}
.v54-note.layout-kf-005{position:relative;display:block;min-height:335px;overflow:hidden;padding:22px 20px;background:radial-gradient(circle at 72% 18%,#fffbee 0,#e7dbef 35%,#9878b3 100%)}
.moon-note-glow{position:absolute;right:19px;top:8px;font-size:88px;color:#fff9;line-height:1}
.moon-note-writing{position:relative;z-index:2;background:#fff9;backdrop-filter:blur(5px);border-radius:19px;padding:20px 14px;max-width:69%;min-height:235px}
.moon-note-writing h2{font:italic 29px Georgia,serif;color:#654b7d;margin:12px 0}
.moon-note-writing p{font:13px/1.45 Georgia,serif;margin:0}
.moon-note-photo{position:absolute;right:8px;bottom:11px;width:43%;height:165px;border:4px solid white;border-radius:90px 90px 17px 17px;overflow:hidden;box-shadow:0 7px 21px #41275b58;z-index:3}
.moon-note-photo img{height:100%;width:100%}
/* CALENDAR compositions */
.v54-calendar.layout-kf-002 .blush-date-heading{text-align:center}
.blush-date-heading h2{font:italic 25px Georgia,serif;color:#b75d59;margin:9px auto}
.blush-date-heading strong{font:36px Georgia,serif;color:#ad5d56;display:block;margin:12px auto}.blush-date-heading strong small{font-size:14px;letter-spacing:.1em}
.blush-calendar-wrap{background:#fff8f7;border:1px solid #efd5d2;border-radius:140px 140px 16px 16px;padding:25px 14px 12px}
.blush-calendar-wrap .calendar-wrap{background:transparent;border:0}.blush-calendar-wrap .cal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v54-calendar.layout-kf-003 .calendar-editorial{display:grid;grid-template-columns:34% 1fr;gap:8px}
.editorial-date-column{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#152f4b;color:white;padding:8px 4px}
.editorial-date-column .panel-eyebrow{font-size:8px;color:#efdfc5}.editorial-date-column strong{font:83px Georgia,serif;line-height:1;margin:20px 0;color:#fff}
.editorial-date-column span:not(.panel-eyebrow){font:10px 'Segoe UI',sans-serif;letter-spacing:.13em}.editorial-date-column p{font:italic 13px Georgia,serif;margin:19px 0;color:#eadcc2}
.editorial-calendar-column .calendar-wrap{padding:10px 5px}.editorial-calendar-column .date-cell{font-size:9px}
.v54-calendar.layout-kf-004 .heritage-date-frame{text-align:center;border:1px solid #dfb89a;padding:17px 10px;margin-bottom:15px;border-radius:110px 110px 12px 12px;background:#fff8ed}
.heritage-date-frame>span{font:11px 'Segoe UI',sans-serif;letter-spacing:.16em;color:#9b5d49}
.heritage-date-frame h2{font:italic 24px Georgia,serif;margin:12px 0;color:#9a4d3d}
.heritage-date-frame p{font:italic 11px Georgia,serif}
.v54-calendar.layout-kf-004 .calendar-wrap{max-width:315px;margin:auto}
.heritage-cal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}
.v54-calendar.layout-kf-005 .moon-cal-card{display:grid;grid-template-columns:1.06fr .94fr;gap:10px;align-items:center;border-radius:23px;padding:12px;background:#ffffffa9;box-shadow:0 9px 30px #8b68a525;border:1px solid #ddcde9}
.v54-calendar.layout-kf-005 .calendar-wrap{padding:10px 6px;background:#fffd;min-width:0}.v54-calendar.layout-kf-005 .date-cell{font-size:9px}
.v54-calendar.layout-kf-005 .cal-actions{min-width:0}.v54-calendar.layout-kf-005 .date-label{font-size:13px}
/* Wedding detail lists: structurally different title/header and presentation */
.v54-events.layout-kf-002 .detail-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.v54-events.layout-kf-002 .detail-item{flex-direction:column;align-items:center;text-align:center;padding:17px 9px;background:#fffaf9;border:1px solid #edcbc7;border-radius:65px 65px 15px 15px}
.v54-events.layout-kf-002 .detail-icon{border-radius:50%;background:#f5dcd8}.v54-events.layout-kf-002 .detail-content strong{font-size:16px}
.v54-events.layout-kf-003 .detail-item{position:relative;border:0;border-bottom:1px solid #bbb0a3;border-radius:0;padding:16px 0;background:transparent}
.v54-events.layout-kf-003 .detail-icon{border-radius:0;background:#183653;color:#fff}
.v54-events.layout-kf-003 .detail-content strong{font-size:20px}
.v54-events.layout-kf-004 .detail-item{background:#fff8ef;border:1px solid #e1b89e;border-radius:12px 50px 12px 12px}
.v54-events.layout-kf-004 .detail-icon{background:#e6c1a8;border-radius:50%}
.v54-events.layout-kf-005 .detail-list{gap:12px}.v54-events.layout-kf-005 .detail-item{background:#ffffffad;box-shadow:0 7px 14px #a183aa15;border:1px solid #e6d5ef;border-radius:24px;padding:15px}
.v54-events.layout-kf-005 .detail-icon{background:#f3e9fa;border-radius:50%}
/* Agenda remains an extensible vertical list, different compositional systems */
.v54-agenda .agenda-track{display:flex;flex-direction:column}.v54-agenda .agenda-step{width:100%;min-width:0}
.v54-agenda.layout-kf-002 .agenda-track:before{left:35px;background:#e5aba6}
.v54-agenda.layout-kf-002 .agenda-step{margin:5px 0;padding:10px 11px;gap:13px;border:1px solid #f0ccca;border-radius:21px;background:#fffaf8}
.v54-agenda.layout-kf-002 .agenda-symbol{border:3px solid #e8bab6;background:#fff0ed;border-radius:50%}
.v54-agenda.layout-kf-002 .agenda-step-body{border:0}
.v54-agenda.layout-kf-003 .agenda-track:before{display:none}
.v54-agenda.layout-kf-003 .agenda-step{border-bottom:1px solid #c1b5a6;padding:18px 4px;gap:14px;align-items:center}
.v54-agenda.layout-kf-003 .agenda-symbol{border:0;border-radius:0;background:#132e4c;color:#fff;font:24px Georgia,serif;flex:0 0 51px;height:60px}
.v54-agenda.layout-kf-003 .agenda-step-body{border:0;padding:0}.v54-agenda.layout-kf-003 .agenda-time{letter-spacing:.2em}
.v54-agenda.layout-kf-004 .agenda-track:before{left:50%;background:#dab69d}
.v54-agenda.layout-kf-004 .agenda-step{width:calc(50% + 28px);gap:10px;padding:8px 7px;align-items:flex-start}
.v54-agenda.layout-kf-004 .agenda-step:nth-child(even){margin-left:auto;flex-direction:row-reverse;text-align:right}
.v54-agenda.layout-kf-004 .agenda-step:nth-child(even) .agenda-step-body{text-align:right}
.v54-agenda.layout-kf-004 .agenda-symbol{border:2px solid #d7a78c;background:#fff6f0;z-index:2}
.v54-agenda.layout-kf-004 .agenda-step-body{padding-top:5px}
.v54-agenda.layout-kf-004 .agenda-step-body strong{font-size:15px}
.v54-agenda.layout-kf-005 .agenda-track:before{display:none}
.v54-agenda.layout-kf-005 .agenda-step{border-radius:19px;margin:4px 0 9px;align-items:center;background:#ffffffa8;border:1px solid #e1d0eb;box-shadow:0 6px 15px #7358920e;padding:12px}
.v54-agenda.layout-kf-005 .agenda-step:nth-child(2n){margin-left:16px;background:#f3ebf8}
.v54-agenda.layout-kf-005 .agenda-symbol{background:#f2e4f5;border-radius:50%;color:#76508c}
.v54-agenda.layout-kf-005 .agenda-step-body{border:0;padding:0}
/* Locations */
.v54-location.layout-kf-002 .location-layout{display:flex;flex-direction:column;gap:8px}
.v54-location.layout-kf-002 .location-copy{text-align:center;background:#fff9f5;padding:19px;border:1px solid #efdbd5;border-radius:80px 80px 14px 14px}
.v54-location.layout-kf-002 .map-art{height:150px;border-radius:70px 70px 14px 14px}
.v54-location.layout-kf-003 .location-layout{display:grid;grid-template-columns:1fr 1.05fr;gap:8px;align-items:stretch}
.v54-location.layout-kf-003 .location-copy{display:flex;flex-direction:column;justify-content:center;padding:8px 0}
.v54-location.layout-kf-003 .map-art{height:210px;border-radius:3px}
.v54-location.layout-kf-004 .map-art{height:190px;border:7px solid #f1d9c7;border-radius:120px 120px 12px 12px}
.v54-location.layout-kf-004 .location-copy{text-align:center}
.v54-location.layout-kf-005 .location-layout{position:relative;display:block;padding-bottom:27px}
.v54-location.layout-kf-005 .map-art{height:205px;border-radius:30px}
.v54-location.layout-kf-005 .location-copy{margin:-40px 20px 0;position:relative;z-index:2;background:#fffdfa;border:1px solid #d6c8e3;border-radius:18px;padding:18px;text-align:center;box-shadow:0 8px 16px #987fb43d}
/* Dress code variations */
.v54-dress.layout-kf-002 .dress-note{text-align:center;font:italic 14px Georgia,serif}
.v54-dress.layout-kf-002 .outfit-pair,.v54-dress.layout-kf-005 .outfit-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.v54-dress.layout-kf-002 .outfit,.v54-dress.layout-kf-005 .outfit{border:1px solid #efd8d2;padding:12px;border-radius:18px;background:#fff9}
.v54-dress.layout-kf-002 .swatches,.v54-dress.layout-kf-004 .swatches{justify-content:center}
.v54-dress.layout-kf-002 .swatches span{width:35px;height:35px;outline:3px solid #fff;box-shadow:0 2px 9px #0001}
.v54-dress.layout-kf-003 .dress-editorial{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:10px}
.v54-dress.layout-kf-003 .dress-editorial p{font:italic 16px/1.55 Georgia,serif}
.v54-dress.layout-kf-003 .outfit-pair{display:grid;grid-template-columns:1fr 1fr}
.v54-dress.layout-kf-003 .outfit{border:0}.v54-dress.layout-kf-003 .swatches span{border-radius:0;width:44px;height:8px}
.v54-dress.layout-kf-004 .heritage-dress{display:grid;grid-template-columns:1fr 1fr;max-width:250px;margin:0 auto 9px}
.v54-dress.layout-kf-004 .outfit{border:0}.v54-dress.layout-kf-004>p{text-align:center;font:italic 13px Georgia,serif}
.v54-dress.layout-kf-005 .outfit{border:1px solid #e1d0e9;border-radius:25px;background:#fff9}.v54-dress.layout-kf-005 .dress-note{text-align:center;font:italic 13px Georgia,serif}
.v54-dress.layout-kf-005 .swatches{justify-content:center}
/* Gallery variants have deliberately different HTML arrangement + image geometry */
.v54-gallery .gallery-mosaic{display:grid;gap:5px}
.v54-gallery.layout-kf-002 .gallery-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:90px;gap:13px;padding:19px 10px 23px}
.v54-gallery.layout-kf-002 .mosaic-item{border:6px solid #fff;box-shadow:0 7px 15px #6a394737;border-radius:1px;transform:rotate(-4deg);grid-column:span 2;grid-row:span 2;max-height:none}
.v54-gallery.layout-kf-002 .mosaic-item:nth-of-type(2n){transform:rotate(5deg)}
.v54-gallery.layout-kf-002 .mosaic-item:nth-of-type(3n){grid-column:span 2;grid-row:span 1;transform:rotate(-2deg)}
.v54-gallery.layout-kf-002 .mosaic-item img{height:100%;width:100%;object-fit:cover}
.v54-gallery.layout-kf-003 .gallery-mosaic{grid-template-columns:repeat(4,1fr);grid-auto-rows:106px;gap:5px}
.magazine-gallery-label{grid-column:span 2;grid-row:span 2;background:#193451;color:#fff;font:29px/1.06 Georgia,serif;padding:22px 12px;display:flex;align-items:center;justify-content:center}
.v54-gallery.layout-kf-003 .mosaic-item{border-radius:0;grid-row:span 1;grid-column:span 2;max-height:none}
.v54-gallery.layout-kf-003 .mosaic-item:nth-of-type(1),.v54-gallery.layout-kf-003 .mosaic-item:nth-of-type(5){grid-row:span 2}
.v54-gallery.layout-kf-003 .mosaic-item:nth-of-type(8){grid-column:span 4}
.v54-gallery.layout-kf-004 .gallery-mosaic{grid-template-columns:repeat(6,1fr);grid-auto-rows:75px;gap:4px}
.v54-gallery.layout-kf-004 .mosaic-item{border-radius:8px;grid-column:span 3;grid-row:span 1;max-height:none}
.v54-gallery.layout-kf-004 .mosaic-item:nth-of-type(1),.v54-gallery.layout-kf-004 .mosaic-item:nth-of-type(6){grid-row:span 3}
.v54-gallery.layout-kf-004 .mosaic-item:nth-of-type(2),.v54-gallery.layout-kf-004 .mosaic-item:nth-of-type(3),.v54-gallery.layout-kf-004 .mosaic-item:nth-of-type(7),.v54-gallery.layout-kf-004 .mosaic-item:nth-of-type(8){grid-column:span 3}
.v54-gallery.layout-kf-005 .gallery-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:130px;gap:8px}
.v54-gallery.layout-kf-005 .mosaic-item{border-radius:17px;grid-column:auto;grid-row:auto;max-height:none;border:3px solid #fff;box-shadow:0 5px 16px #9273a322}
.v54-gallery.layout-kf-005 .mosaic-item:nth-of-type(1),.v54-gallery.layout-kf-005 .mosaic-item:nth-of-type(4){grid-column:span 2;grid-row:span 2}
.v54-gallery.layout-kf-005 .mosaic-item:nth-of-type(4){grid-row:span 1}
/* Contact and RSVP vary visually and semantically share the same test form */
.v54-contact.layout-kf-002 .contact-row{gap:10px}.v54-contact.layout-kf-002 .contact-row>div{border-radius:50px;background:#fff8f8;border-color:#eacac5}
.v54-contact.layout-kf-003 .contact-row{display:flex;flex-direction:column}.v54-contact.layout-kf-003 .contact-row>div{border:0;border-bottom:1px solid #b9aea1;border-radius:0;background:transparent}
.v54-contact.layout-kf-004 .contact-row>div{border:1px solid #ddbca6;border-radius:15px;background:#fff4ed}
.v54-contact.layout-kf-005 .contact-row{display:flex;flex-direction:column}.v54-contact.layout-kf-005 .contact-row>div{border-radius:22px;background:#fff9;border-color:#d8c7e3}
.v54-rsvp.layout-kf-002{background:linear-gradient(145deg,#fff1ed,#fffaf8)}
.v54-rsvp.layout-kf-003 form{border-top:3px solid #143454;padding-top:17px}
.v54-rsvp.layout-kf-003 .main-cta{border-radius:3px}
.v54-rsvp.layout-kf-004 .main-cta{border-radius:45px 9px 45px 9px}
.v54-rsvp.layout-kf-005{background:linear-gradient(155deg,#f7ecff,#fffcfb)}
.v54-rsvp.layout-kf-005 .main-cta{border-radius:25px}
/* Mixer controls use localStorage; never signify a real Admin action */
.layout-mixer{margin:12px 0;padding:14px;border:1px solid #d9c7bf;border-radius:13px;background:#faf8f5;max-width:100%}
.layout-mixer summary{cursor:pointer;font-size:13px;font-weight:800;line-height:1.5}
.layout-mixer p{font-size:11px;line-height:1.6;margin:9px 0;color:#5e5c58}
.mixer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mixer-grid label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:600;min-width:0}
.mixer-grid select{display:block;width:100%;min-width:0;max-width:100%;background:#fff;border:1px solid #ddcfc3;border-radius:9px;padding:9px 7px;font-size:11px;color:#17372d}
.mixer-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}
.mixer-buttons button{background:#234a3a;color:white;border-radius:8px;padding:9px 12px;font-size:11px}
.layout-mixer small{font:10px/1.4 'Segoe UI',sans-serif;color:#6b655f}
@media(max-width:395px){
.v54-story.layout-kf-001 .story-copy{padding:15px 6px 15px 12px}.v54-story.layout-kf-001 .story-copy h2{font-size:21px}
.v54-story.layout-kf-001 .story-copy p{font-size:11px}
.scrapbook-pictures{min-height:190px}.scrapbook-pictures figure{padding:5px 5px 22px}
.editorial-lead h2{font-size:32px}.v54-note.layout-kf-003 blockquote{font-size:34px}
.v54-calendar.layout-kf-003 .editorial-date-column strong{font-size:66px}
.v54-calendar.layout-kf-005 .moon-cal-card{grid-template-columns:1fr}
.v54-calendar.layout-kf-005 .cal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.v54-agenda.layout-kf-004 .agenda-step{width:calc(50% + 23px);gap:7px;padding:7px 3px}
.v54-agenda.layout-kf-004 .agenda-symbol{width:43px;height:43px;flex-basis:43px}
.v54-agenda.layout-kf-004 .agenda-step-body strong{font-size:13px}
.v54-location.layout-kf-003 .location-layout{grid-template-columns:1fr}
.v54-gallery.layout-kf-002 .gallery-mosaic{grid-auto-rows:70px}
.mixer-grid{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.scrapbook-pictures figure,.v54-gallery.layout-kf-002 .mosaic-item{transform:none}}
/* V5.3 global cinema overlay must not bleed into the other four independent message layouts. */
.v54-note.layout-kf-002::after,.v54-note.layout-kf-003::after,.v54-note.layout-kf-004::after,.v54-note.layout-kf-005::after{content:none!important}
