/* Amore — warm Mediterranean rustic romance flagship. Trusted template stylesheet. */

.uk-amore{
  --am-sand:#F5EDE0;
  --am-linen:#EFE4D4;
  --am-clay:#B85C38;
  --am-clay-dp:#8F4529;
  --am-clay-pale:#E9CDBF;
  --am-olive:#6B7B45;
  --am-olive-dp:#4E5B32;
  --am-ink:#3E2B22;
  --am-muted:rgba(62,43,34,.68);
  --am-line:rgba(184,92,56,.26);
  --am-hairline:rgba(62,43,34,.14);
  --am-radius:14px;
  --am-radius-control:999px;
  --am-arch:999px 999px 6px 6px / 78% 78% 6px 6px;
  /* A tall hero box needs a shallower dome, or the arch swallows the photo. */
  --am-arch-hero:999px 999px 8px 8px / 26% 26% 8px 8px;
  --am-cast:8px;
  --am-ease:cubic-bezier(.25,.8,.25,1);
  --am-reveal:.7s;
  --am-shift:20px;
  --am-col:min(100% - 34px, 500px);
  min-height:100vh;
  overflow:clip;
  background:
    radial-gradient(70vw 50vw at 85% -8%, rgba(242,205,150,.3), transparent 60%),
    radial-gradient(70vw 55vw at 0% 100%, rgba(107,123,69,.14), transparent 62%),
    var(--am-sand);
  color:var(--am-ink);
  font-family:"DM Sans",system-ui,sans-serif;
  font-size:15px;
  line-height:1.8;
}
.uk-amore *,.uk-amore *:before,.uk-amore *: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-amore [hidden]{display:none !important}
.uk-amore .bdu-icon{display:inline-block;flex:0 0 auto;vertical-align:middle}
.uk-amore h1,.uk-amore h2,.uk-amore h3,.uk-amore h4{
  font-family:"Playfair Display",Georgia,serif;font-weight:600;line-height:1.18;overflow-wrap:anywhere;
}
.uk-amore p,.uk-amore strong,.uk-amore span,.uk-amore li,.uk-amore cite{overflow-wrap:anywhere}
.uk-am-preline{white-space:pre-line}

