.lyu-wrap {
  --cream: #f8f3ec;
  --ivory: #fffaf5;
  --paper: #f1e8de;
  --blush: #ead8d0;
  --rose: #9b5b59;
  --wine: #733b40;
  --sage: #8f9b87;
  --olive: #4e5a48;
  --gold: #c9a86a;
  --ink: #2f2927;
  --muted: #6e625d;
  --line: rgba(62, 45, 39, .16);
  --display: "Cormorant Garamond", "Times New Roman", serif;
  --body: "Montserrat", "Arial", sans-serif;
  color: var(--ink);
  background: var(--cream);
  font-family: var(--body);
  font-size: 16px;
  line-height: 1.65;
  overflow: hidden;
  text-rendering: optimizeLegibility;
}

.lyu-wrap *, .lyu-wrap *::before, .lyu-wrap *::after { box-sizing: border-box; }
.lyu-wrap ::selection { color: var(--ivory); background: var(--wine); }
.lyu-wrap a { color: inherit; text-underline-offset: .22em; text-decoration-thickness: 1px; }
.lyu-wrap a:focus-visible, .lyu-wrap summary:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.lyu-wrap img, .lyu-wrap video { display: block; max-width: 100%; }
.lyu-wrap h1, .lyu-wrap h2, .lyu-wrap h3, .lyu-wrap p, .lyu-wrap figure, .lyu-wrap dl { margin-top: 0; }
.lyu-wrap h1, .lyu-wrap h2, .lyu-wrap h3 { color: var(--ink); font-family: var(--display); font-weight: 500; line-height: .98; letter-spacing: -.025em; text-wrap: balance; }
.lyu-wrap h2 { margin-bottom: 24px; font-size: clamp(3.2rem, 6vw, 6rem); }
.lyu-wrap h3 { margin-bottom: 18px; font-size: clamp(2.1rem, 3.4vw, 3.8rem); }
.lyu-wrap p { color: var(--muted); max-width: 70ch; }
.lyu-wrap section { position: relative; }

