/* Saujana — Romance Flagship 1.0.0
 * A wedding invitation laid out as a route. The gate is a folded map sheet; the
 * page travels place to place down a dashed route line with waypoint cards that
 * step off it in a four-beat meander; the gallery is justified two-column rows;
 * and the stops of the journey sit along the top edge with the route drawing
 * itself between them.
 *
 * Every surface declares its own paper AND its own ink in the same rule, so a
 * palette can never leave text the colour of what is behind it.
 */

/* Tokens ------------------------------------------------------------------- */
.uk-saujana{
  --sj-paper:#F4EFE4;--sj-ink:#232520;--sj-mist:#67675B;--sj-accent:#2F6B5E;--sj-pin:#A84C26;
  --sj-line:rgba(35,37,32,.16);--sj-card:rgba(255,253,247,.74);
  --sj-radius:10px;--sj-radius-sm:6px;--sj-measure:58ch;--sj-step:0px;--sj-trail-h:52px;
  --sj-lift:18px;
  --sj-display:"Playfair Display",Georgia,Cambria,"Times New Roman",serif;
  --sj-sans:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  position:relative;background:var(--sj-paper);color:var(--sj-ink);
  font-family:var(--sj-sans);font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
[hidden]{display:none !important}
.uk-saujana *,.uk-saujana *::before,.uk-saujana *::after{box-sizing:border-box}
.uk-saujana img{display:block;max-width:100%}
.uk-saujana h1,.uk-saujana h2,.uk-saujana h3,.uk-saujana h4{font-family:var(--sj-display);font-weight:600;line-height:1.16;margin:0}
.uk-saujana p{margin:0}
/* :where() so this stays a DEFAULT. As ".uk-saujana button" it was (0,1,1)
   and outranked every button rule written as a single class, so 6 declared
   button colours in this file never applied and those buttons took the page
   ink instead — including the lightbox controls on their dark scrim. */
.uk-saujana :where(button){font-family:inherit;color:inherit}
#uk-sj-content{padding-top:0}

/* Shared type and ornament ------------------------------------------------- */
.uk-sj-eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--sj-accent)}
.uk-sj-rule{display:block;width:min(100%,80px);height:1px;margin:10px 0;background:var(--sj-line)}
.uk-sj-rule.is-center{margin-left:auto;margin-right:auto}
.uk-sj-copy{max-width:var(--sj-measure);margin-top:14px;color:var(--sj-mist);font-size:15px}
.uk-sj-lead{max-width:var(--sj-measure);margin-top:12px;font-family:var(--sj-display);font-size:20px;color:var(--sj-ink)}
.uk-sj-preline{white-space:pre-line}
.uk-sj-seal{display:grid;place-items:center;width:min(100%,58px);height:58px;margin:18px auto 0;border:1px solid var(--sj-pin);border-radius:50%;font-family:var(--sj-display);font-size:14px;letter-spacing:.16em;color:var(--sj-pin)}
.uk-sj-signature{margin-top:16px;font-family:var(--sj-display);font-size:22px;color:var(--sj-ink)}
.uk-sj-quote{max-width:var(--sj-measure);margin-top:20px;padding:16px 20px;border-left:2px solid var(--sj-accent);background:var(--sj-card);border-radius:0 var(--sj-radius-sm) var(--sj-radius-sm) 0;color:var(--sj-ink);font-family:var(--sj-display);font-size:17px;font-style:italic}
.uk-sj-quote cite{display:block;margin-top:10px;font-family:var(--sj-sans);font-size:12px;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--sj-mist)}
/* The places, strung together the way a route is written out. */
.uk-sj-route-line{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:12px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--sj-mist)}
.uk-sj-route-line span+span::before{content:"—";padding-right:6px;color:var(--sj-pin)}
.uk-sj-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid var(--sj-line);border-radius:999px;background:var(--sj-card);color:var(--sj-ink);font-size:13px;font-weight:600;letter-spacing:.05em;text-decoration:none;cursor:pointer;transition:transform .25s ease,border-color .25s ease}
.uk-sj-button:hover{transform:translateY(-1px);border-color:var(--sj-accent)}
.uk-sj-button.is-solid{border-color:transparent;background:var(--sj-accent);color:#F4EFE4}
.uk-sj-button:focus-visible,.uk-saujana button:focus-visible,.uk-saujana a:focus-visible{outline:2px solid var(--sj-pin);outline-offset:3px}

/* Reveal ------------------------------------------------------------------- */
.uk-sj-reveal{opacity:0;transform:translateY(var(--sj-lift));transition:opacity .7s ease,transform .7s ease}
.uk-sj-reveal.is-visible{opacity:1;transform:none}
.uk-sj-reveal-item{opacity:0;transform:translateY(12px);transition:opacity .58s ease .08s,transform .58s ease .08s}
.uk-sj-reveal.is-visible .uk-sj-reveal-item{opacity:1;transform:none}

/* Gate: a folded map sheet ------------------------------------------------ */
/* The panel that carries the opening button is a row of the card's own grid.
   Nothing is laid over it, because a crease over the button is a gate with no
   way in. */
.uk-sj-gate{--sj-paper:#1B1F1C;--sj-ink:#F1EEE2;--sj-mist:#BCC0B2;--sj-accent:#8FC2AF;--sj-pin:#E09A72;--sj-line:rgba(241,238,226,.2);--sj-card:rgba(255,255,255,.06);
  position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px 16px;background:var(--sj-paper);color:var(--sj-ink);transition:opacity .66s ease,visibility .66s ease}
.uk-sj-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.uk-sj-card{display:grid;grid-template-rows:auto auto;width:min(100%,440px);overflow:hidden;border:1px solid var(--sj-line);border-radius:var(--sj-radius);background:#242823}
.uk-sj-fold{position:relative;height:min(42svh,290px);overflow:hidden;background:#2E332C}
.uk-sj-fold img{width:100%;height:100%;object-fit:cover;object-position:var(--sj-focus-mobile-x,50%) var(--sj-focus-mobile-y,40%)}
.uk-sj-crease{position:absolute;background:rgba(241,238,226,.26);box-shadow:0 0 8px rgba(0,0,0,.35);transition:opacity .8s ease,transform 1.05s cubic-bezier(.22,.78,.2,1)}
.uk-sj-crease.is-v{top:0;bottom:0;left:50%;width:1px}
.uk-sj-crease.is-h{left:0;right:0;top:50%;height:1px}
.uk-sj-fold-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,31,28,.1) 0%,rgba(27,31,28,.06) 55%,rgba(36,40,35,.9) 100%)}
.uk-sj-gate.is-hidden .uk-sj-crease.is-v{transform:scaleY(0);opacity:0}
.uk-sj-gate.is-hidden .uk-sj-crease.is-h{transform:scaleX(0);opacity:0}
.uk-sj-gate-body{padding:22px 22px 26px;text-align:center}
.uk-sj-gate-body h1{margin-top:8px;font-size:clamp(26px,7.4vw,38px)}
.uk-sj-gate-date{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:6px 14px;border:1px solid var(--sj-line);border-radius:999px;font-size:12px;letter-spacing:.08em;color:var(--sj-mist)}
.uk-sj-gate-open{margin-top:18px;padding:13px 24px;border-color:transparent;background:var(--sj-pin);color:#2B1208;font-size:14px}
.uk-sj-couple-list{display:grid;gap:8px;margin-top:14px}
.uk-sj-couple-list span{display:grid;gap:2px}
.uk-sj-couple-list small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--sj-mist)}
.uk-sj-couple-list strong{font-family:var(--sj-display);font-size:18px;font-weight:600}

