@charset "UTF-8";

/* DreamDay — CREATOR FEED · scoped visual system */
.cf-html{scroll-behavior:smooth;background:#f4efe7}
.cf-body{--cf-bg:#f4efe7;--cf-paper:#fffaf4;--cf-ink:#191717;--cf-muted:#706867;--cf-red:#a52f50;--cf-blue:#4d60d5;--cf-line:rgba(25,23,23,.14);--cf-shadow:0 24px 70px rgba(51,41,42,.14);margin:0;background:var(--cf-bg) url("assets/backgrounds/editorial-grid.svg") center top/1600px auto repeat-y;color:var(--cf-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
.cf-body *{box-sizing:border-box}
.cf-body button,.cf-body input,.cf-body textarea,.cf-body select{font:inherit}
.cf-body button,.cf-body a{-webkit-tap-highlight-color:transparent}
.cf-body img{max-width:100%;display:block}
.cf-body a{color:inherit;text-decoration:none}
.cf-body.cf-is-locked{overflow:hidden;touch-action:none}
.cf-grain{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.045;background:url("assets/misc/grain.svg") 0 0/180px 180px;mix-blend-mode:multiply}
.cf-eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-size:.67rem;line-height:1;letter-spacing:.22em;font-weight:800;text-transform:uppercase}
.cf-eyebrow:before{content:"";width:28px;height:2px;background:var(--cf-red)}
.cf-reveal{opacity:0;transform:translate3d(0,42px,0) rotate(.001deg);transition:opacity .75s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
.cf-reveal.cf-is-visible{opacity:1;transform:translate3d(0,0,0)}

/* opening */
.cf-opening{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;min-height:100dvh;padding:clamp(18px,4vw,48px);background:#f4efe7;overflow:hidden;transition:opacity .55s ease,visibility .55s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.cf-opening.is-leaving{opacity:0;visibility:hidden;transform:scale(1.035)}
.cf-opening__canvas{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.cf-opening__canvas>img:first-child{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover}
.cf-opening__halo{position:absolute;right:-4vw;top:-15vh;width:min(52vw,760px);opacity:.7;animation:cfHalo 18s linear infinite}
.cf-opening__swatch{position:absolute;border:1px solid rgba(25,23,23,.16);box-shadow:var(--cf-shadow);transform:rotate(var(--r))}
.cf-opening__swatch--one{--r:-8deg;width:210px;height:290px;background:#a52f50;left:-70px;bottom:5vh}
.cf-opening__swatch--two{--r:12deg;width:170px;height:240px;background:#4d60d5;right:-50px;bottom:12vh}
.cf-opening__swatch--three{--r:3deg;width:98px;height:98px;background:#fffaf4;right:14vw;top:12vh}
.cf-opening__profile{position:relative;z-index:3;width:min(620px,100%);text-align:center;display:flex;flex-direction:column;align-items:center}
.cf-opening__badge{display:flex;gap:10px;align-items:center;padding:7px 10px;border:1px solid var(--cf-line);border-radius:999px;background:rgba(255,250,244,.72);backdrop-filter:blur(18px);font-size:.6rem;letter-spacing:.18em;font-weight:800}
.cf-opening__badge b{padding:5px 9px;border-radius:999px;background:var(--cf-ink);color:#fff;font-size:.54rem}
.cf-opening__avatar{position:relative;width:clamp(118px,17vw,168px);aspect-ratio:1;border-radius:50%;margin:22px auto 12px;background:#eee4dc;box-shadow:0 16px 45px rgba(75,49,56,.18)}
.cf-opening__avatar>img:first-child{width:100%;height:100%;object-fit:cover;border-radius:50%;padding:8px}
.cf-opening__avatar>span{display:grid;place-items:center;width:100%;height:100%;font-family:Georgia,"Times New Roman",serif;font-size:2rem;font-weight:600}
.cf-opening__ring{position:absolute!important;inset:-8px;width:calc(100% + 16px)!important;height:calc(100% + 16px)!important;padding:0!important;pointer-events:none}
.cf-opening__handle{margin:5px 0 4px;color:var(--cf-muted);font-size:.76rem;letter-spacing:.08em}
.cf-opening h1{margin:4px 0 12px;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.7rem,7vw,5.2rem);line-height:.92;letter-spacing:-.055em}
.cf-opening h1 span{display:inline-block;margin:0 .14em;color:var(--cf-red);font-style:italic;font-weight:400}
.cf-opening__copy{max-width:500px;margin:0 auto 15px;color:var(--cf-muted);font-family:Georgia,"Times New Roman",serif;font-size:clamp(.98rem,1.7vw,1.14rem);line-height:1.6}
.cf-opening__guest{display:flex;flex-direction:column;gap:3px;margin:5px 0 18px;padding:10px 18px;border-top:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line)}
.cf-opening__guest small{font-size:.55rem;letter-spacing:.22em;font-weight:800}.cf-opening__guest strong{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem}
.cf-open-button{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(340px,90vw);border:0;border-radius:2px;background:var(--cf-ink);color:#fff;padding:15px 17px 15px 21px;cursor:pointer;box-shadow:0 14px 34px rgba(25,23,23,.2);transition:transform .3s ease,box-shadow .3s ease}
.cf-open-button:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(25,23,23,.25)}
.cf-open-button img{width:23px;filter:invert(1)}
.cf-opening__date{margin-top:14px;color:var(--cf-muted);letter-spacing:.12em;font-size:.67rem;text-transform:uppercase}

/* fixed controls */
.cf-topbar{position:sticky;top:0;z-index:120;height:68px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;padding:0 clamp(16px,4vw,60px);border-bottom:1px solid rgba(25,23,23,.12);background:rgba(244,239,231,.88);backdrop-filter:blur(18px) saturate(1.3)}
.cf-topbar__brand{display:flex;align-items:center;gap:9px;font-size:.68rem;letter-spacing:.16em;font-weight:900;white-space:nowrap}.cf-topbar__brand b{display:grid;place-items:center;width:31px;height:31px;background:var(--cf-ink);color:#fff;font-family:Georgia,serif;font-size:.88rem}
.cf-topbar__nav{display:flex;align-items:center;justify-content:center;gap:4px;overflow:auto;scrollbar-width:none}.cf-topbar__nav::-webkit-scrollbar{display:none}.cf-topbar__nav button{border:0;background:transparent;padding:8px 10px;color:#716968;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;position:relative}.cf-topbar__nav button:after{content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;background:var(--cf-red);transform:scaleX(0);transition:transform .25s ease}.cf-topbar__nav button.is-active{color:var(--cf-ink)}.cf-topbar__nav button.is-active:after{transform:scaleX(1)}
.cf-topbar__meta{display:flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800}.cf-topbar__meta img{width:17px}
.cf-music{position:fixed;z-index:180;right:18px;bottom:18px;width:48px;height:48px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(25,23,23,.9);color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.16)}.cf-music img{width:21px;filter:invert(1)}.cf-music span{position:absolute;inset:6px;border:1px dashed rgba(255,255,255,.42);border-radius:50%;animation:cfSpin 8s linear infinite}.cf-music.cf-is-paused span{animation-play-state:paused;opacity:.35}

/* shared */
.cf-main{position:relative;isolation:isolate}.cf-main>section{position:relative;padding:clamp(72px,9vw,136px) clamp(18px,5vw,76px);scroll-margin-top:68px}.cf-main>section:not(:last-child){border-bottom:1px solid var(--cf-line)}
.cf-section-title{max-width:900px;margin:0 auto 46px}.cf-section-title h2,.cf-post-head h2,.cf-pinned__sticky h2,.cf-gallery__head h2,.cf-rsvp__intro h2,.cf-wishes__head h2{margin:12px 0 0;font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:clamp(2.45rem,5.2vw,5.25rem);line-height:.94;letter-spacing:-.052em}.cf-section-title h2 em,.cf-post-head h2 em,.cf-pinned__sticky h2 em,.cf-gallery__head h2 em,.cf-rsvp__intro h2 em,.cf-wishes__head h2 em{color:var(--cf-red);font-weight:400}.cf-section-title>p{max-width:650px;color:var(--cf-muted);line-height:1.7}.cf-section-title address{font-style:normal;font-size:.85rem;color:var(--cf-muted)}
.cf-empty-post{max-width:850px;margin:0 auto;padding:28px;border:1px dashed rgba(25,23,23,.25);background:rgba(255,250,244,.65);color:var(--cf-muted);text-align:center}

/* profile header */
.cf-profile{min-height:calc(100dvh - 68px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);align-content:center;gap:42px;overflow:hidden}.cf-profile__field{position:absolute;right:-10%;top:-10%;width:72%;opacity:.72;pointer-events:none;transform:translate3d(var(--cf-dx,0),var(--cf-dy,0),0)}
.cf-profile__identity{position:relative;display:grid;grid-template-columns:clamp(150px,18vw,240px) minmax(0,1fr);gap:clamp(22px,4vw,52px);align-items:center}.cf-profile__avatar{position:relative;aspect-ratio:1;border-radius:50%;background:#e9ded6;box-shadow:var(--cf-shadow)}.cf-profile__avatar>.cf-dynamic-image{width:100%;height:100%;object-fit:cover;border-radius:50%;padding:10px}.cf-profile__avatar>span{display:grid;place-items:center;height:100%;font-family:Georgia,serif;font-size:3rem}.cf-profile__avatar>img:last-child{position:absolute;inset:-9px;width:calc(100% + 18px);height:calc(100% + 18px);pointer-events:none}
.cf-profile__copy h2{margin:9px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.2rem,7vw,7.6rem);font-weight:500;line-height:.84;letter-spacing:-.07em}.cf-profile__copy h2 em{color:var(--cf-red);font-weight:400}.cf-profile__handle{margin:8px 0 13px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:.76rem!important;letter-spacing:.04em}.cf-profile__copy>p:last-of-type{max-width:650px;font-family:Georgia,serif;font-size:1.05rem;line-height:1.65;color:var(--cf-muted)}.cf-profile__socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.cf-profile__socials a{display:flex;gap:14px;align-items:center;padding:8px 11px;border:1px solid var(--cf-line);background:rgba(255,250,244,.66);font-size:.69rem;font-weight:800}.cf-profile__socials a span{color:var(--cf-red)}
.cf-profile__stats{position:relative;z-index:2;display:grid;gap:8px;align-self:center}.cf-profile__stats div{padding:24px 22px;border-top:1px solid var(--cf-line);display:flex;align-items:baseline;justify-content:space-between;gap:15px}.cf-profile__stats div:last-child{border-bottom:1px solid var(--cf-line)}.cf-profile__stats strong{font-family:Georgia,serif;font-size:2.6rem;font-weight:500}.cf-profile__stats span{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cf-muted)}.cf-profile__rules{position:absolute;bottom:1.5rem;left:50%;width:min(780px,62vw);transform:translateX(-50%);opacity:.6;pointer-events:none}

/* featured */
.cf-featured{background:rgba(255,250,244,.55)}.cf-post-head{max-width:1280px;margin:0 auto 40px;display:flex;justify-content:space-between;align-items:end;gap:20px}.cf-post-head__index{font:700 .68rem/1 ui-monospace,monospace;letter-spacing:.12em;color:var(--cf-muted)}
.cf-featured-post{max-width:1280px;margin:0 auto;background:#fffaf4;border:1px solid var(--cf-line);box-shadow:var(--cf-shadow)}.cf-featured-post__media{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);min-height:650px}.cf-featured-post__image{position:relative;overflow:hidden;background:#d6c9c5}.cf-featured-post__image>.cf-dynamic-image{width:100%;height:100%;object-fit:cover;transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}.cf-featured-post:hover .cf-featured-post__image>.cf-dynamic-image{transform:scale(1.028)}.cf-featured-post__frame{position:absolute;inset:20px;width:calc(100% - 40px);height:calc(100% - 40px);pointer-events:none}.cf-media-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:420px;background:linear-gradient(135deg,#d9c3cd,#abb6ec);font:500 4rem/1 Georgia,serif}
.cf-featured-post__portraits{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid var(--cf-line)}.cf-featured-post__portraits article{padding:28px;display:grid;grid-template-columns:88px 1fr;grid-template-rows:auto auto auto;column-gap:17px;align-content:center}.cf-featured-post__portraits article+article{border-top:1px solid var(--cf-line)}.cf-mini-portrait{grid-row:1/4;width:88px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#e8ddd5}.cf-mini-portrait img{width:100%;height:100%;object-fit:cover}.cf-mini-portrait span{display:grid;place-items:center;width:100%;height:100%;font:500 2rem Georgia,serif}.cf-featured-post__portraits small{font-size:.57rem;letter-spacing:.18em;font-weight:800}.cf-featured-post__portraits h3{margin:6px 0;font:500 1.55rem/1.05 Georgia,serif}.cf-featured-post__portraits p{margin:0;color:var(--cf-muted);font-size:.74rem;line-height:1.5}
.cf-featured-post__caption{padding:18px 22px 22px}.cf-interaction-row{display:flex;align-items:center;gap:16px;margin-bottom:13px}.cf-interaction-row button,.cf-interaction-row>span{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:0;font-size:.7rem;color:var(--cf-muted)}.cf-interaction-row button{cursor:pointer}.cf-interaction-row img{width:21px}.cf-interaction-row button.is-liked img{filter:invert(23%) sepia(47%) saturate(2310%) hue-rotate(311deg)}.cf-interaction-row>b{margin-left:auto;font-size:.58rem;letter-spacing:.15em;background:var(--cf-red);color:#fff;padding:7px 9px}.cf-featured-post__caption p{margin:0;max-width:930px;font-size:.82rem;line-height:1.65}.cf-featured-post__caption p strong{margin-right:6px}

/* pinned events */
.cf-pinned{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:clamp(38px,7vw,100px);align-items:start}.cf-pinned__sticky{position:sticky;top:112px}.cf-pinned__sticky>p{max-width:480px;color:var(--cf-muted);line-height:1.65}.cf-countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:30px}.cf-countdown>div{border-top:2px solid var(--cf-ink);padding-top:9px}.cf-countdown strong{display:block;font:500 clamp(1.8rem,3.2vw,3.4rem)/1 Georgia,serif}.cf-countdown span{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cf-muted)}.cf-countdown p{grid-column:1/-1;margin:8px 0 0;font-size:.7rem;color:var(--cf-muted)}
.cf-event-stack{display:grid;gap:28px}.cf-event-post{position:relative;min-height:430px;padding:54px 54px 46px;isolation:isolate}.cf-event-post>img{position:absolute;inset:0;width:100%;height:100%;z-index:-1}.cf-event-post:nth-child(2){transform:translateX(8%)}.cf-event-post__pin{display:inline-flex;align-items:center;gap:8px;margin-bottom:70px}.cf-event-post__pin img{width:17px}.cf-event-post__pin span{font-size:.56rem;letter-spacing:.16em;font-weight:900}.cf-event-post>small{display:block;color:var(--cf-red);font:700 .68rem ui-monospace,monospace;letter-spacing:.1em}.cf-event-post h3{margin:12px 0 26px;font:500 clamp(2.5rem,5vw,5.2rem)/.9 Georgia,serif;letter-spacing:-.055em}.cf-event-post p{display:grid;grid-template-columns:64px 1fr;gap:16px;margin:10px 0;font-size:.82rem}.cf-event-post p b{font-size:.55rem;letter-spacing:.13em}.cf-event-post address{margin-top:18px;font-style:normal;color:var(--cf-muted);line-height:1.55;font-size:.78rem;max-width:520px}

/* highlights */
.cf-highlights{background:#1a1818;color:#f7f1e9}.cf-highlights .cf-section-title{margin-left:max(0px,calc((100% - 1280px)/2));}.cf-highlights .cf-eyebrow:before{background:#ef9fb5}.cf-highlight-track{display:flex;gap:clamp(18px,3vw,36px);overflow:auto;scroll-snap-type:x mandatory;padding:6px max(18px,calc((100vw - 1280px)/2)) 12px;scrollbar-width:none}.cf-highlight-track::-webkit-scrollbar{display:none}.cf-highlight{flex:0 0 clamp(126px,15vw,190px);scroll-snap-align:start;border:0;background:transparent;color:inherit;cursor:pointer;text-align:center}.cf-highlight>span{position:relative;display:block;aspect-ratio:1;border-radius:50%;background:#2c2929;overflow:hidden;margin-bottom:12px;transition:transform .35s ease}.cf-highlight:hover>span,.cf-highlight.is-active>span{transform:translateY(-5px) scale(1.03)}.cf-highlight>span>.cf-dynamic-image{width:100%;height:100%;object-fit:cover;border-radius:50%;padding:9px}.cf-highlight>span>b{display:grid;place-items:center;width:100%;height:100%;font:500 2.2rem Georgia,serif}.cf-highlight>span>img:last-child{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);pointer-events:none}.cf-highlight small{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase}

/* serial */
.cf-serial-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.cf-story-post{position:relative;padding:30px 28px 28px;background:rgba(255,250,244,.72);border:1px solid var(--cf-line);min-height:300px;box-shadow:0 12px 35px rgba(40,34,34,.06);transition:transform .4s ease,box-shadow .4s ease}.cf-story-post:nth-child(4n+1){grid-column:span 7}.cf-story-post:nth-child(4n+2){grid-column:span 5;margin-top:70px}.cf-story-post:nth-child(4n+3){grid-column:2/span 5}.cf-story-post:nth-child(4n+4){grid-column:span 6}.cf-story-post:hover{transform:translateY(-6px) rotate(-.2deg);box-shadow:var(--cf-shadow)}.cf-story-post__meta{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--cf-line);padding-bottom:12px;font-size:.57rem;letter-spacing:.14em}.cf-story-post__meta b{color:var(--cf-red)}.cf-story-post h3{margin:28px 0 12px;font:500 clamp(2rem,3.6vw,3.8rem)/.98 Georgia,serif;letter-spacing:-.04em}.cf-story-post p{margin:0;color:var(--cf-muted);line-height:1.7;font-size:.84rem;max-width:620px}.cf-story-post footer{position:absolute;left:28px;right:28px;bottom:23px;display:flex;align-items:center;gap:10px;font-size:.55rem;text-transform:uppercase;letter-spacing:.1em}.cf-story-post footer i{height:1px;background:var(--cf-line);flex:1}.cf-story-post footer small{color:var(--cf-muted)}

/* gallery masonry */
.cf-gallery{background:rgba(235,226,218,.45)}.cf-gallery__head{max-width:1280px;margin:0 auto 46px;display:flex;justify-content:space-between;align-items:end;gap:25px}.cf-gallery__counter{text-align:right}.cf-gallery__counter strong{display:block;font:500 4rem/1 Georgia,serif}.cf-gallery__counter span{font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}
.cf-masonry{max-width:1280px;margin:0 auto;columns:3 290px;column-gap:22px}.cf-masonry__item{position:relative;display:block;width:100%;margin:0 0 22px;padding:0;border:0;background:#d8d0ca;break-inside:avoid;cursor:pointer;overflow:hidden;box-shadow:0 12px 35px rgba(32,28,28,.08)}.cf-masonry__item>.cf-dynamic-image{width:100%;height:auto;min-height:320px;object-fit:cover;aspect-ratio:var(--cf-ratio,4/5);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease}.cf-masonry__item:nth-child(6n+1){--cf-ratio:4/5}.cf-masonry__item:nth-child(6n+2){--cf-ratio:1/1}.cf-masonry__item:nth-child(6n+3){--cf-ratio:3/4}.cf-masonry__item:nth-child(6n+4){--cf-ratio:4/6}.cf-masonry__item:nth-child(6n+5){--cf-ratio:5/4}.cf-masonry__item:nth-child(6n+6){--cf-ratio:4/5}.cf-masonry__item:hover>.cf-dynamic-image{transform:scale(1.035);filter:saturate(.82)}.cf-masonry__frame{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);pointer-events:none}.cf-masonry__item>span{position:absolute;left:18px;right:18px;bottom:17px;display:flex;align-items:center;justify-content:space-between;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}.cf-masonry__item>span b{font:500 2rem Georgia,serif}.cf-masonry__item>span small{font-size:.53rem;letter-spacing:.16em;font-weight:800}.cf-video-link{max-width:1280px;margin:30px auto 0;border-top:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line);padding:20px 0;display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:20px}.cf-video-link span{font-size:.57rem;letter-spacing:.16em;font-weight:900}.cf-video-link b{font:500 1.5rem Georgia,serif}.cf-video-link i{font-style:normal;font-size:1.4rem;color:var(--cf-red)}

/* location */
.cf-location__editorial{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:110px minmax(320px,1.15fr) minmax(300px,.85fr);min-height:620px;border:1px solid var(--cf-line);background:#fffaf4}.cf-location__index{padding:24px 18px;border-right:1px solid var(--cf-line);display:flex;flex-direction:column;justify-content:space-between;align-items:start}.cf-location__index span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:.58rem;letter-spacing:.17em;font-weight:900}.cf-location__index b{font:500 3rem Georgia,serif;color:var(--cf-red)}.cf-location__map-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#dbd5cb,#d1d7f3);border-right:1px solid var(--cf-line)}.cf-location__map-art>span{position:absolute;border:1px solid rgba(25,23,23,.18);border-radius:50%}.cf-location__map-art>span:nth-child(1){width:130%;aspect-ratio:1;left:-58%;top:-12%}.cf-location__map-art>span:nth-child(2){width:85%;aspect-ratio:1;right:-35%;bottom:-18%}.cf-location__map-art>span:nth-child(3){left:-10%;right:-10%;height:1px;background:rgba(25,23,23,.16);top:56%;transform:rotate(-18deg)}.cf-location__map-art>b{position:absolute;left:55%;top:44%;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--cf-red);color:#fff;box-shadow:0 20px 30px rgba(165,47,80,.22)}.cf-location__map-art b img{width:27px;filter:invert(1)}.cf-location__copy{padding:clamp(34px,5vw,72px);align-self:center}.cf-location__copy h2{margin:13px 0 18px;font:500 clamp(2.5rem,4.2vw,4.7rem)/.96 Georgia,serif;letter-spacing:-.05em}.cf-location__copy p{color:var(--cf-muted);line-height:1.65}.cf-location__copy small{display:block;margin-top:18px;font-size:.67rem;letter-spacing:.08em;text-transform:uppercase}.cf-primary-link{margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 16px 15px 18px;background:var(--cf-ink);color:#fff;font-size:.72rem;font-weight:800}.cf-primary-link img{width:22px;filter:invert(1)}

/* RSVP */
.cf-rsvp{background:#dcd7ed;display:grid;grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);gap:clamp(35px,7vw,90px);align-items:center}.cf-rsvp__intro>p{max-width:470px;color:#5f5a64;line-height:1.7}.cf-rsvp__guest{display:inline-flex;flex-direction:column;margin-top:24px;padding:13px 18px;border:1px solid rgba(25,23,23,.2);background:rgba(255,255,255,.28)}.cf-rsvp__guest small{font-size:.54rem;letter-spacing:.16em}.cf-rsvp__guest strong{font:500 1.2rem Georgia,serif;margin-top:4px}
.cf-form{position:relative;isolation:isolate;padding:clamp(28px,4vw,52px);color:#fff;min-height:610px}.cf-form__asset{position:absolute;z-index:-1;inset:0;width:100%;height:100%}.cf-form__head{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:18px;margin-bottom:25px;font-size:.58rem;letter-spacing:.15em}.cf-form__head b{color:#ef9cb2}.cf-field{display:block;margin:0 0 17px}.cf-field>span{display:flex;justify-content:space-between;margin-bottom:7px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}.cf-field input,.cf-field textarea,.cf-field select{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:0;background:rgba(255,255,255,.07);color:#fff;padding:13px 14px;outline:none}.cf-field select option{color:#111}.cf-field input:focus,.cf-field textarea:focus,.cf-field select:focus{border-color:#e993aa;box-shadow:0 0 0 2px rgba(233,147,170,.14)}.cf-field-row{display:grid;grid-template-columns:1.35fr .65fr;gap:13px}.cf-attendance{margin:0 0 17px;padding:0;border:0}.cf-attendance legend{margin-bottom:8px;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}.cf-attendance>label{display:inline-flex;margin:0 6px 6px 0}.cf-attendance input{position:absolute;opacity:0}.cf-attendance span{display:block;padding:9px 11px;border:1px solid rgba(255,255,255,.2);font-size:.67rem;cursor:pointer}.cf-attendance input:checked+span{background:#fff;color:#171515}.cf-submit{width:100%;border:0;background:var(--cf-red);color:#fff;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;font-weight:800;cursor:pointer}.cf-submit img{width:22px;filter:invert(1)}.cf-submit:disabled{opacity:.5;cursor:wait}.cf-form-status{min-height:18px;margin:10px 0 0;font-size:.7rem}.cf-form-status.is-success{color:#a9efbd}.cf-form-status.is-error{color:#ffb1b1}

/* gift */
.cf-gift{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.3fr);gap:clamp(35px,7vw,90px);align-items:start}.cf-gift>.cf-section-title{position:sticky;top:112px;margin:0}.cf-gift-feed{display:grid;gap:26px}.cf-gift-post{position:relative;isolation:isolate;min-height:360px;padding:48px 46px}.cf-gift-post>img:first-child{position:absolute;z-index:-1;inset:0;width:100%;height:100%}.cf-gift-post__head{display:flex;justify-content:space-between;gap:20px;font-size:.57rem;letter-spacing:.14em;font-weight:800}.cf-gift-post h3{margin:70px 0 5px;font:500 3rem Georgia,serif}.cf-gift-post>strong{display:block;font:500 clamp(1.5rem,3vw,2.8rem) ui-monospace,monospace;letter-spacing:.02em}.cf-gift-post>p{color:var(--cf-muted)}.cf-gift-post button{position:absolute;left:46px;bottom:38px;border:0;background:var(--cf-ink);color:#fff;padding:10px 13px;display:flex;align-items:center;gap:9px;cursor:pointer;font-size:.68rem}.cf-gift-post button img{width:17px;filter:invert(1)}.cf-gift-post button b{display:none;color:#a9efbd}.cf-gift-post button.is-copied span{display:none}.cf-gift-post button.is-copied b{display:inline}

/* wishes */
.cf-wishes{background:#1b1919;color:#f6efe7;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);gap:clamp(35px,6vw,80px);align-items:start}.cf-wishes .cf-eyebrow:before{background:#ef9bb3}.cf-wish-list{margin-top:36px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.cf-wish-note{position:relative;isolation:isolate;min-height:230px;padding:28px;color:#1a1818}.cf-wish-note>img{position:absolute;z-index:-1;inset:0;width:100%;height:100%}.cf-wish-note>div{display:flex;align-items:center;gap:10px}.cf-wish-note>div span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#1a1818;color:#fff;font-family:Georgia,serif}.cf-wish-note>div strong{font-size:.75rem}.cf-wish-note p{font:500 1.05rem/1.5 Georgia,serif;margin:24px 0 28px}.cf-wish-note small{position:absolute;left:28px;bottom:22px;font-size:.52rem;letter-spacing:.08em;color:#746d69}.cf-wish-empty{color:rgba(255,255,255,.6)}.cf-wish-form{position:sticky;top:110px;padding:32px;border:1px solid rgba(255,255,255,.18);background:#242121}.cf-wish-form h3{font:500 2.4rem Georgia,serif;margin:12px 0 25px}.cf-field--light>span{color:rgba(255,255,255,.68)}.cf-submit--light{background:#f4eee6;color:#171515}.cf-submit--light img{filter:none}.cf-wish-form .cf-form-status{color:#fff}.cf-wish-form .cf-form-status.is-success{color:#a9efbd}.cf-wish-form .cf-form-status.is-error{color:#ffb1b1}

/* closing */
.cf-closing{min-height:92dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(32px,6vw,84px);align-items:center;background:linear-gradient(180deg,rgba(244,239,231,.9),#e9dfd8)}.cf-closing__media{position:relative;min-height:620px;background:#d4c7c4}.cf-closing__media>.cf-dynamic-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.cf-closing__media>img:last-child{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);pointer-events:none}.cf-closing__copy h2{font:500 clamp(3.8rem,8vw,8.5rem)/.8 Georgia,serif;letter-spacing:-.075em;margin:18px 0 26px}.cf-closing__copy h2 em{display:block;color:var(--cf-red);font-weight:400}.cf-closing__copy p{max-width:520px;color:var(--cf-muted);font-family:Georgia,serif;font-size:1.05rem;line-height:1.65}.cf-closing__copy>img{width:min(460px,80%);margin:10px 0 -8px}.cf-closing__copy>strong{display:block;font-size:.61rem;letter-spacing:.15em;text-transform:uppercase}

/* lightbox */
.cf-lightbox[hidden]{display:none}.cf-lightbox{position:fixed;inset:0;z-index:1200;background:rgba(15,14,14,.93);display:grid;place-items:center;padding:58px 18px 22px}.cf-lightbox>img{max-width:min(1100px,95vw);max-height:88dvh;object-fit:contain;box-shadow:0 25px 70px rgba(0,0,0,.45)}.cf-lightbox>button{position:absolute;right:18px;top:16px;width:40px;height:40px;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.3);color:#fff;font-size:1.55rem;cursor:pointer}

@keyframes cfHalo{to{transform:rotate(360deg)}}
@keyframes cfSpin{to{transform:rotate(360deg)}}

@media (max-width:1100px){
 .cf-topbar__nav{justify-content:flex-start}.cf-topbar{grid-template-columns:auto minmax(0,1fr);gap:16px}.cf-topbar__meta{display:none}
 .cf-profile{grid-template-columns:1fr;min-height:auto;padding-top:90px}.cf-profile__stats{grid-template-columns:repeat(3,1fr)}.cf-profile__stats div{display:block}.cf-profile__stats strong{display:block}.cf-profile__field{width:95%;right:-35%}
 .cf-featured-post__media{grid-template-columns:1fr}.cf-featured-post__image{min-height:620px}.cf-featured-post__portraits{grid-template-columns:1fr 1fr;grid-template-rows:auto;border-left:0;border-top:1px solid var(--cf-line)}.cf-featured-post__portraits article+article{border-top:0;border-left:1px solid var(--cf-line)}
 .cf-pinned{grid-template-columns:1fr}.cf-pinned__sticky{position:relative;top:auto;max-width:760px}.cf-event-stack{grid-template-columns:1fr 1fr}.cf-event-post:nth-child(2){transform:translateX(0);margin-top:75px}.cf-event-post{padding:40px 36px;min-height:450px}
 .cf-location__editorial{grid-template-columns:82px 1fr}.cf-location__copy{grid-column:1/-1;border-top:1px solid var(--cf-line)}
 .cf-rsvp{grid-template-columns:1fr}.cf-rsvp__intro{max-width:750px}.cf-form{max-width:850px;width:100%;margin:auto}
 .cf-gift{grid-template-columns:1fr}.cf-gift>.cf-section-title{position:relative;top:auto}.cf-gift-feed{grid-template-columns:repeat(2,1fr)}
 .cf-wishes{grid-template-columns:1fr}.cf-wish-form{position:relative;top:auto;max-width:760px;width:100%}
}

@media (max-width:768px){
 .cf-main>section{padding:68px 18px}.cf-topbar{height:58px;padding:0 12px}.cf-topbar__brand span{display:none}.cf-topbar__brand b{width:30px;height:30px}.cf-topbar__nav button{font-size:.56rem;padding:8px 7px}.cf-music{right:12px;bottom:12px;width:44px;height:44px}
 .cf-opening{padding:16px}.cf-opening__halo{width:120vw;right:-50vw;top:-20vh}.cf-opening__swatch--one{width:110px;height:170px}.cf-opening__swatch--two{width:105px;height:150px}.cf-opening__profile{max-width:430px}.cf-opening h1{font-size:clamp(2.55rem,14vw,4rem)}.cf-opening__copy{font-size:.9rem}.cf-open-button{width:min(320px,92vw)}
 .cf-profile{padding-top:74px!important;gap:36px}.cf-profile__identity{grid-template-columns:1fr;text-align:center}.cf-profile__avatar{width:150px;margin:auto}.cf-profile__copy h2{font-size:clamp(3.1rem,15vw,5rem)}.cf-profile__copy>p:last-of-type{margin-left:auto;margin-right:auto}.cf-profile__socials{justify-content:center}.cf-profile__stats{grid-template-columns:1fr}.cf-profile__stats div{display:flex;padding:14px 4px}.cf-profile__stats strong{font-size:2rem}.cf-profile__rules{bottom:4px;width:90vw}
 .cf-post-head,.cf-gallery__head{display:block}.cf-post-head__index,.cf-gallery__counter{text-align:left;margin-top:18px}.cf-featured-post__image{min-height:450px}.cf-featured-post__frame{inset:11px;width:calc(100% - 22px);height:calc(100% - 22px)}.cf-featured-post__portraits{grid-template-columns:1fr}.cf-featured-post__portraits article+article{border-left:0;border-top:1px solid var(--cf-line)}.cf-featured-post__portraits article{padding:22px;grid-template-columns:70px 1fr}.cf-mini-portrait{width:70px}.cf-featured-post__caption{padding:15px}.cf-interaction-row>span{display:none}
 .cf-event-stack{grid-template-columns:1fr}.cf-event-post:nth-child(2){margin-top:0}.cf-event-post{min-height:400px;padding:34px 30px}.cf-event-post__pin{margin-bottom:50px}.cf-event-post h3{font-size:2.8rem}.cf-countdown{gap:5px}.cf-countdown strong{font-size:1.8rem}
 .cf-highlights{padding-left:0!important;padding-right:0!important}.cf-highlights .cf-section-title{padding:0 18px}.cf-highlight-track{padding-left:18px;padding-right:18px}.cf-highlight{flex-basis:110px}
 .cf-serial-grid{display:block}.cf-story-post,.cf-story-post:nth-child(n){margin:0 0 16px;min-height:290px}.cf-story-post h3{font-size:2.35rem}
 .cf-masonry{columns:2 150px;column-gap:10px}.cf-masonry__item{margin-bottom:10px}.cf-masonry__frame{inset:8px;width:calc(100% - 16px);height:calc(100% - 16px)}.cf-masonry__item>.cf-dynamic-image{min-height:210px}.cf-masonry__item>span{left:11px;right:11px;bottom:10px}.cf-masonry__item>span small{display:none}.cf-video-link{grid-template-columns:1fr auto}.cf-video-link span{grid-column:1/-1}
 .cf-location__editorial{grid-template-columns:56px 1fr;min-height:540px}.cf-location__index{padding:17px 11px}.cf-location__map-art{min-height:360px}.cf-location__copy{padding:28px 24px}.cf-location__copy h2{font-size:2.7rem}
 .cf-rsvp{gap:28px}.cf-form{padding:28px 22px;min-height:auto;background:#171515;border:1px solid var(--cf-red)}.cf-form__asset{display:none}.cf-field-row{grid-template-columns:1fr}.cf-attendance>label{width:100%;margin:0 0 6px}.cf-attendance span{width:100%;text-align:center}
 .cf-gift-feed{grid-template-columns:1fr}.cf-gift-post{padding:36px 28px;min-height:330px}.cf-gift-post h3{margin-top:60px}.cf-gift-post button{left:28px;bottom:30px}
 .cf-wish-list{grid-template-columns:1fr}.cf-wish-note{min-height:215px}.cf-wish-form{padding:26px 20px}
 .cf-closing{grid-template-columns:1fr;min-height:auto}.cf-closing__media{min-height:500px}.cf-closing__copy h2{font-size:clamp(4rem,18vw,6rem)}
}

@media (max-width:430px){
 .cf-main>section{padding-left:14px;padding-right:14px}.cf-section-title h2,.cf-post-head h2,.cf-pinned__sticky h2,.cf-gallery__head h2,.cf-rsvp__intro h2,.cf-wishes__head h2{font-size:clamp(2.5rem,13vw,3.55rem)}
 .cf-opening__avatar{width:110px;margin-top:15px}.cf-opening__copy{max-width:330px;line-height:1.45}.cf-opening__guest{margin-bottom:14px}.cf-opening__date{margin-top:10px}
 .cf-profile__copy h2{font-size:3.8rem}.cf-profile__field{width:125%;right:-68%}.cf-featured-post__image{min-height:390px}.cf-featured-post__portraits article{grid-template-columns:62px 1fr;column-gap:13px}.cf-mini-portrait{width:62px}.cf-featured-post__portraits h3{font-size:1.3rem}
 .cf-event-post{padding:30px 24px}.cf-event-post h3{font-size:2.45rem}.cf-countdown span{font-size:.47rem}.cf-countdown strong{font-size:1.58rem}
 .cf-masonry__item>.cf-dynamic-image{min-height:185px}.cf-location__editorial{grid-template-columns:45px 1fr}.cf-location__index b{font-size:2.2rem}.cf-location__map-art{min-height:320px}.cf-location__copy{padding:25px 20px}.cf-form{padding:24px 18px}.cf-gift-post__head{gap:8px}.cf-gift-post>strong{font-size:1.55rem;word-break:break-word}
 .cf-closing__media{min-height:420px}
}

@media (prefers-reduced-motion:reduce){
 .cf-body *,.cf-body *:before,.cf-body *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.cf-reveal{opacity:1!important;transform:none!important}.cf-profile__field{transform:none!important}
}


/* Creator Feed layout refinement v1 — no decorative section numbers */
.cf-main>section{scroll-margin-top:84px}
.cf-post-head{align-items:flex-start}
.cf-post-head>div:first-child{min-width:0;max-width:900px}
.cf-post-head__index{display:none!important}
.cf-profile__forever strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.05rem!important;letter-spacing:.08em;font-weight:800}

/* Featured post: keep portrait metadata readable and frame contained. */
.cf-featured-post{overflow:hidden}
.cf-featured-post__media{min-height:590px}
.cf-featured-post__image>.cf-dynamic-image{object-position:center center}
.cf-featured-post__portraits article{min-width:0;overflow:hidden}
.cf-featured-post__portraits h3,.cf-featured-post__portraits p{overflow-wrap:anywhere}

/* Pinned event cards: remove the excessive empty field and keep all text inside the sheet. */
.cf-event-stack{max-width:860px;margin-left:auto;width:100%}
.cf-event-post{min-height:350px;padding:42px 46px 38px;overflow:hidden}
.cf-event-post>img{object-fit:fill}
.cf-event-post:nth-child(2){transform:translateX(4%)}
.cf-event-post__pin{margin-bottom:34px}
.cf-event-post h3{margin:10px 0 20px;font-size:clamp(2.35rem,4.2vw,4.3rem);line-height:.94;overflow-wrap:anywhere}
.cf-event-post address{margin-top:14px}

/* Gallery: no numeric index badge. */
.cf-gallery__counter strong{display:none}
.cf-gallery__counter span{display:block;padding:9px 0;border-top:1px solid var(--cf-line);border-bottom:1px solid var(--cf-line)}
.cf-masonry__item>span b{font:800 .65rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:.14em}

/* Location side rail is title-only. */
.cf-location__index{justify-content:center}
.cf-location__index b{display:none!important}

/* RSVP header is title-only. */
.cf-form__head{justify-content:flex-start}
.cf-form__head b{display:none!important}

/* Gift cards: use the card as a real content container, avoiding text/button outside the frame. */
.cf-gift-feed{align-items:start}
.cf-gift-post{min-height:320px;padding:38px 40px 34px;border:1px solid rgba(25,23,23,.18);border-radius:28px;background:#fffaf4;overflow:hidden;box-shadow:0 16px 44px rgba(40,34,34,.08)}
.cf-gift-post>img:first-child{display:none}
.cf-gift-post:before{content:"";position:absolute;right:34px;top:14px;width:122px;height:40px;background:var(--cf-red);opacity:.92}
.cf-gift-post:after{content:"";position:absolute;left:40px;right:40px;top:78px;height:1px;background:var(--cf-line)}
.cf-gift-post__head{position:relative;z-index:2;padding-right:150px;min-height:30px;align-items:center}
.cf-gift-post__head b{font-size:.54rem;color:var(--cf-muted);white-space:nowrap}
.cf-gift-post h3{margin:58px 0 7px;font-size:clamp(2.2rem,3.4vw,3.5rem)}
.cf-gift-post>strong{font-size:clamp(1.45rem,2.5vw,2.35rem);overflow-wrap:anywhere}
.cf-gift-post>p{margin:10px 0 0}
.cf-gift-post button{position:static;margin-top:28px;min-height:42px;width:max-content;max-width:100%}

/* Closing: preserve editorial split but keep the name block comfortably inside the column. */
.cf-closing__copy{min-width:0;padding-right:clamp(0px,2vw,30px)}
.cf-closing__copy h2{max-width:100%;font-size:clamp(3.5rem,7vw,7.4rem);line-height:.82;overflow-wrap:anywhere}
.cf-closing__copy p{max-width:580px}

@media (max-width:1100px){
 .cf-event-stack{max-width:none}.cf-event-post:nth-child(2){transform:none;margin-top:28px}
 .cf-gift-post{min-height:300px}
}
@media (max-width:768px){
 .cf-main>section{scroll-margin-top:66px}
 .cf-featured-post__media{min-height:0}
 .cf-featured-post__image{min-height:430px}
 .cf-event-post{min-height:0;padding:34px 28px 32px}.cf-event-post__pin{margin-bottom:28px}.cf-event-post:nth-child(2){margin-top:0}
 .cf-gallery__counter{margin-top:16px;text-align:left}
 .cf-location__index{justify-content:center}
 .cf-gift-post{min-height:0;padding:32px 26px 28px;border-radius:22px}.cf-gift-post:before{right:22px;width:92px;height:34px}.cf-gift-post:after{left:26px;right:26px;top:70px}.cf-gift-post__head{padding-right:105px}.cf-gift-post h3{margin-top:52px}.cf-gift-post button{margin-top:24px}
 .cf-closing__copy{padding-right:0}.cf-closing__copy h2{font-size:clamp(3.5rem,16vw,5.6rem);line-height:.86}
}
@media (max-width:430px){
 .cf-featured-post__image{min-height:360px}
 .cf-featured-post__portraits article{padding:20px 18px}
 .cf-event-post{padding:30px 22px 28px}.cf-event-post h3{font-size:2.35rem}
 .cf-gift-post__head{padding-right:0;padding-top:48px;display:block}.cf-gift-post__head b{display:block;margin-top:6px}.cf-gift-post:before{left:26px;right:auto;top:22px;width:84px;height:28px}.cf-gift-post:after{top:62px}.cf-gift-post h3{margin-top:26px}
}


/* V2 targeted layout fixes */
/* Circle profile photo: keep both bride and groom visible inside the ring. */
.cf-opening__avatar>img:first-child,.cf-profile__avatar>.cf-dynamic-image{object-position:center 22%}
.cf-profile__avatar>.cf-dynamic-image{padding:12px;transform:scale(.94)}

/* Featured couple photo frame: fit the media area cleanly without overshooting. */
.cf-featured-post__image{display:block;min-width:0}
.cf-featured-post__image>.cf-dynamic-image{object-position:center 28%}
.cf-featured-post__frame{inset:22px 26px 22px 22px;width:auto;height:auto;max-width:calc(100% - 48px);max-height:calc(100% - 44px);object-fit:contain;object-position:center;opacity:.92}
.cf-featured-post__portraits{overflow:hidden}
.cf-featured-post__portraits article{grid-template-columns:92px minmax(0,1fr);column-gap:18px;min-width:0}
.cf-mini-portrait{width:92px}

/* Event cards: turn them into clean editorial cards rather than oversized loose blocks. */
.cf-event-stack{max-width:900px;gap:24px}
.cf-event-post{min-height:0;padding:34px 38px 30px;border:1px solid rgba(25,23,23,.18);border-radius:34px;background:#fffaf4;box-shadow:0 16px 38px rgba(40,34,34,.08)}
.cf-event-post>img{display:none}
.cf-event-post:nth-child(2){transform:translateX(2%)}
.cf-event-post__pin{margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid rgba(25,23,23,.10)}
.cf-event-post h3{margin:10px 0 20px;font-size:clamp(2.3rem,4.2vw,4.05rem);line-height:.94}
.cf-event-post p{max-width:420px;grid-template-columns:68px minmax(0,1fr);gap:12px;margin:10px 0}
.cf-event-post address{max-width:460px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(25,23,23,.08)}

@media (max-width: 1024px){
  .cf-featured-post__frame{inset:18px 20px;width:auto;height:auto;max-width:calc(100% - 38px);max-height:calc(100% - 36px)}
  .cf-featured-post__portraits article{grid-template-columns:84px minmax(0,1fr)}
  .cf-mini-portrait{width:84px}
  .cf-event-post{padding:30px 28px 28px}
  .cf-event-post:nth-child(2){transform:none;margin-top:18px}
}
@media (max-width: 767px){
  .cf-opening__avatar>img:first-child,.cf-profile__avatar>.cf-dynamic-image{object-position:center 20%}
  .cf-profile__avatar>.cf-dynamic-image{padding:10px;transform:none}
  .cf-featured-post__frame{inset:14px 14px 14px 14px;max-width:calc(100% - 28px);max-height:calc(100% - 28px)}
  .cf-featured-post__portraits article{grid-template-columns:70px minmax(0,1fr);column-gap:13px}
  .cf-mini-portrait{width:70px}
  .cf-event-post{padding:26px 22px 24px;border-radius:26px}
  .cf-event-post__pin{margin-bottom:18px;padding-bottom:12px}
  .cf-event-post h3{font-size:clamp(2rem,9vw,2.7rem)}
  .cf-event-post p{grid-template-columns:62px minmax(0,1fr);font-size:.78rem}
}


/* V3 polish + motion */
/* Replace mismatched SVG frame overlays with responsive CSS corner frames. */
.cf-featured-post__image,
.cf-closing__media{isolation:isolate;overflow:hidden}
.cf-featured-post__frame,
.cf-closing__media>img:last-child{opacity:0;visibility:hidden}
.cf-featured-post__image:before,
.cf-closing__media:before{content:"";position:absolute;inset:18px;border:1.8px solid rgba(25,23,23,.62);border-radius:10px;pointer-events:none;z-index:2}
.cf-featured-post__image:after,
.cf-closing__media:after{content:"";position:absolute;inset:28px;background:
linear-gradient(var(--cf-red),var(--cf-red)) left top/56px 4px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) left top/4px 58px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) right top/56px 4px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) right top/4px 58px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) left bottom/56px 4px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) left bottom/4px 58px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) right bottom/56px 4px no-repeat,
linear-gradient(var(--cf-red),var(--cf-red)) right bottom/4px 58px no-repeat;
pointer-events:none;z-index:3;opacity:.9}
.cf-featured-post__image>.cf-dynamic-image{object-position:center 20%}
.cf-closing__media>.cf-dynamic-image{object-position:center 18%}

/* Portrait rail: keep text readable and media proportion balanced. */
.cf-featured-post__media{grid-template-columns:minmax(0,1.22fr) minmax(285px,.78fr)}
.cf-featured-post__portraits{background:#fffaf4}
.cf-featured-post__portraits article{padding:30px 26px;align-items:center}
.cf-featured-post__portraits small,.cf-featured-post__portraits p{overflow-wrap:anywhere}

/* Map CTA: make the label explicitly visible. */
.cf-primary-link{display:inline-flex;width:auto;min-width:min(100%,290px);padding:16px 18px 16px 20px;border-radius:0;box-shadow:0 14px 30px rgba(25,23,23,.14)}
.cf-primary-link span{display:inline-flex;align-items:center;flex:1 1 auto;min-width:0;color:#fff;font-size:.76rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.cf-primary-link img{flex:0 0 auto}

/* Gift cards: keep every label visible and aligned. */
.cf-gift-post{padding:34px 40px 30px}
.cf-gift-post:before{right:34px;top:18px;width:108px;height:28px;border-radius:0;opacity:.95}
.cf-gift-post__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding-right:0;min-height:auto}
.cf-gift-post__head span,.cf-gift-post__head b{position:relative;z-index:2;background:#fffaf4;padding:0 .15rem}
.cf-gift-post__head span{color:var(--cf-ink)}
.cf-gift-post__head b{color:var(--cf-red)}
.cf-gift-post h3{margin:42px 0 8px}
.cf-gift-post button{position:relative;z-index:2}

/* Closing copy: keep the text and swash neat. */
.cf-closing__copy{display:flex;flex-direction:column;justify-content:center}
.cf-closing__copy h2{max-width:100%}
.cf-closing__copy>img{width:min(430px,92%);margin:18px 0 4px;transform-origin:left center}

/* More motion without harming usability. */
.cf-featured-post,
.cf-event-post,
.cf-gift-post,
.cf-location__editorial,
.cf-closing__media,
.cf-closing__copy>img,
.cf-primary-link,
.cf-location__map-art>b{will-change:transform,opacity}
.cf-featured.cf-is-active .cf-featured-post{animation:cfLiftSoft .9s cubic-bezier(.2,.8,.2,1) both}
.cf-featured.cf-is-active .cf-featured-post__image:after,
.cf-closing.cf-is-active .cf-closing__media:after{animation:cfGlowSweep 5.8s ease-in-out infinite}
.cf-featured.cf-is-active .cf-featured-post__portraits article:nth-child(1){animation:cfFloatCard 4.8s ease-in-out infinite}
.cf-featured.cf-is-active .cf-featured-post__portraits article:nth-child(2){animation:cfFloatCard 5.4s ease-in-out -.8s infinite}
.cf-location.cf-is-active .cf-location__editorial{animation:cfLiftSoft .85s cubic-bezier(.2,.8,.2,1) both}
.cf-location.cf-is-active .cf-location__map-art>b{animation:cfPulseMarker 2.4s ease-in-out infinite}
.cf-location.cf-is-active .cf-location__map-art>span:nth-child(1){animation:cfOrbitMorph 16s linear infinite}
.cf-location.cf-is-active .cf-location__map-art>span:nth-child(2){animation:cfOrbitMorph 19s linear reverse infinite}
.cf-location.cf-is-active .cf-primary-link{animation:cfNudgeX 3.2s ease-in-out infinite}
.cf-gift.cf-is-active .cf-gift-post:nth-child(1){animation:cfLiftSoft .85s cubic-bezier(.2,.8,.2,1) both, cfFloatCard 6s ease-in-out 1.1s infinite}
.cf-gift.cf-is-active .cf-gift-post:nth-child(2){animation:cfLiftSoft 1s cubic-bezier(.2,.8,.2,1) both, cfFloatCard 6.7s ease-in-out 1.35s infinite}
.cf-closing.cf-is-active .cf-closing__media{animation:cfLiftSoft .95s cubic-bezier(.2,.8,.2,1) both}
.cf-closing.cf-is-active .cf-closing__copy>img{animation:cfDrawSway 4.8s ease-in-out infinite}

@keyframes cfLiftSoft{0%{opacity:0;transform:translate3d(0,24px,0) scale(.985)}100%{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes cfFloatCard{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-8px,0)}}
@keyframes cfGlowSweep{0%,100%{opacity:.85;filter:drop-shadow(0 0 0 rgba(165,47,80,0))}50%{opacity:1;filter:drop-shadow(0 0 10px rgba(165,47,80,.18))}}
@keyframes cfPulseMarker{0%,100%{transform:scale(1);box-shadow:0 20px 30px rgba(165,47,80,.22)}50%{transform:scale(1.08);box-shadow:0 20px 34px rgba(165,47,80,.34)}}
@keyframes cfOrbitMorph{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(8deg) scale(1.03)}100%{transform:rotate(0deg) scale(1)}}
@keyframes cfNudgeX{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes cfDrawSway{0%,100%{transform:translateX(0) scaleX(1)}50%{transform:translateX(5px) scaleX(1.02)}}

@media (max-width:1100px){
  .cf-featured-post__media{grid-template-columns:1fr}
}
@media (max-width:768px){
  .cf-featured-post__image:before,.cf-closing__media:before{inset:14px}
  .cf-featured-post__image:after,.cf-closing__media:after{inset:22px;background:
  linear-gradient(var(--cf-red),var(--cf-red)) left top/42px 3px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) left top/3px 44px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) right top/42px 3px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) right top/3px 44px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) left bottom/42px 3px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) left bottom/3px 44px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) right bottom/42px 3px no-repeat,
  linear-gradient(var(--cf-red),var(--cf-red)) right bottom/3px 44px no-repeat}
  .cf-primary-link{min-width:100%}
  .cf-primary-link span{font-size:.72rem;white-space:normal}
  .cf-gift-post{padding:30px 24px 26px}
  .cf-gift-post:before{right:22px;top:20px;width:88px;height:24px}
  .cf-gift-post__head{grid-template-columns:1fr;gap:6px;align-items:start}
  .cf-gift-post__head b{justify-self:start}
  .cf-closing__media>.cf-dynamic-image{object-position:center 12%}
}


/* V4 gift card alignment fix */
.cf-gift-post{min-height:270px;padding:32px 38px 30px;display:flex;flex-direction:column;align-items:flex-start}
.cf-gift-post:before{content:"";position:absolute;right:38px;top:24px;width:64px;height:8px;background:var(--cf-red);opacity:.95}
.cf-gift-post:after{left:38px;right:38px;top:78px}
.cf-gift-post__head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 86px 18px 0;min-height:46px}
.cf-gift-post__head span,.cf-gift-post__head b{background:transparent;padding:0;line-height:1.2;white-space:nowrap}
.cf-gift-post__head span{font-size:.58rem;letter-spacing:.16em;color:var(--cf-ink)}
.cf-gift-post__head b{font-size:.56rem;letter-spacing:.14em;color:var(--cf-red)}
.cf-gift-post h3{margin:32px 0 6px;font-size:clamp(2.3rem,3.3vw,3.4rem);line-height:1}
.cf-gift-post>strong{line-height:1.1;margin:0}
.cf-gift-post>p{margin:9px 0 0}
.cf-gift-post button{margin-top:24px;min-height:40px;padding:10px 14px}

@media (max-width:768px){
  .cf-gift-post{min-height:250px;padding:28px 24px 26px}
  .cf-gift-post:before{right:24px;top:22px;width:52px;height:7px}
  .cf-gift-post:after{left:24px;right:24px;top:72px}
  .cf-gift-post__head{padding:0 68px 16px 0;min-height:44px;display:flex;justify-content:space-between;gap:10px}
  .cf-gift-post__head span,.cf-gift-post__head b{font-size:.52rem}
  .cf-gift-post h3{margin-top:28px}
}
@media (max-width:430px){
  .cf-gift-post__head{padding-right:0;padding-top:28px;display:grid;grid-template-columns:1fr;gap:5px}
  .cf-gift-post:before{left:24px;right:auto;top:20px;width:54px;height:6px}
  .cf-gift-post:after{top:82px}
  .cf-gift-post h3{margin-top:36px}
}


/* V5 — Gift spacing + Android RSVP polish */
/* Gift: separate account number from copy action so they never overlap. */
.cf-gift-post{row-gap:0}
.cf-gift-post h3{margin-bottom:10px}
.cf-gift-post>strong{display:block;margin:0 0 18px;line-height:1.05;position:relative;z-index:2}
.cf-gift-post>p{margin:0 0 14px}
.cf-gift-post button{position:relative;z-index:3;margin-top:0;align-self:flex-start;flex:0 0 auto}

/* RSVP: mobile/Android layout must behave like a real stacked form. */
@media (max-width:768px){
  .cf-rsvp{display:block;padding-left:18px!important;padding-right:18px!important}
  .cf-rsvp__intro{max-width:none;margin:0 0 26px}
  .cf-rsvp__intro h2{max-width:100%;font-size:clamp(2.45rem,11vw,3.45rem);line-height:.94;overflow-wrap:anywhere}
  .cf-rsvp__intro>p{font-size:.93rem;line-height:1.6}
  .cf-rsvp__guest{width:100%;max-width:100%;box-sizing:border-box}
  .cf-form{width:100%;max-width:none;margin:0;padding:24px 18px 22px;min-height:0;border-radius:24px;overflow:hidden;background:#171515;border:1px solid rgba(165,47,80,.72);box-shadow:0 18px 46px rgba(25,23,23,.16)}
  .cf-form__asset{display:none!important}
  .cf-form__head{margin-bottom:22px;padding-bottom:14px;line-height:1.4;white-space:normal}
  .cf-field-row{display:grid;grid-template-columns:1fr;gap:0}
  .cf-field{width:100%;min-width:0;margin-bottom:16px}
  .cf-field>span{gap:8px;flex-wrap:wrap}
  .cf-field input,.cf-field textarea,.cf-field select{display:block;width:100%;max-width:100%;min-width:0;min-height:50px;padding:13px 14px;border-radius:12px;font-size:16px;line-height:1.25}
  .cf-field textarea{min-height:118px;resize:vertical}
  .cf-attendance{display:grid;grid-template-columns:1fr;gap:8px;width:100%;margin:0 0 18px}
  .cf-attendance legend{margin-bottom:2px}
  .cf-attendance>label{display:block;width:100%;margin:0}
  .cf-attendance span{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:11px 12px;border-radius:12px;text-align:center}
  .cf-submit{min-height:52px;border-radius:12px;padding:14px 16px;font-size:.84rem}
  .cf-form-status{margin-top:12px;line-height:1.45}
}
@media (max-width:430px){
  .cf-rsvp{padding-left:12px!important;padding-right:12px!important}
  .cf-rsvp__intro h2{font-size:clamp(2.25rem,12vw,3rem)}
  .cf-rsvp__guest{padding:12px 14px}
  .cf-form{padding:22px 14px 20px;border-radius:20px}
  .cf-form__head{font-size:.52rem;letter-spacing:.12em}
  .cf-field input,.cf-field textarea,.cf-field select{padding-left:12px;padding-right:12px}
  .cf-submit{font-size:.8rem}
  .cf-gift-post{padding:26px 22px 24px}
  .cf-gift-post>strong{margin-bottom:16px;font-size:1.5rem;line-height:1.08}
  .cf-gift-post button{min-height:42px;padding:10px 13px}
}


/* V6 — audited gift layout: deterministic rows, no overlap */
.cf-gift-post{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  grid-auto-rows:max-content;
  align-content:start;
  align-items:start;
  row-gap:0;
  min-height:280px;
  padding:32px 38px 30px;
}
.cf-gift-post:before{
  content:"";
  position:absolute;
  top:29px;
  right:38px;
  width:52px;
  height:5px;
  background:var(--cf-red);
  opacity:.95;
}
.cf-gift-post:after{left:38px;right:38px;top:78px}
.cf-gift-post__head{
  width:100%;
  min-width:0;
  min-height:46px;
  display:flex;
  align-items:center;
  gap:18px;
  padding:0 72px 18px 0;
  margin:0;
}
.cf-gift-post__head span,
.cf-gift-post__head b{
  display:block;
  position:relative;
  z-index:2;
  margin:0;
  padding:0;
  background:transparent;
  line-height:1.2;
  white-space:nowrap;
}
.cf-gift-post__head span{font-size:.58rem;letter-spacing:.16em;color:var(--cf-ink)}
.cf-gift-post__head b{margin-left:auto;font-size:.56rem;letter-spacing:.14em;color:var(--cf-red)}
.cf-gift-post h3{
  margin:30px 0 0;
  font-size:clamp(2.3rem,3.3vw,3.4rem);
  line-height:1;
}
.cf-gift-post>strong{
  display:block;
  width:max-content;
  max-width:100%;
  margin:12px 0 0;
  line-height:1.08;
  position:relative;
  z-index:2;
  overflow-wrap:anywhere;
}
.cf-gift-post>p{
  margin:10px 0 0;
  position:relative;
  z-index:2;
}
.cf-gift-post button{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  z-index:3;
  align-self:start;
  justify-self:start;
  margin:22px 0 0;
  min-height:42px;
  padding:10px 14px;
  flex:0 0 auto;
}
@media (max-width:768px){
  .cf-gift-post{min-height:260px;padding:28px 24px 26px}
  .cf-gift-post:before{top:25px;right:24px;width:46px;height:5px}
  .cf-gift-post:after{left:24px;right:24px;top:72px}
  .cf-gift-post__head{min-height:44px;gap:12px;padding:0 60px 16px 0}
  .cf-gift-post__head span,.cf-gift-post__head b{font-size:.52rem}
  .cf-gift-post h3{margin-top:26px}
  .cf-gift-post>strong{margin-top:10px}
  .cf-gift-post button{margin-top:20px}
}
@media (max-width:430px){
  .cf-gift-post{padding:26px 22px 24px}
  .cf-gift-post:before{top:24px;right:22px;width:42px;height:5px}
  .cf-gift-post:after{left:22px;right:22px;top:70px}
  .cf-gift-post__head{display:flex;min-height:42px;gap:10px;padding:0 54px 14px 0}
  .cf-gift-post__head span,.cf-gift-post__head b{font-size:.49rem;letter-spacing:.11em}
  .cf-gift-post h3{margin-top:24px;font-size:clamp(2.15rem,10vw,2.8rem)}
  .cf-gift-post>strong{font-size:clamp(1.42rem,7vw,1.8rem);margin-top:10px}
  .cf-gift-post button{margin-top:20px;min-height:42px;padding:10px 13px}
}