/* Palettes ---------------------------------------------------------------- */
.uk-amore.uk-design-palette-warm{--am-sand:#F7E9D8;--am-linen:#F0DCC4;--am-clay:#C4643A;--am-clay-dp:#97472A;--am-clay-pale:#EDCDB4;--am-olive:#A07C43;--am-olive-dp:#7A5C2E;--am-ink:#453022;--am-muted:rgba(69,48,34,.68);--am-line:rgba(196,100,58,.28);--am-hairline:rgba(69,48,34,.14)}
.uk-amore.uk-design-palette-romantic{--am-sand:#F8ECE8;--am-linen:#F1DCD6;--am-clay:#B4596B;--am-clay-dp:#8C3F51;--am-clay-pale:#EBC9CE;--am-olive:#93748A;--am-olive-dp:#6E5467;--am-ink:#42272C;--am-muted:rgba(66,39,44,.68);--am-line:rgba(180,89,107,.28);--am-hairline:rgba(66,39,44,.14)}
.uk-amore.uk-design-palette-sage{--am-sand:#F1F1E4;--am-linen:#E4E6D2;--am-clay:#7E8C4E;--am-clay-dp:#5B6738;--am-clay-pale:#D5DEBC;--am-olive:#A08A52;--am-olive-dp:#7A683A;--am-ink:#333A26;--am-muted:rgba(51,58,38,.68);--am-line:rgba(126,140,78,.3);--am-hairline:rgba(51,58,38,.14)}
.uk-amore.uk-design-palette-midnight{--am-sand:#241E1A;--am-linen:#2E2721;--am-clay:#D2795A;--am-clay-dp:#B25B3E;--am-clay-pale:#5A3B2E;--am-olive:#93A369;--am-olive-dp:#74824F;--am-ink:#F4E9DB;--am-muted:rgba(244,233,219,.72);--am-line:rgba(210,121,90,.34);--am-hairline:rgba(244,233,219,.16)}

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

/* Surface variants. Sharp squares the arcade and removes the cast shadow,
   which is the largest single change any control here can make. */
.uk-amore.uk-design-surface-soft{--am-radius:24px;--am-cast:10px;--am-arch-hero:999px 999px 14px 14px / 30% 30% 14px 14px}
.uk-amore.uk-design-surface-balanced{--am-radius:8px;--am-cast:4px;--am-arch:40% 40% 6px 6px / 22% 22% 6px 6px;--am-arch-hero:40% 40% 6px 6px / 16% 16% 6px 6px}
.uk-amore.uk-design-surface-sharp{--am-radius:0px;--am-radius-control:0px;--am-cast:0px;--am-arch:0;--am-arch-hero:0}

/* Motion variants --------------------------------------------------------- */
.uk-amore.uk-design-motion-soft{--am-reveal:.95s;--am-shift:10px}
.uk-amore.uk-design-motion-cinematic{--am-reveal:.8s;--am-shift:32px}
.uk-amore.uk-design-motion-minimal{--am-reveal:0s;--am-shift:0px}

/* Primitives -------------------------------------------------------------- */
.uk-am-eyebrow{
  margin:0;color:var(--am-olive-dp);font-size:10px;font-weight:700;line-height:1.6;
  letter-spacing:.3em;text-transform:uppercase;
}
.uk-am-copy{margin:14px auto 0;max-width:46ch;color:var(--am-muted);font-size:14px;line-height:1.9}
.uk-am-lead{margin:14px 0 0;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.3rem,6vw,1.75rem)}

/* The title plate: carved into the sand, lit hard from the upper left. */
.uk-am-title{position:relative;margin:14px 0 0;display:block}
.uk-am-title>span{
  display:inline-block;max-width:100%;padding:12px 26px;
  border:1.5px solid var(--am-clay);border-radius:var(--am-radius);
  background:transparent;color:var(--am-ink);
  box-shadow:var(--am-cast) var(--am-cast) 0 var(--am-clay-pale);
}

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

/* Arcade: five small arches, the template's ornament and section divider. */
.uk-am-arcade{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:6px;height:34px}
.uk-am-arcade i{
  width:22px;height:30px;border:1.5px solid var(--am-clay);border-bottom:0;
  border-radius:999px 999px 0 0;
}
.uk-am-arcade i:nth-child(1),.uk-am-arcade i:nth-child(5){height:20px;opacity:.5}
.uk-am-arcade i:nth-child(2),.uk-am-arcade i:nth-child(4){height:26px;opacity:.75}
.uk-am-arcade i:nth-child(3){height:34px;border-color:var(--am-olive)}
.uk-am-arcade.is-bottom{transform:scaleY(-1);margin-bottom:8px}
.uk-amore.uk-design-surface-sharp .uk-am-arcade i{border-radius:0}

/* Tile band: the boundary between sections, in place of a plain rule. */
.uk-am-sec+.uk-am-sec:before,.uk-am-sec.is-linen:before,.uk-am-sec.is-clay:before{
  content:"";position:absolute;left:0;right:0;top:0;height:10px;
  background:repeating-linear-gradient(90deg,var(--am-clay) 0 10px,transparent 10px 20px);
  opacity:.28;
}

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

.uk-am-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:999px;background:var(--am-ink);color:var(--am-sand);
  font-size:12px;font-weight:600;text-align:center;
  box-shadow:0 14px 40px rgba(62,43,34,.3);transition:opacity .22s var(--am-ease),transform .22s var(--am-ease);
}
.uk-am-toast.is-show{opacity:1;transform:translate(-50%,0)}

.uk-am-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(--am-line);border-radius:var(--am-radius);
  background:var(--am-sand);color:var(--am-ink);font-size:13px;box-shadow:0 12px 34px rgba(62,43,34,.18);
}

/* Reveal ------------------------------------------------------------------ */
.uk-am-reveal,.uk-am-reveal-item{
  opacity:0;transform:translate3d(0,var(--am-shift),0);
  transition:opacity var(--am-reveal) var(--am-ease),transform var(--am-reveal) var(--am-ease);
}
.uk-am-reveal.is-visible,.uk-am-reveal.is-visible .uk-am-reveal-item,.uk-am-reveal-item.is-visible{opacity:1;transform:none}
.uk-am-reveal.is-visible .uk-am-reveal-item:nth-child(2){transition-delay:.08s}
.uk-am-reveal.is-visible .uk-am-reveal-item:nth-child(3){transition-delay:.16s}
.uk-am-reveal.is-visible .uk-am-reveal-item:nth-child(4){transition-delay:.24s}

/* Opening gate ------------------------------------------------------------ */
.uk-am-gate{
  position:fixed;inset:0;z-index:900;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:12px;padding:26px 20px;
  background:var(--am-sand);text-align:center;
  transition:opacity .55s var(--am-ease),visibility .55s;
}
.uk-am-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.uk-am-gate-media{position:absolute;inset:0;overflow:hidden}
.uk-am-gate-media img{width:100%;height:100%;object-fit:cover;object-position:var(--am-focus-mobile-x,50%) var(--am-focus-mobile-y,35%)}
.uk-am-gate-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(245,237,224,.8),rgba(245,237,224,.93) 55%,var(--am-sand))}
.uk-am-gate-body{position:relative;z-index:2;width:min(100%,440px)}
.uk-am-gate-body h1{font-size:clamp(1.9rem,9vw,2.7rem)}
.uk-am-gate-date{margin:16px 0 0;color:var(--am-muted);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.uk-am-gate-body .uk-am-button{margin-top:22px}
.uk-am-arcade{position:relative;z-index:2}

.uk-am-guest{margin:20px auto 0;max-width:320px;padding:12px 16px;border:1.5px solid var(--am-line);border-radius:var(--am-radius);background:rgba(255,255,255,.4)}
.uk-am-guest span{display:block;color:var(--am-muted);font-size:9px;letter-spacing:.22em;text-transform:uppercase}
.uk-am-guest strong{display:block;margin-top:4px;font-family:"Playfair Display",Georgia,serif;font-size:18px;font-weight:600;line-height:1.35}

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

/* Cover: a tall arched window under the arcade. */
/* Hero cover: the window is sized against the viewport, not against a column. */
.uk-am-cover{min-height:100svh;display:grid;align-content:center;padding:clamp(20px,5vw,36px) 0 clamp(36px,9vw,56px);text-align:center}
.uk-am-frame{
  position:relative;width:min(84vw,480px);height:72svh;margin:0 auto;overflow:hidden;
  border-radius:var(--am-arch-hero);border:2px solid var(--am-clay);
  box-shadow:var(--am-cast) var(--am-cast) 0 var(--am-clay-pale);
}
.uk-am-cover-image{width:100%;height:100%;object-fit:cover;object-position:var(--am-focus-mobile-x,50%) var(--am-focus-mobile-y,35%)}
.uk-am-frame-veil{position:absolute;inset:auto 0 0;height:36%;background:linear-gradient(180deg,rgba(62,43,34,0),rgba(62,43,34,.34))}
.uk-am-cover .uk-am-wrap{margin-top:clamp(24px,6vw,38px)}
.uk-am-cover h1{font-size:clamp(1.9rem,9vw,2.7rem)}
.uk-am-cover-date{margin:18px 0 0;color:var(--am-muted);font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.uk-am-monogram{display:block;margin:22px 0 0;color:var(--am-clay);font-family:"Playfair Display",Georgia,serif;font-size:15px;letter-spacing:.3em}

/* Sections ---------------------------------------------------------------- */
.uk-am-sec{position:relative;padding:clamp(48px,11vw,72px) 0;text-align:center}
.uk-am-sec.is-linen{background:var(--am-linen)}
.uk-am-sec.is-clay{background:linear-gradient(160deg,var(--am-clay),var(--am-clay-dp));color:var(--am-sand)}
.uk-am-wrap{width:var(--am-col);margin:0 auto}
.uk-am-wrap>h2{margin:10px 0 0;font-size:clamp(1.65rem,7.5vw,2.25rem)}
.uk-am-bismillah{margin:0 0 18px;color:var(--am-clay-dp);font-size:clamp(1.05rem,5vw,1.35rem);line-height:2}
.uk-am-quote{margin:24px auto 0;max-width:42ch;padding:20px;border-left:3px solid var(--am-olive);background:rgba(255,255,255,.5)}
.uk-am-quote p{margin:0;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:clamp(1rem,4.4vw,1.2rem);line-height:1.7}
.uk-am-quote cite{display:block;margin-top:10px;color:var(--am-muted);font-size:11px;font-style:normal;letter-spacing:.14em;text-transform:uppercase}

/* People ------------------------------------------------------------------ */
.uk-am-group-index{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 0}
.uk-am-group-index button{
  min-height:44px;padding:0 16px;cursor:pointer;border:1.5px solid var(--am-line);
  border-radius:var(--am-radius-control);background:transparent;color:var(--am-muted);font:inherit;font-size:12px;
}
.uk-am-group-index button.is-active{border-color:var(--am-clay);background:rgba(184,92,56,.12);color:var(--am-clay-dp)}
.uk-am-groups{display:grid;gap:36px;margin:28px 0 0}
.uk-am-group>.uk-am-eyebrow{margin-bottom:16px}
.uk-am-people{display:grid;gap:10px}
.uk-am-people>.uk-am-person:nth-child(even){text-align:right}
.uk-am-people>.uk-am-person:nth-child(even) .uk-am-portrait{margin:-34px 0 0 auto}
/* Alternating sides are a rhythm between entries. With a single entry there is
   nothing to alternate with, so it reads as pushed to one side instead. */
.uk-am-people>.uk-am-person:only-child{text-align:center}
.uk-am-people>.uk-am-person:only-child .uk-am-portrait{margin:0 auto}
/* The pull is what staggers the two portraits. Without a matching band of space
   below the entry above it, the pull lands on that entry's last line of text —
   which only shows once somebody writes a bio long enough to reach the edge. */
.uk-am-people>.uk-am-person:nth-child(odd):not(:last-child){padding-bottom:34px}
.uk-am-person{min-width:0}
.uk-am-portrait{
  width:min(64%,210px);margin:0 auto 0 0;aspect-ratio:3/4;overflow:hidden;
  border-radius:var(--am-arch);border:2px solid var(--am-olive);background:var(--am-linen);
  box-shadow:var(--am-cast) var(--am-cast) 0 rgba(107,123,69,.24);
}
.uk-am-portrait img{width:100%;height:100%;object-fit:cover}
.uk-am-portrait.is-empty{display:grid;place-items:center}
.uk-am-portrait.is-empty span{font-family:"Playfair Display",Georgia,serif;font-size:2.4rem;color:var(--am-olive)}
.uk-am-person h3{margin:16px 0 0;font-size:clamp(1.45rem,6.5vw,1.9rem)}
.uk-am-role{margin:6px 0 0;color:var(--am-olive-dp);font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.uk-am-fullname{display:block;margin-top:8px;font-size:13px;font-weight:500;color:var(--am-muted)}
.uk-am-parents{margin-top:20px;padding-top:16px;border-top:1px solid var(--am-hairline)}
.uk-am-parents span{display:block;color:var(--am-muted);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.uk-am-parents p{margin:6px 0 0;font-size:14px;line-height:1.8}
.uk-am-parents em{color:var(--am-clay);font-family:"Playfair Display",Georgia,serif;font-style:normal}
.uk-am-bio{margin-top:12px;color:var(--am-muted);font-size:13px;line-height:1.85}

/* Events ------------------------------------------------------------------ */
/* A colonnade you walk along rather than a column you scroll past: the events
   run sideways, one arch at a time, and reach the screen edges. */
.uk-am-events{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(258px,82%);gap:16px;margin:28px 0 0;
  overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin-inline:calc(50% - 50vw);padding:2px calc(50vw - 50%) 14px;
}
.uk-am-events::-webkit-scrollbar{display:none}
.uk-am-event{
  position:relative;height:100%;scroll-snap-align:center;padding:28px 20px 22px;background:rgba(255,255,255,.58);
  border:1.5px solid var(--am-line);border-radius:var(--am-arch);
  box-shadow:var(--am-cast) var(--am-cast) 0 var(--am-clay-pale);
}
.uk-am-event h3{margin:0;font-size:clamp(1.25rem,5.5vw,1.6rem)}
.uk-am-event-date{margin:10px 0 0;color:var(--am-clay-dp);font-size:13px;font-weight:700;letter-spacing:.04em}
.uk-am-venue{display:block;margin-top:14px;font-size:14px;font-weight:700}
.uk-am-address{margin:6px auto 0;max-width:38ch;color:var(--am-muted);font-size:13px;line-height:1.75}
.uk-am-scope{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:6px;margin:0 0 12px}
.uk-am-scope span{color:var(--am-muted);font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.uk-am-scope strong{color:var(--am-clay-dp);font-size:12px}
.uk-am-map{width:100%;height:180px;margin-top:16px;border:0;border-radius:var(--am-radius);filter:sepia(.18) saturate(.95)}
.uk-am-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.uk-am-actions .uk-am-button{min-height:42px;padding:0 16px}

/* Countdown --------------------------------------------------------------- */
.uk-am-countdown .uk-am-eyebrow{color:rgba(245,237,224,.9)}
.uk-am-count{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0;
  margin-top:22px;padding:18px 10px;
  border:2px solid rgba(245,237,224,.5);border-radius:var(--am-arch-hero);
  box-shadow:var(--am-cast) var(--am-cast) 0 rgba(62,43,34,.22);
}
.uk-am-count>div{display:flex;align-items:baseline;gap:8px;padding:2px 14px;border-left:1px solid rgba(245,237,224,.34)}
.uk-am-count>div:first-child{border-left:0}
.uk-am-count strong{display:block;font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.5rem,7vw,2.1rem);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.uk-am-count small{display:block;color:rgba(245,237,224,.85);font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.uk-am-count-done{margin:18px 0 0;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:18px}

/* Steps (story + schedule) ------------------------------------------------ */
.uk-am-steps{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;text-align:left}
.uk-am-steps li{padding:18px 20px;border:1px solid var(--am-hairline);border-radius:var(--am-radius);background:rgba(255,255,255,.55)}
.uk-am-steps-date{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--am-olive);color:var(--am-sand);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.uk-am-steps h3{margin:10px 0 0;font-size:18px}
.uk-am-steps p{margin:6px 0 0;color:var(--am-muted);font-size:13px;line-height:1.8}

/* Gallery — a tile mosaic, the way a courtyard floor is laid. */
.uk-am-gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 14px}
.uk-am-gallery-tools>span{color:var(--am-muted);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.uk-am-gallery-tools>div{display:flex;gap:6px}
.uk-am-gallery-tools button{
  display:grid;place-items:center;width:44px;height:44px;cursor:pointer;
  border:1.5px solid var(--am-line);border-radius:var(--am-radius-control);background:transparent;color:var(--am-clay-dp);
}
.uk-design-gallery-grid .uk-am-gallery-tools>div,
.uk-design-gallery-editorial .uk-am-gallery-tools>div{display:none}
.uk-am-gallery figure{position:relative;margin:0;overflow:hidden;border:2px solid rgba(255,255,255,.72);background:var(--am-linen)}
.uk-am-gallery figure img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--am-ease)}
.uk-am-gallery figure:hover img{transform:scale(1.05)}
.uk-am-gallery figure button{
  position:absolute;right:6px;bottom:6px;display:grid;place-items:center;width:44px;height:44px;cursor:pointer;
  border:0;border-radius:var(--am-radius-control);background:rgba(245,237,224,.9);color:var(--am-ink);
}
.uk-am-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.uk-am-gallery figure{aspect-ratio:1/1}
.uk-am-gallery figure:nth-child(4n+1){grid-column:span 2;grid-row:span 2}
.uk-design-gallery-grid .uk-am-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.uk-design-gallery-grid .uk-am-gallery figure:nth-child(4n+1){grid-column:auto;grid-row:auto}
.uk-design-gallery-editorial .uk-am-gallery{grid-template-columns:1fr;gap:18px}
.uk-design-gallery-editorial .uk-am-gallery figure{aspect-ratio:4/5}
.uk-design-gallery-editorial .uk-am-gallery figure:nth-child(4n+1){grid-column:auto;grid-row:auto}
.uk-design-gallery-filmstrip .uk-am-gallery{
  grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,70%);gap:10px;
  overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:none;
}
.uk-design-gallery-filmstrip .uk-am-gallery::-webkit-scrollbar{display:none}
.uk-design-gallery-filmstrip .uk-am-gallery figure{aspect-ratio:4/5;scroll-snap-align:center}
.uk-design-gallery-filmstrip .uk-am-gallery figure:nth-child(4n+1){grid-column:auto;grid-row:auto}

/* Gift, contacts, FAQ, livestream ----------------------------------------- */
.uk-am-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:22px 0 0}
.uk-am-tabs button{
  display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 16px;cursor:pointer;
  border:1.5px solid var(--am-line);border-radius:var(--am-radius-control);background:transparent;
  color:var(--am-muted);font:inherit;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.uk-am-tabs button.is-active{border-color:var(--am-clay);background:rgba(184,92,56,.12);color:var(--am-clay-dp)}
.uk-am-gift-panel{margin-top:20px}
.uk-am-accounts,.uk-am-contacts{display:grid;gap:14px}
.uk-am-accounts article,.uk-am-contacts article{padding:20px;border:1px solid var(--am-hairline);border-radius:var(--am-radius);background:rgba(255,255,255,.58);min-width:0}
.uk-am-accounts strong{display:block;margin:8px 0 4px;font-family:"Playfair Display",Georgia,serif;font-size:1.3rem;letter-spacing:.04em}
.uk-am-accounts p,.uk-am-contacts p{margin:4px 0 0;display:flex;align-items:center;justify-content:center;gap:7px;color:var(--am-muted);font-size:13px}
.uk-am-accounts .uk-am-button,.uk-am-contacts .uk-am-button{margin-top:14px}
.uk-am-contacts strong{display:block;margin-top:8px;font-family:"Playfair Display",Georgia,serif;font-size:1.2rem}
.uk-am-address-card{padding:20px;border:1px solid var(--am-hairline);border-radius:var(--am-radius);background:rgba(255,255,255,.58)}
.uk-am-address-card strong{display:block;margin:8px 0 6px;font-family:"Playfair Display",Georgia,serif;font-size:18px}
.uk-am-address-card p{margin:0;color:var(--am-muted);font-size:13px;line-height:1.8}

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

.uk-am-streams{display:grid;gap:10px;margin:24px 0 0;text-align:left}
.uk-am-streams a{
  display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 18px;
  border:1px solid var(--am-hairline);border-radius:var(--am-radius);background:rgba(255,255,255,.58);
  color:inherit;text-decoration:none;
}
.uk-am-streams a>span{display:grid;gap:2px;flex:1;min-width:0}
.uk-am-streams strong{font-size:14px}
.uk-am-streams small{color:var(--am-muted);font-size:12px}

/* Closing ----------------------------------------------------------------- */
.uk-am-closing{position:relative;padding:clamp(52px,12vw,88px) 0 clamp(44px,10vw,64px);background:var(--am-linen);text-align:center}
.uk-am-closing h2{font-size:clamp(1.8rem,8vw,2.5rem)}
.uk-am-signature{margin:22px 0 0;color:var(--am-clay-dp);font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:1.3rem}
.uk-am-hashtags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:20px}
.uk-am-hashtags button{
  display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;cursor:pointer;
  border:1px solid var(--am-line);border-radius:999px;background:transparent;color:var(--am-clay-dp);
  font:inherit;font-size:11px;letter-spacing:.06em;
}
.uk-am-closing-actions{display:grid;gap:8px;margin-top:24px}

/* Navigation and controls ------------------------------------------------- */
/* The colonnade walk. Sections are not tabs to be tapped one at a time; the guest
   drags along the arcade and stops where they want. The list underneath is the same
   walk for anyone using a keyboard or a screen reader, so it stays in the document
   and out of the way rather than being removed. */
.uk-am-nav{
  position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom));z-index:850;
  width:min(360px,calc(100vw - 28px));transform:translateX(-50%);
  padding:10px 14px 12px;border:1px solid var(--am-line);border-radius:18px;
  background:rgba(245,237,224,.96);backdrop-filter:blur(12px);box-shadow:0 10px 26px rgba(92,58,40,.16);
}
.uk-am-walk-head{
  display:flex;align-items:baseline;gap:8px;margin:0 0 8px;
  color:var(--am-clay-dp);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.uk-am-walk-head>span{font-variant-numeric:tabular-nums;opacity:.6}
.uk-am-walk-head>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.uk-am-walk{
  -webkit-appearance:none;appearance:none;display:block;width:100%;height:24px;
  margin:0;padding:0;background:transparent;cursor:pointer;
}
/* The arches the walk passes: one tick per chapter, drawn on the track itself. */
.uk-am-walk::-webkit-slider-runnable-track{
  height:8px;border-radius:999px;background:
    repeating-linear-gradient(90deg,var(--am-line) 0 1px,transparent 1px calc(100% / var(--uk-am-walk-steps)));
  box-shadow:inset 0 0 0 1px var(--am-line);
}
.uk-am-walk::-moz-range-track{
  height:8px;border-radius:999px;background:
    repeating-linear-gradient(90deg,var(--am-line) 0 1px,transparent 1px calc(100% / var(--uk-am-walk-steps)));
  box-shadow:inset 0 0 0 1px var(--am-line);
}
.uk-am-walk::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:22px;height:22px;margin-top:-7px;
  border:1.5px solid var(--am-clay);border-radius:999px;background:var(--am-clay);
  box-shadow:0 2px 8px rgba(92,58,40,.3);
}
.uk-am-walk::-moz-range-thumb{
  width:22px;height:22px;border:1.5px solid var(--am-clay);border-radius:999px;background:var(--am-clay);
  box-shadow:0 2px 8px rgba(92,58,40,.3);
}
.uk-am-walk:focus-visible{outline:2px solid var(--am-clay-dp);outline-offset:4px}
/* Available to a keyboard and a screen reader, out of the way of the eye. */
.uk-am-walk-list{
  position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;list-style:none;
}
.uk-am-walk-list button{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.uk-am-nav button span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.uk-am-walk-list button:focus-visible{
  position:fixed;left:50%;bottom:86px;width:auto;height:auto;margin:0;padding:10px 16px;
  clip-path:none;transform:translateX(-50%);
  /* --am-sand, not --am-cream: no such token is declared anywhere, so this
     background was invalid and the keyboard focus chip came up transparent. */
  border:1px solid var(--am-clay);border-radius:12px;background:var(--am-sand);color:var(--am-clay-dp);
}

.uk-am-rail{position:fixed;right:12px;bottom:calc(66px + env(safe-area-inset-bottom));z-index:860;display:grid;gap:6px;justify-items:end}
/* A fixed control has to read against paper AND against ink, because the
   page scrolls under it. Measured before this ring: 1.05:1 against the
   background at the gallery. The ring is the half that the fill cannot be. */
.uk-am-rail-toggle,.uk-am-rail-panel button{
  display:grid;place-items:center;width:44px;height:44px;cursor:pointer;
  border:1.5px solid var(--am-line);border-radius:999px;
  background:rgba(245,237,224,.96);color:var(--am-clay-dp);box-shadow:0 0 0 2px var(--am-ink),0 8px 22px rgba(62,43,34,.2);
}
.uk-am-rail-panel{display:grid;gap:6px;justify-items:end}
.uk-am-rail-panel button.is-active{border-color:var(--am-clay);background:rgba(184,92,56,.16)}

.uk-amore main{padding-bottom:calc(96px + env(safe-area-inset-bottom))}

/* Modals ------------------------------------------------------------------ */
.uk-am-sheet,.uk-am-lightbox{
  position:fixed;inset:0;z-index:1200;display:grid;opacity:0;visibility:hidden;
  background:rgba(48,32,24,.72);transition:opacity .28s var(--am-ease),visibility .28s;
}
.uk-am-sheet{place-items:end center}
.uk-am-lightbox{place-items:center}
.uk-am-sheet.is-open,.uk-am-lightbox.is-open{opacity:1;visibility:visible}
.uk-am-sheet-panel{
  width:min(100%,520px);padding:26px 22px calc(26px + env(safe-area-inset-bottom));
  border-radius:24px 24px 0 0;background:var(--am-sand);text-align:center;
}
.uk-am-sheet-panel h2{margin:10px 0 0;font-size:1.5rem}
.uk-am-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 0}
.uk-am-share-grid button{
  display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:0 14px;cursor:pointer;
  border:1.5px solid var(--am-line);border-radius:var(--am-radius);background:transparent;
  color:var(--am-ink);font:inherit;font-size:13px;font-weight:600;
}
.uk-am-sheet-close{width:100%;margin-top:12px}
.uk-am-lightbox-panel{position:relative;width:min(94vw,880px);max-height:88svh;display:grid;place-items:center}
.uk-am-lightbox-panel img{max-width:100%;max-height:78svh;object-fit:contain;border-radius:10px;background:var(--am-linen)}
.uk-am-lightbox.is-switching img{opacity:.35;transition:opacity .12s linear}
.uk-am-lightbox-counter{margin-top:12px;color:var(--am-sand);font-size:11px;letter-spacing:.18em}
.uk-am-lightbox button{
  position:absolute;display:grid;place-items:center;width:46px;height:46px;cursor:pointer;
  border:1px solid rgba(245,237,224,.4);border-radius:999px;background:rgba(48,32,24,.6);color:var(--am-sand);
}
.uk-am-lightbox-close{top:-4px;right:-4px}
.uk-am-lightbox-prev{left:-4px;top:50%;transform:translateY(-50%)}
.uk-am-lightbox-next{right:-4px;top:50%;transform:translateY(-50%)}
body.is-amore-modal-open{overflow:hidden}

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