.lyu-wrap .btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 13px 24px; border: 1px solid transparent; border-radius: 8px; font: 700 .88rem/1.2 var(--body); text-decoration: none; transition: transform .25s cubic-bezier(.22,1,.36,1), background .25s ease, color .25s ease, box-shadow .25s ease; }
.lyu-wrap .btn:hover { transform: translateY(-2px); }
.lyu-wrap .btn-primary { color: #fff !important; background: var(--wine); box-shadow: 0 10px 24px rgba(63, 31, 34, .2); }
.lyu-wrap .btn-primary:hover { background: #5f3035; box-shadow: 0 14px 30px rgba(63,31,34,.26); }
.lyu-wrap .btn-dark { color: #fff !important; background: var(--ink); }
.lyu-wrap .text-link { display: inline-flex; gap: 8px; align-items: center; min-height: 44px; color: var(--wine) !important; font-size: .9rem; font-weight: 700; }
.lyu-wrap .article-cta { width: fit-content; max-width: 100%; min-height: 48px; display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; padding: 12px 16px; border: 1px solid rgba(115,59,64,.24); border-radius: 8px; color: var(--ink); background: rgba(255,250,245,.66); font-size: .82rem; font-weight: 700; line-height: 1.35; text-decoration: none; transition: transform .25s cubic-bezier(.22,1,.36,1), border-color .25s ease, background .25s ease; }
.lyu-wrap .article-cta:hover { transform: translateY(-2px); border-color: var(--wine); background: var(--ivory); }
.lyu-wrap .article-cta span { color: var(--wine); font-size: .65rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.lyu-wrap .article-cta b { color: var(--wine); font-size: 1rem; }
.lyu-wrap .article-cta--section { margin-top: 34px; }
.lyu-wrap .opening-copy .article-cta, .lyu-wrap .guest-photo-story .article-cta { color: #fff8f1; border-color: rgba(255,255,255,.22); background: rgba(255,255,255,.07); }
.lyu-wrap .opening-copy .article-cta:hover, .lyu-wrap .guest-photo-story .article-cta:hover { border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.12); }
.lyu-wrap .opening-copy .article-cta span, .lyu-wrap .opening-copy .article-cta b, .lyu-wrap .guest-photo-story .article-cta span, .lyu-wrap .guest-photo-story .article-cta b { color: #e3c68f; }

.lyu-wrap .lyu-hero { min-height: min(860px, 94vh); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .75fr); align-items: center; isolation: isolate; padding: clamp(80px, 10vw, 150px) max(6vw, calc((100vw - 1280px)/2)) 100px; background: #e9ddd3; }
.lyu-wrap .lyu-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(246,239,232,.76) 0%, rgba(246,239,232,.48) 48%, rgba(246,239,232,.08) 78%); }
.lyu-wrap .lyu-hero-photo-wrap, .lyu-wrap .lyu-hero-photo { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.lyu-wrap .lyu-hero-content { max-width: 690px; padding: clamp(28px, 4vw, 54px); border-radius: 16px; background: rgba(255,250,245,.94); box-shadow: 0 24px 60px rgba(55,40,34,.14); }
.lyu-wrap .lyu-hero-symbol { width: 52px; height: auto; margin-bottom: 28px; }
.lyu-wrap .lyu-hero h1 { max-width: 780px; margin-bottom: 28px; font-size: clamp(4rem, 7.2vw, 6rem); }
.lyu-wrap .lyu-hero-content > p:not(.hero-price-note) { max-width: 630px; margin-bottom: 32px; color: #51443f; font-size: clamp(1.05rem, 1.5vw, 1.28rem); }
.lyu-wrap .hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.lyu-wrap .hero-price-note { margin: 20px 0 0; font-size: .82rem; }
.lyu-wrap .hero-price-note strong { color: var(--ink); }
.lyu-wrap .lyu-hero-phone { position: relative; z-index: 2; justify-self: end; margin-right: 6%; filter: drop-shadow(0 32px 34px rgba(60,40,32,.22)); transform: rotate(2deg); }
.lyu-wrap .phone-shell { position: relative; overflow: hidden; background: #1d1a19; border: 8px solid #262321; border-radius: 34px; }
.lyu-wrap .phone-shell--hero { width: min(25vw, 320px); aspect-ratio: 9/18.7; }
.lyu-wrap .phone-shell video { width: 100%; height: 100%; object-fit: cover; }

.lyu-wrap .value-ribbon { display: flex; justify-content: center; gap: 0; min-height: 66px; padding: 0 4vw; color: #f9f4ee; background: var(--ink); }
.lyu-wrap .value-ribbon span { display: flex; align-items: center; justify-content: center; padding: 16px clamp(15px, 2.5vw, 34px); font-size: .77rem; font-weight: 700; letter-spacing: .02em; white-space: nowrap; }
.lyu-wrap .value-ribbon span + span::before { content: ""; width: 3px; height: 3px; margin-right: clamp(24px, 4vw, 52px); border-radius: 50%; background: var(--gold); }

.lyu-wrap .lyu-section { padding: clamp(100px, 12vw, 170px) max(6vw, calc((100vw - 1240px)/2)); }
.lyu-wrap .section-heading { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .7fr); gap: 8vw; align-items: end; margin-bottom: clamp(60px, 8vw, 100px); }
.lyu-wrap .section-heading h2 { margin-bottom: 0; }
.lyu-wrap .section-heading p { margin-bottom: 8px; font-size: 1.05rem; }
.lyu-wrap .section-heading--wide p { max-width: 62ch; }

.lyu-wrap .lyu-problem { background: var(--ivory); }
.lyu-wrap .before-after { display: grid; grid-template-columns: 1fr 64px 1fr; gap: 30px; align-items: center; }
.lyu-wrap .before-after__item { margin: 0; }
.lyu-wrap .before-after__item img { width: 100%; height: clamp(360px, 38vw, 520px); object-fit: cover; border-radius: 14px; }
.lyu-wrap .before-after__item--before img { filter: saturate(.7) contrast(.9); }
.lyu-wrap .before-after__item--after img { object-fit: contain; object-position: center; background: #201c1b; }
.lyu-wrap .before-after__item figcaption { display: flex; justify-content: space-between; gap: 12px; margin-top: 18px; font-size: .86rem; }
.lyu-wrap .before-after__item figcaption strong { color: var(--wine); }
.lyu-wrap .before-after__item figcaption span { color: var(--muted); text-align: right; }
.lyu-wrap .before-after__turn { color: var(--rose); font: 400 2.3rem var(--display); text-align: center; }

.lyu-wrap .lyu-opening { display: grid; grid-template-columns: .82fr 1.18fr; min-height: 720px; color: #f8eee6; background: #342d2a; }
.lyu-wrap .opening-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(80px, 10vw, 150px) clamp(6vw, 10vw, 150px); }
.lyu-wrap .opening-copy h2 { color: #fff7f0; font-size: clamp(3.4rem, 5.6vw, 5.8rem); }
.lyu-wrap .opening-copy p { color: #d9cbc1; }
.lyu-wrap .quiet-list { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 26px 0 0; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.15); list-style: none; color: #f4e9e0; font-size: .85rem; }
.lyu-wrap .quiet-list li::before { content: "·"; margin-right: 8px; color: var(--gold); }
.lyu-wrap .opening-media { min-height: 640px; overflow: hidden; }
.lyu-wrap .opening-media video { width: 100%; height: 100%; object-fit: cover; }

.lyu-wrap .lyu-studio { background: var(--paper); }
.lyu-wrap .studio-canvas { display: grid; grid-template-columns: .52fr 1.48fr; gap: 28px; }
.lyu-wrap .studio-moods { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.lyu-wrap .mood-swatch { min-height: 190px; display: flex; align-items: end; padding: 18px; border-radius: 12px; color: #fff; font: italic 1.55rem var(--display); box-shadow: 0 12px 26px rgba(61,43,36,.1); }
.lyu-wrap .mood-swatch--romantic { background: #b98282; }
.lyu-wrap .mood-swatch--editorial { color: #262321; background: #d8d0c7; }
.lyu-wrap .mood-swatch--garden { background: #73806b; }
.lyu-wrap .mood-swatch--evening { background: #3b3437; }
.lyu-wrap .studio-editor { min-height: 500px; display: grid; grid-template-columns: .72fr 1fr; overflow: hidden; border-radius: 14px; background: var(--ivory); box-shadow: 0 24px 50px rgba(61,43,36,.13); }
.lyu-wrap .studio-controls { display: flex; flex-direction: column; gap: 9px; justify-content: center; padding: 50px; background: #fff; }
.lyu-wrap .studio-controls span { margin-top: 18px; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; }
.lyu-wrap .studio-controls strong { padding-bottom: 14px; border-bottom: 1px solid var(--line); font-size: .88rem; }
.lyu-wrap .studio-dots { display: flex; gap: 10px; }
.lyu-wrap .studio-dots i { width: 26px; height: 26px; border-radius: 50%; background: var(--wine); }
.lyu-wrap .studio-dots i:nth-child(2) { background: var(--gold); }.lyu-wrap .studio-dots i:nth-child(3) { background: var(--sage); }.lyu-wrap .studio-dots i:nth-child(4) { background: #ddd1c4; }
.lyu-wrap .studio-preview { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #f8eee6; background: #7c4848; text-align: center; }
.lyu-wrap .studio-preview small { letter-spacing: .15em; }
.lyu-wrap .studio-preview strong { margin: 40px 0; font: 500 clamp(3.8rem, 6vw, 6rem)/.7 var(--display); }.lyu-wrap .studio-preview em { color: var(--gold); font-weight: 400; }.lyu-wrap .studio-preview span { font-size: .8rem; letter-spacing: .14em; }
.lyu-wrap .studio-action { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 34px; }.lyu-wrap .studio-action p { margin: 0; }
.lyu-wrap .studio-demo { display: grid; grid-template-columns: minmax(280px,.72fr) minmax(0,1.28fr); gap: clamp(28px,5vw,70px); align-items: center; }
.lyu-wrap .studio-demo__copy { padding: clamp(12px,2vw,30px) 0; }
.lyu-wrap .studio-demo__copy h3 { font-size: clamp(2.8rem,4.4vw,4.8rem); }
.lyu-wrap .studio-demo__copy ul { margin: 30px 0 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.lyu-wrap .studio-demo__copy li { padding: 12px 0; border-bottom: 1px solid var(--line); color: #554943; font-size: .86rem; }
.lyu-wrap .studio-demo__media { width: 100%; max-width: 700px; min-height: 0; aspect-ratio: 1060/720; justify-self: end; overflow: hidden; border-radius: 14px; background: #d8cec4; box-shadow: 0 24px 50px rgba(61,43,36,.13); }
.lyu-wrap .studio-demo__media video { width: 100%; height: 100%; object-fit: contain; }

.lyu-wrap .lyu-trial { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; padding: clamp(100px, 12vw, 160px) max(6vw, calc((100vw - 1180px)/2)); background: var(--ivory); }
.lyu-wrap .trial-copy h2 { font-size: clamp(3.2rem, 5vw, 5.2rem); }
.lyu-wrap .trial-steps { margin: 0; padding: 0; list-style: none; counter-reset: trial; }
.lyu-wrap .trial-steps li { counter-increment: trial; display: grid; grid-template-columns: 40px 170px 1fr; align-items: baseline; gap: 18px; padding: 24px 0; border-bottom: 1px solid var(--line); }
.lyu-wrap .trial-steps li::before { content: counter(trial, decimal-leading-zero); color: var(--rose); font: 500 1.2rem var(--display); }
.lyu-wrap .trial-steps span { color: var(--muted); font-size: .9rem; }
.lyu-wrap .device-note { grid-column: 2; max-width: none !important; margin: -28px 0 0; padding-top: 18px; font-size: .78rem; }
.lyu-wrap .trial-cta { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 34px; padding: clamp(28px,4vw,46px); border-radius: 14px; color: #fff8f1; background: var(--wine); box-shadow: 0 22px 46px rgba(73,36,40,.2); }
.lyu-wrap .trial-cta div { display: grid; gap: 7px; }
.lyu-wrap .trial-cta small { color: #e6c98f; font-size: .68rem; font-weight: 800; letter-spacing: .12em; }
.lyu-wrap .trial-cta strong { color: #fff8f1; font: 500 clamp(2rem,3.6vw,3.6rem)/1 var(--display); }
.lyu-wrap .trial-cta span { color: #ead9d3; font-size: .86rem; }
.lyu-wrap .trial-cta__button { min-width: 230px; color: var(--wine) !important; background: #fff8f1; box-shadow: 0 12px 28px rgba(31,16,18,.22); }
.lyu-wrap .trial-cta__button:hover { background: #f4e3d8; }

.lyu-wrap .lyu-guests { display: grid; grid-template-columns: minmax(280px,360px) minmax(0,1fr); gap: clamp(60px,9vw,140px); align-items: center; min-height: 0; padding: clamp(100px,12vw,160px) max(6vw,calc((100vw - 1180px)/2)); background: #d9d1c8; }
.lyu-wrap .guests-media { width: 100%; max-width: 360px; min-height: 0; aspect-ratio: 9/16; align-self: center; justify-self: center; overflow: hidden; border: 7px solid rgba(255,250,245,.8); border-radius: 28px; background: #cfc5bb; box-shadow: 0 24px 50px rgba(61,43,36,.18); }.lyu-wrap .guests-media video { width: 100%; height: 100%; object-fit: contain; }
.lyu-wrap .guests-copy { padding: 0; }.lyu-wrap .guests-copy h2 { font-size: clamp(3.4rem, 5.6vw, 5.8rem); }
.lyu-wrap .guest-facts { margin-top: 38px; border-top: 1px solid var(--line); }.lyu-wrap .guest-facts div { display: grid; grid-template-columns: 110px 1fr; padding: 16px 0; border-bottom: 1px solid var(--line); }.lyu-wrap .guest-facts dt { color: var(--wine); font-weight: 800; }.lyu-wrap .guest-facts dd { margin: 0; color: var(--muted); }

.lyu-wrap .guest-photo-story { color: #f9f2eb; background: #241f1d; }
.lyu-wrap .guest-photo-story__hero { position: relative; min-height: min(920px, 92vh); margin: 0; overflow: hidden; }
.lyu-wrap .guest-photo-story__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(22,17,15,.96) 0%, rgba(22,17,15,.48) 52%, rgba(22,17,15,.08) 82%); }
.lyu-wrap .guest-photo-story__hero img { width: 100%; height: min(920px, 92vh); object-fit: cover; }
.lyu-wrap .guest-photo-story__hero figcaption { position: absolute; z-index: 1; left: max(6vw, calc((100vw - 1240px)/2)); right: 6vw; bottom: 8vw; }
.lyu-wrap .guest-photo-story__hero h2 { max-width: 1080px; margin-bottom: 20px; color: #fff8f1; font-size: clamp(3.6rem, 6.4vw, 6rem); text-shadow: 0 3px 18px rgba(0,0,0,.45); }
.lyu-wrap .guest-photo-story__hero p { max-width: 670px; margin: 0; color: #e4d8cf; font-size: 1.05rem; }
.lyu-wrap .guest-upload-experience { display: grid; grid-template-columns: .85fr 1.15fr; gap: 7vw; align-items: center; min-height: 900px; padding: clamp(100px, 12vw, 170px) max(6vw, calc((100vw - 1180px)/2)); }
.lyu-wrap .upload-story-copy h3, .lyu-wrap .photo-owner-copy h3 { color: #fff8f1; }
.lyu-wrap .upload-story-copy p, .lyu-wrap .photo-owner-copy p { color: #d0c1b7; }
.lyu-wrap .upload-story-nav { margin: 44px 0 0; padding: 0; list-style: none; counter-reset: upload; }
.lyu-wrap .upload-story-nav li { counter-increment: upload; position: relative; display: grid; grid-template-columns: 42px 1fr; padding: 17px 0 17px 22px; border-left: 1px solid rgba(255,255,255,.18); color: #8f8179; transition: color .35s ease, border-color .35s ease; }
.lyu-wrap .upload-story-nav li::before { content: counter(upload); grid-row: 1/3; color: inherit; font: 500 1.35rem var(--display); }
.lyu-wrap .upload-story-nav li.is-active { border-left-color: var(--gold); color: #fff; }.lyu-wrap .upload-story-nav li strong { font-size: .9rem; }.lyu-wrap .upload-story-nav li span { font-size: .76rem; }
.lyu-wrap .upload-phone-stage { display: flex; justify-content: center; }
.lyu-wrap .phone-shell--upload { width: min(34vw, 390px); height: 720px; border-color: #49413d; box-shadow: 0 38px 80px rgba(0,0,0,.38); }
.lyu-wrap .upload-frame { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; opacity: 0; transform: scale(.985); filter: blur(3px); transition: opacity .65s cubic-bezier(.22,1,.36,1), transform .65s cubic-bezier(.22,1,.36,1), filter .65s ease; }
.lyu-wrap .upload-frame.is-active { opacity: 1; transform: scale(1); filter: blur(0); }
.lyu-wrap .photo-owner-story { padding: 20px max(6vw, calc((100vw - 1240px)/2)) clamp(110px, 14vw, 190px); }
.lyu-wrap .photo-owner-copy { display: grid; grid-template-columns: 1fr .9fr; gap: 8vw; align-items: end; margin-bottom: 70px; }.lyu-wrap .photo-owner-copy p { font-size: 1.03rem; }.lyu-wrap .photo-capacity { grid-column: 1/-1; display: flex; border-top: 1px solid rgba(255,255,255,.15); }.lyu-wrap .photo-capacity span { flex: 1; padding: 24px 18px 0 0; color: #b9aaa0; font-size: .82rem; }.lyu-wrap .photo-capacity strong { color: #fff; font: 500 2.8rem var(--display); font-variant-numeric: tabular-nums; }
.lyu-wrap .owner-proof { display: grid; grid-template-columns: minmax(220px, .34fr) minmax(0, 1fr); gap: 32px; align-items: center; }
.lyu-wrap .owner-proof figure { position: relative; margin: 0; }.lyu-wrap .owner-proof img { width: 100%; height: auto; border-radius: 12px; box-shadow: 0 28px 54px rgba(0,0,0,.3); }
.lyu-wrap .dashboard-target { position: absolute; z-index: 2; left: 80.6%; top: 94.2%; width: 18%; aspect-ratio: 1; border: 3px solid var(--gold); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 0 0 5px rgba(201,168,106,.2); pointer-events: none; }
.lyu-wrap .dashboard-callout { position: absolute; z-index: 3; right: -28px; bottom: 11%; padding: 10px 14px; color: #342b28; background: #f5e4ce; border-radius: 7px; font-size: .76rem; font-weight: 800; box-shadow: 0 12px 24px rgba(0,0,0,.3); }
.lyu-wrap .dashboard-callout::after { content: "↓"; position: absolute; right: 18px; top: calc(100% + 2px); color: var(--gold); font-size: 1.25rem; }
.lyu-wrap .gallery-shot figcaption { margin-top: 15px; color: #c8b8ad; font-size: .78rem; text-align: right; }
.lyu-wrap .photo-window { max-width: none !important; margin: 60px 0 0; padding: 22px 0; border-top: 1px solid rgba(255,255,255,.14); border-bottom: 1px solid rgba(255,255,255,.14); color: #b9aaa0 !important; font-size: .82rem; }.lyu-wrap .photo-window strong { color: #fff; }

.lyu-wrap .lyu-features { background: var(--cream); }
.lyu-wrap .feature-bento { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: minmax(180px,auto); gap: 16px; }
.lyu-wrap .bento-item { position: relative; padding: clamp(28px,4vw,52px); overflow: hidden; border-radius: 14px; background: var(--ivory); }.lyu-wrap .bento-item h3 { font-size: clamp(2rem,3vw,3.3rem); }.lyu-wrap .bento-item p { margin-bottom: 0; }
.lyu-wrap .bento-item--rsvp { grid-column: span 7; grid-row: span 2; color: #fff; background: var(--wine); }.lyu-wrap .bento-item--rsvp h3 { color: #fff8f1; }.lyu-wrap .bento-item--rsvp p { color: #eadbd6; }.lyu-wrap .bento-item--rsvp span { position: absolute; bottom: 42px; left: 52px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.26); font-size: .78rem; }
.lyu-wrap .bento-item--map { grid-column: span 5; background: #d8dfd3; }.lyu-wrap .bento-item--timeline { grid-column: span 5; background: #e8dacd; }.lyu-wrap .bento-item--timeline ol { margin: 26px 0 0; padding: 0; list-style: none; }.lyu-wrap .bento-item--timeline li { padding: 9px 0; border-top: 1px solid var(--line); font-size: .84rem; }
.lyu-wrap .bento-item--qr { grid-column: span 5; color: #fff; background: #3c4640; }.lyu-wrap .bento-item--qr h3 { color: #fff8f1; }.lyu-wrap .bento-item--qr p { color: #d9e0d8; }.lyu-wrap .bento-item--gallery { grid-column: span 7; background: #c9b598; }
.lyu-wrap .qr-mark { position: absolute; right: 35px; bottom: 30px; width: 70px; height: 70px; display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }.lyu-wrap .qr-mark i { border: 5px solid #fff; }.lyu-wrap .qr-mark i:last-child { grid-column: 2; border-width: 3px; }

.lyu-wrap .lyu-compare { padding: clamp(100px,12vw,170px) max(6vw,calc((100vw - 1180px)/2)); background: var(--ivory); }
.lyu-wrap .compare-table { border-top: 1px solid var(--ink); }.lyu-wrap .compare-row { display: grid; grid-template-columns: 1.5fr repeat(3,1fr); border-bottom: 1px solid var(--line); }.lyu-wrap .compare-row > * { min-width: 0; padding: 19px 14px; font-size: .86rem; }.lyu-wrap .compare-row > *:not(:first-child) { text-align: center; }.lyu-wrap .compare-head { color: var(--muted); }.lyu-wrap .compare-head span:last-child, .lyu-wrap .compare-row .yes { color: var(--wine); background: #f1e2dd; font-weight: 800; }

.lyu-wrap .lyu-pricing { padding: clamp(100px,12vw,170px) max(6vw,calc((100vw - 1180px)/2)); background: #d7c8bb; }
.lyu-wrap .price-card { display: grid; grid-template-columns: .9fr 1.1fr; border-radius: 16px; overflow: hidden; background: var(--ivory); box-shadow: 0 28px 60px rgba(61,43,36,.14); }
.lyu-wrap .price-intro { padding: clamp(45px,6vw,80px); color: #fff; background: var(--wine); }.lyu-wrap .price-intro p { color: #e7d7d2; }.lyu-wrap .price-intro h2 { color: #fff8f1; font-size: clamp(3.4rem,5vw,5.2rem); }.lyu-wrap .price { margin-top: 50px; font: 500 clamp(4rem,6vw,6rem)/1 var(--display); font-variant-numeric: tabular-nums; }.lyu-wrap .price small { font: 600 .76rem var(--body); }
.lyu-wrap .price-groups { padding: clamp(40px,5vw,70px); }.lyu-wrap .price-groups > div { padding: 22px 0; border-bottom: 1px solid var(--line); }.lyu-wrap .price-groups h3 { margin-bottom: 8px; font: 700 1rem var(--body); letter-spacing: 0; }.lyu-wrap .price-groups p { margin: 0; font-size: .86rem; }.lyu-wrap .price-action { grid-column: 2; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 0 clamp(40px,5vw,70px) 60px; }.lyu-wrap .price-action .article-cta { margin-top: 0; }.lyu-wrap .price-action p { flex-basis: 100%; margin: 0; font-size: .72rem; }

.lyu-wrap .lyu-faq { background: var(--cream); }.lyu-wrap .faq-list { max-width: 900px; margin-left: auto; }.lyu-wrap .faq-list details { border-top: 1px solid var(--line); }.lyu-wrap .faq-list details:last-child { border-bottom: 1px solid var(--line); }.lyu-wrap .faq-list summary { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; font-weight: 700; }.lyu-wrap .faq-list summary::-webkit-details-marker { display: none; }.lyu-wrap .faq-list summary::after { content: "+"; color: var(--rose); font: 400 1.8rem var(--display); }.lyu-wrap .faq-list details[open] summary::after { content: "−"; }.lyu-wrap .faq-list details p { padding: 0 50px 24px 0; }
.lyu-wrap .lyu-guide { padding: clamp(80px,9vw,120px) max(6vw,calc((100vw - 1180px)/2)); background: var(--paper); }.lyu-wrap .guide-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 42px; }.lyu-wrap .guide-heading h2 { margin: 0; font-size: clamp(2.8rem,4vw,4.4rem); }.lyu-wrap .guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }.lyu-wrap .guide-grid a { min-height: 220px; display: flex; flex-direction: column; justify-content: end; padding: 32px; border-radius: 12px; color: #fff; background: #6f4746; text-decoration: none; transition: transform .25s cubic-bezier(.22,1,.36,1), background .25s ease; }.lyu-wrap .guide-grid a:nth-child(2) { background: #5b6654; }.lyu-wrap .guide-grid a:nth-child(3) { background: #3e3937; }.lyu-wrap .guide-grid a:hover { transform: translateY(-4px); }.lyu-wrap .guide-grid span { margin-bottom: 12px; color: #ead9d3; font-size: .73rem; }.lyu-wrap .guide-grid strong { color: #fff; font: 500 1.8rem/1.05 var(--display); }
.lyu-wrap .lyu-final { display: flex; flex-direction: column; align-items: center; padding: clamp(110px,14vw,190px) 6vw; background: var(--ivory); text-align: center; }.lyu-wrap .lyu-final img { width: 48px; height: auto; margin-bottom: 28px; }.lyu-wrap .lyu-final h2 { font-size: clamp(3.6rem,6vw,6rem); }.lyu-wrap .lyu-final p { margin-bottom: 28px; }
.lyu-wrap .lyu-footer { display: grid; grid-template-columns: 1.2fr 1fr; gap: 30px 8vw; align-items: start; padding: 70px max(6vw,calc((100vw - 1180px)/2)) 120px; color: #f6eee8; background: #272220; }.lyu-wrap .footer-logo img { width: 150px; height: auto; }.lyu-wrap .lyu-footer p { max-width: 520px; color: #bdb0a8; }.lyu-wrap .lyu-footer nav { display: flex; flex-wrap: wrap; justify-content: end; gap: 14px 24px; }.lyu-wrap .lyu-footer a { color: inherit; }.lyu-wrap .lyu-footer small { grid-column: 1/-1; color: #887c76; }
.lyu-wrap .sticky-cta { position: fixed; z-index: 30; right: 22px; bottom: 22px; display: flex; gap: 24px; align-items: center; padding: 13px 14px 13px 22px; border-radius: 12px; color: var(--ink); background: rgba(255,250,245,.94); box-shadow: 0 16px 40px rgba(47,41,39,.2); backdrop-filter: blur(12px); }.lyu-wrap .sticky-cta div { display: flex; flex-direction: column; }.lyu-wrap .sticky-cta small { color: var(--wine); font-size: .62rem; font-weight: 800; }.lyu-wrap .sticky-cta strong { font-size: .78rem; }
.lyu-wrap .sticky-cta.is-photo-view { gap: 0; padding: 10px; }
.lyu-wrap .sticky-cta.is-photo-view div { display: none; }

.lyu-wrap .reveal { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .lyu-wrap { font-size: 16px; }.lyu-wrap h2 { font-size: clamp(3rem,12vw,4.5rem); }
  .lyu-wrap .lyu-hero { min-height: 820px; grid-template-columns: 1fr; align-items: end; padding: 130px 24px 54px; }.lyu-wrap .lyu-hero::after { background: linear-gradient(0deg, rgba(246,239,232,.86) 0%, rgba(246,239,232,.34) 58%, rgba(246,239,232,.04) 88%); }.lyu-wrap .lyu-hero-content { position: relative; z-index: 2; width: 100%; padding: 26px 24px; background: rgba(255,250,245,.95); }.lyu-wrap .lyu-hero h1 { font-size: clamp(3.5rem,15vw,5rem); }.lyu-wrap .lyu-hero-phone { position: absolute; top: -54px; right: -20px; margin: 0; opacity: .9; }.lyu-wrap .phone-shell--hero { width: 150px; }.lyu-wrap .hero-price-note { max-width: 310px !important; }
  .lyu-wrap .value-ribbon { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; }.lyu-wrap .value-ribbon::-webkit-scrollbar { display: none; }.lyu-wrap .value-ribbon span + span::before { margin-right: 24px; }
  .lyu-wrap .lyu-section { padding: 100px 24px; }.lyu-wrap .section-heading { grid-template-columns: 1fr; gap: 22px; margin-bottom: 58px; }
  .lyu-wrap .before-after { grid-template-columns: 1fr; }.lyu-wrap .before-after__turn { transform: rotate(90deg); }.lyu-wrap .before-after__item img { height: 390px; }
  .lyu-wrap .lyu-opening { grid-template-columns: 1fr; }.lyu-wrap .opening-copy { padding: 90px 24px; }.lyu-wrap .opening-media { min-height: 520px; }
  .lyu-wrap .lyu-guests { grid-template-columns: 1fr; gap: 42px; padding: 90px 24px; }.lyu-wrap .guests-copy { padding: 0; }.lyu-wrap .guests-media { min-height: 0; max-width: 340px; margin: 0 auto; aspect-ratio: 9/16; }
  .lyu-wrap .studio-canvas { grid-template-columns: 1fr; }.lyu-wrap .studio-moods { grid-template-columns: repeat(4, minmax(150px,1fr)); overflow-x: auto; padding-bottom: 10px; }.lyu-wrap .mood-swatch { min-width: 150px; }.lyu-wrap .studio-editor { grid-template-columns: 1fr 1.1fr; }.lyu-wrap .studio-controls { padding: 28px; }.lyu-wrap .studio-action { align-items: flex-start; flex-direction: column; }.lyu-wrap .studio-demo { grid-template-columns: 1fr; }.lyu-wrap .studio-demo__copy { padding: 0; }
  .lyu-wrap .lyu-trial { grid-template-columns: 1fr; padding: 100px 24px; }.lyu-wrap .device-note { grid-column: 1; margin-top: 0; }.lyu-wrap .trial-steps li { grid-template-columns: 32px 125px 1fr; }.lyu-wrap .trial-cta { align-items: stretch; flex-direction: column; }.lyu-wrap .trial-cta__button { width: 100%; min-width: 0; }
  .lyu-wrap .guest-photo-story__hero { min-height: 760px; }.lyu-wrap .guest-photo-story__hero img { height: 760px; }.lyu-wrap .guest-photo-story__hero figcaption { left: 24px; right: 24px; bottom: 70px; }
  .lyu-wrap .guest-upload-experience { grid-template-columns: 1fr; padding: 100px 24px; }.lyu-wrap .upload-phone-stage { order: -1; }.lyu-wrap .phone-shell--upload { width: min(82vw,390px); height: 680px; }.lyu-wrap .upload-story-nav { margin-top: 30px; }
  .lyu-wrap .photo-owner-story { padding: 20px 24px 110px; }.lyu-wrap .photo-owner-copy { grid-template-columns: 1fr; gap: 18px; }.lyu-wrap .photo-capacity { margin-top: 22px; }.lyu-wrap .owner-proof { grid-template-columns: .52fr 1fr; gap: 18px; }.lyu-wrap .dashboard-callout { right: -8px; }
  .lyu-wrap .feature-bento { grid-template-columns: 1fr 1fr; }.lyu-wrap .bento-item { grid-column: auto; }.lyu-wrap .bento-item--rsvp, .lyu-wrap .bento-item--gallery { grid-column: 1/-1; }.lyu-wrap .bento-item--rsvp { min-height: 360px; }
  .lyu-wrap .lyu-compare, .lyu-wrap .lyu-pricing { padding: 100px 24px; }.lyu-wrap .compare-table { overflow-x: auto; }.lyu-wrap .compare-row { min-width: 720px; }.lyu-wrap .price-card { grid-template-columns: 1fr; }.lyu-wrap .price-action { grid-column: 1; }
  .lyu-wrap .faq-list { margin-left: 0; }.lyu-wrap .guide-grid { grid-template-columns: 1fr; }.lyu-wrap .guide-grid a { min-height: 170px; }.lyu-wrap .lyu-footer { grid-template-columns: 1fr; padding: 60px 24px 110px; }.lyu-wrap .lyu-footer nav { justify-content: flex-start; }.lyu-wrap .lyu-footer small { grid-column: 1; }
}

@media (max-width: 560px) {
  .lyu-wrap .article-cta { width: 100%; align-items: flex-start; flex-wrap: wrap; }.lyu-wrap .article-cta span { width: 100%; }.lyu-wrap .article-cta b { margin-left: auto; }
  .lyu-wrap .lyu-hero { min-height: 860px; }.lyu-wrap .lyu-hero-phone { top: -62px; right: -16px; }.lyu-wrap .phone-shell--hero { width: 138px; }.lyu-wrap .lyu-hero-content { padding: 24px 20px; }
  .lyu-wrap .hero-actions { align-items: stretch; flex-direction: column; gap: 10px; }.lyu-wrap .hero-actions .text-link { justify-content: center; }.lyu-wrap .btn { width: 100%; }
  .lyu-wrap .before-after__item img { height: 300px; }.lyu-wrap .before-after__item figcaption { flex-direction: column; }.lyu-wrap .before-after__item figcaption span { text-align: left; }
  .lyu-wrap .studio-editor { grid-template-columns: 1fr; }.lyu-wrap .studio-controls { display: none; }.lyu-wrap .studio-preview { min-height: 450px; }.lyu-wrap .studio-demo__media { aspect-ratio: 1060/720; }.lyu-wrap .trial-steps li { grid-template-columns: 32px 1fr; }.lyu-wrap .trial-steps span { grid-column: 2; }
  .lyu-wrap .guest-photo-story__hero h2 { font-size: 3.3rem; }.lyu-wrap .phone-shell--upload { height: 620px; }.lyu-wrap .photo-capacity { display: grid; grid-template-columns: 1fr 1fr; }.lyu-wrap .photo-capacity strong { font-size: 2.2rem; }.lyu-wrap .owner-proof { grid-template-columns: 1fr; }.lyu-wrap .dashboard-shot { width: 70%; margin: 0 auto !important; }.lyu-wrap .dashboard-callout { right: -28px; }.lyu-wrap .gallery-shot { margin-top: 16px !important; }
  .lyu-wrap .feature-bento { grid-template-columns: 1fr; }.lyu-wrap .bento-item, .lyu-wrap .bento-item--rsvp, .lyu-wrap .bento-item--gallery { grid-column: 1; }.lyu-wrap .bento-item--rsvp { min-height: 340px; }.lyu-wrap .bento-item--rsvp span { left: 28px; }
  .lyu-wrap .compare-table { margin-right: -24px; }.lyu-wrap .price-intro, .lyu-wrap .price-groups, .lyu-wrap .price-action { padding-left: 28px; padding-right: 28px; }.lyu-wrap .guide-heading { align-items: flex-start; flex-direction: column; }
  .lyu-wrap .sticky-cta { left: 12px; right: 12px; bottom: 12px; justify-content: space-between; }.lyu-wrap .sticky-cta div { display: none; }.lyu-wrap .sticky-cta .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .lyu-wrap *, .lyu-wrap *::before, .lyu-wrap *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .lyu-wrap .reveal { opacity: 1; transform: none; }.lyu-wrap .upload-frame { display: none; }.lyu-wrap .upload-frame:first-child { display: block; opacity: 1; transform: none; filter: none; }
}
