/* Lentera — aqiqah flagship, evening edition. Trusted template stylesheet.
   Amani imagines first light; this one imagines the evening after, when the house
   is full and the lamps are lit. Indigo, brass, and cut paper, with a string of
   lanterns across the top that lights up as the guest reads. */

.uk-lentera{
  --ln-night:#141B2E;
  --ln-night2:#1D2740;
  --ln-brass:#C8973F;
  --ln-brass-dp:#A2762A;
  --ln-glow:#F3E7CE;
  --ln-ink:#F3EFE6;
  --ln-muted:rgba(243,239,230,.7);
  --ln-line:rgba(200,151,63,.36);
  --ln-hairline:rgba(243,239,230,.16);
  --ln-notch:14px;
  --ln-radius:14px;
  --ln-radius-control:999px;
  --ln-ease:cubic-bezier(.22,.7,.28,1);
  --ln-reveal:.85s;
  --ln-rise:16px;
  --ln-col:min(100% - 36px, 560px);
  min-height:100vh;
  overflow:clip;
  background:
    radial-gradient(120% 60% at 50% 0%, rgba(200,151,63,.16), transparent 62%),
    var(--ln-night);
  color:var(--ln-ink);
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:15px;
  line-height:1.8;
}
.uk-lentera *,.uk-lentera *:before,.uk-lentera *:after{box-sizing:border-box}
/* Controls are toggled through the hidden attribute and carry their own display
   rules, so the user-agent rule has to be reinforced here. */
.uk-lentera [hidden]{display:none !important}
.uk-lentera .bdu-icon{display:inline-block;flex:0 0 auto;vertical-align:middle}
.uk-lentera h1,.uk-lentera h2,.uk-lentera h3,.uk-lentera h4{
  font-family:"Playfair Display",Georgia,serif;font-weight:500;line-height:1.2;overflow-wrap:anywhere;
}
.uk-lentera p,.uk-lentera strong,.uk-lentera span,.uk-lentera li,.uk-lentera cite{overflow-wrap:anywhere}
.uk-ln-preline{white-space:pre-line}