/* The platform-level personalized chip, matched to the sand canvas. */
.bdu-public-theme-amore .bdu-guest-personalized{
  border-color:rgba(184,92,56,.5);background:#F5EDE0;box-shadow:0 8px 24px rgba(62,43,34,.18);
}
.bdu-public-theme-amore .bdu-guest-personalized strong{color:#8F4529}

/* Desktop ----------------------------------------------------------------- */
@media(min-width:768px){
  .uk-amore{font-size:16px;--am-col:min(100% - 60px, 620px)}

  .uk-am-gate-media img{object-position:var(--am-focus-desktop-x,50%) var(--am-focus-desktop-y,40%)}
  .uk-am-cover-image{object-position:var(--am-focus-desktop-x,50%) var(--am-focus-desktop-y,40%)}
  .uk-am-frame{width:min(44vw,460px);height:76svh}

  .uk-am-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-am-people>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,360px)}
  /* 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-am-people>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,360px)}
  .uk-am-people>.uk-am-person:nth-child(even){text-align:center}
  .uk-am-people>.uk-am-person:nth-child(even) .uk-am-portrait{margin:0 auto}
  .uk-am-people>.uk-am-person:nth-child(odd):not(:last-child){padding-bottom:0}
  .uk-am-portrait{margin:0 auto}
  .uk-am-events{
    grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-columns:auto;
    overflow:visible;margin-inline:0;padding:0;scroll-snap-type:none;
  }
  .uk-am-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .uk-design-gallery-grid .uk-am-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}
  .uk-design-gallery-editorial .uk-am-gallery{grid-template-columns:1fr}
  .uk-design-gallery-filmstrip .uk-am-gallery{grid-auto-columns:minmax(260px,32%)}
  .uk-am-accounts,.uk-am-contacts{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* 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-am-accounts>*:last-child:nth-child(odd),.uk-am-contacts>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,420px)}
  .uk-am-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uk-am-closing-actions{grid-auto-flow:column;justify-content:center}

  .uk-am-nav{bottom:clamp(16px,2.6vh,30px);width:min(420px,calc(100vw - 64px))}
  .uk-am-walk-head{font-size:11px}
  .uk-am-rail{right:clamp(12px,2vw,28px);bottom:auto;top:50%;transform:translateY(-50%)}
  .uk-amore main{padding-bottom:calc(104px + env(safe-area-inset-bottom))}
  .uk-am-feedback{top:20px}
  .uk-am-toast{bottom:28px}
  .uk-am-sheet{place-items:center}
  .uk-am-sheet-panel{border-radius:24px}
  .uk-am-lightbox-close{top:-52px;right:0}
  .uk-am-lightbox-prev{left:-62px}
  .uk-am-lightbox-next{right:-62px}
}

/* Narrow phones and short viewports --------------------------------------- */
@media(max-width:760px){
  .uk-am-share-grid{grid-template-columns:1fr}
}
@media(max-width:400px){
  .uk-am-events{grid-auto-columns:minmax(0,88%)}
  .uk-am-count{padding:14px 6px}
  .uk-am-count>div{padding:2px 10px}
  .uk-am-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uk-am-gallery figure:nth-child(4n+1){grid-column:span 2;grid-row:auto;aspect-ratio:16/10}
}
@media(max-height:620px){
  .uk-am-gate{justify-content:flex-start;padding-top:18px}
  .uk-am-gate-body h1{font-size:clamp(1.6rem,8vw,2.2rem)}
  .uk-am-guest{margin-top:12px;padding:9px 14px}
  .uk-am-gate-body .uk-am-button{margin-top:14px}
  .uk-am-arcade{height:22px}
  .uk-am-frame{width:min(52vw,280px);height:50svh}
}
@media(min-width:768px) and (max-height:620px){
  .uk-am-nav{padding-top:8px;padding-bottom:10px}
  .uk-am-walk-head{margin-bottom:6px}
}

/* Cover without a photograph -------------------------------------------- */
.uk-am-cover-empty{
  display:grid;place-items:center;width:100%;height:100%;
  background:
    repeating-linear-gradient(45deg,rgba(184,92,56,.1) 0 14px,transparent 14px 28px),
    linear-gradient(165deg,var(--am-linen),var(--am-sand));
}
.uk-am-cover-empty-mark{
  color:var(--am-clay);font-family:"Playfair Display",Georgia,serif;
  font-size:clamp(1.5rem,7vw,2.4rem);letter-spacing:.28em;
}

/* Reduced motion ---------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  .uk-amore{--am-reveal:0s;--am-shift:0px}
  .uk-am-reveal,.uk-am-reveal-item{opacity:1;transform:none;transition:none}
  .uk-am-gate,.uk-am-sheet,.uk-am-lightbox,.uk-am-gallery figure img,.uk-am-faq summary .bdu-icon,.uk-am-progress i{transition:none}
}