/* Cover ------------------------------------------------------------------- */
.uk-sj-cover{position:relative;display:grid;align-items:end;min-height:100svh;background:var(--sj-paper);color:var(--sj-ink);overflow:hidden}
.uk-sj-cover-media{position:absolute;inset:0}
.uk-sj-cover-media .uk-sj-cover-image{width:100%;height:100%;object-fit:cover;object-position:var(--sj-focus-mobile-x,50%) var(--sj-focus-mobile-y,40%)}
.uk-sj-cover-empty{position:relative;display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(155deg,#EDE6D6,#D9CEB6 56%,#BFB79C)}
.uk-sj-cover-empty-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(47,107,94,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(47,107,94,.16) 1px,transparent 1px);background-size:38px 38px}
.uk-sj-cover-empty-mark{position:relative;padding:10px 18px;border:1px solid rgba(180,85,47,.6);border-radius:var(--sj-radius-sm);background:rgba(255,253,247,.78);font-family:var(--sj-display);font-size:22px;letter-spacing:.26em;color:#8A3E1F}
.uk-sj-cover-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(27,31,28,.2) 0%,rgba(244,239,228,0) 32%,rgba(244,239,228,.88) 74%,var(--sj-paper) 100%)}
.uk-sj-cover-panel{position:relative;padding:40px 20px 54px;text-align:center}
.uk-sj-cover-panel h1{margin-top:8px;font-size:clamp(29px,8.6vw,52px)}
.uk-sj-cover-date{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:7px 16px;border:1px solid var(--sj-line);border-radius:999px;background:var(--sj-card);font-size:12px;letter-spacing:.08em;color:var(--sj-mist)}