/* Palettes ---------------------------------------------------------------- */
.uk-lentera.uk-design-palette-warm{--ln-night:#1B1712;--ln-night2:#2A231A;--ln-brass:#C87A3F;--ln-brass-dp:#A25C29;--ln-glow:#F1DCC0;--ln-line:rgba(200,122,63,.36)}
.uk-lentera.uk-design-palette-romantic{--ln-night:#221626;--ln-night2:#2F1F34;--ln-brass:#C07A96;--ln-brass-dp:#96566F;--ln-glow:#F0DCE4;--ln-line:rgba(192,122,150,.36)}
.uk-lentera.uk-design-palette-sage{--ln-night:#16211B;--ln-night2:#1F2E26;--ln-brass:#8CA37E;--ln-brass-dp:#66805A;--ln-glow:#DCE9D6;--ln-line:rgba(140,163,126,.38)}
.uk-lentera.uk-design-palette-midnight{--ln-night:#0A0E18;--ln-night2:#141B2A;--ln-brass:#B08A44;--ln-brass-dp:#8C6C2E;--ln-glow:#E6DAC2;--ln-line:rgba(176,138,68,.38)}

/* Typography variants ----------------------------------------------------- */
.uk-lentera.uk-design-type-classic h1,
.uk-lentera.uk-design-type-classic h2,
.uk-lentera.uk-design-type-classic h3{letter-spacing:.02em}
.uk-lentera.uk-design-type-editorial h1,
.uk-lentera.uk-design-type-editorial h2,
.uk-lentera.uk-design-type-editorial h3{font-style:italic;letter-spacing:-.01em}
.uk-lentera.uk-design-type-modern h1,
.uk-lentera.uk-design-type-modern h2,
.uk-lentera.uk-design-type-modern h3,
.uk-lentera.uk-design-type-modern h4{font-family:"DM Sans",system-ui,sans-serif;font-weight:600;letter-spacing:-.03em}

/* Surface variants. The shape here is cut paper, so the control changes how deep
   the notches bite rather than how round the corners are. */
.uk-lentera.uk-design-surface-soft{--ln-notch:22px;--ln-radius:22px;--ln-radius-control:999px}
.uk-lentera.uk-design-surface-balanced{--ln-notch:10px;--ln-radius:10px;--ln-radius-control:10px}
.uk-lentera.uk-design-surface-sharp{--ln-notch:0px;--ln-radius:0px;--ln-radius-control:0px}

/* Motion variants --------------------------------------------------------- */
.uk-lentera.uk-design-motion-soft{--ln-reveal:1.05s;--ln-rise:10px}
.uk-lentera.uk-design-motion-cinematic{--ln-reveal:.9s;--ln-rise:34px}
.uk-lentera.uk-design-motion-minimal{--ln-reveal:0s;--ln-rise:0px}

/* Primitives -------------------------------------------------------------- */
.uk-ln-eyebrow{
  margin:0;color:var(--ln-brass-dp);font-size:10px;font-weight:700;line-height:1.7;
  letter-spacing:.28em;text-transform:uppercase;
}
.uk-ln-copy{margin:14px auto 0;max-width:54ch;color:var(--ln-muted);font-size:14px;line-height:1.9}
.uk-ln-lead{margin:14px 0 0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.25rem,5.6vw,1.7rem)}

.uk-ln-medallion{
  display:inline-grid;place-items:center;width:58px;height:58px;
  border:1px solid var(--ln-glow);border-radius:50%;
  color:var(--ln-brass-dp);font-family:"Playfair Display",Georgia,serif;font-size:16px;letter-spacing:.12em;
}
.uk-ln-medallion.is-large{width:82px;height:82px;font-size:20px}

.uk-ln-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:44px;padding:0 20px;cursor:pointer;text-decoration:none;
  border:1px solid var(--ln-line);border-radius:var(--ln-radius-control);
  background:transparent;color:var(--ln-brass-dp);
  font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  transition:background .25s var(--ln-ease),border-color .25s var(--ln-ease),color .25s var(--ln-ease);
}
.uk-ln-button:hover{border-color:var(--ln-brass);background:rgba(138,154,123,.12)}
.uk-ln-button.is-solid{border-color:var(--ln-brass);background:var(--ln-brass);color:var(--ln-night)}
.uk-ln-button.is-solid:hover{background:var(--ln-brass-dp)}
.uk-lentera :is(a,button,summary,input,select,textarea):focus-visible{outline:2px solid var(--ln-brass-dp);outline-offset:3px}

.uk-ln-progress{position:fixed;left:0;top:0;z-index:1100;width:100%;height:2px;pointer-events:none}
.uk-ln-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ln-brass),var(--ln-glow));transition:width .1s linear}

.uk-ln-toast{
  position:fixed;left:50%;bottom:96px;z-index:1250;transform:translate(-50%,10px);
  opacity:0;pointer-events:none;max-width:min(88vw,340px);
  padding:10px 18px;border-radius:var(--ln-radius-control);border:1px solid var(--ln-line);background:var(--ln-night2);color:var(--ln-glow);
  font-size:12px;font-weight:600;text-align:center;
  box-shadow:0 14px 40px rgba(23,27,26,.32);transition:opacity .22s var(--ln-ease),transform .22s var(--ln-ease);
}
.uk-ln-toast.is-show{opacity:1;transform:translate(-50%,0)}

.uk-ln-feedback{
  position:fixed;left:50%;top:64px;z-index:1200;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;width:min(92vw,520px);
  padding:11px 16px;border:1px solid var(--ln-line);border-radius:var(--ln-radius);
  background:var(--ln-night);color:var(--ln-ink);font-size:13px;box-shadow:0 12px 34px rgba(23,27,26,.14);
}

/* Reveal: everything rises a little, the way light arrives. */
.uk-ln-reveal,.uk-ln-reveal-item{
  opacity:0;transform:translate3d(0,var(--ln-rise),0);
  transition:opacity var(--ln-reveal) var(--ln-ease),transform var(--ln-reveal) var(--ln-ease);
}
.uk-ln-reveal.is-visible,.uk-ln-reveal.is-visible .uk-ln-reveal-item,.uk-ln-reveal-item.is-visible{opacity:1;transform:none}
.uk-ln-reveal.is-visible .uk-ln-reveal-item:nth-child(2){transition-delay:.08s}
.uk-ln-reveal.is-visible .uk-ln-reveal-item:nth-child(3){transition-delay:.16s}
.uk-ln-reveal.is-visible .uk-ln-reveal-item:nth-child(4){transition-delay:.24s}

