.landing-topbar { height: 76px; border-color: #eadfd6; background: rgb(255 253 250 / 94%); }
.landing-topbar .brand img { width: 150px; }
.landing-topbar .topbar-right { gap: clamp(12px, 2vw, 28px); }
.landing-nav-link { font-size: 12px; font-weight: 600; text-decoration: none; }
.landing-nav-link:hover { color: #8c4a34; }
.landing-nav-cta { min-height: 42px; padding: 0 18px; font-size: 11px; }
.landing-nav-signin { border-color: #a45436; color: #8c4a34; background: transparent; }
.landing-nav-signin:hover { border-color: #8c4a34; color: #fffdfa; background: #8c4a34; }
body.wizard-mode .landing-topbar .topbar-right { display: none; }

.landing-page { overflow: hidden; background: #fbf8f3; }
.landing-hero { position: relative; width: min(1190px, calc(100% - 64px)); min-height: 610px; margin: 0 auto; padding: 80px 0 76px; display: grid; grid-template-columns: minmax(0, .94fr) minmax(400px, 1.06fr); align-items: center; gap: 35px; }
.landing-hero::before { position: absolute; z-index: 0; top: 0; left: -90px; width: 370px; height: 370px; border-radius: 50%; background: radial-gradient(circle, rgb(196 135 115 / 10%), transparent 69%); content: ""; pointer-events: none; }
.landing-copy { position: relative; z-index: 2; padding-bottom: 20px; }
.landing-eyebrow { display: inline-flex; align-items: center; gap: 10px; color: #914d37; letter-spacing: .16em; }
.landing-eyebrow::before { width: 25px; height: 1px; background: #ba965a; content: ""; }
.landing-copy h1 { max-width: 620px; margin: 22px 0 18px; color: #332820; font: 500 clamp(48px, 5.8vw, 76px)/.99 var(--font-display); letter-spacing: -.045em; }
.landing-copy h1 em { color: #a45436; font-weight: 500; }
.landing-copy > p { max-width: 470px; margin: 0; color: #77675d; font-size: 15px; line-height: 1.8; }
.landing-actions { display: flex; align-items: center; gap: 27px; margin-top: 30px; }
.landing-actions .button,.landing-bottom-cta .button { min-height: 51px; padding: 0 21px; display: inline-flex; gap: 21px; font-size: 12px; text-decoration: none; }
.landing-secondary { display: inline-flex; align-items: center; gap: 10px; color: #57463b; font-size: 12px; font-weight: 700; text-decoration: none; }
.landing-secondary:hover { color: #a45436; }
.landing-play { width: 31px; height: 31px; display: grid; place-items: center; border: 1px solid #ddc9ba; border-radius: 50%; color: #a45436; font-size: 17px; }
.landing-note { display: flex; align-items: center; gap: 9px; margin-top: 32px; color: #887a70; font-size: 10px; }
.landing-note-mark { color: #ba965a; font-size: 15px; }
.landing-visual { position: relative; min-height: 470px; display: grid; place-items: center; isolation: isolate; }
.landing-visual::before { position: absolute; z-index: -2; width: 390px; height: 390px; border-radius: 50%; background: #f1e4d9; content: ""; }
.landing-visual::after { position: absolute; z-index: -1; width: 326px; height: 326px; border: 1px solid rgb(164 84 54 / 18%); border-radius: 50%; content: ""; }
.landing-orbit { position: absolute; z-index: -1; width: 470px; height: 230px; border: 1px solid rgb(164 84 54 / 17%); border-radius: 50%; }
.landing-orbit-one { transform: rotate(-35deg); }
.landing-orbit-two { transform: rotate(54deg); }
.landing-invite-card { position: relative; width: 272px; min-height: 376px; padding: 31px 22px 25px; display: flex; flex-direction: column; align-items: center; color: #5b4136; background: #fffdf9; border: 1px solid #dfcdb9; box-shadow: 0 22px 55px rgb(72 49 35 / 15%), 0 0 0 8px rgb(255 253 249 / 66%); text-align: center; transform: rotate(-3deg); }
.landing-invite-card::before { position: absolute; inset: 8px; border: 1px solid #eaded0; content: ""; pointer-events: none; }
.landing-slide--wedding { color: #4f352b; border: 1px solid #bd985f; background: radial-gradient(ellipse at 50% 0%,#fff 0%,#fffdf8 44%,#f4e9da 100%); }
.landing-slide--wedding::before { inset: 9px; border: 1px solid #d8c29e; }
.landing-slide--wedding .invite-overline { color: #9d4f36; }
.landing-slide--wedding .invite-flourish { margin: 16px 0 3px; color: #b38c50; font-size: 39px; }
.landing-slide--wedding .invite-script { color: #987158; font-family: var(--font-display); }
.landing-slide--wedding .invite-names { margin-top: 10px; color: #53382e; font-size: 35px; }
.landing-slide--wedding .invite-names i { color: #a45436; }
.landing-slide--wedding .invite-rule { background: #c5a76f; }
.landing-slide--wedding .invite-rule i { color: #a45436; background: #fffdf8; }
.landing-slide--wedding .invite-details { color: #81644f; }
.landing-slide--wedding .invite-rsvp { color: #8d4933; border-color: #d4b79b; }
.invite-overline,.invite-place,.invite-rsvp { font: 600 8px/1.5 var(--font-body); letter-spacing: .2em; }
.invite-overline { margin-top: 4px; color: #a45436; }
.invite-flourish { margin: 14px 0 2px; color: #ba965a; font: 34px/1 Georgia,serif; }
.invite-script { color: #886750; font: italic 15px var(--font-display); }
.invite-names { margin-top: 8px; color: #553c31; font: 500 33px/1.05 var(--font-display); }
.invite-names i { color: #a45436; font: italic 24px var(--font-display); }
.invite-rule { width: 90px; height: 1px; margin: 18px 0 15px; position: relative; background: #d4b78e; }
.invite-rule i { position: absolute; top: 50%; left: 50%; padding: 0 7px; color: #a45436; background: #fffdf9; font-size: 11px; font-style: normal; transform: translate(-50%,-50%); }
.invite-details { color: #876c5d; font: italic 15px var(--font-display); }
.invite-date { margin-top: 12px; color: #633f30; font: 600 11px var(--font-body); letter-spacing: .15em; }
.invite-place { margin-top: 8px; color: #917863; font-size: 7px; }
.invite-rsvp { margin-top: 22px; padding: 7px 12px; color: #8a4933; border: 1px solid #ddc8b7; font-size: 7px; }
.landing-float-card { position: absolute; right: 1%; bottom: 57px; z-index: 2; padding: 12px 17px 12px 12px; display: flex; align-items: center; gap: 11px; border: 1px solid #eee4da; border-radius: 12px; background: #fffdfa; box-shadow: 0 12px 34px rgb(73 51 36 / 10%); transform: rotate(2deg); pointer-events: none; }
.landing-float-icon { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #fff9f4; background: #a45436; font-size: 15px; }
.landing-float-card strong,.landing-float-card small { display: block; }
.landing-float-card strong { color: #42332c; font-size: 10px; }
.landing-float-card small { margin-top: 3px; color: #86756b; font-size: 9px; }
.landing-stamp { position: absolute; top: 39px; right: 8%; width: 70px; height: 70px; display: grid; align-content: center; justify-items: center; gap: 3px; border: 1px solid rgb(164 84 54 / 45%); border-radius: 50%; color: #a45436; transform: rotate(11deg); }
.landing-stamp span { font: italic 30px/.9 var(--font-display); }
.landing-stamp i { font-size: 5px; font-style: normal; letter-spacing: .12em; }
.landing-spark { position: absolute; color: #bd9a69; }
.landing-spark-one { top: 109px; left: 11%; font-size: 21px; }
.landing-spark-two { right: 3%; top: 46%; font-size: 24px; }
.landing-carousel { position: relative; z-index: 1; width: 272px; height: 420px; }
.landing-slide { position: absolute; inset: 0 auto auto 0; opacity: 0; pointer-events: none; transform: translateX(110%) rotate(4deg) scale(.96); transition: opacity .45s ease, transform .72s cubic-bezier(.22,.72,.25,1); }
.landing-slide.is-before { transform: translateX(-110%) rotate(-4deg) scale(.96); }
.landing-slide.is-after { transform: translateX(110%) rotate(4deg) scale(.96); }
.landing-slide.is-active { z-index: 1; opacity: 1; pointer-events: auto; transform: translateX(0) rotate(-3deg) scale(1); }
.landing-slide--birthday { color: #503448; border: 1px solid #bc7382; border-radius: 24px 24px 62px 8px; background: radial-gradient(circle at 14% 14%,#f3be73 0 4px,transparent 5px),radial-gradient(circle at 87% 22%,#e08a91 0 5px,transparent 6px),radial-gradient(circle at 15% 78%,#c88cad 0 4px,transparent 5px),linear-gradient(145deg,#fff5e7 0%,#f9e3dc 48%,#efcbd9 100%); }
.landing-slide--birthday::before { inset: 10px; border: 1px dashed rgb(154 77 105 / 48%); border-radius: 17px 17px 53px 3px; }
.landing-slide--birthday .invite-overline { margin-top: 8px; padding: 6px 10px; border-radius: 99px; color: #fff9f3; background: #a94f69; letter-spacing: .14em; }
.landing-slide--birthday .invite-rsvp { color: #7f3e5b; border-color: #d69aa8; background: rgb(255 250 244 / 68%); }
.landing-slide--birthday .invite-flourish { margin: 18px 0 5px; color: #c27e39; font-size: 30px; }
.landing-slide--birthday .invite-script { color: #936175; }
.landing-slide--birthday .invite-names { color: #633d54; font-size: 26px; }
.landing-slide--birthday .invite-names i { width: 53px; height: 53px; margin: 0 auto; display: grid; place-items: center; border: 1px solid #c57d87; border-radius: 50%; color: #fffaf3; background: #b65c70; box-shadow: 0 0 0 5px rgb(255 250 244 / 75%); font: 600 18px var(--font-body); }
.landing-slide--birthday .invite-rule { background: #d4a36b; }
.landing-slide--birthday .invite-rule i { color: #b15c6e; background: #fae9e4; }
.landing-slide--birthday .invite-details { color: #775064; }
.landing-slide--birthday .invite-date { color: #7f3f5d; }
.landing-slide--birthday .invite-place { color: #8d6572; }
.landing-slide--birthday .invite-names,.landing-slide--graduation .invite-names { display: grid; justify-items: center; gap: 7px; }
.landing-slide--baby { color: #35534e; border: 1px solid #7e9a87; border-radius: 135px 135px 9px 9px; background: radial-gradient(circle at 15% 19%,rgb(120 157 137 / 20%) 0 2px,transparent 3px),radial-gradient(circle at 82% 28%,rgb(120 157 137 / 18%) 0 3px,transparent 4px),linear-gradient(180deg,#dcebe0 0%,#f2f7ef 49%,#fffdf7 100%); }
.landing-slide--baby::before { inset: 9px; border: 1px solid #b5c7b7; border-radius: 126px 126px 3px 3px; }
.landing-slide--baby .invite-overline { color: #587963; }
.landing-slide--baby .invite-flourish { margin: 15px 0 2px; color: #799b81; font-size: 43px; }
.landing-slide--baby .invite-script,.landing-slide--baby .invite-details { color: #668174; }
.landing-slide--baby .invite-names { margin-top: 13px; color: #3f6657; font-size: 32px; }
.landing-slide--baby .invite-rule { background: #a8bd9b; }
.landing-slide--baby .invite-rule i { color: #668d72; background: #f8faf2; }
.landing-slide--baby .invite-date { color: #4c6b5a; }
.landing-slide--baby .invite-place { color: #718878; }
.landing-slide--baby .invite-rsvp { color: #567362; border-color: #a9c0ad; }
.landing-slide--graduation { color: #fff8ec; border: 1px solid #c6a15e; border-radius: 3px; background: radial-gradient(ellipse at 50% 30%,rgb(81 123 133 / 50%),transparent 52%),linear-gradient(145deg,#213c4c 0%,#142b3a 58%,#1a3540 100%); box-shadow: 0 22px 55px rgb(24 43 54 / 24%),0 0 0 8px rgb(255 253 249 / 66%); }
.landing-slide--graduation::before { inset: 10px; border: 1px solid rgb(218 187 129 / 70%); }
.landing-slide--graduation .invite-overline { margin-top: 7px; color: #e5c98e; }
.landing-slide--graduation .invite-flourish { margin: 20px 0 6px; color: #e4c27b; font-size: 35px; }
.landing-slide--graduation .invite-script,.landing-slide--graduation .invite-details { color: #c6d3d0; }
.landing-slide--graduation .invite-names { margin-top: 13px; color: #fffaf1; font-size: 22px; }
.landing-slide--graduation .invite-names i { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid #c7a360; color: #f0d89e; background: rgb(255 255 255 / 5%); font: 500 21px var(--font-display); }
.landing-slide--graduation .invite-rule { margin: 16px 0 13px; background: #b99b67; }
.landing-slide--graduation .invite-rule i { color: #e4c27b; background: #1d3846; }
.landing-slide--graduation .invite-date { color: #ead8b4; }
.landing-slide--graduation .invite-place { color: #b9c7c2; }
.landing-slide--graduation .invite-rsvp { color: #e5c98e; border-color: rgb(218 187 129 / 60%); }
.landing-generated { color: var(--invite-ink); border-color: var(--invite-accent); background: var(--invite-bg); }
.landing-generated::before { border-color: var(--invite-line); }
.landing-generated .invite-overline,.landing-generated .invite-names i { color: var(--invite-accent); }
.landing-generated .invite-flourish { color: var(--invite-accent); }
.landing-generated .invite-script,.landing-generated .invite-details { color: var(--invite-ink); opacity: .78; }
.landing-generated .invite-names { color: var(--invite-ink); }
.landing-generated .invite-rule { background: var(--invite-line); }
.landing-generated .invite-rule i { color: var(--invite-accent); background: var(--invite-paper); }
.landing-generated .invite-date { color: var(--invite-ink); }
.landing-generated .invite-place { color: var(--invite-ink); opacity: .7; }
.landing-generated .invite-rsvp { color: var(--invite-accent); border-color: var(--invite-line); }
.landing-design-01 { --invite-paper:#fffaf4;--invite-ink:#54392e;--invite-accent:#a45436;--invite-line:#d3b18b;--invite-bg:linear-gradient(145deg,#fffdf9,#f0dfcf); }
.landing-design-02 { --invite-paper:#153d38;--invite-ink:#fff8e9;--invite-accent:#dfc17d;--invite-line:#b78e50;--invite-bg:linear-gradient(145deg,#153d38,#244d45); }
.landing-design-03 { --invite-paper:#fff7f5;--invite-ink:#62404a;--invite-accent:#a45d68;--invite-line:#d9aeb1;--invite-bg:linear-gradient(145deg,#fff9f7,#f0dadd); }
.landing-design-04 { --invite-paper:#f5fbfa;--invite-ink:#315768;--invite-accent:#377f8a;--invite-line:#9bc6c8;--invite-bg:linear-gradient(160deg,#f5fbfa 0 48%,#d8eceb 48% 50%,#f5fbfa 50%); }
.landing-design-05 { --invite-paper:#f7f8ee;--invite-ink:#405b48;--invite-accent:#668265;--invite-line:#b1c09a;--invite-bg:radial-gradient(ellipse at 0 0,#e2e9d9,transparent 52%),#f7f8ee; }
.landing-design-06 { --invite-paper:#fff4eb;--invite-ink:#65384b;--invite-accent:#b54c67;--invite-line:#e0a260;--invite-bg:radial-gradient(circle at 13% 14%,#f3be73 0 4px,transparent 5px),radial-gradient(circle at 87% 22%,#e08a91 0 5px,transparent 6px),linear-gradient(145deg,#fff5e7,#f3d2c9); }
.landing-design-07 { --invite-paper:#fff9df;--invite-ink:#60452e;--invite-accent:#b75c31;--invite-line:#dca638;--invite-bg:radial-gradient(circle at 50% 29%,#f7e8a9 0 62px,transparent 63px),linear-gradient(180deg,#fff9df,#f8efc4); }
.landing-design-08 { --invite-paper:#fcf7ff;--invite-ink:#554064;--invite-accent:#91659b;--invite-line:#cfb1d9;--invite-bg:linear-gradient(135deg,#fcf7ff 0 53%,#eee2f2 53% 56%,#fcf7ff 56%); }
.landing-design-09 { --invite-paper:#e8f6f2;--invite-ink:#174f50;--invite-accent:#087b76;--invite-line:#74b7a8;--invite-bg:linear-gradient(160deg,#e8f6f2,#cce9df); }
.landing-design-10 { --invite-paper:#fffbed;--invite-ink:#566044;--invite-accent:#a18a49;--invite-line:#dbc987;--invite-bg:radial-gradient(ellipse at 50% 0,#f5edc9,transparent 62%),#fffbed; }
.landing-design-11 { --invite-paper:#f5fbff;--invite-ink:#3b5870;--invite-accent:#638eae;--invite-line:#aac9dc;--invite-bg:linear-gradient(180deg,#dfedf5,#f5fbff 48%); }
.landing-design-12 { --invite-paper:#fffefe;--invite-ink:#344b64;--invite-accent:#789ab9;--invite-line:#b7cadb;--invite-bg:linear-gradient(145deg,#fff,#eaf2f8); }
.landing-design-13 { --invite-paper:#172d43;--invite-ink:#fff8eb;--invite-accent:#e5c785;--invite-line:#c1a266;--invite-bg:radial-gradient(ellipse at 50% 32%,#315369,#172d43 68%); }
.landing-design-14 { --invite-paper:#482f43;--invite-ink:#fff7ed;--invite-accent:#e2bd82;--invite-line:#bc8d75;--invite-bg:linear-gradient(145deg,#482f43,#65445b); }
.landing-design-15 { --invite-paper:#f8f3ea;--invite-ink:#543a50;--invite-accent:#966378;--invite-line:#d5b783;--invite-bg:linear-gradient(145deg,#fffaf1,#eadbdc); }
.landing-design-16 { --invite-paper:#f8f7ed;--invite-ink:#355246;--invite-accent:#4f765f;--invite-line:#b3a276;--invite-bg:radial-gradient(ellipse at 100% 0,#e3e8d9,transparent 56%),#f8f7ed; }
.landing-design-17 { --invite-paper:#fff8fa;--invite-ink:#65404f;--invite-accent:#aa687f;--invite-line:#d9b2b5;--invite-bg:linear-gradient(135deg,#fff8fa,#f0dce2); }
.landing-design-18 { --invite-paper:#182d48;--invite-ink:#fff9e8;--invite-accent:#f0b84b;--invite-line:#de6b40;--invite-bg:linear-gradient(135deg,#182d48 0 36%,#c94f36 36% 40%,#182d48 40% 63%,#e3ab3e 63% 67%,#182d48 67%); }
.landing-design-19 { --invite-paper:#faf9ef;--invite-ink:#46503b;--invite-accent:#788050;--invite-line:#c4aa70;--invite-bg:linear-gradient(180deg,#e8e6d2,#faf9ef 48%); }
.landing-design-20 { --invite-paper:#24272b;--invite-ink:#fff8ed;--invite-accent:#d9bd88;--invite-line:#ad9569;--invite-bg:linear-gradient(145deg,#24272b,#393b3d); }
.landing-layout-artdeco::before { inset: 12px; border-width: 3px; outline: 1px solid var(--invite-line); outline-offset: -7px; }
.landing-layout-arch,.landing-layout-softarch { border-radius: 135px 135px 5px 5px; }
.landing-layout-arch::before,.landing-layout-softarch::before { inset: 9px; border-radius: 126px 126px 2px 2px; }
.landing-layout-coastal { border-radius: 8px 8px 60px 8px; }
.landing-layout-coastal::before { border-radius: 2px 2px 53px 2px; }
.landing-layout-botanical::before { inset: 11px; border-style: dotted; }
.landing-layout-party { border-radius: 30px 7px 30px 7px; }
.landing-layout-sunshine { border-radius: 7px 55px 7px 55px; }
.landing-layout-ticket { border-radius: 5px 44px 5px 44px; }
.landing-layout-bold { border-radius: 6px; }
.landing-layout-bold .invite-names { font-weight: 600; letter-spacing: -.025em; }
.landing-layout-cloud { border-radius: 80px 80px 12px 12px; }
.landing-layout-cloud::before { border-radius: 74px 74px 7px 7px; }
.landing-layout-minimal::before { inset: 15px; border-width: 0 0 1px; }
.landing-layout-editorial .invite-overline { letter-spacing: .25em; }
.landing-layout-editorial .invite-names { max-width: 205px; font-size: 27px; line-height: 1.1; }
.landing-layout-colorblock { border-radius: 2px; }
.landing-layout-colorblock::before { inset: 12px; border-style: dashed; }
.landing-layout-blacktie::before { inset: 11px; border-width: 2px; }
.landing-layout-blacktie .invite-rsvp { letter-spacing: .2em; }
.landing-carousel-controls { position: absolute; z-index: 5; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; gap: 8px; pointer-events: auto; }
.landing-carousel-controls > button { width: 27px; height: 27px; padding: 0; display: grid; place-items: center; border: 1px solid #dfcfc1; border-radius: 50%; color: #755547; background: #fffdfa; cursor: pointer; font: 18px/1 var(--font-body); transition: color .18s, background .18s, border-color .18s; }
.landing-carousel-controls > button:hover { color: white; border-color: #a45436; background: #a45436; }
.landing-carousel-dots { display: flex; align-items: center; gap: 3px; }
.landing-carousel-dots button { width: 5px; height: 5px; flex: 0 0 5px; padding: 0; border: 0; border-radius: 99px; background: #ccb9a8; cursor: pointer; transition: width .2s, flex-basis .2s, background .2s; }
.landing-carousel-dots button.is-active { width: 12px; flex-basis: 12px; background: #a45436; }

.landing-templates { padding: 76px max(32px, calc((100% - 1130px) / 2)) 82px; background: #f7f2eb; border-top: 1px solid #eee4da; }
.landing-template-heading { margin-bottom: 28px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.landing-template-heading h2 { margin: 12px 0 7px; color: #392d26; font: 500 clamp(31px, 4vw, 43px)/1.12 var(--font-display); }
.landing-template-heading p { margin: 0; color: #817269; font-size: 12px; }
.landing-template-all { margin-bottom: 5px; display: inline-flex; align-items: center; gap: 13px; color: #8c4a34; font-size: 11px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.landing-template-all:hover { color: #783b2b; }
.landing-template-status { color: #817269; font-size: 12px; }
.landing-template-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.landing-template-card { overflow: hidden; border: 1px solid #e8ddd3; border-radius: 13px; background: #fffdfa; box-shadow: 0 10px 30px rgb(72 49 35 / 4%); transition: transform .2s, box-shadow .2s; }
.landing-template-card:hover { transform: translateY(-4px); box-shadow: 0 16px 35px rgb(72 49 35 / 10%); }
.landing-template-image { position: relative; display: block; overflow: hidden; aspect-ratio: 1.42; background: linear-gradient(140deg,#e8d6c8,#f7eee7 56%,#e9d5c4); }
.landing-template-image::after { position: absolute; inset: 0; background: linear-gradient(180deg,transparent 55%,rgb(42 31 25 / 18%)); content: ""; pointer-events: none; }
.landing-template-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s; }
.landing-template-card:hover .landing-template-image img { transform: scale(1.035); }
.landing-template-image-label { position: absolute; right: 13px; bottom: 12px; z-index: 1; color: white; font-size: 7px; letter-spacing: .16em; text-shadow: 0 1px 5px #3e2e25; }
.landing-template-placeholder { position: absolute; inset: 16px; display: grid; align-content: center; justify-items: center; border: 1px solid rgb(164 84 54 / 35%); color: #a45436; }
.landing-template-placeholder::before { position: absolute; inset: 7px; border: 1px solid rgb(164 84 54 / 22%); content: ""; }
.landing-template-placeholder i { font: italic 46px var(--font-display); }
.landing-template-placeholder span { font-size: 7px; letter-spacing: .22em; }
.landing-sample-image { display: grid; place-items: center; padding: 18px; background: #eee2d7; text-decoration: none; }
.landing-sample-image::after { background: transparent; }
.landing-sample-image .landing-template-image-label { padding: 6px 8px; border-radius: 99px; background: rgb(70 49 39 / 78%); font-size: 6px; }
.landing-sample-image--terracotta { background: radial-gradient(circle at 15% 20%,#d9b49e 0 2px,transparent 3px),radial-gradient(circle at 86% 78%,#cba875 0 2px,transparent 3px),linear-gradient(135deg,#ead4c7,#f6ece4 55%,#d9bfae); }
.landing-sample-image--birthday { background: radial-gradient(circle at 18% 22%,#b8757c 0 3px,transparent 4px),radial-gradient(circle at 82% 22%,#d2a364 0 3px,transparent 4px),linear-gradient(145deg,#f0d5cf,#f9eee4 55%,#d6a49a); }
.landing-sample-image--sage { background: radial-gradient(circle at 18% 20%,#758771 0 2px,transparent 3px),radial-gradient(circle at 82% 75%,#b99b65 0 2px,transparent 3px),linear-gradient(145deg,#dce6d9,#f6f6ed 58%,#c9d5c5); }
.sample-paper { position: relative; width: min(220px,100%); height: 100%; min-height: 190px; padding: 18px 12px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #563f35; background: #fffaf4; border: 1px solid rgb(164 84 54 / 42%); box-shadow: 0 8px 20px rgb(62 43 31 / 13%); text-align: center; }
.sample-paper::before { position: absolute; inset: 6px; border: 1px solid rgb(164 84 54 / 24%); content: ""; pointer-events: none; }
.sample-overline,.sample-detail { position: relative; color: #8d604b; font-size: 6px; font-weight: 700; letter-spacing: .16em; }
.sample-ornament { position: relative; margin: 7px 0 0; color: #b38a55; font-size: 16px; }
.sample-monogram { position: relative; margin-top: 2px; color: #a45436; font: italic 17px var(--font-display); }
.sample-names { position: relative; max-width: 100%; margin-top: 5px; color: #503a30; font: 500 18px/1.2 var(--font-display); }
.sample-rule { position: relative; width: 58px; height: 1px; margin: 10px 0 8px; background: #c6a981; }
.sample-rule i { position: absolute; top: 50%; left: 50%; padding: 0 5px; color: #a45436; background: #fffaf4; font-size: 6px; font-style: normal; transform: translate(-50%,-50%); }
.sample-detail { font-size: 5px; }
.landing-template-info { padding: 17px 18px 15px; }
.landing-template-kind { color: #9b634c; font-size: 8px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.landing-template-info h3 { margin: 7px 0 5px; color: #40332b; font: 600 19px/1.25 var(--font-display); }
.landing-template-info > p { min-height: 38px; margin: 0; color: #817269; font-size: 10px; line-height: 1.65; }
.landing-template-actions { margin-top: 14px; padding-top: 12px; display: flex; justify-content: space-between; align-items: center; border-top: 1px solid #eee4da; }
.landing-template-actions a,.landing-template-actions button { padding: 0; border: 0; color: #8c4a34; background: none; cursor: pointer; font: 700 9px var(--font-body); text-decoration: none; }
.landing-template-actions a:hover,.landing-template-actions button:hover { color: #783b2b; }
.landing-template-actions a span { margin-left: 4px; }

.landing-popular-templates { padding: 76px max(32px, calc((100% - 1130px) / 2)) 72px; background: #fffdfa; border-top: 1px solid #eee4da; }
.landing-gallery-shell { overflow: visible; perspective: 1300px; }
.landing-gallery-track { position: relative; display: block; height: 475px; touch-action: pan-y; transform-style: preserve-3d; }
.landing-gallery-card { position: absolute; top: 0; left: 50%; width: min(282px, 28vw); opacity: 0; pointer-events: none; transform: translate3d(-50%, 16px, -180px) scale(.72); transform-origin: center top; transition: transform .72s cubic-bezier(.2,.72,.2,1), opacity .55s ease, filter .55s ease; filter: blur(2px); }
.landing-gallery-card[data-position="current"] { z-index: 3; opacity: 1; pointer-events: auto; transform: translate3d(-50%, 0, 80px) scale(1); filter: none; }
.landing-gallery-card[data-position="previous"],.landing-gallery-card[data-position="next"] { z-index: 2; opacity: .66; pointer-events: auto; filter: saturate(.78); }
.landing-gallery-card[data-position="previous"] { transform: translate3d(calc(-50% - 245px), 17px, -65px) rotateY(15deg) scale(.84); }
.landing-gallery-card[data-position="next"] { transform: translate3d(calc(-50% + 245px), 17px, -65px) rotateY(-15deg) scale(.84); }
.landing-gallery-card-info { transition: opacity .35s ease, transform .35s ease; }
.landing-gallery-card[data-position="previous"] .landing-gallery-card-info,.landing-gallery-card[data-position="next"] .landing-gallery-card-info { visibility: hidden; opacity: 0; }
.landing-gallery-preview { position: relative; min-height: 350px; padding: 18px; display: grid; place-items: center; overflow: hidden; border: 1px solid #e8ddd3; border-radius: 10px; background: #f3eee7; text-decoration: none; }
.landing-gallery-preview::before { position: absolute; inset: 0; background: radial-gradient(ellipse at 15% 12%, rgb(255 255 255 / 75%), transparent 52%), linear-gradient(145deg, rgb(164 84 54 / 9%), transparent 65%); content: ""; pointer-events: none; }
.landing-gallery-preview .landing-invite-card { width: min(100%, 242px); min-height: 310px; padding: 28px 16px 22px; box-shadow: 0 16px 34px rgb(50 35 26 / 20%), 0 0 0 5px rgb(255 253 249 / 82%); transform: none; transition: transform .35s ease, box-shadow .35s ease; }
.landing-gallery-preview:hover .landing-invite-card { transform: translateY(-3px) scale(1.015); box-shadow: 0 21px 40px rgb(50 35 26 / 24%), 0 0 0 5px rgb(255 253 249 / 82%); }
.landing-gallery-preview .landing-invite-card::before { inset: 7px; }
.landing-gallery-preview .invite-overline,.landing-gallery-preview .invite-place { font-size: 7px; }
.landing-gallery-preview .invite-flourish { margin: 13px 0 4px; font-size: 31px; }
.landing-gallery-preview .invite-script { font-size: 13px; }
.landing-gallery-preview .invite-names { max-width: 210px; margin-top: 8px; font-size: 27px; }
.landing-gallery-preview .invite-rule { width: 75px; margin: 14px 0 11px; }
.landing-gallery-preview .invite-details { max-width: 190px; font-size: 13px; }
.landing-gallery-preview .invite-date { margin-top: 11px; font-size: 9px; }
.landing-gallery-preview .invite-rsvp { margin-top: 15px; font-size: 6px; }
.landing-gallery-zoom { position: absolute; right: 12px; bottom: 12px; width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / 65%); border-radius: 50%; color: #fff; background: rgb(46 38 32 / 60%); opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
.landing-gallery-preview:hover .landing-gallery-zoom,.landing-gallery-preview:focus-visible .landing-gallery-zoom { opacity: 1; transform: translateY(0); }
.landing-gallery-card-info { padding: 14px 2px 0; }
.landing-gallery-card-info > span { color: #9b634c; font-size: 9px; font-weight: 700; letter-spacing: .13em; }
.landing-gallery-card-info h3 { margin: 6px 0 0; color: #40332b; font: 600 19px/1.2 var(--font-display); }
.landing-gallery-card-info p { min-height: 38px; margin: 7px 0 0; color: #817269; font-size: 11px; line-height: 1.5; }
.landing-gallery-controls { margin-top: 23px; display: flex; align-items: center; justify-content: center; gap: 11px; }
.landing-gallery-controls > button { width: 32px; height: 32px; padding: 0; display: grid; place-items: center; border: 1px solid #dfcfc1; border-radius: 50%; color: #755547; background: #fffdfa; cursor: pointer; font: 20px/1 var(--font-body); }
.landing-gallery-controls > button:hover { color: #fff; border-color: #a45436; background: #a45436; }
.landing-gallery-dots { max-width: min(340px, 62vw); display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.landing-gallery-dots button { width: 6px; height: 6px; padding: 0; border: 0; border-radius: 50%; background: #ccb9a8; cursor: pointer; }
.landing-gallery-dots button.is-active { width: 15px; border-radius: 99px; background: #a45436; }
.landing-flexibility { padding: 70px max(32px, calc((100% - 1000px) / 2)) 76px; background: #fffdfa; border-top: 1px solid #eee4da; }
.landing-flexibility .landing-section-heading { margin-bottom: 26px; }
.landing-flexibility-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.landing-flexibility-grid article { min-height: 215px; padding: 25px; border: 1px solid #e8ddd3; border-radius: 12px; background: #fffdfa; }
.flexibility-icon { width: 39px; height: 39px; display: grid; place-items: center; border-radius: 50%; color: #a45436; background: #f7eee8; font-size: 19px; }
.landing-flexibility-grid h3 { margin: 19px 0 7px; color: #45362e; font: 600 20px/1.2 var(--font-display); }
.landing-flexibility-grid p { max-width: 380px; margin: 0; color: #817269; font-size: 12px; line-height: 1.7; }
.landing-flexibility-grid a { margin-top: 15px; display: inline-flex; color: #8c4a34; font-size: 10px; font-weight: 700; text-decoration: none; }
.landing-guest-tools { padding: 76px max(32px, calc((100% - 1130px) / 2)); display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 60px; background: #f7f2eb; border-top: 1px solid #eee4da; }
.landing-guest-tools-copy h2 { margin: 12px 0; color: #392d26; font: 500 clamp(31px, 4vw, 44px)/1.12 var(--font-display); }
.landing-guest-tools-copy > p { max-width: 440px; margin: 0 0 22px; color: #817269; font-size: 13px; line-height: 1.8; }
.landing-guest-tools-grid { display: grid; gap: 10px; }
.landing-guest-tools-grid article { padding: 15px 18px; display: grid; grid-template-columns: 32px 1fr; column-gap: 12px; border: 1px solid #e8ddd3; border-radius: 10px; background: #fffdfa; }
.landing-guest-tools-grid article > span { grid-row: span 2; color: #a45436; font-size: 10px; font-weight: 700; }
.landing-guest-tools-grid h3 { margin: 0; color: #45362e; font: 600 17px/1.2 var(--font-display); }
.landing-guest-tools-grid p { margin: 5px 0 0; color: #817269; font-size: 11px; line-height: 1.6; }
.landing-planning-notes { padding: 72px max(32px, calc((100% - 1030px) / 2)) 76px; background: #f7f2eb; border-top: 1px solid #eee4da; }
.landing-planning-notes .landing-section-heading { margin-bottom: 25px; }
.landing-planning-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
.landing-planning-grid article { min-height: 175px; padding: 20px; border: 1px solid #e8ddd3; border-radius: 11px; background: #fffdfa; }
.landing-planning-grid article > span { color: #a45436; font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.landing-planning-grid h3 { margin: 15px 0 7px; color: #45362e; font: 600 18px/1.25 var(--font-display); }
.landing-planning-grid p { margin: 0; color: #817269; font-size: 11px; line-height: 1.7; }
.landing-faq { padding: 76px max(32px, calc((100% - 830px) / 2)) 82px; background: #fffdfa; border-top: 1px solid #eee4da; }
.landing-faq .landing-section-heading { margin-bottom: 25px; }
.landing-faq-list details { border-bottom: 1px solid #e9ddd3; }
.landing-faq-list summary { padding: 18px 34px 18px 0; position: relative; color: #45362e; cursor: pointer; font: 600 18px/1.35 var(--font-display); list-style: none; }
.landing-faq-list summary::-webkit-details-marker { display: none; }
.landing-faq-list summary::after { position: absolute; right: 5px; top: 15px; color: #a45436; content: "+"; font: 22px var(--font-body); }
.landing-faq-list details[open] summary::after { content: "−"; }
.landing-faq-list details p { max-width: 690px; margin: -3px 30px 18px 0; color: #817269; font-size: 12px; line-height: 1.75; }

.landing-features { padding: 76px max(32px, calc((100% - 1130px) / 2)) 83px; background: #fffdfa; border-top: 1px solid #eee4da; }
.landing-section-heading { max-width: 730px; margin: 0 auto 36px; text-align: center; }
.landing-section-heading .eyebrow,.landing-bottom-cta .eyebrow { color: #914d37; letter-spacing: .16em; }
.landing-section-heading h2 { margin: 14px 0 0; color: #392d26; font: 500 clamp(31px, 4vw, 45px)/1.15 var(--font-display); }
.landing-section-heading > p { margin: 12px auto 0; color: #817269; font-size: 12px; line-height: 1.7; }
.landing-feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.landing-feature { position: relative; min-height: 205px; padding: 25px 25px 24px; border: 1px solid #eee4da; background: #fffdfa; transition: transform .2s, box-shadow .2s, border-color .2s; }
.landing-feature:hover { transform: translateY(-4px); border-color: #ddc7b8; box-shadow: 0 15px 35px rgb(81 55 39 / 7%); }
.feature-number { position: absolute; top: 23px; right: 23px; color: #b09a88; font-size: 9px; letter-spacing: .1em; }
.feature-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #a45436; background: #f7eee8; font: 21px var(--font-display); }
.landing-feature h3 { max-width: 250px; margin: 20px 0 8px; color: #45362e; font: 600 17px/1.3 var(--font-display); }
.landing-feature p { max-width: 300px; margin: 0; color: #817269; font-size: 11px; line-height: 1.7; }
.landing-features .landing-feature { border-radius: 12px; }
.landing-features .feature-number { color: #a45436; }
.landing-event-types { padding: 76px max(32px, calc((100% - 1130px) / 2)) 82px; background: #f7f2eb; border-top: 1px solid #eee4da; }
.landing-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.landing-event-card { overflow: hidden; border: 1px solid #e8ddd3; border-radius: 13px; background: #fffdfa; box-shadow: 0 10px 28px rgb(72 49 35 / 5%); transition: transform .2s, box-shadow .2s; }
.landing-event-card:hover { transform: translateY(-4px); box-shadow: 0 16px 35px rgb(72 49 35 / 11%); }
.landing-event-image { position: relative; overflow: hidden; aspect-ratio: 1.55; background: linear-gradient(140deg, #e7d8c9, #d3b49f); }
.landing-event-image::after { position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgb(37 25 19 / 30%)); content: ""; pointer-events: none; }
.landing-event-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s; }
.landing-event-card:hover .landing-event-image img { transform: scale(1.045); }
.landing-event-number { position: absolute; z-index: 1; right: 13px; bottom: 12px; color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-shadow: 0 1px 5px rgb(0 0 0 / 55%); }
.landing-event-info { min-height: 68px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.landing-event-info h3 { margin: 0; color: #45362e; font: 600 18px/1.2 var(--font-display); }
.landing-event-action { display: inline-flex; align-items: center; gap: 7px; color: #8c4a34; font-size: 10px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.landing-event-action:hover { color: #783b2b; }
.landing-event-action span[aria-hidden="true"] { font-size: 14px; }
.landing-bottom-cta { width: min(1130px, calc(100% - 64px)); margin: 0 auto; padding: 48px 0; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 1px solid #e9ddd3; }
.landing-bottom-cta h2 { max-width: 550px; margin: 10px 0 0; color: #3a2d26; font: 500 clamp(28px, 3.6vw, 42px)/1.1 var(--font-display); }
.landing-contact { width: min(1130px, calc(100% - 64px)); margin: 0 auto; padding: 50px 0; display: flex; align-items: center; justify-content: space-between; gap: 25px; border-bottom: 1px solid #e9ddd3; scroll-margin-top: 90px; }
.landing-contact-copy { max-width: 610px; }
.landing-contact-copy h2 { margin: 10px 0 8px; color: #3a2d26; font: 500 clamp(28px, 3.6vw, 40px)/1.12 var(--font-display); }
.landing-contact-copy p { margin: 0; color: #817269; font-size: 12px; line-height: 1.7; }
.landing-contact-actions { display: grid; justify-items: start; gap: 11px; flex: 0 0 auto; }
.landing-contact-actions .button { min-height: 47px; padding: 0 18px; display: inline-flex; align-items: center; gap: 18px; text-decoration: none; }
.landing-contact-actions .button-whatsapp { color: #fff; background: #237a58; border-color: #237a58; }
.landing-contact-actions .button-whatsapp:hover { background: #1c6549; border-color: #1c6549; }
.landing-contact-phone { color: #765243; font-size: 11px; text-decoration-color: #d5bfb0; text-underline-offset: 3px; }
.landing-contact-web { color: #765243; font-size: 12px; text-underline-offset: 3px; }
.landing-footer { padding: 0 max(32px, calc((100% - 1130px) / 2)); color: #f8eee7; background: #573a31; }
.landing-footer-main { min-height: 185px; display: grid; grid-template-columns: minmax(220px,1.5fr) repeat(3,minmax(125px,1fr)); align-items: center; gap: 28px; }
.landing-footer .brand img { width: 125px; filter: brightness(0) invert(1); opacity: .95; }
.landing-footer-brand p { max-width: 290px; margin: 14px 0 0; color: #ead8ce; font-size: 14px; line-height: 1.65; }
.landing-footer-column { display: grid; align-content: center; justify-items: start; gap: 11px; }
.landing-footer-column strong { margin-bottom: 4px; color: #f2d6af; font-size: 12px; letter-spacing: .06em; }
.landing-footer-column a { color: #f8eee7; font-size: 14px; line-height: 1.4; text-decoration: none; }
.landing-footer-column a:hover { color: #e2b892; }
.landing-footer-connect { align-self: center; }
.landing-footer-connect .landing-footer-email { color: #f8eee7; font-size: 12px; text-decoration: none; overflow-wrap: anywhere; }
.landing-footer-connect .landing-footer-email:hover { color: #e2b892; }
.landing-social-label { margin-top: 3px; color: #f2d6af; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.landing-social-links { display: flex; gap: 9px; }
.landing-social-links a { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgb(255 255 255 / 38%); border-radius: 50%; color: #fff8f2; text-decoration: none; transition: color .18s, background .18s, border-color .18s, transform .18s; }
.landing-social-links svg { width: 18px; height: 18px; fill: currentColor; }
.landing-social-links a:hover { transform: translateY(-2px); border-color: #e2b892; color: #573a31; background: #e2b892; }
.landing-footer-bottom { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid rgb(255 255 255 / 20%); color: #ead8ce; font-size: 12px; letter-spacing: 0; }
.landing-auth { width: min(480px, calc(100% - 36px)); min-height: 0; margin: 50px auto 75px; display: block; border: 1px solid #eadfd6; border-radius: 18px; box-shadow: 0 18px 55px rgb(72 49 35 / 8%); scroll-margin-top: 95px; }
.landing-auth .auth-panel { width: 100%; padding: 34px 38px 30px; }
.landing-auth .auth-panel h2 { color: #392d26; }

@media(max-width:850px) {
  .landing-hero { width: min(720px, calc(100% - 48px)); min-height: auto; padding: 68px 0 70px; grid-template-columns: 1fr 1fr; gap: 8px; }
  .landing-copy h1 { font-size: clamp(43px, 7vw, 60px); }
  .landing-visual { min-height: 410px; transform: scale(.9); }
  .landing-carousel { height: 390px; }
  .landing-float-card { right: -2%; bottom: 23px; }
  .landing-features { padding-inline: 24px; }
  .landing-event-types { padding-inline: 24px; }
  .landing-event-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .landing-gallery-card { width: min(270px, 34vw); }
  .landing-gallery-card[data-position="previous"] { transform: translate3d(calc(-50% - 220px), 17px, -65px) rotateY(14deg) scale(.82); }
  .landing-gallery-card[data-position="next"] { transform: translate3d(calc(-50% + 220px), 17px, -65px) rotateY(-14deg) scale(.82); }
  .landing-guest-tools { grid-template-columns: 1fr 1.2fr; gap: 28px; }
  .landing-flexibility { padding-inline: 24px; }
  .landing-planning-notes { padding-inline: 24px; }
  .landing-feature { padding-inline: 18px; }
  .landing-footer-main { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 20px; }
  .landing-footer-brand { grid-column: 1 / -1; }
}
@media(max-width:620px) {
  .landing-topbar { height: 64px; padding-inline: 16px; }
  .landing-topbar .brand img { width: 125px; }
  .landing-topbar .topbar-right { gap: 10px; }
  .landing-nav-link { display: none; }
  .landing-nav-cta { min-height: 37px; padding-inline: 12px; font-size: 9px; }
  .landing-hero { width: calc(100% - 38px); padding: 52px 0 45px; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .landing-copy { padding: 0; }
  .landing-eyebrow { font-size: 8px; }
  .landing-copy h1 { max-width: 500px; margin: 18px 0 13px; font-size: clamp(45px, 12vw, 61px); }
  .landing-copy > p { max-width: 430px; font-size: 13px; line-height: 1.7; }
  .landing-actions { margin-top: 23px; gap: 16px; }
  .landing-actions .button { min-height: 47px; padding-inline: 15px; gap: 12px; font-size: 10px; }
  .landing-secondary { gap: 7px; font-size: 10px; }
  .landing-play { width: 28px; height: 28px; }
  .landing-note { margin-top: 20px; font-size: 9px; }
  .landing-visual { min-height: 360px; margin: 15px -10px 0; transform: none; }
  .landing-carousel { width: 228px; height: 350px; }
  .landing-carousel-dots button { width: 4px; flex-basis: 4px; }
  .landing-carousel-dots button.is-active { width: 10px; flex-basis: 10px; }
  .landing-visual::before { width: 310px; height: 310px; }
  .landing-visual::after { width: 260px; height: 260px; }
  .landing-orbit { width: 350px; height: 180px; }
  .landing-invite-card { width: 228px; min-height: 316px; padding: 24px 18px 19px; }
  .invite-flourish { margin-top: 10px; font-size: 28px; }
  .invite-names { font-size: 28px; }
  .invite-rule { margin: 13px 0 11px; }
  .invite-rsvp { margin-top: 15px; }
  .landing-float-card { right: 0; bottom: 17px; padding: 9px 12px 9px 9px; }
  .landing-stamp { top: 14px; right: 3%; width: 58px; height: 58px; }
  .landing-stamp span { font-size: 25px; }
  .landing-spark-one { top: 58px; left: 4%; }
  .landing-spark-two { right: 2%; top: 42%; }
  .landing-features { padding: 54px 19px 57px; }
  .landing-event-types { padding: 54px 19px 57px; }
  .landing-event-grid { gap: 11px; }
  .landing-event-info { min-height: 75px; padding: 11px 12px; align-items: flex-start; flex-direction: column; gap: 8px; }
  .landing-event-info h3 { font-size: 17px; }
  .landing-event-image { aspect-ratio: 1.2; }
  .landing-popular-templates { padding: 54px 19px 57px; }
  .landing-flexibility { padding: 54px 19px 57px; }
  .landing-flexibility-grid { grid-template-columns: 1fr; gap: 12px; }
  .landing-gallery-track { height: 420px; }
  .landing-gallery-card { width: 64%; }
  .landing-gallery-card[data-position="previous"] { transform: translate3d(calc(-50% - 36vw), 17px, -65px) rotateY(8deg) scale(.82); }
  .landing-gallery-card[data-position="next"] { transform: translate3d(calc(-50% + 36vw), 17px, -65px) rotateY(-8deg) scale(.82); }
  .landing-gallery-preview { min-height: 300px; padding: 12px; }
  .landing-guest-tools { padding: 54px 19px 57px; grid-template-columns: 1fr; gap: 28px; }
  .landing-planning-notes { padding: 54px 19px 57px; }
  .landing-planning-grid { grid-template-columns: 1fr; gap: 10px; }
  .landing-planning-grid article { min-height: 0; }
  .landing-faq { padding: 54px 19px 57px; }
  .landing-faq-list summary { font-size: 17px; }
  .landing-section-heading { margin-bottom: 25px; }
  .landing-section-heading h2 { font-size: 33px; }
  .landing-feature-grid { grid-template-columns: 1fr; gap: 10px; }
  .landing-feature { min-height: auto; padding: 19px 20px; }
  .landing-feature h3 { margin-top: 15px; }
  .landing-templates { padding: 53px 19px 57px; }
  .landing-template-heading { align-items: flex-start; flex-direction: column; gap: 13px; }
  .landing-template-heading h2 { font-size: 33px; }
  .landing-template-grid { grid-template-columns: 1fr; gap: 13px; }
  .landing-template-image { aspect-ratio: 1.7; }
  .landing-template-info > p { min-height: 0; }
  .landing-bottom-cta { width: calc(100% - 38px); padding: 35px 0; align-items: flex-start; flex-direction: column; }
  .landing-bottom-cta .button { min-height: 46px; }
  .landing-contact { width: calc(100% - 38px); padding: 38px 0; align-items: flex-start; flex-direction: column; gap: 19px; }
  .landing-contact-actions { width: 100%; }
  .landing-footer { padding: 0 20px; }
  .landing-footer-main { padding: 29px 0 24px; grid-template-columns: 1fr 1fr; gap: 28px 16px; }
  .landing-footer-brand { grid-column: 1 / -1; }
  .landing-footer-bottom { min-height: 54px; align-items: flex-start; flex-direction: column; justify-content: center; gap: 4px; }
  .landing-auth { margin: 35px auto 45px; }
  .landing-auth .auth-panel { padding: 29px 22px 24px; }
}
@media(prefers-reduced-motion:reduce) { .landing-feature { transition: none; }.landing-slide { transition-duration: .18s; } }
.landing-event-image { isolation: isolate; }
.landing-event-image img { transition: opacity .32s ease, transform .55s ease; }
@media(prefers-reduced-motion:reduce) { .landing-event-image img { transition: none; } }
