/* City Lovers v1.1: source art direction scoped to its wedding document. */
.fl-city-lovers{--ink:#141411;--paper:#f0ecdf;--muted:#b2afa3;--pink:#f477a8;--pink-strong:#f15c97;--cyan:#91c9c4;--yellow:#f4d94b;--line:rgba(240,236,223,.24);--body-font:"Helvetica Neue",Arial,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;--display-font:"Arial Black","Helvetica Neue",Arial,sans-serif;--page:1400px;--gutter:clamp(22px,4.4vw,80px)}
.fl-city-lovers *{box-sizing:border-box}.fl-city-lovers{scroll-behavior:smooth;scroll-padding-top:100px}.fl-city-lovers{margin:0;background:var(--ink);color:var(--paper);font-family:var(--body-font);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}.fl-city-lovers::before{content:"";position:fixed;inset:0;background:url('assets/grain.png') repeat;opacity:.38;pointer-events:none;z-index:8}.fl-city-lovers.modal-open{overflow:hidden}.fl-city-lovers button,.fl-city-lovers input,.fl-city-lovers select,.fl-city-lovers textarea{font:inherit}.fl-city-lovers button,.fl-city-lovers a,.fl-city-lovers input,.fl-city-lovers select,.fl-city-lovers textarea,.fl-city-lovers summary{-webkit-tap-highlight-color:transparent}.fl-city-lovers a{color:inherit;text-decoration:none}.fl-city-lovers button{cursor:pointer}.fl-city-lovers button:disabled{cursor:not-allowed}.fl-city-lovers button{color:inherit}.fl-city-lovers button,.fl-city-lovers fieldset{padding:0;border:0;background:none}.fl-city-lovers img{display:block;width:100%;max-width:100%;height:auto}.fl-city-lovers svg{display:block}.fl-city-lovers h1,.fl-city-lovers h2,.fl-city-lovers h3,.fl-city-lovers p,.fl-city-lovers figure{margin:0}.fl-city-lovers h1,.fl-city-lovers h2,.fl-city-lovers h3{line-height:1.1}.fl-city-lovers p{overflow-wrap:anywhere}.fl-city-lovers button:focus-visible,.fl-city-lovers a:focus-visible,.fl-city-lovers summary:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}.fl-city-lovers input:focus-visible,.fl-city-lovers select:focus-visible,.fl-city-lovers textarea:focus-visible{outline:2px solid currentColor;outline-offset:3px}.fl-city-lovers ::selection{background:var(--pink);color:var(--ink)}.fl-city-lovers [hidden]{display:none!important}.fl-city-lovers .icon-library{position:absolute;width:0;height:0;overflow:hidden}.fl-city-lovers .icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fl-city-lovers .skip-link{position:fixed;top:10px;left:10px;transform:translateY(-180%);z-index:100;background:var(--paper);color:var(--ink);padding:12px 20px}.fl-city-lovers .skip-link:focus{transform:none}.fl-city-lovers .section-wrap{width:min(100%,var(--page));padding-left:var(--gutter);padding-right:var(--gutter);margin:auto}.fl-city-lovers .section-space{padding-top:110px;padding-bottom:110px}.fl-city-lovers .eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;line-height:1.6}.fl-city-lovers .site-header{width:100%;height:90px;display:flex;align-items:center;gap:32px;padding:0 var(--gutter);border-bottom:1px solid var(--line);position:relative;z-index:20;background:var(--ink)}.fl-city-lovers .wordmark{font:italic 700 31px/1 Georgia,"Times New Roman",serif;letter-spacing:-1.5px;white-space:nowrap}.fl-city-lovers .wordmark-dot{font:500 10px/1 var(--body-font);vertical-align:top;margin:2px 0 0 4px;display:inline-block;letter-spacing:0}.fl-city-lovers .header-edition{font-size:9px;letter-spacing:.16em;color:var(--muted);margin-left:14px}.fl-city-lovers .header-edition span{padding:0 9px}.fl-city-lovers .main-nav{margin-left:auto;display:flex;align-items:center;gap:29px}.fl-city-lovers .main-nav>a{font-size:10px;letter-spacing:.12em;font-weight:600;position:relative}.fl-city-lovers .main-nav>a:not(.nav-rsvp)::after{content:"";position:absolute;height:2px;bottom:-8px;left:0;width:100%;background:var(--pink);transform:scaleX(0);transform-origin:left;transition:transform .25s}.fl-city-lovers .main-nav>a:hover::after{transform:scaleX(1)}.fl-city-lovers .nav-rsvp{border:1px solid var(--pink);color:var(--pink);padding:10px 15px;display:flex;align-items:center;gap:18px;transition:background .25s,color .25s}.fl-city-lovers .nav-rsvp:hover{background:var(--pink);color:var(--ink)}.fl-city-lovers .nav-rsvp .icon{width:17px;height:17px}.fl-city-lovers .menu-toggle{display:none}.fl-city-lovers .hero{padding-top:23px}.fl-city-lovers .hero-meta{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.14em;color:var(--muted);line-height:1.5;gap:15px}.fl-city-lovers .hero-meta>span:first-child{display:flex;align-items:center;gap:8px;color:var(--paper)}.fl-city-lovers .status-dot{background:var(--pink);width:5px;height:5px;border-radius:50%;display:inline-block}.fl-city-lovers .hero-grid{display:grid;grid-template-columns:.87fr 1.13fr;gap:32px;align-items:center;padding:48px 0 37px}.fl-city-lovers .hero-copy{padding:0 0 20px;position:relative;z-index:2}.fl-city-lovers .hero-copy>.eyebrow{display:flex;gap:35px;align-items:center;font-size:9px;color:var(--muted);margin-bottom:23px}.fl-city-lovers .mini-colors,.fl-city-lovers .ink-dots{display:inline-flex;gap:4px}.fl-city-lovers .mini-colors i{width:9px;height:9px;border-radius:50%;background:var(--cyan)}.fl-city-lovers .mini-colors i:nth-child(2){background:var(--pink)}.fl-city-lovers .mini-colors i:nth-child(3){background:var(--yellow)}.fl-city-lovers .couple-title{font-family:var(--display-font);font-size:clamp(100px,14.3vw,207px);font-weight:950;font-style:italic;letter-spacing:-.085em;line-height:.8;margin-left:-12px;padding-bottom:15px}.fl-city-lovers .name-line{display:block;position:relative;z-index:1}.fl-city-lovers .second-name{display:flex;align-items:center;gap:12px;margin-top:5px}.fl-city-lovers .ampersand{font:italic 700 .57em/.9 Georgia,serif;color:var(--pink);letter-spacing:-.13em;margin-left:1px;transform:rotate(-13deg)}.fl-city-lovers .couple-title.long-names{font-size:clamp(61px,8vw,115px);line-height:1}.fl-city-lovers .couple-title.long-names .second-name{gap:16px}.fl-city-lovers .couple-title.extra-long{font-size:clamp(39px,5.2vw,75px)}.fl-city-lovers .tape-label{background:var(--paper);color:var(--ink);display:table;padding:10px 22px 12px;font:italic 800 clamp(17px,2vw,27px)/1.05 Georgia,serif;letter-spacing:-.02em;transform:rotate(-4deg);clip-path:polygon(1% 4%,16% 1%,40% 4%,68% 0,98% 3%,97% 14%,100% 20%,98% 42%,100% 79%,97% 85%,98% 100%,64% 97%,25% 100%,0 96%,2% 73%,0 45%,3% 31%);margin:17px 0 29px 13px}.fl-city-lovers .tape-label span{display:block}.fl-city-lovers .hero-description{font-size:13px;color:var(--muted);line-height:1.95;letter-spacing:.06em;white-space:pre-line}.fl-city-lovers .text-link{display:inline-flex;align-items:center;gap:24px;font-size:11px;font-weight:600;line-height:1.7}.fl-city-lovers .hero-link{margin-top:23px;border-bottom:1px solid var(--line);padding-bottom:7px}.fl-city-lovers .text-link .icon{width:22px;transition:transform .25s}.fl-city-lovers .text-link:hover .icon{transform:translateX(5px)}.fl-city-lovers .hero-visual{min-width:0;padding:0 5px 0 0;position:relative}.fl-city-lovers .artwork-frame{position:relative;transform:rotate(1.4deg);padding:0 12px 0 0}.fl-city-lovers .print-stage{position:relative;aspect-ratio:1.02;background:var(--cyan);overflow:hidden}.fl-city-lovers .print-layer{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:43% center}.fl-city-lovers .layer-base{filter:grayscale(1) contrast(1.06)}.fl-city-lovers .layer-cyan{filter:grayscale(1) sepia(1) saturate(2.5) hue-rotate(115deg);clip-path:inset(0 0 0 0)}.fl-city-lovers .layer-magenta{filter:grayscale(1) sepia(1) saturate(3) hue-rotate(265deg)}.fl-city-lovers .layer-final{transition:filter .6s,opacity .6s}.fl-city-lovers .proof-mono .layer-cyan,.fl-city-lovers .proof-mono .layer-magenta,.fl-city-lovers .proof-mono .layer-final{opacity:0}.fl-city-lovers .custom-photo .layer-final{filter:contrast(1.15) saturate(.8)}.fl-city-lovers .custom-photo .print-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(240,76,145,.48),rgba(126,208,198,.3) 60%,rgba(246,223,71,.4));mix-blend-mode:color;pointer-events:none}.fl-city-lovers .custom-photo.proof-mono .print-stage::after{opacity:0}.fl-city-lovers .is-printing .layer-cyan{animation:city-ink-pass .6s cubic-bezier(.2,.7,.2,1) .1s both}.fl-city-lovers .is-printing .layer-magenta{animation:city-ink-pass .65s cubic-bezier(.2,.7,.2,1) .4s both}.fl-city-lovers .is-printing .layer-final{animation:city-ink-pass .8s cubic-bezier(.2,.7,.2,1) .8s both}.fl-city-lovers .is-printing .couple-title{animation:city-type-register .65s ease-out .55s both}@keyframes city-ink-pass{0%{clip-path:polygon(0 0,0 0,0 20%,0 45%,0 65%,0 100%,0 100%);transform:translate(-5px,3px)}50%{clip-path:polygon(0 0,58% 0,63% 20%,55% 45%,64% 65%,58% 100%,0 100%)}100%{clip-path:polygon(0 0,100% 0,100% 20%,100% 45%,100% 65%,100% 100%,0 100%);transform:translate(0,0)}}@keyframes city-type-register{0%{text-shadow:-6px 3px 0 var(--cyan),7px -2px 0 var(--pink)}100%{text-shadow:0 0 0 transparent}}.fl-city-lovers .artwork-caption{position:absolute;bottom:32px;left:22px;font-size:9px;letter-spacing:.2em;color:var(--ink);background:var(--paper);padding:4px 8px;transform:rotate(-1.4deg);z-index:3}.fl-city-lovers .paper-edge{position:absolute;bottom:-1px;left:0;width:100%;height:16px;background:var(--ink);clip-path:polygon(0 40%,2% 55%,4% 18%,6% 49%,8% 40%,10% 74%,12% 31%,15% 54%,19% 23%,22% 57%,25% 38%,29% 62%,32% 22%,35% 47%,37% 32%,40% 61%,44% 29%,47% 51%,50% 37%,54% 58%,57% 26%,60% 45%,64% 17%,67% 55%,70% 32%,73% 59%,77% 25%,81% 43%,84% 20%,87% 60%,90% 31%,93% 53%,96% 21%,100% 40%,100% 100%,0 100%);z-index:4}.fl-city-lovers .registration{width:23px;height:23px;position:absolute;z-index:5}.fl-city-lovers .registration::before,.fl-city-lovers .registration::after{content:"";position:absolute;background:var(--paper)}.fl-city-lovers .registration::before{width:1px;height:100%;left:11px;top:0}.fl-city-lovers .registration::after{width:100%;height:1px;top:11px;left:0}.fl-city-lovers .reg-one{top:-12px;left:-12px}.fl-city-lovers .reg-two{bottom:-9px;right:0}.fl-city-lovers .vertical-note{position:absolute;right:-12px;top:22px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.17em;color:var(--muted)}.fl-city-lovers .date-sticker{background:var(--yellow);color:var(--ink);position:absolute;left:-52px;bottom:45px;width:142px;height:142px;display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(-10deg);border-radius:50%;z-index:6;box-shadow:2px 4px 0 rgba(0,0,0,.3);transition:transform .3s}.fl-city-lovers .date-sticker:hover{transform:rotate(0) scale(1.04)}.fl-city-lovers .date-sticker>.icon{width:22px;height:22px;margin-bottom:6px}.fl-city-lovers .date-sticker>span{font-size:8px;font-weight:700;letter-spacing:.12em;line-height:1.3}.fl-city-lovers .date-sticker strong{font:900 34px/1.3 var(--display-font);letter-spacing:-2px}.fl-city-lovers .proof-controls{margin-top:24px;display:flex;align-items:center;gap:16px;justify-content:space-between}.fl-city-lovers .proof-note{display:flex;align-items:center;gap:8px;font-size:8px;letter-spacing:.07em}.fl-city-lovers .ink-dots i{width:6px;height:6px;border-radius:50%;background:var(--cyan)}.fl-city-lovers .ink-dots i:nth-child(2){background:var(--pink)}.fl-city-lovers .ink-dots i:nth-child(3){background:var(--yellow)}.fl-city-lovers .ink-dots i:nth-child(4){border:1px solid var(--paper);background:none}.fl-city-lovers .proof-controls button{font-size:10px;color:var(--muted);min-height:32px;display:flex;align-items:center;gap:5px}.fl-city-lovers .proof-controls button:hover{color:var(--paper)}.fl-city-lovers .proof-controls .icon{width:14px;height:14px}.fl-city-lovers .hero-bottom{border-top:1px solid var(--line);padding:21px 0 23px;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.13em;color:var(--muted)}.fl-city-lovers .hero-bottom a{display:flex;gap:30px;align-items:center;color:var(--paper);font-size:10px}.fl-city-lovers .hero-bottom a span{font-size:20px}.fl-city-lovers .ticker{background:var(--pink);color:var(--ink);overflow:hidden;padding:17px 0 19px;transform:rotate(-1.1deg);width:100%;margin:15px 0 6px;position:relative;z-index:3}.fl-city-lovers .ticker-track{display:flex;align-items:center;width:max-content;animation:city-ticker 32s linear infinite}.fl-city-lovers .ticker-track>span{font:900 clamp(22px,3.3vw,45px)/1 var(--display-font);letter-spacing:-.04em;white-space:nowrap;padding-right:32px}.fl-city-lovers .ticker-track b{font-weight:400;display:inline-block;padding:0 25px}.fl-city-lovers .ticker:hover .ticker-track{animation-play-state:paused}@keyframes city-ticker{to{transform:translateX(-50%)}}.fl-city-lovers .paper-section{background:var(--paper);color:var(--ink);position:relative}.fl-city-lovers .invitation{margin-top:-12px;padding-top:12px}.fl-city-lovers .invitation-inner{padding-top:75px;padding-bottom:70px}.fl-city-lovers .invitation .eyebrow{display:flex;justify-content:space-between;gap:25px;margin-bottom:32px}.fl-city-lovers .invitation .eyebrow span:last-child{font-size:11px;letter-spacing:.07em}.fl-city-lovers .invitation h2{font:900 clamp(30px,4.3vw,62px)/1.08 var(--display-font);letter-spacing:-.055em}.fl-city-lovers .invitation h2>span{font-family:Georgia,"Times New Roman",serif;font-weight:500;font-style:italic;letter-spacing:-.055em}.fl-city-lovers .invitation-bottom{display:grid;grid-template-columns:1.4fr .6fr 1fr;gap:40px;align-items:center;margin-top:35px}.fl-city-lovers .invitation-bottom>p:first-child{font-size:13px;line-height:2.1}.fl-city-lovers .drawn-heart{width:95px;height:95px;stroke:var(--pink-strong);stroke-width:3.2;fill:none;transform:rotate(8deg);margin:auto}.fl-city-lovers .signature{font:italic 500 29px/1.2 Georgia,serif;text-align:right}.fl-city-lovers .signature small{display:block;font:8px/1 var(--body-font);letter-spacing:.2em;margin-top:18px}.fl-city-lovers .section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:55px}.fl-city-lovers .section-heading .eyebrow{display:block;color:var(--muted);margin-bottom:18px}.fl-city-lovers .section-heading h2{font:900 clamp(40px,6.3vw,88px)/1.05 var(--display-font);letter-spacing:-.065em}.fl-city-lovers .section-heading h2 em{font-family:Georgia,serif;font-weight:500;font-style:italic;letter-spacing:-.055em}.fl-city-lovers .section-heading>p{font-size:12px;line-height:1.95;letter-spacing:.045em;color:var(--muted);padding-bottom:3px}.fl-city-lovers .story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;padding:10px 0 20px}.fl-city-lovers .story-card{background:var(--paper);color:var(--ink);padding:12px 12px 32px;transform:rotate(var(--card-angle));position:relative;transition:transform .35s;min-width:0}.fl-city-lovers .story-card:nth-child(2){margin-top:38px}.fl-city-lovers .story-card:hover{transform:rotate(0) translateY(-6px)}.fl-city-lovers .story-image{position:relative}.fl-city-lovers .story-image img{aspect-ratio:1.25;object-fit:cover;filter:saturate(.9)}.fl-city-lovers .photo-sticker{position:absolute;bottom:-10px;right:5px;background:var(--yellow);color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.06em;padding:6px 12px;transform:rotate(-5deg);box-shadow:0 2px 0 rgba(0,0,0,.15)}.fl-city-lovers .pink-sticker{background:var(--pink);transform:rotate(3deg)}.fl-city-lovers .cyan-sticker{background:var(--cyan);transform:rotate(-3deg)}.fl-city-lovers .story-card-copy{padding:28px 12px 0}.fl-city-lovers .story-year{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;margin-bottom:19px}.fl-city-lovers .story-year span{font-size:9px;letter-spacing:.06em;font-weight:400;opacity:.6;margin-left:6px}.fl-city-lovers .story-card h3{font-size:17px;line-height:1.45;letter-spacing:-.035em;margin-bottom:12px;font-weight:700}.fl-city-lovers .story-card p{font-size:11px;line-height:2;color:#57564e;padding-bottom:15px}.fl-city-lovers .story-number{position:absolute;bottom:10px;right:18px;font:italic 600 24px/1 Georgia,serif;color:#afada3}.fl-city-lovers .story-end{border-bottom:1px solid var(--line);padding:41px 0 19px;display:flex;align-items:center;gap:24px;font-size:9px;letter-spacing:.12em}.fl-city-lovers .story-end .icon{margin-left:auto;width:25px}.fl-city-lovers .story-end>span:last-child{font-size:11px;letter-spacing:.06em}.fl-city-lovers .details .section-heading .eyebrow{color:#6c6a62}.fl-city-lovers .details .section-heading>p{color:#65635c}.fl-city-lovers .event-ticket{display:grid;grid-template-columns:1fr 260px;background:var(--yellow);color:var(--ink);position:relative;border:1px solid var(--ink);box-shadow:6px 7px 0 var(--ink)}.fl-city-lovers .ticket-main{padding:30px 37px;position:relative}.fl-city-lovers .ticket-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.11em}.fl-city-lovers .ticket-label>.icon{width:28px;height:28px}.fl-city-lovers .event-date{font:900 clamp(42px,7.4vw,99px)/1.13 var(--display-font);letter-spacing:-.07em;margin:25px 0 16px;white-space:nowrap}.fl-city-lovers .ticket-row{display:flex;justify-content:space-between;gap:18px;align-items:center}.fl-city-lovers .ticket-row strong{font-size:10px;line-height:1.8;letter-spacing:.08em}.fl-city-lovers .ticket-row strong>span{display:block}.fl-city-lovers .calendar-button{border-bottom:1px solid currentColor;font-size:11px;padding:7px 0;white-space:nowrap}.fl-city-lovers .calendar-button>span{font-size:20px;margin-left:18px}.fl-city-lovers .ticket-perforation{border-top:1px dashed rgba(0,0,0,.4);margin:26px -37px}.fl-city-lovers .venue-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.fl-city-lovers .venue-row .eyebrow{font-size:9px}.fl-city-lovers .venue-row h3{font:900 clamp(20px,2.9vw,36px)/1.3 var(--display-font);letter-spacing:-.04em;margin:10px 0 7px}.fl-city-lovers .venue-row p{font-size:10px;letter-spacing:.08em}.fl-city-lovers .demo-venue{font-size:10px;letter-spacing:0}.fl-city-lovers .venue-code{font:900 26px/.95 var(--display-font);letter-spacing:-.04em;text-align:center;border:2px solid currentColor;padding:8px;transform:rotate(8deg)}.fl-city-lovers .ticket-stub{border-left:2px dashed rgba(0,0,0,.45);background:var(--pink);padding:34px 22px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden}.fl-city-lovers .ticket-stub::before,.fl-city-lovers .ticket-stub::after{content:"";height:28px;width:28px;border:1px solid var(--ink);border-radius:50%;background:var(--paper);position:absolute;left:-15px}.fl-city-lovers .ticket-stub::before{top:-15px}.fl-city-lovers .ticket-stub::after{bottom:-15px}.fl-city-lovers .ticket-stub>span:first-child{font-size:9px;letter-spacing:.12em}.fl-city-lovers .ticket-couple{display:flex;flex-direction:column;text-align:center;font:900 58px/.9 var(--display-font);font-style:italic;letter-spacing:-.06em;margin:25px 0;max-width:100%;overflow-wrap:anywhere}.fl-city-lovers .ticket-couple em{font:italic 500 38px/1 Georgia,serif;margin:4px 0 0}.fl-city-lovers .ticket-couple.long-names{font-size:32px;line-height:1.1}.fl-city-lovers .barcode{height:32px;width:80%;background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 2px,transparent 2px,transparent 4px,var(--ink) 4px,var(--ink) 5px,transparent 5px,transparent 9px,var(--ink) 9px,var(--ink) 13px,transparent 13px,transparent 15px,var(--ink) 15px,var(--ink) 16px,transparent 16px,transparent 20px)}.fl-city-lovers .stub-code{font-size:8px;letter-spacing:.08em;margin-top:8px}.fl-city-lovers .schedule{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:64px;border-top:1px solid #a9a69a}.fl-city-lovers .schedule>div{position:relative;padding-top:28px}.fl-city-lovers .schedule-dot{position:absolute;top:-4px;width:7px;height:7px;border-radius:50%;background:var(--ink)}.fl-city-lovers .schedule time{font:900 30px/1 var(--display-font);letter-spacing:-.05em}.fl-city-lovers .schedule h3{font-size:13px;margin:15px 0 8px;line-height:1.5;font-weight:600}.fl-city-lovers .schedule p{font-size:10px;letter-spacing:.08em;color:#67665d}.fl-city-lovers .practical{display:grid;grid-template-columns:.65fr 1.35fr;gap:50px;margin-top:70px;padding-top:31px;border-top:1px solid #aaa79c}.fl-city-lovers .practical>.eyebrow{padding-top:17px}.fl-city-lovers .faq-list details{border-bottom:1px solid #c7c3b7}.fl-city-lovers .faq-list summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;font-size:12px;padding:16px 0;gap:15px}.fl-city-lovers .faq-list summary::-webkit-details-marker{display:none}.fl-city-lovers .faq-list summary span{font-size:19px;font-weight:300;transition:transform .25s}.fl-city-lovers .faq-list details[open] summary span{transform:rotate(45deg)}.fl-city-lovers .faq-list details p{font-size:11px;color:#65635c;line-height:1.9;padding:2px 32px 20px 0}.fl-city-lovers .gallery-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:17px;grid-template-rows:260px 260px}.fl-city-lovers .gallery-item{display:block;position:relative;overflow:hidden;text-align:left;isolation:isolate;background:var(--cyan)}.fl-city-lovers .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s}.fl-city-lovers .gallery-item:hover img{transform:scale(1.045);filter:saturate(1.2)}.fl-city-lovers .gallery-item::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78),transparent 35%,transparent 80%,rgba(0,0,0,.3));z-index:1}.fl-city-lovers .gallery-large{grid-row:span 2}.fl-city-lovers .gallery-large img{object-position:35% center}.fl-city-lovers .gallery-flowers{display:none}.fl-city-lovers .gallery-topline,.fl-city-lovers .gallery-caption{position:absolute;left:18px;right:18px;z-index:2;color:#fff8e8}.fl-city-lovers .gallery-topline{top:15px;font-size:8px;letter-spacing:.11em}.fl-city-lovers .gallery-caption{bottom:17px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;letter-spacing:.04em}.fl-city-lovers .gallery-caption>span{font-size:24px;line-height:1}.fl-city-lovers .gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding:20px 0;font-size:9px;letter-spacing:.1em;color:var(--muted)}.fl-city-lovers .gallery-bottom>span:last-child{font-size:10px;letter-spacing:.04em}.fl-city-lovers .gallery-bottom>span:last-child>span{margin-left:15px}.fl-city-lovers .rsvp-section{background:var(--pink);color:var(--ink);padding:90px 0 100px;position:relative}.fl-city-lovers .rsvp-section::before{content:"";position:absolute;top:-1px;left:0;width:100%;height:10px;background:var(--ink);clip-path:polygon(0 0,100% 0,100% 65%,97% 24%,94% 71%,91% 35%,88% 86%,85% 27%,82% 62%,79% 18%,76% 74%,73% 36%,70% 68%,67% 25%,64% 80%,61% 30%,58% 63%,55% 20%,52% 80%,49% 30%,46% 64%,43% 19%,40% 73%,37% 38%,34% 78%,31% 21%,28% 58%,25% 30%,22% 76%,19% 29%,16% 69%,13% 31%,10% 79%,7% 36%,4% 67%,0 40%)}.fl-city-lovers .rsvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.fl-city-lovers .rsvp-copy{position:relative}.fl-city-lovers .rsvp-copy>.eyebrow{margin-bottom:30px;display:block}.fl-city-lovers .rsvp-copy h2{font:900 clamp(49px,6.2vw,87px)/.98 var(--display-font);letter-spacing:-.07em}.fl-city-lovers .rsvp-copy h2 em{font-family:Georgia,serif;font-weight:500;line-height:1.2;white-space:nowrap}.fl-city-lovers .rsvp-copy>p{font-size:13px;line-height:2;margin:29px 0}.fl-city-lovers .rsvp-deadline{font-size:9px;letter-spacing:.1em}.fl-city-lovers .rsvp-heart{position:absolute;top:83px;right:-3px;width:95px;height:95px;stroke:var(--ink);stroke-width:2;fill:none;transform:rotate(15deg)}.fl-city-lovers .rsvp-card{background:var(--paper);padding:32px 33px;box-shadow:6px 6px 0 var(--ink);border:1px solid var(--ink);transform:rotate(1deg)}.fl-city-lovers .form-header{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #c0bdb1;padding-bottom:18px;margin-bottom:26px;font-size:8px;letter-spacing:.09em}.fl-city-lovers .form-header>span:last-child{font-size:7px}.fl-city-lovers .form-field{margin-bottom:22px;min-width:0}.fl-city-lovers .form-field label,.fl-city-lovers .attendance legend{display:block;font-size:11px;line-height:1.5;margin-bottom:10px;font-weight:600}.fl-city-lovers .form-field label>span:not(.optional){color:#a32b59}.fl-city-lovers .form-field input:not([type=file]),.fl-city-lovers .form-field select,.fl-city-lovers .form-field textarea{display:block;width:100%;background:transparent;color:var(--ink);border:0;border-bottom:1px solid #9e9b8e;border-radius:0;padding:8px 0 11px;font-size:12px;min-height:41px}.fl-city-lovers .form-field input::placeholder,.fl-city-lovers .form-field textarea::placeholder{color:#767369;opacity:1;font-size:11px}.fl-city-lovers .form-field textarea{resize:vertical;max-height:200px;min-height:70px}.fl-city-lovers .form-field select{padding-right:15px;cursor:pointer}.fl-city-lovers .form-field input:disabled,.fl-city-lovers .form-field select:disabled{opacity:.4;cursor:not-allowed}.fl-city-lovers .attendance{margin:0 0 24px}.fl-city-lovers .attendance>label{display:block;position:relative;margin-top:8px;cursor:pointer}.fl-city-lovers .attendance input{position:absolute;opacity:0;width:1px;height:1px}.fl-city-lovers .attendance label>span{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #b5b2a5;padding:10px 14px;font-size:11px;min-height:42px}.fl-city-lovers .attendance input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.fl-city-lovers .attendance input:focus-visible+span{outline:3px solid #a42a60;outline-offset:3px}.fl-city-lovers .form-two{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fl-city-lovers .optional{font-weight:400;font-size:10px;opacity:.6;margin-left:7px}.fl-city-lovers .form-disclaimer{font-size:10px;line-height:1.8;color:#67645c;margin-bottom:16px}.fl-city-lovers .form-disclaimer strong{font-weight:600}.fl-city-lovers .submit-button{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);width:100%;padding:15px 18px;font-size:12px;font-weight:600;position:relative;overflow:hidden;isolation:isolate;transition:color .3s}.fl-city-lovers .submit-button::before{content:"";position:absolute;inset:-80% -10%;background:var(--yellow);transform:translateX(-110%) rotate(-8deg);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1;border-radius:45%}.fl-city-lovers .submit-button:hover::before{transform:translateX(0) rotate(0)}.fl-city-lovers .submit-button:hover{color:var(--ink)}.fl-city-lovers .submit-button .icon{width:21px;height:21px}.fl-city-lovers .rsvp-success{padding:25px 0;text-align:center;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center}.fl-city-lovers .rsvp-success>.icon{width:80px;height:80px;color:var(--pink-strong);stroke-width:2;margin-bottom:30px}.fl-city-lovers .rsvp-success>.eyebrow{font-size:8px;margin-bottom:16px}.fl-city-lovers .rsvp-success h3{font-size:31px;margin:0 0 20px;line-height:1.3}.fl-city-lovers .rsvp-success p{font-size:12px;line-height:1.9}.fl-city-lovers .rsvp-success .success-notice{font-size:10px;color:#6e6a61;margin:16px 0 24px}.fl-city-lovers .rsvp-success .text-link{border-bottom:1px solid #999}.fl-city-lovers .site-footer{padding-top:50px;padding-bottom:105px}.fl-city-lovers .footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line)}.fl-city-lovers .footer-top>p{font:italic 500 19px/1.4 Georgia,serif;margin-right:auto;margin-left:70px}.fl-city-lovers .back-top{width:43px;height:43px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:21px;transition:background .25s,color .25s}.fl-city-lovers .back-top:hover{background:var(--paper);color:var(--ink)}.fl-city-lovers .footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-top:20px;font-size:8px;letter-spacing:.07em;color:var(--muted)}.fl-city-lovers .footer-bottom>span:nth-child(2){font-size:9px;letter-spacing:0}.fl-city-lovers .preview-tools{position:fixed;bottom:20px;left:24px;background:var(--paper);color:var(--ink);padding:5px 9px;display:flex;gap:9px;align-items:center;z-index:30;box-shadow:0 2px 20px rgba(0,0,0,.18);border:1px solid #a4a095;border-radius:4px}.fl-city-lovers .preview-tools button{display:flex;align-items:center;gap:8px;font-size:10px;padding:7px 9px;min-height:36px}.fl-city-lovers .preview-tools .icon{width:15px;height:15px}.fl-city-lovers .preview-tools>span{height:19px;width:1px;background:#c6c2b4}.fl-city-lovers .toast{position:fixed;bottom:86px;left:24px;background:var(--paper);color:var(--ink);box-shadow:0 3px 20px #0003;font-size:11px;line-height:1.8;padding:15px 20px;max-width:min(410px,calc(100vw - 48px));opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s;pointer-events:none;z-index:100}.fl-city-lovers .toast.is-visible{opacity:1;transform:none}.fl-city-lovers dialog{border:0;padding:0;max-width:100%;max-height:100%;color:var(--paper);background:var(--ink)}.fl-city-lovers dialog::backdrop{background:rgba(9,9,8,.92)}.fl-city-lovers .dialog-close{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.fl-city-lovers .dialog-close:hover{background:var(--paper);color:var(--ink)}.fl-city-lovers .lightbox{width:min(1100px,94vw);height:min(850px,94dvh);overflow:hidden}.fl-city-lovers .lightbox-bar{display:flex;align-items:center;justify-content:space-between;padding:17px 23px;font-size:10px;letter-spacing:.1em;height:80px}.fl-city-lovers .lightbox-body{height:calc(100% - 160px);display:grid;grid-template-columns:60px minmax(0,1fr) 60px;align-items:center;gap:20px;padding:0 23px}.fl-city-lovers .lightbox-body img{width:100%;height:100%;object-fit:contain;min-height:0}.fl-city-lovers .lightbox-arrow{font-size:30px;width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}.fl-city-lovers .lightbox-arrow:hover{background:var(--pink);color:var(--ink)}.fl-city-lovers .lightbox-bottom{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 26px;font-size:12px}.fl-city-lovers .lightbox-bottom>span{font-size:9px;color:var(--muted)}.fl-city-lovers .editor{width:min(470px,100vw);margin:0 0 0 auto;height:100dvh;max-height:100dvh;padding:30px 35px 40px;background:var(--paper);color:var(--ink);overflow:auto}.fl-city-lovers .editor::backdrop{background:rgba(0,0,0,.72)}.fl-city-lovers .editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.fl-city-lovers .editor .dialog-close{border-color:#aaa79d;width:37px;height:37px}.fl-city-lovers .editor .dialog-close:hover{background:var(--ink);color:var(--paper)}.fl-city-lovers .editor h2{font-size:26px;letter-spacing:-.04em;margin-bottom:17px}.fl-city-lovers .editor-intro{font-size:11px;line-height:1.9;color:#6c695f;margin-bottom:32px}.fl-city-lovers .editor .form-field{margin-bottom:24px}.fl-city-lovers .editor small{font-size:10px;line-height:1.8;color:#6c695f;display:block;margin-top:9px}.fl-city-lovers .editor input[type=file]{display:block;width:100%;font-size:11px;max-width:100%;padding-top:5px}.fl-city-lovers .editor input[type=file]::file-selector-button{font:inherit;background:transparent;border:1px solid #9a968b;border-radius:0;padding:8px 10px;margin-right:10px;cursor:pointer}.fl-city-lovers .editor-reset{font-size:10px;text-decoration:underline;margin-top:19px;display:block;width:100%;padding:10px}.fl-city-lovers .field-error{font-size:11px;color:#a32445;line-height:1.8;margin-bottom:16px}.fl-city-lovers .noscript-notice{position:fixed;bottom:10px;right:10px;padding:10px 20px;background:var(--paper);color:var(--ink);z-index:90;font-size:12px}.fl-city-lovers.js .reveal{opacity:0;translate:0 25px;transition:opacity .75s ease,translate .75s ease,transform .35s}.fl-city-lovers.js .reveal.is-visible{opacity:1;translate:0 0}.fl-city-lovers.js .reveal:nth-child(2){transition-delay:.1s}.fl-city-lovers.js .reveal:nth-child(3){transition-delay:.18s}
/* Motion controls stop every decorative animation, without hiding any content. */
.fl-city-lovers[data-motion="off"]{scroll-behavior:auto}.fl-city-lovers[data-motion="off"] *,.fl-city-lovers[data-motion="off"] *::before,.fl-city-lovers[data-motion="off"] *::after{animation:none!important;transition:none!important}.fl-city-lovers[data-motion="off"] .reveal{opacity:1;translate:none}.fl-city-lovers[data-motion="off"] .layer-cyan,.fl-city-lovers[data-motion="off"] .layer-magenta,.fl-city-lovers[data-motion="off"] .layer-final{clip-path:none}
@media(min-width:1500px){.fl-city-lovers .hero-grid{gap:60px}.fl-city-lovers .hero-meta{padding-top:8px}.fl-city-lovers .hero{padding-bottom:15px}.fl-city-lovers .print-stage{aspect-ratio:1.05}}
@media(max-width:1150px){.fl-city-lovers .header-edition{display:none}.fl-city-lovers .hero-grid{gap:25px}.fl-city-lovers .hero-copy>.eyebrow{gap:18px}.fl-city-lovers .date-sticker{width:118px;height:118px;left:-37px;bottom:37px}.fl-city-lovers .date-sticker strong{font-size:30px}.fl-city-lovers .date-sticker>.icon{width:18px;height:18px;margin-bottom:2px}.fl-city-lovers .proof-controls{gap:8px}.fl-city-lovers .proof-note{font-size:7px;gap:5px}.fl-city-lovers .proof-controls button{font-size:9px}.fl-city-lovers .story-card-copy{padding-left:7px;padding-right:7px}.fl-city-lovers .story-card h3{font-size:15px}.fl-city-lovers .gallery-grid{grid-template-rows:230px 230px}.fl-city-lovers .rsvp-grid{gap:50px}.fl-city-lovers .rsvp-heart{right:-7px;width:70px;height:70px}.fl-city-lovers .event-ticket{grid-template-columns:1fr 220px}.fl-city-lovers .ticket-couple{font-size:50px}.fl-city-lovers .hero-description{font-size:12px}.fl-city-lovers .hero-link{font-size:10px}.fl-city-lovers .footer-bottom>span:last-child{display:none}}
@media(max-width:900px){.fl-city-lovers .site-header{height:76px}.fl-city-lovers .main-nav{gap:18px}.fl-city-lovers .main-nav>a{font-size:9px}.fl-city-lovers .nav-rsvp{padding:8px 12px;gap:10px}.fl-city-lovers .wordmark{font-size:27px}.fl-city-lovers .hero-meta{font-size:8px}.fl-city-lovers .meta-right{display:none}.fl-city-lovers .hero-grid{padding-top:40px;gap:20px;align-items:center}.fl-city-lovers .hero-copy>.eyebrow{font-size:7px;gap:16px}.fl-city-lovers .mini-colors i{width:7px;height:7px}.fl-city-lovers .couple-title{font-size:15vw}.fl-city-lovers .hero-description{font-size:11px}.fl-city-lovers .hero-link{font-size:9px;gap:10px}.fl-city-lovers .tape-label{font-size:20px;margin-top:15px;margin-bottom:23px;padding:9px 18px}.fl-city-lovers .print-stage{aspect-ratio:.87}.fl-city-lovers .date-sticker{width:106px;height:106px;left:-28px;bottom:32px}.fl-city-lovers .date-sticker>span{font-size:7px}.fl-city-lovers .date-sticker strong{font-size:27px}.fl-city-lovers .date-sticker>.icon{width:15px;height:15px}.fl-city-lovers .proof-note{font-size:0;gap:0}.fl-city-lovers .proof-controls{margin-top:19px}.fl-city-lovers .proof-controls .ink-dots{gap:4px}.fl-city-lovers .hero-bottom{font-size:7px}.fl-city-lovers .section-space{padding-top:85px;padding-bottom:85px}.fl-city-lovers .section-heading{margin-bottom:42px}.fl-city-lovers .section-heading>p{font-size:10px}.fl-city-lovers .section-heading h2{font-size:6.8vw}.fl-city-lovers .story-grid{gap:18px}.fl-city-lovers .story-card{padding:8px 8px 30px}.fl-city-lovers .story-card-copy{padding:25px 6px 0}.fl-city-lovers .story-card h3{font-size:13px}.fl-city-lovers .story-card p{font-size:10px}.fl-city-lovers .photo-sticker{font-size:8px;padding:5px 8px;right:0}.fl-city-lovers .story-year{margin-bottom:14px}.fl-city-lovers .story-image img{aspect-ratio:.95}.fl-city-lovers .event-ticket{grid-template-columns:1fr 190px}.fl-city-lovers .ticket-main{padding:25px 26px}.fl-city-lovers .ticket-perforation{margin-left:-26px;margin-right:-26px}.fl-city-lovers .event-date{font-size:8vw}.fl-city-lovers .ticket-stub{padding:24px 15px}.fl-city-lovers .ticket-couple{font-size:44px}.fl-city-lovers .ticket-label{font-size:7px;letter-spacing:.04em}.fl-city-lovers .venue-row h3{font-size:26px}.fl-city-lovers .venue-code{font-size:22px}.fl-city-lovers .ticket-row strong{font-size:9px}.fl-city-lovers .calendar-button{font-size:10px}.fl-city-lovers .ticket-stub>span:first-child{font-size:8px}.fl-city-lovers .gallery-grid{grid-template-columns:1.1fr 1fr;grid-template-rows:230px 230px 200px;gap:13px}.fl-city-lovers .gallery-large{grid-row:span 2}.fl-city-lovers .gallery-flowers{display:block}.fl-city-lovers .gallery-item:last-child{display:none}.fl-city-lovers .gallery-grid .gallery-item:nth-child(4),.fl-city-lovers .gallery-grid .gallery-item:nth-child(5){grid-row:3}.fl-city-lovers .rsvp-grid{gap:35px;grid-template-columns:.95fr 1.05fr}.fl-city-lovers .rsvp-copy h2{font-size:6.7vw}.fl-city-lovers .rsvp-card{padding:25px 22px}.fl-city-lovers .rsvp-heart{top:70px;width:57px;height:57px;right:-8px}.fl-city-lovers .form-header{font-size:7px}.fl-city-lovers .form-header>span:last-child{display:none}.fl-city-lovers .rsvp-copy>.eyebrow{font-size:8px}.fl-city-lovers .form-two{gap:16px}.fl-city-lovers .invitation-bottom{gap:22px}.fl-city-lovers .invitation-bottom>p:first-child{font-size:11px}.fl-city-lovers .drawn-heart{width:80px;height:80px}.fl-city-lovers .signature{font-size:25px}.fl-city-lovers .footer-top>p{font-size:16px;margin-left:20px}.fl-city-lovers .practical{gap:30px;grid-template-columns:.55fr 1.45fr}.fl-city-lovers .practical>.eyebrow{font-size:8px}}
@media(max-width:640px){.fl-city-lovers{--gutter:22px}.fl-city-lovers{scroll-padding-top:30px}.fl-city-lovers .site-header{height:70px;padding:0 22px}.fl-city-lovers .wordmark{font-size:27px}.fl-city-lovers .menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:42px;height:42px;margin-left:auto;position:relative;z-index:22}.fl-city-lovers .menu-toggle span{display:block;width:22px;height:1px;background:var(--paper);margin-left:auto;transition:transform .25s}.fl-city-lovers .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.fl-city-lovers .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.fl-city-lovers .main-nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--ink);padding:15px 22px 25px;border-bottom:1px solid var(--line);align-items:stretch;gap:0;box-shadow:0 20px 25px rgba(0,0,0,.25)}.fl-city-lovers .main-nav.is-open{display:flex;flex-direction:column}.fl-city-lovers .main-nav>a{font-size:12px;padding:15px 0;border-bottom:1px solid var(--line)}.fl-city-lovers .main-nav .nav-rsvp{margin-top:13px;border:1px solid var(--pink);padding:12px 15px;justify-content:space-between}.fl-city-lovers .hero{padding-top:18px}.fl-city-lovers .hero-meta{font-size:7px;letter-spacing:.08em;gap:10px}.fl-city-lovers .hero-meta>span:nth-child(2){font-size:0}.fl-city-lovers .hero-meta>span:nth-child(2)>span{font-size:7px;letter-spacing:.08em}.fl-city-lovers .hero-grid{grid-template-columns:1fr;padding:31px 0 0;gap:30px}.fl-city-lovers .hero-copy{padding-bottom:0}.fl-city-lovers .hero-copy>.eyebrow{margin-bottom:18px;justify-content:space-between;font-size:8px}.fl-city-lovers .mini-colors i{width:8px;height:8px}.fl-city-lovers .couple-title{font-size:clamp(89px,21.7vw,140px);line-height:.85;display:flex;align-items:baseline;gap:12px;margin-left:-6px;padding-bottom:14px;letter-spacing:-.08em}.fl-city-lovers .second-name{margin:0;gap:8px}.fl-city-lovers .ampersand{font-size:.56em;margin-left:0;letter-spacing:-.1em}.fl-city-lovers .name-line{display:inline}.fl-city-lovers .couple-title.long-names{font-size:clamp(50px,13.2vw,84px);display:block;line-height:1.02}.fl-city-lovers .couple-title.long-names .name-line{display:block}.fl-city-lovers .couple-title.extra-long{font-size:clamp(36px,9vw,55px)}.fl-city-lovers .tape-label{font-size:17px;transform:rotate(-3deg);padding:8px 17px;margin:8px 0 22px 4px;display:flex;gap:5px}.fl-city-lovers .hero-description{font-size:11px;line-height:1.9;margin-top:0}.fl-city-lovers .hero-link{font-size:10px;margin-top:16px;gap:18px}.fl-city-lovers .hero-visual{padding:0 5px}.fl-city-lovers .artwork-frame{padding:0 6px 0 0;transform:rotate(1.5deg)}.fl-city-lovers .print-stage{aspect-ratio:1.04}.fl-city-lovers .vertical-note{right:-12px;font-size:7px;top:15px}.fl-city-lovers .date-sticker{width:105px;height:105px;left:auto;right:10px;bottom:-28px;transform:rotate(10deg)}.fl-city-lovers .date-sticker:hover{transform:rotate(0)}.fl-city-lovers .artwork-caption{font-size:7px;bottom:27px;left:15px}.fl-city-lovers .proof-controls{margin-top:20px;padding-right:125px;justify-content:flex-start;gap:13px}.fl-city-lovers .proof-note{display:none}.fl-city-lovers .proof-controls button{font-size:9px;white-space:nowrap}.fl-city-lovers .proof-controls .icon{width:12px;height:12px}.fl-city-lovers .hero-bottom{margin-top:20px;padding:17px 0 20px;line-height:1.7;font-size:6px;letter-spacing:.08em;gap:15px}.fl-city-lovers .hero-bottom>span{max-width:160px}.fl-city-lovers .hero-bottom a{font-size:9px;white-space:nowrap;gap:13px}.fl-city-lovers .ticker{padding:15px 0 16px;margin-top:7px;transform:rotate(-1.6deg)}.fl-city-lovers .ticker-track>span{font-size:28px;letter-spacing:-.04em;padding-right:23px}.fl-city-lovers .ticker-track b{padding:0 14px}.fl-city-lovers .invitation-inner{padding-top:49px;padding-bottom:45px}.fl-city-lovers .invitation .eyebrow{margin-bottom:26px;display:block;font-size:8px}.fl-city-lovers .invitation .eyebrow>span:last-child{display:none}.fl-city-lovers .invitation h2{font-size:clamp(25px,6.7vw,40px);letter-spacing:-.045em;line-height:1.12}.fl-city-lovers .invitation-bottom{grid-template-columns:1fr auto;gap:20px;margin-top:26px}.fl-city-lovers .invitation-bottom>p:first-child{font-size:11px;line-height:2}.fl-city-lovers .drawn-heart{width:60px;height:60px;margin:0 4px;stroke-width:3}.fl-city-lovers .signature{grid-column:1/-1;text-align:left;font-size:25px;margin-top:5px;display:flex;align-items:center;gap:6px}.fl-city-lovers .signature small{margin:4px 0 0 auto;font-size:7px}.fl-city-lovers .section-space{padding-top:66px;padding-bottom:67px}.fl-city-lovers .section-heading{display:block;margin-bottom:32px}.fl-city-lovers .section-heading .eyebrow{font-size:8px;margin-bottom:16px}.fl-city-lovers .section-heading h2{font-size:clamp(41px,11vw,65px);letter-spacing:-.065em}.fl-city-lovers .section-heading>p{font-size:11px;line-height:1.9;margin-top:20px}.fl-city-lovers .story-grid{display:flex;flex-direction:column;gap:35px;padding:2px 10px 20px}.fl-city-lovers .story-card{padding:11px 11px 30px}.fl-city-lovers .story-card:nth-child(2){margin-top:0}.fl-city-lovers .story-image img{aspect-ratio:1.5;object-position:center}.fl-city-lovers .story-card-copy{padding:27px 12px 0}.fl-city-lovers .story-year{font-size:12px;margin-bottom:13px}.fl-city-lovers .story-year span{font-size:9px}.fl-city-lovers .story-card h3{font-size:19px;margin-bottom:13px;letter-spacing:-.02em}.fl-city-lovers .story-card p{font-size:12px;line-height:2;padding-bottom:10px}.fl-city-lovers .photo-sticker{font-size:10px;padding:6px 12px;bottom:-12px;right:4px}.fl-city-lovers .story-number{font-size:26px;right:20px;bottom:10px}.fl-city-lovers .story-end{padding-top:28px;gap:15px}.fl-city-lovers .story-end>span:first-child{font-size:7px;letter-spacing:.1em}.fl-city-lovers .story-end>span:last-child{font-size:10px;letter-spacing:.03em}.fl-city-lovers .story-end .icon{width:19px;flex-shrink:0}.fl-city-lovers .event-ticket{grid-template-columns:1fr;box-shadow:4px 5px 0 var(--ink)}.fl-city-lovers .ticket-main{padding:24px 23px}.fl-city-lovers .ticket-label{font-size:7px;letter-spacing:.05em}.fl-city-lovers .ticket-label>.icon{width:24px;height:24px}.fl-city-lovers .event-date{font-size:clamp(35px,11vw,64px);margin:19px 0 14px;letter-spacing:-.065em}.fl-city-lovers .ticket-row{gap:12px}.fl-city-lovers .ticket-row strong{font-size:8px;line-height:1.8}.fl-city-lovers .calendar-button{font-size:10px;min-height:40px}.fl-city-lovers .calendar-button>span{margin-left:12px}.fl-city-lovers .ticket-perforation{margin:22px -23px}.fl-city-lovers .venue-row h3{font-size:27px;margin-top:9px;margin-bottom:7px}.fl-city-lovers .venue-row p{font-size:9px}.fl-city-lovers .demo-venue{font-size:9px}.fl-city-lovers .venue-code{font-size:22px}.fl-city-lovers .ticket-stub{border-left:0;border-top:2px dashed rgba(0,0,0,.45);padding:20px 23px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;text-align:left;align-items:center;min-height:113px}.fl-city-lovers .ticket-stub::before,.fl-city-lovers .ticket-stub::after{top:-15px;bottom:auto}.fl-city-lovers .ticket-stub::after{left:auto;right:-15px}.fl-city-lovers .ticket-stub>span:first-child{grid-column:1;font-size:7px}.fl-city-lovers .ticket-couple{display:flex;flex-direction:row;gap:5px;font-size:31px;grid-column:1;grid-row:2;margin:8px 0 0;text-align:left}.fl-city-lovers .ticket-couple em{font-size:23px;margin:0}.fl-city-lovers .ticket-couple.long-names{font-size:18px;flex-wrap:wrap}.fl-city-lovers .barcode{grid-column:2;grid-row:1/3;width:100%;height:28px;align-self:start;margin-top:7px}.fl-city-lovers .stub-code{grid-column:2;grid-row:2;align-self:end;font-size:6px;margin:0;white-space:nowrap}.fl-city-lovers .schedule{grid-template-columns:1fr 1fr;margin-top:43px;border-top:0;gap:30px 22px}.fl-city-lovers .schedule>div{border-top:1px solid #9b978a;padding-top:20px}.fl-city-lovers .schedule time{font-size:29px}.fl-city-lovers .schedule h3{font-size:12px;margin:11px 0 7px}.fl-city-lovers .schedule p{font-size:10px;letter-spacing:.03em}.fl-city-lovers .practical{grid-template-columns:1fr;gap:16px;margin-top:40px;padding-top:18px}.fl-city-lovers .practical>.eyebrow{font-size:8px;padding-top:5px}.fl-city-lovers .faq-list summary{font-size:12px;padding:17px 0}.fl-city-lovers .faq-list details p{font-size:11px;padding-right:15px}.fl-city-lovers .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:12px}.fl-city-lovers .gallery-item{aspect-ratio:1/1.15}.fl-city-lovers .gallery-large{grid-column:1/-1;grid-row:auto;aspect-ratio:1.2}.fl-city-lovers .gallery-large img{object-position:center}.fl-city-lovers .gallery-grid .gallery-item:nth-child(4),.fl-city-lovers .gallery-grid .gallery-item:nth-child(5){grid-row:auto}.fl-city-lovers .gallery-grid .gallery-item:last-child{display:block;grid-column:1/-1;aspect-ratio:2.4}.fl-city-lovers .gallery-flowers img{object-position:center 38%}.fl-city-lovers .gallery-caption{left:12px;right:12px;bottom:11px;font-size:9px;letter-spacing:0;gap:5px}.fl-city-lovers .gallery-caption>span{font-size:18px}.fl-city-lovers .gallery-topline{left:12px;right:12px;top:11px;font-size:6px;letter-spacing:.04em}.fl-city-lovers .gallery-large .gallery-caption{font-size:12px;bottom:16px;left:16px;right:16px}.fl-city-lovers .gallery-large .gallery-topline{font-size:7px;left:16px;top:16px}.fl-city-lovers .gallery-bottom{gap:15px;font-size:6px;letter-spacing:.05em;padding:17px 0}.fl-city-lovers .gallery-bottom>span:last-child{font-size:9px;white-space:nowrap}.fl-city-lovers .gallery-bottom>span:last-child>span{margin-left:7px}.fl-city-lovers .rsvp-section{padding:62px 0 68px}.fl-city-lovers .rsvp-grid{grid-template-columns:1fr;gap:38px}.fl-city-lovers .rsvp-copy>.eyebrow{font-size:8px;margin-bottom:25px}.fl-city-lovers .rsvp-copy h2{font-size:clamp(54px,13vw,76px);line-height:.97}.fl-city-lovers .rsvp-copy h2 em{line-height:1.15}.fl-city-lovers .rsvp-heart{top:65px;right:8px;width:85px;height:85px}.fl-city-lovers .rsvp-copy>p{font-size:12px;margin:23px 0 16px}.fl-city-lovers .rsvp-deadline{font-size:8px}.fl-city-lovers .rsvp-card{padding:27px 23px;transform:rotate(.65deg);box-shadow:4px 5px 0 var(--ink)}.fl-city-lovers .form-header{font-size:8px;margin-bottom:22px}.fl-city-lovers .form-header>span:last-child{display:block;font-size:6px}.fl-city-lovers .form-field label,.fl-city-lovers .attendance legend{font-size:11px}.fl-city-lovers .form-field input:not([type=file]),.fl-city-lovers .form-field select,.fl-city-lovers .form-field textarea{font-size:16px}.fl-city-lovers .form-field input::placeholder,.fl-city-lovers .form-field textarea::placeholder{font-size:12px}.fl-city-lovers .form-field select{font-size:12px}.fl-city-lovers .attendance label>span{font-size:11px;padding:12px;min-height:44px}.fl-city-lovers .form-disclaimer{font-size:10px}.fl-city-lovers .submit-button{padding:16px 16px;font-size:12px;min-height:52px}.fl-city-lovers .rsvp-success{min-height:450px}.fl-city-lovers .site-footer{padding-top:38px;padding-bottom:100px}.fl-city-lovers .footer-top{flex-wrap:wrap;gap:22px;padding-bottom:28px}.fl-city-lovers .footer-top>.wordmark{font-size:28px}.fl-city-lovers .footer-top>p{order:3;margin:0;font-size:16px;width:100%}.fl-city-lovers .back-top{margin-left:auto}.fl-city-lovers .footer-bottom{align-items:flex-start;flex-direction:column;gap:9px;font-size:7px;padding-top:21px}.fl-city-lovers .footer-bottom>span:nth-child(2){font-size:8px}.fl-city-lovers .preview-tools{bottom:12px;left:12px;right:12px;justify-content:space-between;border-radius:3px;padding:4px 8px;gap:3px}.fl-city-lovers .preview-tools button{font-size:10px;padding:8px 10px;min-height:38px}.fl-city-lovers .preview-tools>span{margin-left:auto;margin-right:2px}.fl-city-lovers .toast{bottom:77px;left:12px;max-width:calc(100vw - 24px);font-size:11px;padding:13px 16px}.fl-city-lovers .lightbox{width:100vw;height:100dvh;max-height:100dvh}.fl-city-lovers .lightbox-bar{height:77px;padding:17px 18px}.fl-city-lovers .lightbox-body{height:calc(100% - 162px);grid-template-columns:1fr;padding:0 18px;gap:0;position:relative}.fl-city-lovers .lightbox-body img{grid-row:1;grid-column:1;height:100%;width:100%;object-fit:contain}.fl-city-lovers .lightbox-arrow{position:absolute;z-index:2;bottom:6px;background:var(--ink);font-size:25px;width:44px;height:44px}.fl-city-lovers .lightbox-arrow:first-child{left:20px}.fl-city-lovers .lightbox-arrow:last-child{right:20px}.fl-city-lovers .lightbox-bottom{height:85px;padding:15px 20px;display:block;font-size:12px}.fl-city-lovers .lightbox-bottom>span{display:block;margin-top:7px;font-size:8px}.fl-city-lovers .editor{padding:24px 23px 35px}.fl-city-lovers .editor h2{font-size:26px}.fl-city-lovers .editor .form-field input,.fl-city-lovers .editor .form-field select{font-size:16px}.fl-city-lovers .editor-header{margin-bottom:29px}.fl-city-lovers .editor input[type=file]{font-size:11px}.fl-city-lovers.js .reveal{translate:0 18px}.fl-city-lovers.js .reveal:nth-child(2),.fl-city-lovers.js .reveal:nth-child(3){transition-delay:0s}}
@media(max-width:360px){.fl-city-lovers{--gutter:18px}.fl-city-lovers .hero-meta{font-size:6px}.fl-city-lovers .couple-title{font-size:21vw;gap:7px}.fl-city-lovers .second-name{gap:5px}.fl-city-lovers .tape-label{font-size:15px}.fl-city-lovers .date-sticker{width:93px;height:93px;right:7px}.fl-city-lovers .date-sticker strong{font-size:25px}.fl-city-lovers .proof-controls{padding-right:100px;gap:10px}.fl-city-lovers .proof-controls button{font-size:8px}.fl-city-lovers .ticket-main{padding:20px}.fl-city-lovers .ticket-perforation{margin-left:-20px;margin-right:-20px}.fl-city-lovers .event-date{font-size:10.7vw}.fl-city-lovers .venue-row h3{font-size:23px}.fl-city-lovers .rsvp-heart{width:65px;height:65px;right:0}.fl-city-lovers .rsvp-card{padding:24px 19px}.fl-city-lovers .form-header>span:last-child{display:none}.fl-city-lovers .hero-bottom{font-size:5px}.fl-city-lovers .invitation h2{font-size:6.5vw}}
@media(prefers-reduced-motion:reduce){.fl-city-lovers:not([data-motion="on"]){scroll-behavior:auto}.fl-city-lovers:not([data-motion="on"]) *,.fl-city-lovers:not([data-motion="on"]) *::before,.fl-city-lovers:not([data-motion="on"]) *::after{animation:none!important;transition:none!important}.fl-city-lovers:not([data-motion="on"]) .reveal{opacity:1;translate:none}}
@media print{.fl-city-lovers{background:white;color:black}.fl-city-lovers::before,.fl-city-lovers .preview-tools,.fl-city-lovers .ticker,.fl-city-lovers .proof-controls,.fl-city-lovers .site-header,.fl-city-lovers .gallery,.fl-city-lovers .rsvp-section,.fl-city-lovers .site-footer,.fl-city-lovers dialog{display:none!important}.fl-city-lovers .section-space{padding:25px 0}.fl-city-lovers .section-wrap{padding-left:25px;padding-right:25px}.fl-city-lovers .hero-grid{padding:20px 0}.fl-city-lovers .hero-copy{padding:0}.fl-city-lovers .hero-visual{max-width:350px}.fl-city-lovers .hero-bottom{display:none}.fl-city-lovers .paper-section{background:white}.fl-city-lovers .reveal{opacity:1!important;translate:none!important}.fl-city-lovers .story-grid{display:none}.fl-city-lovers .story-end{display:none}.fl-city-lovers .event-ticket{break-inside:avoid;box-shadow:none}.fl-city-lovers .section-heading h2{font-size:36px}.fl-city-lovers .couple-title{font-size:95px}.fl-city-lovers .ticket-stub,.fl-city-lovers .event-ticket{background:#eee}.fl-city-lovers .invitation-inner{padding-top:30px;padding-bottom:30px}}
@media(min-width:901px){.fl-city-lovers .gallery-grid{grid-template-rows:250px 250px 160px}.fl-city-lovers .gallery-flowers{display:block;grid-column:1/-1}.fl-city-lovers .gallery-flowers img{object-position:center 43%}}
@media(min-width:641px) and (max-width:900px){.fl-city-lovers .gallery-grid{grid-template-rows:230px 230px 200px 160px}.fl-city-lovers .gallery-grid .gallery-item:last-child{display:block;grid-column:1/-1;grid-row:4}.fl-city-lovers .gallery-flowers img{object-position:center 43%}}
/* Final readability and overflow adjustments. Decorative strips never create horizontal scrolling. */
.fl-city-lovers,.fl-city-lovers{overflow-x:clip}.fl-city-lovers::before{opacity:.22}.fl-city-lovers .hero-description{font-size:14px}.fl-city-lovers .hero-link{font-size:12px}.fl-city-lovers .story-card p{font-size:13px}.fl-city-lovers .story-card h3{font-size:18px}.fl-city-lovers .section-heading>p{font-size:13px}.fl-city-lovers .invitation-bottom>p:first-child{font-size:14px}.fl-city-lovers .faq-list summary{font-size:14px}.fl-city-lovers .faq-list details p{font-size:13px}.fl-city-lovers .schedule h3{font-size:14px}.fl-city-lovers .schedule p{font-size:12px}.fl-city-lovers .form-field label,.fl-city-lovers .attendance legend{font-size:12px}.fl-city-lovers .attendance label>span{font-size:12px}.fl-city-lovers .form-disclaimer{font-size:11px}.fl-city-lovers .rsvp-copy>p{font-size:14px}.fl-city-lovers .form-field input:not([type=file]),.fl-city-lovers .form-field textarea{font-size:14px}.fl-city-lovers .gallery-caption{font-size:12px}.fl-city-lovers .hero-meta>span:nth-child(2){max-width:45%;text-align:right;overflow-wrap:anywhere}.fl-city-lovers .couple-title .name-line,.fl-city-lovers .couple-title .second-name{white-space:nowrap}.fl-city-lovers .ticket-couple>span{min-width:0;overflow-wrap:anywhere}.fl-city-lovers .signature{overflow-wrap:anywhere}.fl-city-lovers .signature.long-names{font-size:20px}.fl-city-lovers .signature.long-names>span{min-width:0}.fl-city-lovers .signature.long-names small{min-width:70px}
@media(max-width:900px){.fl-city-lovers .story-card h3{font-size:15px}.fl-city-lovers .story-card p{font-size:12px}.fl-city-lovers .hero-description{font-size:12px}.fl-city-lovers .hero-link{font-size:10px}.fl-city-lovers .invitation-bottom>p:first-child{font-size:12px}}
@media(max-width:640px){.fl-city-lovers .hero-description{font-size:13px}.fl-city-lovers .hero-link{font-size:11px}.fl-city-lovers .story-card h3{font-size:20px}.fl-city-lovers .story-card p{font-size:14px}.fl-city-lovers .section-heading>p{font-size:13px}.fl-city-lovers .invitation-bottom>p:first-child{font-size:12px}.fl-city-lovers .signature{flex-wrap:wrap}.fl-city-lovers .faq-list summary{font-size:14px}.fl-city-lovers .faq-list details p{font-size:13px}.fl-city-lovers .schedule h3{font-size:13px}.fl-city-lovers .schedule p{font-size:11px}.fl-city-lovers .form-field label,.fl-city-lovers .attendance legend{font-size:12px}.fl-city-lovers .attendance label>span{font-size:12px}.fl-city-lovers .form-field input:not([type=file]),.fl-city-lovers .form-field textarea,.fl-city-lovers .form-field select{font-size:16px}.fl-city-lovers .form-two{gap:13px}.fl-city-lovers .rsvp-copy>p{font-size:14px}.fl-city-lovers .form-disclaimer{font-size:11px}.fl-city-lovers .gallery-caption{font-size:10px}.fl-city-lovers .gallery-large .gallery-caption{font-size:12px}.fl-city-lovers .rsvp-card{padding-left:21px;padding-right:21px}}
.fl-city-lovers.js .story-card.reveal:not(.is-visible){transform:rotate(calc(var(--card-angle) + 5deg))}.fl-city-lovers.js .story-card.reveal.is-visible:hover{transform:rotate(0) translateY(-6px)}
/* Event details stay readable before and after observation. A fully clipped
   target cannot intersect, so it must never gate its own reveal animation. */
.fl-city-lovers.js .event-ticket.reveal{opacity:1;translate:0 0;clip-path:none}
.fl-city-lovers.js .event-ticket.reveal.is-visible{animation:city-ticket-arrival .65s ease-out both}
@keyframes city-ticket-arrival{from{translate:0 18px}to{translate:0 0}}
.fl-city-lovers #lightbox-img.image-turn{animation:city-paper-swap .35s cubic-bezier(.2,.7,.2,1)}
@keyframes city-paper-swap{from{clip-path:polygon(0 0,1% 0,3% 20%,0 40%,4% 60%,1% 80%,2% 100%,0 100%);transform:translateX(7px) rotate(.6deg)}to{clip-path:polygon(0 0,100% 0,100% 20%,100% 40%,100% 60%,100% 80%,100% 100%,0 100%);transform:none}}
@media(hover:hover){.fl-city-lovers .invitation:hover .drawn-heart{animation:city-heart-write 1.1s ease both}}@keyframes city-heart-write{from{stroke-dasharray:300;stroke-dashoffset:300}to{stroke-dasharray:300;stroke-dashoffset:0}}
.fl-city-lovers[data-motion="off"] .event-ticket.reveal{clip-path:none}

/* ==========================================================
   CITY LOVERS v1.1 / real-world product-readiness refinements
   No external fonts, stock photos or third-party runtime code.
   ========================================================== */
.fl-city-lovers { --ticket-ink:#17171a; }
/* Print detail: tactile halftone sits on top of the photo, never on page text. */
.fl-city-lovers .print-stage::before {
  content:""; position:absolute;inset:0;z-index:2;pointer-events:none;
  background-image:radial-gradient(circle at 1.1px 1.1px,rgba(17,15,26,.48) 0.8px,transparent 1.45px);
  background-size:7px 7px;mix-blend-mode:multiply;opacity:.3;
}
.fl-city-lovers .ink-wash {position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.18;
  background:linear-gradient(118deg,transparent 0 31%,rgba(242,218,79,.5) 44%,transparent 63%),
  radial-gradient(circle at 70% 18%,rgba(235,57,132,.7),transparent 34%);mix-blend-mode:screen}
.fl-city-lovers .print-seal {position:absolute;right:15px;top:19px;z-index:4;color:var(--paper);border:1px solid currentColor;
  font:700 10px/1.5 var(--body-font);letter-spacing:.13em;padding:5px 9px;transform:rotate(5deg);
  text-shadow:0 1px 3px rgba(0,0,0,.6);box-shadow:0 0 0 2px rgba(0,0,0,.08)}
.fl-city-lovers .print-seal b{color:var(--yellow);font-size:15px;vertical-align:middle;margin:0 3px}
.fl-city-lovers .hero.is-printing .ink-wash {animation:city-colour-wash 1.15s ease .2s both}
.fl-city-lovers .hero.is-printing .print-stage::before {animation:city-halftone-reveal 1.15s ease-out .4s both}
@keyframes city-colour-wash{0%{opacity:0;transform:translateX(-9px)}60%{opacity:.46}100%{opacity:.18;transform:translateX(0)}}
@keyframes city-halftone-reveal{0%{opacity:0}100%{opacity:.3}}
.fl-city-lovers .custom-photo[data-photo-style="standard"] .layer-cyan,
.fl-city-lovers .custom-photo[data-photo-style="standard"] .layer-magenta {opacity:0!important}
.fl-city-lovers .custom-photo[data-photo-style="standard"] .layer-final {filter:none}
.fl-city-lovers .custom-photo[data-photo-style="standard"] .ink-wash {opacity:.07}
.fl-city-lovers .custom-photo[data-photo-style="standard"] .print-stage::before {opacity:.12}
.fl-city-lovers .custom-photo .print-stage::after {display:none}
.fl-city-lovers .proof-mono .ink-wash {opacity:0!important}
.fl-city-lovers .proof-mono .print-stage::before {opacity:.1}
/* Story cards: three related but not identical editorial pieces. */
.fl-city-lovers .story-card:nth-child(2) {background:#f5e7e4}
.fl-city-lovers .story-card:nth-child(2) .story-image {clip-path:polygon(0 0,100% 0,100% 96%,93% 100%,87% 96%,80% 100%,73% 97%,65% 100%,57% 96%,48% 100%,40% 96%,33% 100%,24% 96%,16% 99%,7% 96%,0 100%)}
.fl-city-lovers .story-card:nth-child(3) {background:#e8efea}
.fl-city-lovers .story-card:nth-child(3)::before {content:"PRINT / 03";position:absolute;right:19px;top:19px;z-index:3;
  background:var(--yellow);color:var(--ink);font:800 10px/1 var(--body-font);letter-spacing:.08em;padding:8px;transform:rotate(8deg)}
.fl-city-lovers .story-card:nth-child(3) .photo-sticker {background:var(--cyan);color:#141411}
/* Readability: functional information, not micro-decorations. */
.fl-city-lovers .hero-description {color:#d8d4c9;font-size:15px}
.fl-city-lovers .hero-link {font-size:13px}
.fl-city-lovers .hero-bottom,.fl-city-lovers .hero-bottom a {font-size:11px}
.fl-city-lovers .hero-meta {font-size:11px;letter-spacing:.09em}
.fl-city-lovers .hero-copy>.eyebrow,.fl-city-lovers .section-heading .eyebrow,.fl-city-lovers .eyebrow {font-size:11px}
.fl-city-lovers .main-nav>a {font-size:12px}
.fl-city-lovers .proof-controls button {font-size:12px;min-height:44px}
.fl-city-lovers .proof-note {font-size:10px}
.fl-city-lovers .story-end>span:last-child,.fl-city-lovers .gallery-bottom {font-size:11px}
.fl-city-lovers .gallery-topline {font-size:10px}
.fl-city-lovers .form-disclaimer {font-size:12px}
.fl-city-lovers .form-field label,.fl-city-lovers .attendance legend {font-size:13px}
/* Customisable guest ticket — no real QR code, barcode or check-in promises. */
.fl-city-lovers .rsvp-success {min-height:0;display:block}
.fl-city-lovers .rsvp-success>h3 {margin:18px 0 10px}
.fl-city-lovers .rsvp-success>p {margin-bottom:12px}
.fl-city-lovers .guest-ticket {display:grid;grid-template-columns:minmax(0,2.8fr) minmax(95px,1fr);margin:27px 0 15px;
  min-height:218px;transform:rotate(-1.25deg);color:var(--ticket-ink);box-shadow:5px 6px 0 rgba(19,19,19,.83)}
.fl-city-lovers .guest-ticket-main {padding:19px 17px 17px;background:var(--yellow);display:flex;flex-direction:column;min-width:0}
.fl-city-lovers .ticket-eyebrow {font-size:10px;font-weight:900;letter-spacing:.12em;line-height:1.4}
.fl-city-lovers .guest-ticket-main>strong {font:italic 900 clamp(27px,3.6vw,48px)/1.06 var(--display-font);margin:15px 0 4px;
  overflow-wrap:anywhere;letter-spacing:-.06em}
.fl-city-lovers .ticket-admit {font-size:9px;font-weight:800;letter-spacing:.04em}
.fl-city-lovers .ticket-admit b {color:#c32f78}
.fl-city-lovers .ticket-lower {display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:auto;padding-top:15px;font-size:11px;font-weight:800;line-height:1.3}
.fl-city-lovers .ticket-lower>span:last-child {text-align:right;overflow-wrap:anywhere}
.fl-city-lovers .guest-ticket-stub {padding:17px 9px;background:var(--pink);border-left:2px dashed rgba(20,20,20,.55);
  display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:space-between;gap:3px}
.fl-city-lovers .guest-ticket-stub>span:first-child {font:800 8px/1.3 var(--body-font);letter-spacing:.06em}
.fl-city-lovers .guest-ticket-stub>strong {font:900 53px/.9 var(--display-font)}
.fl-city-lovers .guest-ticket-stub>span:nth-child(3) {font-size:9px;font-weight:900}
.fl-city-lovers .ticket-demo-stamp {display:block;border:2px solid var(--ticket-ink);transform:rotate(-10deg);padding:2px 4px;
  font:900 11px/1.2 var(--body-font);white-space:nowrap}
.fl-city-lovers .success-notice {font-size:12px!important;color:#47443c}
.fl-city-lovers .success-actions {display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:20px}
.fl-city-lovers .ticket-download {background:var(--ink);color:var(--paper);min-height:44px;padding:10px 14px;
  font-size:13px;font-weight:800;letter-spacing:.025em}
.fl-city-lovers .ticket-download:hover {background:#3b313b}
.fl-city-lovers .success-actions .text-link {font-size:12px}
/* The edit panel is a demo-only affordance, invisible in actual guest pages. */
.fl-city-lovers:not(.is-demo) .preview-tools,.fl-city-lovers:not(.is-demo) #editor {display:none!important}
.fl-city-lovers .preview-tools {z-index:15}
.fl-city-lovers .editor-progress {font-size:13px;font-weight:700;min-height:1.5em;margin:5px 0;color:#34302f}
.fl-city-lovers .editor input[type="range"] {width:100%;accent-color:var(--pink-strong);height:34px;cursor:pointer}
.fl-city-lovers .editor label output {float:right;font-size:13px;font-weight:900}
.fl-city-lovers .editor .form-field small {display:block;line-height:1.6;color:#5b554e}
.fl-city-lovers .editor [type=file] {width:100%}
/* Fixed mobile invitation CTA; intentionally only on narrow screens. */
.fl-city-lovers .mobile-rsvp-cta {display:none}
@media (max-width:900px) {
  .fl-city-lovers .hero-meta {font-size:10px}
  .fl-city-lovers .hero-copy>.eyebrow {font-size:10px}
  .fl-city-lovers .hero-description {font-size:13px}
  .fl-city-lovers .hero-link {font-size:12px}
  .fl-city-lovers .invitation-bottom>p:first-child {font-size:13px}
  .fl-city-lovers .story-card p {font-size:13px}
}
@media (max-width:640px) {
  .fl-city-lovers {padding-bottom:env(safe-area-inset-bottom)}
  .fl-city-lovers .site-header {height:72px}
  .fl-city-lovers .hero-meta {font-size:10px;letter-spacing:.025em}
  .fl-city-lovers .hero-meta>span:nth-child(2)>span {font-size:10px}
  .fl-city-lovers .hero-copy>.eyebrow,.fl-city-lovers .section-heading .eyebrow {font-size:10px}
  .fl-city-lovers .hero-description {font-size:14px}
  .fl-city-lovers .hero-link {font-size:12px}
  .fl-city-lovers .hero-bottom,.fl-city-lovers .hero-bottom a {font-size:10px}
  .fl-city-lovers .hero-bottom>span {max-width:195px}
  .fl-city-lovers .proof-controls {padding-right:118px}
  .fl-city-lovers .proof-controls button {font-size:11px;min-height:44px}
  .fl-city-lovers .invitation-bottom>p:first-child {font-size:13px}
  .fl-city-lovers .story-card h3 {font-size:20px}
  .fl-city-lovers .story-card p {font-size:14px}
  .fl-city-lovers .schedule h3,.fl-city-lovers .schedule p {font-size:13px}
  .fl-city-lovers .gallery-caption {font-size:12px}
  .fl-city-lovers .gallery-topline {font-size:9px}
  .fl-city-lovers .gallery-bottom {font-size:10px}
  .fl-city-lovers .form-disclaimer {font-size:12px}
  .fl-city-lovers .form-field label,.fl-city-lovers .attendance legend {font-size:13px}
  .fl-city-lovers .attendance label>span {font-size:13px}
  .fl-city-lovers .ticket-lower {font-size:10px}
  .fl-city-lovers .guest-ticket {grid-template-columns:minmax(0,2.45fr) minmax(85px,1fr);margin-left:0;margin-right:0}
  .fl-city-lovers .guest-ticket-main>strong {font-size:clamp(25px,7vw,42px)}
  .fl-city-lovers .ticket-eyebrow {font-size:8px}
  .fl-city-lovers .guest-ticket-stub>strong {font-size:49px}
  .fl-city-lovers .ticket-demo-stamp {font-size:9px}
  .fl-city-lovers .print-seal {font-size:8px;top:10px;right:9px}
  .fl-city-lovers .mobile-rsvp-cta {display:flex;position:fixed;bottom:0;left:0;right:0;padding:10px max(22px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));
    z-index:19;background:var(--yellow);color:var(--ink);align-items:center;justify-content:space-between;gap:14px;
    min-height:62px;box-shadow:0 -5px 26px rgba(0,0,0,.23);transition:transform .25s}
  .fl-city-lovers .mobile-rsvp-cta>span {font-size:11px;font-weight:900;letter-spacing:.11em}
  .fl-city-lovers .mobile-rsvp-cta>strong {font-size:16px;white-space:nowrap}
  .fl-city-lovers .mobile-rsvp-cta>strong span {margin-left:10px}
  .fl-city-lovers .mobile-rsvp-cta.is-hidden {transform:translateY(130%);pointer-events:none}
  .fl-city-lovers .preview-tools {left:12px;right:auto;bottom:calc(75px + env(safe-area-inset-bottom));width:46px;height:46px;
    padding:0;border-radius:50%;overflow:hidden;justify-content:center;box-shadow:0 3px 18px rgba(0,0,0,.4)}
  .fl-city-lovers .preview-tools button {font-size:0;padding:0;min-height:44px;min-width:44px;display:flex;justify-content:center;align-items:center}
  .fl-city-lovers .preview-tools .preview-label,.fl-city-lovers .preview-tools .preview-divider,.fl-city-lovers #motion-toggle {display:none!important}
  .fl-city-lovers .preview-tools .icon {width:20px;height:20px}
  .fl-city-lovers .toast {bottom:calc(135px + env(safe-area-inset-bottom));left:14px;right:14px;max-width:none}
  .fl-city-lovers .site-footer {padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .fl-city-lovers .editor {padding-bottom:calc(38px + env(safe-area-inset-bottom))}
}
@media (max-width:360px) {
  .fl-city-lovers .guest-ticket-main {padding-left:12px;padding-right:9px}
  .fl-city-lovers .guest-ticket-main>strong {font-size:24px}
  .fl-city-lovers .mobile-rsvp-cta>span {font-size:9px}
  .fl-city-lovers .mobile-rsvp-cta>strong {font-size:14px}
}
@media (prefers-reduced-motion:reduce) {
  .fl-city-lovers .mobile-rsvp-cta {transition:none}
}
@media print {
  .fl-city-lovers .mobile-rsvp-cta {display:none!important}
}
/* Keep the floating date seal legible before the first mobile scroll. */
@media (max-width:640px) {.fl-city-lovers .date-sticker {bottom:15px}}
.fl-city-lovers picture {display:contents}
.fl-city-lovers:lang(ja) {--body-font:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-break:strict}
.fl-city-lovers img:not(#lightbox-img) {object-position:var(--city-focus-desktop,50% 50%)}
.fl-city-lovers .hero-copy,.fl-city-lovers .hero-visual,.fl-city-lovers .ticket-main,.fl-city-lovers .rsvp-copy {min-width:0}
.fl-city-lovers .hero-description,.fl-city-lovers .invitation-bottom>p:first-child,.fl-city-lovers .story-card p,.fl-city-lovers .faq-list p {white-space:pre-line}
.fl-city-lovers .story-image img {aspect-ratio:5/4}
.fl-city-lovers .story-card p {font-size:16px;line-height:1.9}
.fl-city-lovers .rsvp-card>p {font-size:17px;line-height:1.9;margin:24px 0}
.fl-city-lovers .rsvp-card>h3 {font-size:26px;line-height:1.4}
.fl-city-lovers .city-design-return {font-size:12px;white-space:nowrap;border-bottom:1px solid currentColor;padding:8px 0;min-height:40px;display:inline-flex;align-items:center}
.fl-city-lovers .gallery-grid {grid-template-rows:none;grid-auto-rows:250px;grid-auto-flow:dense}
.fl-city-lovers .gallery-grid .gallery-item:nth-child(n) {display:block;grid-row:auto;grid-column:auto;aspect-ratio:auto}
.fl-city-lovers .gallery-grid .gallery-item:nth-child(6n+1) {grid-row:span 2}
.fl-city-lovers .gallery-grid .gallery-item:nth-child(6n) {grid-column:1/-1}
.fl-city-lovers .schedule {grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px}
.fl-city-lovers .venue-row p {font-size:14px;line-height:1.8;letter-spacing:0}
.fl-city-lovers .venue-row a {display:inline-flex;border-bottom:1px solid currentColor;padding:6px 0;font-size:14px;margin-top:8px}
.fl-city-lovers .main-nav {gap:20px}
.fl-city-lovers .proof-controls #motion-toggle {display:inline-flex!important}
.fl-city-lovers .hero-meta>span:nth-child(2) {overflow-wrap:anywhere}
@media(max-width:767px){.fl-city-lovers img:not(#lightbox-img){object-position:var(--city-focus-mobile,50% 50%)}}
@media(max-width:900px){.fl-city-lovers .city-design-return{font-size:10px}.fl-city-lovers .main-nav{gap:12px}.fl-city-lovers .main-nav>a{font-size:9px}.fl-city-lovers .gallery-grid{grid-auto-rows:220px}}
@media(max-width:640px){
 .fl-city-lovers .site-header{flex-wrap:wrap;height:auto;min-height:72px;gap:10px;padding-top:12px;padding-bottom:12px}
 .fl-city-lovers .city-design-return{order:2;margin-left:auto;padding:0;min-height:26px;font-size:11px}
 .fl-city-lovers .menu-toggle{margin-left:auto}
 .fl-city-lovers .main-nav{top:100%;z-index:21}
 .fl-city-lovers .main-nav>a{font-size:14px}
 .fl-city-lovers .gallery-grid{grid-auto-rows:auto;grid-template-rows:none}
 .fl-city-lovers .gallery-grid .gallery-item:nth-child(n){grid-row:auto;grid-column:auto;aspect-ratio:20/23}
 .fl-city-lovers .gallery-grid .gallery-item:nth-child(6n+1){grid-column:1/-1;aspect-ratio:6/5}
 .fl-city-lovers .gallery-grid .gallery-item:nth-child(6n){grid-column:1/-1;aspect-ratio:12/5}
 .fl-city-lovers .hero-meta>span:nth-child(2){display:none}
 .fl-city-lovers .rsvp-copy h2{font-size:clamp(42px,11vw,70px);line-height:1.1}
 .fl-city-lovers .footer-bottom{flex-wrap:wrap}
 .fl-city-lovers .form-two{grid-template-columns:1fr}
 .fl-city-lovers .story-card p{font-size:16px}
 .fl-city-lovers .ticket-row{flex-wrap:wrap}
 .fl-city-lovers .mobile-rsvp-cta{gap:8px}
 .fl-city-lovers .mobile-rsvp-cta>span{font-size:9px;letter-spacing:0}
 .fl-city-lovers .mobile-rsvp-cta>strong{font-size:14px}
}