/* Opening gate: an arch cut out of the photograph. */
.uk-ln-gate{
  position:fixed;inset:0;z-index:900;display:flex;flex-direction:column;
  align-items:center;justify-content:flex-end;padding:26px 22px calc(38px + env(safe-area-inset-bottom));
  background:var(--ln-night);text-align:center;
  transition:opacity .55s var(--ln-ease),visibility .55s;
}
.uk-ln-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.uk-ln-gate-media{position:absolute;inset:0;overflow:hidden}
.uk-ln-gate-media img{width:100%;height:100%;object-fit:cover;object-position:var(--ln-focus-mobile-x,50%) var(--ln-focus-mobile-y,38%)}
.uk-ln-gate-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,27,26,.32),rgba(23,27,26,.7) 54%,rgba(23,27,26,.94))}
.uk-ln-gate-body{position:relative;z-index:2;width:min(100%,430px)}
.uk-ln-gate-body h1{margin:14px 0 0;color:var(--ln-ink);font-size:clamp(1.9rem,9vw,2.8rem)}
.uk-ln-gate-body .uk-ln-eyebrow{margin-top:16px;color:var(--ln-glow)}
.uk-ln-gate-body .uk-ln-medallion{border-color:var(--ln-glow);color:var(--ln-glow)}
.uk-ln-gate-date{margin:12px 0 0;color:rgba(251,247,240,.74);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.uk-ln-gate-body .uk-ln-button{margin-top:22px;border-color:var(--ln-glow);color:var(--ln-glow)}
.uk-ln-gate-body .uk-ln-guest strong{color:var(--ln-ink)}

.uk-ln-guest{margin:18px auto 0;max-width:330px;padding:12px 16px;border:1px solid var(--ln-line);border-radius:var(--ln-radius)}
.uk-ln-guest span{display:block;color:var(--ln-muted);font-size:9px;letter-spacing:.24em;text-transform:uppercase}
.uk-ln-guest strong{display:block;margin-top:4px;font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:500;line-height:1.35}

.uk-ln-group-list{display:grid;gap:10px;margin:16px 0 0}
.uk-ln-group-list span{display:grid;gap:2px}
.uk-ln-group-list small{color:var(--ln-muted);font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.uk-ln-group-list strong{font-family:"Playfair Display",Georgia,serif;font-size:16px;font-weight:500}

/* Cover: the photograph sits inside an arch, and the name plate hangs below it. */
.uk-ln-cover{position:relative;min-height:100svh;display:grid;align-content:center;gap:0;padding:74px 0 32px;background:var(--ln-night)}
.uk-ln-cover-media{
  position:relative;width:min(var(--ln-col),clamp(200px,58vw,320px));margin:0 auto;aspect-ratio:1/1;overflow:hidden;
  border:1px solid var(--ln-line);border-radius:50%;
  background:var(--ln-night2);box-shadow:0 0 0 10px rgba(200,151,63,.1),0 24px 60px rgba(0,0,0,.45);
}
.uk-ln-cover-image{width:100%;height:100%;object-fit:cover;object-position:var(--ln-focus-mobile-x,50%) var(--ln-focus-mobile-y,38%)}
/* Cover without a photograph ---------------------------------------------- */
.uk-ln-cover-empty{
  display:grid;place-items:center;width:100%;height:100%;
  background:
    repeating-linear-gradient(90deg,rgba(196,162,101,.1) 0 1px,transparent 1px 26px),
    linear-gradient(165deg,var(--ln-night2),var(--ln-night));
}
.uk-ln-cover-empty-mark{color:var(--ln-brass-dp);font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.5rem,7vw,2.4rem);letter-spacing:.28em}

/* The name plate is the point of the whole page. */
/* The papercut band: notched at both ends the way a cut strip of paper is. */
.uk-ln-papercut{
  position:relative;z-index:2;width:var(--ln-col);margin:18px auto 0;padding:22px 20px 20px;
  border:1px solid var(--ln-line);background:var(--ln-night2);text-align:center;
  clip-path:polygon(0 var(--ln-notch),var(--ln-notch) 0,calc(100% - var(--ln-notch)) 0,100% var(--ln-notch),
    100% calc(100% - var(--ln-notch)),calc(100% - var(--ln-notch)) 100%,var(--ln-notch) 100%,0 calc(100% - var(--ln-notch)));
}
.uk-ln-name-plate{text-align:center}
.uk-ln-name-plate h1{margin:10px 0 0;font-size:clamp(2rem,9vw,2.9rem)}
.uk-ln-name-meaning{margin:12px 0 0;color:var(--ln-muted);font-size:14px;font-style:italic;line-height:1.75}
.uk-ln-cover-date{margin:14px 0 0;color:var(--ln-brass-dp);font-size:12px;letter-spacing:.18em;text-transform:uppercase}

/* Sections: soft arch panels, one thought each. */
.uk-ln-sec{padding:clamp(44px,10vw,72px) 0;background:var(--ln-night)}
.uk-ln-sec:nth-of-type(even){background:var(--ln-night2)}
.uk-ln-wrap{width:var(--ln-col);margin:0 auto;text-align:center}
.uk-ln-head{display:grid;justify-items:center;gap:8px}
.uk-ln-head h2{margin:0;font-size:clamp(1.5rem,6.4vw,2.05rem)}
.uk-ln-rule{width:62px;height:1px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--ln-glow),transparent)}
.uk-ln-bismillah{margin:0 0 14px;color:var(--ln-brass-dp);font-size:clamp(1.05rem,5vw,1.3rem);line-height:2.1}
/* People */
.uk-ln-people{display:grid;gap:22px;margin-top:20px}
.uk-ln-person{min-width:0}
.uk-ln-portrait{
  width:min(62%,210px);margin:0 auto;aspect-ratio:1/1;overflow:hidden;
  border:1px solid var(--ln-glow);border-radius:50%;background:var(--ln-night2);
}
.uk-ln-portrait img{width:100%;height:100%;object-fit:cover}
.uk-ln-portrait.is-empty{display:grid;place-items:center}
.uk-ln-portrait.is-empty span{font-family:"Playfair Display",Georgia,serif;font-size:26px;color:var(--ln-glow)}
.uk-ln-person h3{margin:14px 0 0;font-size:clamp(1.3rem,5.6vw,1.6rem)}
.uk-ln-role{margin:6px 0 0;color:var(--ln-brass-dp);font-size:9px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.uk-ln-fullname{display:block;margin-top:8px;color:var(--ln-muted);font-size:13px}
.uk-ln-parents{margin-top:14px;padding-top:12px;border-top:1px solid var(--ln-hairline)}
.uk-ln-parents span{display:block;color:var(--ln-muted);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.uk-ln-parents p{margin:6px 0 0;font-size:14px;line-height:1.8}
.uk-ln-parents em{color:var(--ln-brass-dp);font-family:"Playfair Display",Georgia,serif;font-style:normal}
.uk-ln-bio{margin-top:12px;color:var(--ln-muted);font-size:13px;line-height:1.85}

/* Events */
.uk-ln-events{display:grid;gap:14px;margin-top:22px}
.uk-ln-event{
  padding:20px 18px;border:1px solid var(--ln-line);
  border-radius:var(--ln-notch) var(--ln-notch) var(--ln-radius) var(--ln-radius);
  background:var(--ln-night);text-align:center;
}
.uk-ln-event h3{margin:0;font-size:18px}
.uk-ln-event-date{margin:0 0 6px;color:var(--ln-brass-dp);font-size:13px;font-weight:700}
.uk-ln-venue{display:block;margin-top:10px;font-size:14px;font-weight:600}
.uk-ln-address{margin:4px 0 0;color:var(--ln-muted);font-size:13px;line-height:1.75}
.uk-ln-scope{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 0 10px}
.uk-ln-scope span{color:var(--ln-muted);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.uk-ln-scope strong{color:var(--ln-brass-dp);font-size:12px}
.uk-ln-map{width:100%;height:180px;margin-top:14px;border:1px solid var(--ln-hairline);border-radius:var(--ln-radius)}
.uk-ln-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px}
.uk-ln-actions .uk-ln-button{min-height:42px;padding:0 16px}

/* Countdown: four soft lozenges that fold to two on a narrow phone. */
.uk-ln-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0 0}
.uk-ln-count>span{
  display:grid;gap:4px;padding:14px 6px;border:1px solid var(--ln-line);
  border-radius:var(--ln-radius);background:var(--ln-night);
}
.uk-ln-count strong{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.4rem,6.4vw,2rem);font-variant-numeric:tabular-nums;color:var(--ln-brass-dp)}
.uk-ln-count small{color:var(--ln-muted);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.uk-ln-count-done{margin:16px 0 0;color:var(--ln-brass-dp);font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:18px}

/* Schedule */
.uk-ln-schedule{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.uk-ln-schedule li{padding:14px 16px;border:1px solid var(--ln-hairline);border-radius:var(--ln-radius);background:var(--ln-night);text-align:left}
.uk-ln-schedule h3{margin:0;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--ln-brass-dp)}
.uk-ln-schedule p{margin:6px 0 0;color:var(--ln-muted);font-size:13px;line-height:1.8}

/* Gallery: arches alternating with squares. */
.uk-ln-gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 14px}
.uk-ln-gallery-tools>span{color:var(--ln-muted);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.uk-ln-gallery-tools>div{display:none;gap:6px}
.uk-design-gallery-filmstrip .uk-ln-gallery-tools>div{display:flex}
.uk-ln-gallery-tools button{
  display:grid;place-items:center;width:44px;height:44px;cursor:pointer;
  border:1px solid var(--ln-line);border-radius:var(--ln-radius-control);background:transparent;color:var(--ln-brass-dp);
}
.uk-ln-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.uk-ln-gallery figure{position:relative;margin:0;overflow:hidden;aspect-ratio:3/4;border:1px solid var(--ln-line);border-radius:var(--ln-radius);background:var(--ln-night2)}
.uk-ln-gallery figure:nth-child(3n+1){border-radius:var(--ln-notch) var(--ln-notch) var(--ln-radius) var(--ln-radius)}
.uk-ln-gallery figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ln-ease)}
.uk-ln-gallery figure:hover img{transform:scale(1.04)}
.uk-ln-gallery figure button{
  position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;
  border:0;border-radius:var(--ln-radius-control);background:rgba(251,247,240,.9);color:var(--ln-ink);
}
.uk-design-gallery-grid .uk-ln-gallery figure{aspect-ratio:1/1;border-radius:var(--ln-radius)}
.uk-design-gallery-editorial .uk-ln-gallery{grid-template-columns:1fr}
.uk-design-gallery-editorial .uk-ln-gallery figure{aspect-ratio:4/5}
.uk-design-gallery-filmstrip .uk-ln-gallery{
  grid-auto-flow:column;grid-auto-columns:minmax(220px,70%);grid-template-columns:none;
  overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:none;
}
.uk-design-gallery-filmstrip .uk-ln-gallery::-webkit-scrollbar{display:none}
.uk-design-gallery-filmstrip .uk-ln-gallery figure{scroll-snap-align:center}