/* The route: a dashed line with waypoint cards stepping off it ------------ */
.uk-sj-sec{position:relative;overflow:hidden;padding:52px 20px;background:var(--sj-paper);color:var(--sj-ink);scroll-margin-top:calc(var(--sj-trail-h) + 12px)}
.uk-sj-wrap{position:relative;display:flow-root;width:min(100%,740px);margin-inline:auto;padding-left:28px}
/* The route is one continuous line, so its reach has to match the section
   padding exactly at every breakpoint — otherwise it breaks at each seam. */
.uk-sj-wrap::before{content:"";position:absolute;left:5px;top:-999px;bottom:-999px;width:0;border-left:2px dashed var(--sj-line)}
/* The route ends halfway down the final stop rather than running off it. */
.uk-sj-sec:last-of-type .uk-sj-wrap::before{bottom:50%}
.uk-sj-waypoint-pin{position:absolute;left:0;top:4px;width:12px;height:12px;border:2px solid var(--sj-pin);border-radius:50% 50% 50% 0;background:var(--sj-paper);transform:rotate(-45deg)}
.uk-sj-wrap-narrow{width:min(100%,600px);margin-inline:auto;text-align:center}
.uk-sj-head{margin-bottom:14px}
/* The four-beat meander: each stop steps a little further off the line and back. */
.uk-sj-sec:nth-of-type(4n+1){--sj-step:0px}
.uk-sj-sec:nth-of-type(4n+2){--sj-step:22px}
.uk-sj-sec:nth-of-type(4n+3){--sj-step:44px}
.uk-sj-sec:nth-of-type(4n+4){--sj-step:22px}
.uk-sj-body{max-width:min(100%,620px);margin-left:var(--sj-step);transition:margin-left .5s ease}
.uk-sj-body h2{font-size:clamp(22px,5.2vw,32px)}
.uk-sj-body h3{font-size:18px}
.uk-sj-body h4{font-size:17px}

/* Legs of the journey (story, agenda) ------------------------------------ */
.uk-sj-legs{position:relative;list-style:none;display:grid;gap:14px;margin:22px 0 0;padding:0}
.uk-sj-leg{position:relative;padding:15px 18px 15px 22px;border:1px solid var(--sj-line);border-radius:var(--sj-radius);background:var(--sj-card)}
.uk-sj-leg-mark{position:absolute;left:8px;top:22px;width:7px;height:7px;border-radius:50%;background:var(--sj-pin)}
.uk-sj-leg-label{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sj-accent)}
.uk-sj-leg h3{margin-top:4px}
.uk-sj-leg p{margin-top:6px;font-size:14px;color:var(--sj-mist)}

/* People ------------------------------------------------------------------ */
.uk-sj-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px;margin-top:22px}
.uk-sj-people>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,400px)}
.uk-sj-person{text-align:center}
.uk-sj-person h4{margin-top:8px;font-size:20px}
.uk-sj-person strong{display:block;margin-top:4px;font-size:13px;font-weight:600;letter-spacing:.05em;color:var(--sj-mist)}
.uk-sj-portrait{width:min(100%,160px);margin:0 auto 12px;overflow:hidden;border:1px solid var(--sj-line);border-radius:var(--sj-radius);background:var(--sj-card)}
.uk-sj-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}
.uk-sj-portrait.is-empty{display:grid;place-items:center;aspect-ratio:4/5}
.uk-sj-portrait.is-empty span{font-family:var(--sj-display);font-size:34px;color:var(--sj-pin)}
.uk-sj-parents{margin-top:10px;font-size:13px;color:var(--sj-mist)}
.uk-sj-parents span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.uk-sj-parents strong{display:inline;color:var(--sj-ink);font-size:13px}
.uk-sj-parents em{font-style:normal;padding:0 5px;color:var(--sj-pin)}
.uk-sj-bio{max-width:var(--sj-measure);margin:10px auto 0;font-size:14px;color:var(--sj-mist)}
.uk-sj-couples{display:grid;gap:26px;margin-top:20px}
.uk-sj-couple{padding-top:18px;border-top:1px solid var(--sj-line)}
.uk-sj-couple header{display:flex;align-items:baseline;gap:12px;text-align:left}
.uk-sj-couple header span{font-family:var(--sj-display);font-size:25px;color:var(--sj-pin)}
.uk-sj-couple-index{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.uk-sj-couple-index button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid var(--sj-line);border-radius:999px;background:transparent;cursor:pointer;transition:border-color .25s ease}
.uk-sj-couple-index button span{font-size:11px;letter-spacing:.1em;color:var(--sj-pin)}
.uk-sj-couple-index button strong{font-size:13px;font-weight:600}
.uk-sj-couple-index button.is-active{border-color:var(--sj-accent);background:var(--sj-card)}