/* Gift, FAQ, contact ------------------------------------------------------ */
.uk-ln-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:20px 0 0}
.uk-ln-tabs button{
  display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;cursor:pointer;
  border:1px solid var(--ln-line);border-radius:var(--ln-radius-control);background:transparent;
  color:var(--ln-muted);font:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.uk-ln-tabs button.is-active{border-color:var(--ln-brass);background:rgba(138,154,123,.16);color:var(--ln-brass-dp)}
.uk-ln-gift-panel{margin-top:8px}
.uk-ln-accounts,.uk-ln-contacts{display:grid;gap:10px;margin-top:16px}
.uk-ln-accounts>article,.uk-ln-contacts>article{padding:16px;border:1px solid var(--ln-hairline);border-radius:var(--ln-radius);background:var(--ln-night);text-align:left}
.uk-ln-accounts span,.uk-ln-contacts span{display:block;color:var(--ln-muted);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.uk-ln-account{display:block;margin-top:4px;font-size:15px;font-weight:600;letter-spacing:.05em}

.uk-ln-faq{margin:22px 0 0;border-top:1px solid var(--ln-hairline);text-align:left}
.uk-ln-faq details{border-bottom:1px solid var(--ln-hairline)}
.uk-ln-faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:56px;padding:14px 0;cursor:pointer;list-style:none;font-size:14px;font-weight:600;
}
.uk-ln-faq summary::-webkit-details-marker{display:none}
.uk-ln-faq summary .bdu-icon{color:var(--ln-brass-dp);transition:transform .3s var(--ln-ease)}
.uk-ln-faq details[open] summary .bdu-icon{transform:rotate(45deg)}
.uk-ln-faq p{margin:0 0 16px;color:var(--ln-muted);font-size:13px;line-height:1.85}

/* Closing: the dua, and nothing after it. */
.uk-ln-closing{padding:clamp(52px,12vw,88px) 0 clamp(44px,10vw,64px);background:var(--ln-night2);color:var(--ln-ink)}
.uk-ln-closing .uk-ln-wrap{text-align:center}
.uk-ln-closing .uk-ln-eyebrow{margin-top:18px;color:var(--ln-glow)}
.uk-ln-closing .uk-ln-medallion{border-color:var(--ln-glow);color:var(--ln-glow)}
.uk-ln-closing h2{margin:12px 0 0;color:var(--ln-ink);font-size:clamp(1.8rem,8vw,2.4rem)}
.uk-ln-closing .uk-ln-copy{margin-inline:auto;color:rgba(251,247,240,.76)}
.uk-ln-dua{margin:20px auto 0;max-width:46ch;color:var(--ln-glow);font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:18px;line-height:1.9}
.uk-ln-hashtags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.uk-ln-hashtags button{
  display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;cursor:pointer;
  border:1px solid rgba(196,162,101,.36);border-radius:var(--ln-radius-control);background:transparent;
  color:var(--ln-glow);font:inherit;font-size:11px;letter-spacing:.05em;
}
.uk-ln-closing-actions{display:grid;gap:8px;margin-top:22px}
.uk-ln-closing-actions .uk-ln-button{border-color:rgba(196,162,101,.4);color:var(--ln-glow)}
.uk-ln-closing-actions .uk-ln-button.is-solid{border-color:var(--ln-glow);background:var(--ln-glow);color:var(--ln-night)}

/* Navigation: a string of lanterns across the top edge. One lantern per section,
   lit as the guest passes it, so progress and place are the same object. Nothing
   floats over the page and nothing has to be opened to see where you are. */
.uk-ln-nav{
  position:fixed;left:0;right:0;top:0;z-index:850;
  padding:10px 12px calc(10px + env(safe-area-inset-top));
  border-bottom:1px solid var(--ln-line);
  background:linear-gradient(180deg,rgba(20,27,46,.97),rgba(20,27,46,.88));
  backdrop-filter:blur(12px);
}
.uk-ln-lantern-string{
  display:flex;align-items:stretch;gap:6px;margin:0 auto;padding:0;list-style:none;
  max-width:560px;overflow-x:auto;scrollbar-width:none;
}
.uk-ln-lantern-string::-webkit-scrollbar{display:none}
.uk-ln-lantern-string>li{flex:1 1 0;min-width:44px}
.uk-ln-nav button{
  display:grid;gap:5px;justify-items:center;width:100%;min-height:44px;padding:4px 2px;cursor:pointer;
  border:0;background:transparent;color:var(--ln-muted);
  font:inherit;font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
}
.uk-ln-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* The lantern itself: a small paper body that fills with light once passed. */
.uk-ln-nav button i{
  display:block;width:100%;height:5px;border-radius:2px;
  background:var(--ln-hairline);transition:background .3s var(--ln-ease),box-shadow .3s var(--ln-ease);
}
.uk-ln-nav button.is-lit i{background:var(--ln-brass)}
.uk-ln-nav button.is-active{color:var(--ln-glow)}
.uk-ln-nav button.is-active i{background:var(--ln-glow);box-shadow:0 0 12px rgba(243,231,206,.6)}

.uk-ln-rail{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:860;display:grid;gap:6px;justify-items:start}
.uk-ln-rail-toggle,.uk-ln-rail-panel button{
  display:grid;place-items:center;width:44px;height:44px;cursor:pointer;
  border:1px solid var(--ln-line);border-radius:var(--ln-radius-control);
  background:rgba(251,247,240,.96);color:var(--ln-brass-dp);box-shadow:0 8px 22px rgba(23,27,26,.16);
}
.uk-ln-rail-panel{display:grid;gap:6px;justify-items:start}
.uk-ln-rail-panel button.is-active{border-color:var(--ln-brass);background:rgba(138,154,123,.18)}

.uk-lentera main{padding-top:calc(62px + env(safe-area-inset-top));padding-bottom:calc(30px + env(safe-area-inset-bottom))}

/* Modals ------------------------------------------------------------------ */
.uk-ln-sheet,.uk-ln-lightbox{
  position:fixed;inset:0;z-index:1200;display:grid;opacity:0;visibility:hidden;
  background:rgba(23,27,26,.76);transition:opacity .28s var(--ln-ease),visibility .28s;
}
.uk-ln-sheet{place-items:end center}
.uk-ln-lightbox{place-items:center}
.uk-ln-sheet.is-open,.uk-ln-lightbox.is-open{opacity:1;visibility:visible}
.uk-ln-sheet-panel{
  width:min(100%,500px);padding:26px 22px calc(26px + env(safe-area-inset-bottom));
  border-radius:var(--ln-notch) var(--ln-notch) 0 0;background:var(--ln-night);text-align:center;
}
.uk-ln-sheet-panel h2{margin:10px 0 0;font-size:1.45rem}
.uk-ln-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 0}
.uk-ln-share-grid button{
  display:flex;align-items:center;gap:9px;min-height:52px;padding:0 14px;cursor:pointer;
  border:1px solid var(--ln-line);border-radius:var(--ln-radius);background:transparent;
  color:var(--ln-ink);font:inherit;font-size:13px;font-weight:600;
}
.uk-ln-lightbox-panel{position:relative;width:min(94vw,860px);max-height:88svh;display:grid;place-items:center}
.uk-ln-lightbox-panel img{max-width:100%;max-height:78svh;object-fit:contain;background:var(--ln-night2)}
.uk-ln-lightbox.is-switching img{opacity:.35;transition:opacity .12s linear}
.uk-ln-lightbox-counter{margin-top:12px;color:var(--ln-glow);font-size:11px;letter-spacing:.2em}
.uk-ln-lightbox button{
  position:absolute;display:grid;place-items:center;width:46px;height:46px;cursor:pointer;
  border:1px solid rgba(196,162,101,.36);border-radius:var(--ln-radius-control);background:rgba(23,27,26,.6);color:var(--ln-glow);
}
.uk-ln-lightbox-close{top:-4px;right:-4px}
.uk-ln-lightbox-prev{left:-4px;top:50%;transform:translateY(-50%)}
.uk-ln-lightbox-next{right:-4px;top:50%;transform:translateY(-50%)}
body.is-lentera-modal-open{overflow:hidden}

/* Engagement skin --------------------------------------------------------- */
.uk-ln-engagement .bdu-public-card{
  max-width:none;margin:0;padding:22px 0 0;border:0;border-top:1px solid var(--ln-hairline);
  border-radius:0;background:transparent;box-shadow:none;color:var(--ln-ink);text-align:left;
}
.uk-ln-engagement .bdu-public-card-head{display:flex;align-items:center;gap:12px}
.uk-ln-engagement .bdu-public-icon{
  display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ln-line);
  border-radius:var(--ln-radius-control);background:transparent;color:var(--ln-brass-dp);
}
.uk-ln-engagement .bdu-public-card-head p{margin:0;color:var(--ln-brass-dp);font-size:9px;font-weight:700;letter-spacing:.24em;text-transform:uppercase}
.uk-ln-engagement .bdu-public-card-head h2{margin:2px 0 0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.35rem,5vw,1.8rem);font-weight:500;color:var(--ln-ink)}
.uk-ln-engagement .bdu-public-card-copy{color:var(--ln-muted);font-size:14px;line-height:1.9}
.uk-ln-engagement .bdu-public-form{display:grid;gap:12px;margin-top:18px}
.uk-ln-engagement .bdu-public-form label{color:var(--ln-ink);font-size:11px;font-weight:700;letter-spacing:.06em}
.uk-ln-engagement .bdu-public-form :is(input,select,textarea){
  border:1px solid var(--ln-line);border-radius:var(--ln-radius);background:var(--ln-night);color:var(--ln-ink);
}
.uk-ln-engagement .bdu-public-form :is(input,select){min-height:46px}
.uk-ln-engagement .bdu-public-form :is(input,select,textarea):focus{border-color:var(--ln-brass);box-shadow:0 0 0 3px rgba(138,154,123,.18)}
.uk-ln-engagement .bdu-public-form small{color:var(--ln-muted)}
.uk-ln-engagement .bdu-public-choice-group span{
  min-height:44px;border:1px solid var(--ln-line);border-radius:var(--ln-radius-control);background:var(--ln-night);color:var(--ln-muted);
}
.uk-ln-engagement .bdu-public-choice-group input:checked+span{border-color:var(--ln-brass);background:rgba(138,154,123,.16);color:var(--ln-brass-dp)}
.uk-ln-engagement .bdu-public-primary{
  min-height:46px;border:1px solid var(--ln-brass);border-radius:var(--ln-radius-control);background:var(--ln-brass);color:var(--ln-night);
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.uk-ln-engagement .bdu-public-primary:hover{background:var(--ln-brass-dp)}
.uk-ln-engagement :is(.bdu-public-known-guest,.bdu-public-notice,.bdu-public-wish,.bdu-public-rsvp-saved){
  border:1px solid var(--ln-line);border-radius:var(--ln-radius);background:var(--ln-night2)
}
.uk-ln-engagement .bdu-public-wishes-list>h3{margin:0 0 8px;color:var(--ln-brass-dp);font-family:inherit;font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.uk-ln-engagement .bdu-public-wish p{color:var(--ln-ink)}
.uk-ln-engagement .bdu-public-wish footer{color:var(--ln-muted)}
.uk-ln-engagement .bdu-public-pin{color:var(--ln-glow)}

/* The platform-level personalized chip, matched to the ivory canvas. */
.bdu-public-theme-lentera .bdu-guest-personalized{
  border-color:rgba(200,151,63,.55);background:#1D2740;color:#F3EFE6;box-shadow:0 8px 24px rgba(0,0,0,.4);
}
.bdu-public-theme-lentera .bdu-guest-personalized strong{color:#F3E7CE}

/* Desktop ----------------------------------------------------------------- */
@media(min-width:768px){
  .uk-lentera{font-size:16px;--ln-col:min(100% - 72px, 720px)}
  .uk-ln-gate-media img{object-position:var(--ln-focus-desktop-x,50%) var(--ln-focus-desktop-y,42%)}
  .uk-ln-cover-image{object-position:var(--ln-focus-desktop-x,50%) var(--ln-focus-desktop-y,42%)}
  .uk-ln-cover{padding:96px 0 56px}
  .uk-ln-cover-media{width:min(100% - 72px,420px);aspect-ratio:1/1}
  .uk-ln-name-plate{width:min(100% - 72px,560px);padding:30px 30px 28px}  .uk-ln-people{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:30px}
  /* A workspace can hold one entry or five. An odd last entry would sit in the
     first column with an empty one beside it, so it takes the whole row and
     centres itself — which also covers the case of a single entry. */
  .uk-ln-people>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,360px)}
  .uk-ln-events{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uk-ln-events>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,420px)}
  .uk-ln-accounts,.uk-ln-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uk-ln-accounts>*:last-child:nth-child(odd),
  .uk-ln-contacts>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,420px)}
  .uk-ln-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .uk-design-gallery-grid .uk-ln-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .uk-design-gallery-filmstrip .uk-ln-gallery{grid-auto-columns:minmax(260px,32%)}
  .uk-ln-closing-actions{grid-auto-flow:column;justify-content:center}
  .uk-ln-lantern-string{max-width:720px}
  .uk-ln-nav button{font-size:10px}
  .uk-ln-rail{left:clamp(14px,2vw,28px);bottom:clamp(16px,2.6vh,30px)}
  .uk-ln-feedback{top:20px}
  .uk-ln-toast{left:auto;right:28px;bottom:28px;transform:translate(0,10px)}
  .uk-ln-toast.is-show{transform:translate(0,0)}
  .uk-ln-sheet{place-items:center}
  .uk-ln-sheet-panel{border-radius:var(--ln-radius)}
  .uk-ln-lightbox-close{top:-52px;right:0}
  .uk-ln-lightbox-prev{left:-62px}
  .uk-ln-lightbox-next{right:-62px}
}