/* Places ------------------------------------------------------------------ */
.uk-sj-places{display:grid;gap:18px;margin-top:22px}
.uk-sj-place{display:grid;grid-template-columns:32px minmax(0,1fr);gap:12px;padding:18px;border:1px solid var(--sj-line);border-radius:var(--sj-radius);background:var(--sj-card)}
.uk-sj-place-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--sj-pin);border-radius:50%;color:var(--sj-pin)}
.uk-sj-place-body h3{margin-top:6px;font-size:21px}
.uk-sj-when{margin-top:8px;font-size:14px;font-weight:600;color:var(--sj-ink)}
.uk-sj-scope{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--sj-mist)}
.uk-sj-scope span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.uk-sj-scope strong{padding:3px 9px;border-radius:999px;background:var(--sj-paper);color:var(--sj-ink);font-size:12px}
.uk-sj-scope.is-shared strong{border:1px dashed var(--sj-line)}
.uk-sj-address{margin-top:4px;font-size:13px;color:var(--sj-mist)}
.uk-sj-map{width:100%;height:190px;margin-top:14px;border:0;border-radius:var(--sj-radius-sm)}
.uk-sj-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

/* Countdown --------------------------------------------------------------- */
.uk-sj-count{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}
.uk-sj-count div{padding:14px 6px;border:1px solid var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card);text-align:center}
.uk-sj-count strong{display:block;font-family:var(--sj-display);font-size:29px;line-height:1}
.uk-sj-count span{display:block;margin-top:5px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--sj-mist)}

/* Gallery: justified two-column rows -------------------------------------- */
.uk-sj-gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--sj-mist)}
.uk-sj-gallery-tools div{display:flex;gap:8px}
.uk-sj-gallery-tools button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--sj-line);border-radius:50%;background:var(--sj-card);cursor:pointer}
.uk-sj-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:9px;gap:10px;margin-top:10px}
.uk-sj-plate{position:relative;margin:0;overflow:hidden;border:1px solid var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card);grid-row:span 22}
.uk-sj-plate:nth-child(4n+2){grid-row:span 28}
.uk-sj-plate:nth-child(4n+3){grid-row:span 27}
.uk-sj-plate:nth-child(4n+4){grid-row:span 21}
.uk-sj-plate img{width:100%;height:100%;object-fit:cover}
.uk-sj-plate button{position:absolute;right:8px;bottom:8px;display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:50%;background:rgba(27,31,28,.72);color:#F4EFE4;cursor:pointer}

/* Streams, gift, questions, contacts ------------------------------------- */
.uk-sj-streams{display:grid;gap:10px;margin-top:18px}
.uk-sj-streams a{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card);color:var(--sj-ink);text-decoration:none}
.uk-sj-streams a span{display:grid;flex:1}
.uk-sj-streams a strong{font-size:14px}
.uk-sj-streams a small{font-size:12px;color:var(--sj-mist)}
.uk-sj-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.uk-sj-tabs button{display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border:1px solid var(--sj-line);border-radius:999px;background:transparent;font-size:12px;font-weight:600;cursor:pointer}
.uk-sj-tabs button.is-active{border-color:var(--sj-accent);background:var(--sj-card)}
.uk-sj-gift-panel{margin-top:16px}
.uk-sj-accounts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.uk-sj-accounts>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,400px)}
.uk-sj-accounts article{padding:16px;border:1px solid var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card);text-align:center}
.uk-sj-accounts strong{display:block;margin-top:6px;font-family:var(--sj-display);font-size:20px;letter-spacing:.05em}
.uk-sj-accounts article p{margin-top:4px;font-size:13px;color:var(--sj-mist)}
.uk-sj-accounts article .uk-sj-button{margin-top:12px}
.uk-sj-address-card{padding:18px;border:1px dashed var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card);text-align:center}
.uk-sj-address-card strong{display:block;margin-top:6px;font-family:var(--sj-display);font-size:18px}
.uk-sj-address-card p{margin-top:6px;font-size:14px;color:var(--sj-mist)}
.uk-sj-faq{display:grid;gap:10px;margin-top:18px}
.uk-sj-faq details{border:1px solid var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card)}
.uk-sj-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;font-size:14px;font-weight:600;list-style:none}
.uk-sj-faq summary::-webkit-details-marker{display:none}
.uk-sj-faq details[open] summary{color:var(--sj-accent)}
.uk-sj-faq details p{padding:0 16px 15px;font-size:14px;color:var(--sj-mist)}
.uk-sj-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
.uk-sj-contacts>*:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:min(100%,400px)}
.uk-sj-contacts article{padding:16px;border:1px solid var(--sj-line);border-radius:var(--sj-radius-sm);background:var(--sj-card);text-align:center}
.uk-sj-contacts strong{display:block;margin-top:6px;font-size:15px}
.uk-sj-contacts article p{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:6px;font-size:13px;color:var(--sj-mist)}
.uk-sj-contacts article .uk-sj-button{margin-top:12px}
.uk-sj-engagement .uk-sj-body{margin-top:4px}