/* Narrow phones and short viewports --------------------------------------- */
@media(max-width:760px){
  .uk-ln-share-grid{grid-template-columns:1fr}
}
@media(max-width:430px){
  /* Four lozenges leave too little room for a number and a word side by side. */
  .uk-ln-count{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:400px){
  .uk-ln-gallery{grid-template-columns:1fr}
  .uk-ln-name-plate{padding:22px 18px 20px}
}
@media(max-height:620px){
  .uk-ln-gate{justify-content:center;padding-top:18px}
  .uk-ln-gate-body h1{font-size:clamp(1.6rem,8vw,2.2rem)}
  .uk-ln-medallion{width:46px;height:46px;font-size:13px}
  .uk-ln-guest{margin-top:12px;padding:9px 14px}
  .uk-ln-gate-body .uk-ln-button{margin-top:14px}
  .uk-ln-cover{min-height:100svh;padding:64px 0 30px}
  .uk-ln-cover-media{aspect-ratio:1/1}
}

/* Reduced motion ---------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  .uk-lentera *{scroll-behavior:auto!important;animation:none!important;transition-duration:.001ms!important}
  .uk-ln-reveal,.uk-ln-reveal-item{opacity:1;transform:none}
  .uk-ln-gallery figure img{transform:none!important}
}