/* Arrival ----------------------------------------------------------------- */
.uk-sj-closing{--sj-paper:#1E241F;--sj-ink:#EFEFE3;--sj-mist:#C0C4B4;--sj-accent:#93C7B1;--sj-pin:#E4A07A;--sj-line:rgba(239,239,227,.2);--sj-card:rgba(255,255,255,.07);
  padding:62px 20px 84px;background:var(--sj-paper);color:var(--sj-ink);text-align:center;scroll-margin-top:calc(var(--sj-trail-h) + 12px)}
.uk-sj-closing h2{margin-top:8px;font-size:clamp(22px,5.8vw,34px)}
.uk-sj-closing p{margin-top:12px;color:var(--sj-mist)}
.uk-sj-hashtags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.uk-sj-hashtags button{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--sj-line);border-radius:999px;background:transparent;font-size:12px;cursor:pointer}
.uk-sj-closing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:20px}

/* Navigation: the stops of the journey along the top edge ----------------- */
/* The drawn route measures the page, so it sits outside the scroller. Inside an
   overflow box it would be positioned against the scrolled contents and slide
   out of view on a phone. */
.uk-sj-trail{position:fixed;left:0;right:0;top:0;z-index:26;display:flex;align-items:stretch;height:var(--sj-trail-h);overflow:hidden;border-bottom:1px solid rgba(241,238,226,.16);background:rgba(27,31,28,.9);color:#F1EEE2}
.uk-sj-route{position:absolute;left:0;right:0;bottom:0;height:2px;background:repeating-linear-gradient(90deg,rgba(241,238,226,.3) 0 6px,transparent 6px 12px)}
.uk-sj-route-drawn{position:absolute;left:0;top:0;height:100%;width:0;background:#E09A72;transition:width .22s linear}
.uk-sj-trail-track{flex:1;display:flex;align-items:center;min-width:0;padding:0 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.uk-sj-trail-track::-webkit-scrollbar{height:0}
.uk-sj-waypoints{list-style:none;display:flex;align-items:center;gap:2px;margin:0 auto;padding:0}
.uk-sj-waypoint{flex:0 0 auto}
.uk-sj-waypoint button{display:flex;align-items:center;gap:7px;padding:8px 11px;border:0;background:transparent;color:inherit;cursor:pointer;white-space:nowrap}
.uk-sj-waypoint em{flex:0 0 auto;width:8px;height:8px;border:1px solid rgba(241,238,226,.6);border-radius:50% 50% 50% 0;transform:rotate(-45deg);transition:background-color .25s ease,border-color .25s ease}
.uk-sj-waypoint span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.78;transition:opacity .25s ease}
.uk-sj-waypoint button.is-active em{background:#E09A72;border-color:#E09A72}
.uk-sj-waypoint button.is-active span{opacity:1;color:#F5C7AC}
@media(hover:hover) and (pointer:fine){
.uk-sj-waypoint button:hover span{opacity:1}
.uk-sj-waypoint button:hover em{border-color:#E09A72}
}

/* Control rail ----------------------------------------------------------- */
.uk-sj-rail{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:27;display:flex;flex-direction:column-reverse;align-items:center;gap:8px;padding:7px;border:1px solid rgba(241,238,226,.16);border-radius:999px;background:rgba(27,31,28,.84);color:#F1EEE2}
.uk-sj-rail-toggle,.uk-sj-rail-panel button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(241,238,226,.1);color:inherit;cursor:pointer;transition:background-color .25s ease}
.uk-sj-rail-toggle:hover,.uk-sj-rail-panel button:hover{background:rgba(224,154,114,.3)}
.uk-sj-rail-panel{display:flex;flex-direction:column-reverse;gap:8px}
.uk-sj-rail-panel button.is-active{background:#E09A72;color:#2B1208}
.uk-sj-rail.has-auto .uk-sj-rail-toggle{background:#E09A72;color:#2B1208}

/* Toast, feedback, modals ----------------------------------------------- */
.uk-sj-toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom));z-index:44;max-width:min(88vw,360px);padding:11px 18px;transform:translate(-50%,14px);border-radius:999px;background:#1E241F;color:#EFEFE3;font-size:13px;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.uk-sj-toast.is-show{opacity:1;transform:translate(-50%,0)}
.uk-sj-feedback{position:relative;z-index:24;display:flex;align-items:center;gap:10px;width:min(100%,680px);margin:16px auto 0;padding:13px 16px;border:1px solid rgba(47,107,94,.3);border-radius:var(--sj-radius-sm);background:#E9F1EC;color:#1F3A32;font-size:14px}
.uk-sj-sheet,.uk-sj-lightbox{position:fixed;inset:0;z-index:46;display:grid;place-items:center;padding:20px 16px;background:rgba(18,21,19,.84);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.uk-sj-sheet.is-open,.uk-sj-lightbox.is-open{opacity:1;visibility:visible}
.uk-sj-sheet-panel{width:min(100%,410px);padding:22px;border-radius:var(--sj-radius);background:#F4EFE4;color:#232520;text-align:center}
.uk-sj-sheet-panel h2{margin-top:6px;font-size:22px}
.uk-sj-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}
.uk-sj-share-grid button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border:1px solid rgba(35,37,32,.16);border-radius:var(--sj-radius-sm);background:rgba(255,255,255,.7);font-size:13px;font-weight:600;cursor:pointer}
.uk-sj-sheet-close{margin-top:16px;border-color:rgba(35,37,32,.18);background:transparent;color:#232520}
.uk-sj-lightbox-panel{position:relative;width:min(100%,780px)}
.uk-sj-lightbox-panel img{width:100%;max-height:76svh;object-fit:contain;border-radius:var(--sj-radius);transition:opacity .2s ease}
.uk-sj-lightbox.is-switching .uk-sj-lightbox-panel img{opacity:0}
.uk-sj-lightbox-counter{margin-top:12px;color:#EFEFE3;font-size:12px;letter-spacing:.14em;text-align:center}
.uk-sj-lightbox-close,.uk-sj-lightbox-prev,.uk-sj-lightbox-next{position:absolute;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:rgba(27,31,28,.78);color:#EFEFE3;cursor:pointer}
.uk-sj-lightbox-close{top:-52px;right:0}
.uk-sj-lightbox-prev{left:6px;top:50%;transform:translateY(-50%)}
.uk-sj-lightbox-next{right:6px;top:50%;transform:translateY(-50%)}
body.is-saujana-modal-open{overflow:hidden}
body.is-saujana-open{overflow:visible}

/* Design Studio: palette ------------------------------------------------- */
.uk-design-palette-template.uk-saujana{--sj-paper:#F4EFE4;--sj-ink:#232520;--sj-mist:#67675B;--sj-accent:#2F6B5E;--sj-pin:#A84C26}
.uk-design-palette-warm.uk-saujana{--sj-paper:#FAF1E2;--sj-ink:#33261A;--sj-mist:#6D5A45;--sj-accent:#7A5423;--sj-pin:#9A5A25}
.uk-design-palette-warm .uk-sj-closing{--sj-paper:#33261A;--sj-ink:#FAF0E1;--sj-mist:#D2BFA8;--sj-accent:#E0BC8A;--sj-pin:#E5A173}
.uk-design-palette-romantic.uk-saujana{--sj-paper:#FCF1EF;--sj-ink:#30202A;--sj-mist:#6C525A;--sj-accent:#8C3448;--sj-pin:#A23E56}
.uk-design-palette-romantic .uk-sj-closing{--sj-paper:#2E1820;--sj-ink:#FAE9EA;--sj-mist:#D4B2B8;--sj-accent:#E7A7B4;--sj-pin:#E79A94}
.uk-design-palette-sage.uk-saujana{--sj-paper:#EFF3EA;--sj-ink:#242C25;--sj-mist:#56604F;--sj-accent:#41654A;--sj-pin:#7A5A2E}
.uk-design-palette-sage .uk-sj-closing{--sj-paper:#1E271F;--sj-ink:#ECF3E8;--sj-mist:#BFCEB8;--sj-accent:#B4CFA9;--sj-pin:#DCBE86}
.uk-design-palette-midnight.uk-saujana{--sj-paper:#15181A;--sj-ink:#E9E7DA;--sj-mist:#AFAFA2;--sj-accent:#6FB29C;--sj-pin:#E09A72;--sj-line:rgba(233,231,218,.2);--sj-card:rgba(255,255,255,.07)}
.uk-design-palette-midnight .uk-sj-closing{--sj-paper:#0E1113;--sj-ink:#E9E7DA;--sj-mist:#AFAFA2;--sj-accent:#6FB29C;--sj-pin:#E09A72}
.uk-design-palette-midnight .uk-sj-cover-veil{background:linear-gradient(180deg,rgba(8,10,11,.4) 0%,rgba(21,24,26,0) 32%,rgba(21,24,26,.9) 74%,var(--sj-paper) 100%)}
.uk-design-palette-midnight .uk-sj-plate{background:#1E2225}
.uk-design-palette-midnight .uk-sj-sheet-panel{background:#1E2225;color:#E9E7DA}
.uk-design-palette-midnight .uk-sj-sheet-close{color:#E9E7DA;border-color:rgba(233,231,218,.24)}
.uk-design-palette-midnight .uk-sj-share-grid button{background:rgba(255,255,255,.07);border-color:rgba(233,231,218,.2);color:#E9E7DA}
.uk-design-palette-midnight .uk-sj-feedback{border-color:rgba(111,178,156,.4);background:#182220;color:#DFF0E8}

/* Design Studio: typography --------------------------------------------- */
.uk-design-type-modern.uk-saujana{--sj-display:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--sj-measure:60ch}
.uk-design-type-modern h1,.uk-design-type-modern h2{font-weight:700;letter-spacing:-.015em}
.uk-design-type-modern .uk-sj-route-line{letter-spacing:.16em}
.uk-design-type-classic.uk-saujana{--sj-display:"Playfair Display",Georgia,Cambria,"Times New Roman",serif;--sj-measure:56ch}
.uk-design-type-classic .uk-sj-eyebrow{letter-spacing:.24em}
.uk-design-type-classic .uk-sj-quote{font-style:italic}
.uk-design-type-editorial.uk-saujana{--sj-measure:52ch}
.uk-design-type-editorial .uk-sj-cover-panel h1{font-size:clamp(34px,10vw,52px);letter-spacing:-.01em}
.uk-design-type-editorial .uk-sj-body h2{font-size:clamp(25px,6.2vw,40px)}
.uk-design-type-editorial .uk-sj-eyebrow{letter-spacing:.32em}

/* Design Studio: surface ------------------------------------------------- */
.uk-design-surface-balanced.uk-saujana{--sj-radius:10px;--sj-radius-sm:6px}
.uk-design-surface-soft.uk-saujana{--sj-radius:18px;--sj-radius-sm:13px}
.uk-design-surface-sharp.uk-saujana{--sj-radius:0px;--sj-radius-sm:0px}
.uk-design-surface-sharp .uk-sj-button,.uk-design-surface-sharp .uk-sj-tabs button,.uk-design-surface-sharp .uk-sj-couple-index button,.uk-design-surface-sharp .uk-sj-hashtags button{border-radius:2px}
.uk-design-surface-sharp .uk-sj-rail{border-radius:4px}
.uk-design-surface-soft .uk-sj-plate{box-shadow:0 14px 26px rgba(35,37,32,.14)}

/* Design Studio: gallery ------------------------------------------------- */
.uk-design-gallery-grid .uk-sj-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:9px;overflow-x:visible}
.uk-design-gallery-filmstrip .uk-sj-gallery{display:flex;grid-auto-rows:auto;gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
.uk-design-gallery-filmstrip .uk-sj-plate{flex:0 0 auto;width:min(62vw,240px);grid-row:auto;scroll-snap-align:center}
.uk-design-gallery-filmstrip .uk-sj-plate img{aspect-ratio:4/5;height:auto}
.uk-design-gallery-editorial .uk-sj-gallery{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:16px;overflow-x:visible}
.uk-design-gallery-editorial .uk-sj-plate{grid-row:auto}
.uk-design-gallery-editorial .uk-sj-plate img{aspect-ratio:3/2;height:auto}

/* Design Studio: motion -------------------------------------------------- */
.uk-design-motion-soft.uk-saujana{--sj-lift:14px}
.uk-design-motion-cinematic.uk-saujana{--sj-lift:26px}
.uk-design-motion-minimal.uk-saujana{--sj-lift:0px}
.uk-design-motion-minimal .uk-sj-reveal,.uk-design-motion-minimal .uk-sj-reveal-item{opacity:1;transform:none;transition:none}
.uk-design-motion-minimal .uk-sj-body{transition:none}
.uk-design-motion-cinematic .uk-sj-reveal{transition-duration:.85s}

/* Wider viewports -------------------------------------------------------- */
@media(min-width:760px){
.uk-saujana{font-size:17px;--sj-trail-h:56px}
.uk-sj-sec{padding:72px 28px}
.uk-sj-wrap{padding-left:40px}
.uk-sj-wrap::before{left:9px}
.uk-sj-waypoint-pin{width:16px;height:16px;top:2px}
.uk-sj-fold{height:min(40svh,320px)}
.uk-sj-fold img,.uk-sj-cover-media .uk-sj-cover-image{object-position:var(--sj-focus-desktop-x,50%) var(--sj-focus-desktop-y,45%)}
.uk-sj-cover-panel{padding:56px 32px 72px}
.uk-sj-card{width:min(100%,520px)}
.uk-sj-place{grid-template-columns:40px minmax(0,1fr);gap:16px;padding:24px}
.uk-sj-gallery{grid-auto-rows:12px;gap:14px}
.uk-sj-closing{padding:88px 28px 104px}
}
@media(min-width:1100px){
.uk-sj-sec{padding:88px 40px}
/* The body hangs off the route line on the left, so it cannot be centred away
   from it. The card is narrowed to the column instead: the gutter, the measure
   and the widest step of the meander, and no more. */
.uk-sj-wrap{width:min(100%,740px)}
}

/* Narrow phones ---------------------------------------------------------- */
@media(max-width:560px){
.uk-sj-count{grid-template-columns:repeat(2,minmax(0,1fr))}
.uk-sj-people{grid-template-columns:minmax(0,1fr);gap:24px}
.uk-sj-accounts,.uk-sj-contacts{grid-template-columns:minmax(0,1fr)}
.uk-sj-share-grid{grid-template-columns:minmax(0,1fr)}
.uk-sj-body{margin-left:0}
.uk-sj-waypoint button{gap:6px;padding:8px 9px}
.uk-sj-lightbox-close{top:auto;bottom:-52px;right:50%;transform:translateX(50%)}
}
@media(max-width:360px){
.uk-sj-sec{padding:42px 14px}
.uk-sj-place{grid-template-columns:minmax(0,1fr);gap:10px}
}

/* Short viewports: a landscape phone and a short laptop window are different
   rooms, so every height rule names the width it means. */
@media(max-height:620px) and (max-width:1024px){
.uk-sj-cover{min-height:100svh}
.uk-sj-cover-panel{padding:22px 18px 28px}
.uk-sj-cover-panel h1{font-size:clamp(22px,5.2vw,30px)}
.uk-sj-cover-empty-mark{font-size:17px;padding:8px 14px}
.uk-sj-gate{padding:12px}
.uk-sj-fold{height:min(26svh,150px)}
.uk-sj-gate-body{padding:14px 18px 18px}
.uk-sj-gate-body h1{font-size:clamp(20px,4.4vw,26px)}
.uk-sj-seal{width:min(100%,44px);height:44px;margin-top:12px}
.uk-saujana{--sj-trail-h:44px}
.uk-sj-rail{bottom:calc(10px + env(safe-area-inset-bottom))}
}
@media(max-height:620px) and (min-width:1025px){
.uk-sj-fold{height:min(30svh,200px)}
.uk-saujana{--sj-trail-h:48px}
}

/* Reduced motion --------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
.uk-saujana *,.uk-saujana *::before,.uk-saujana *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;transition-delay:0ms !important;scroll-behavior:auto !important}
.uk-sj-reveal,.uk-sj-reveal-item{opacity:1;transform:none}
}
