/* Dwilaras — Romance Flagship 1.0.1
 * A wedding invitation written as a letter and its reply. The gate is two
 * portraits divided by one seam; the page runs in two parallel columns — a
 * numbered margin beside the body — and the notes inside a section alternate
 * from one side of the seam to the other. Navigation is the page numbers of a
 * book along the foot of the page.
 *
 * 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-dwilaras{
  --dw-paper:#F6F1E7;--dw-ink:#23201C;--dw-mist:#6B6357;--dw-accent:#3B4A6B;--dw-seal:#A8503C;
  --dw-line:rgba(35,32,28,.16);--dw-card:rgba(255,253,248,.72);
  --dw-radius:10px;--dw-radius-sm:6px;--dw-measure:58ch;--dw-margin-col:150px;
  --dw-lift:18px;--dw-slide:16px;--dw-folio-h:58px;
  --dw-display:"Playfair Display",Georgia,Cambria,"Times New Roman",serif;
  --dw-sans:"DM Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  position:relative;background:var(--dw-paper);color:var(--dw-ink);
  font-family:var(--dw-sans);font-size:16px;line-height:1.68;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
[hidden]{display:none !important}
.uk-dwilaras *,.uk-dwilaras *::before,.uk-dwilaras *::after{box-sizing:border-box}
.uk-dwilaras img{display:block;max-width:100%}
.uk-dwilaras h1,.uk-dwilaras h2,.uk-dwilaras h3,.uk-dwilaras h4{font-family:var(--dw-display);font-weight:600;line-height:1.16;margin:0}
.uk-dwilaras p{margin:0}
/* :where() so this stays a DEFAULT. As ".uk-dwilaras 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-dwilaras :where(button){font-family:inherit;color:inherit}
#uk-dw-content{padding-bottom:calc(var(--dw-folio-h) + 18px)}

/* Shared type and ornament ------------------------------------------------- */
.uk-dw-eyebrow{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--dw-accent)}
.uk-dw-folio-no{font-family:var(--dw-display);font-size:29px;line-height:1;color:var(--dw-seal)}
.uk-dw-rule{display:block;width:min(100%,88px);height:1px;margin:12px 0;background:var(--dw-line)}
.uk-dw-rule.is-center{margin-left:auto;margin-right:auto}
.uk-dw-copy{max-width:var(--dw-measure);margin-top:14px;color:var(--dw-mist);font-size:15px}
.uk-dw-lead{max-width:var(--dw-measure);margin-top:12px;font-family:var(--dw-display);font-size:20px;color:var(--dw-ink)}
.uk-dw-preline{white-space:pre-line}
.uk-dw-stamp{display:grid;place-items:center;width:min(100%,60px);height:60px;margin:18px auto 0;border:1px dashed var(--dw-seal);border-radius:var(--dw-radius-sm);font-family:var(--dw-display);font-size:14px;letter-spacing:.16em;color:var(--dw-seal)}
.uk-dw-signature{margin-top:16px;font-family:var(--dw-display);font-size:22px;color:var(--dw-ink)}
.uk-dw-quote{max-width:var(--dw-measure);margin-top:20px;padding:16px 20px;border-left:2px solid var(--dw-accent);background:var(--dw-card);border-radius:0 var(--dw-radius-sm) var(--dw-radius-sm) 0;color:var(--dw-ink);font-family:var(--dw-display);font-size:17px;font-style:italic}
.uk-dw-quote cite{display:block;margin-top:10px;font-family:var(--dw-sans);font-size:12px;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--dw-mist)}
.uk-dw-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid var(--dw-line);border-radius:999px;background:var(--dw-card);color:var(--dw-ink);font-size:13px;font-weight:600;letter-spacing:.05em;text-decoration:none;cursor:pointer;transition:transform .25s ease,border-color .25s ease}
.uk-dw-button:hover{transform:translateY(-1px);border-color:var(--dw-accent)}
.uk-dw-button.is-solid{border-color:transparent;background:var(--dw-accent);color:#F6F1E7}
.uk-dw-button:focus-visible,.uk-dwilaras button:focus-visible,.uk-dwilaras a:focus-visible{outline:2px solid var(--dw-seal);outline-offset:3px}

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

/* Gate: two portraits, one seam ------------------------------------------- */
/* The panel that carries the opening button is a row of the card's own grid.
   Nothing is laid over it, because a leaf over the button is a gate with no
   way in. */
.uk-dw-gate{--dw-paper:#1D1B18;--dw-ink:#F4EDE1;--dw-mist:#C8BCA9;--dw-accent:#9DB0D6;--dw-seal:#D98F72;--dw-line:rgba(244,237,225,.2);--dw-card:rgba(255,255,255,.06);
  position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:20px 16px;background:var(--dw-paper);color:var(--dw-ink);transition:opacity .66s ease,visibility .66s ease}
.uk-dw-gate.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.uk-dw-card{display:grid;grid-template-rows:auto auto;width:min(100%,440px);overflow:hidden;border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:#26241F}
.uk-dw-seam{position:relative;display:grid;grid-template-columns:1fr 3px 1fr;height:min(42svh,286px);background:#332F28}
.uk-dw-half{position:relative;overflow:hidden;display:block;transition:transform 1.05s cubic-bezier(.22,.78,.2,1),opacity .8s ease .2s}
.uk-dw-half img{width:100%;height:100%;object-fit:cover}
.uk-dw-half.is-left img{object-position:calc(var(--dw-focus-mobile-x,50%) - 16%) var(--dw-focus-mobile-y,38%)}
.uk-dw-half.is-right img{object-position:calc(var(--dw-focus-mobile-x,50%) + 16%) var(--dw-focus-mobile-y,38%)}
.uk-dw-seam-line{display:block;background:linear-gradient(180deg,rgba(217,143,114,.25),#EFB597 48%,rgba(217,143,114,.25));box-shadow:0 0 10px rgba(217,143,114,.4)}
.uk-dw-gate.is-hidden .uk-dw-half.is-left{transform:translateX(-14%);opacity:0}
.uk-dw-gate.is-hidden .uk-dw-half.is-right{transform:translateX(14%);opacity:0}
.uk-dw-gate-body{padding:22px 22px 26px;text-align:center}
.uk-dw-gate-body h1{margin-top:8px;font-size:clamp(26px,7.4vw,38px)}
.uk-dw-gate-date{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:6px 14px;border:1px solid var(--dw-line);border-radius:999px;font-size:12px;letter-spacing:.08em;color:var(--dw-mist)}
.uk-dw-gate-open{margin-top:18px;padding:13px 24px;border-color:transparent;background:var(--dw-seal);color:#2A1109;font-size:14px}
.uk-dw-couple-list{display:grid;gap:8px;margin-top:14px}
.uk-dw-couple-list span{display:grid;gap:2px}
.uk-dw-couple-list small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--dw-mist)}
.uk-dw-couple-list strong{font-family:var(--dw-display);font-size:18px;font-weight:600}

/* Cover ------------------------------------------------------------------- */
.uk-dw-cover{position:relative;display:grid;align-items:end;min-height:100svh;background:var(--dw-paper);color:var(--dw-ink);overflow:hidden}
.uk-dw-cover-media{position:absolute;inset:0}
.uk-dw-cover-media .uk-dw-cover-image{width:100%;height:100%;object-fit:cover;object-position:var(--dw-focus-mobile-x,50%) var(--dw-focus-mobile-y,38%)}
.uk-dw-cover-empty{position:relative;display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(160deg,#EFE6D5,#DCCDB4 58%,#C9B69A)}
.uk-dw-cover-empty-seam{position:absolute;top:12%;bottom:12%;width:2px;background:linear-gradient(180deg,rgba(168,80,60,.08),rgba(168,80,60,.6),rgba(168,80,60,.08))}
.uk-dw-cover-empty-mark{position:relative;padding:10px 18px;border:1px dashed rgba(168,80,60,.6);border-radius:var(--dw-radius-sm);background:rgba(255,253,248,.72);font-family:var(--dw-display);font-size:22px;letter-spacing:.26em;color:#7A3524}
.uk-dw-cover-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(29,27,24,.18) 0%,rgba(246,241,231,0) 30%,rgba(246,241,231,.88) 74%,var(--dw-paper) 100%)}
.uk-dw-cover-panel{position:relative;padding:40px 20px 54px;text-align:center}
.uk-dw-cover-panel h1{margin-top:8px;font-size:clamp(29px,8.6vw,52px)}
.uk-dw-cover-panel .uk-dw-folio-no{margin-bottom:6px}
.uk-dw-cover-date{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:7px 16px;border:1px solid var(--dw-line);border-radius:999px;background:var(--dw-card);font-size:12px;letter-spacing:.08em;color:var(--dw-mist)}

/* Two parallel columns ---------------------------------------------------- */
.uk-dw-sec{position:relative;padding:54px 20px;background:var(--dw-paper);color:var(--dw-ink)}
.uk-dw-sec+.uk-dw-sec{border-top:1px solid var(--dw-line)}
.uk-dw-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;width:min(100%,900px);margin-inline:auto}
.uk-dw-wrap-narrow{width:min(100%,600px);margin-inline:auto;text-align:center}
.uk-dw-margin{display:grid;align-content:start;gap:4px}
.uk-dw-body h2{font-size:clamp(22px,5.2vw,32px)}
.uk-dw-body h3{font-size:18px}
.uk-dw-body h4{font-size:17px}

/* The exchange: notes alternating across the seam ------------------------- */
.uk-dw-exchange{position:relative;list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:24px 0 0;padding:0}
.uk-dw-exchange::before{content:"";position:absolute;top:6px;bottom:6px;left:5px;width:1px;background:var(--dw-line)}
.uk-dw-note{position:relative;padding:16px 18px;border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-card);margin-left:22px}
.uk-dw-note-mark{position:absolute;z-index:2;top:22px;left:-22px;width:11px;height:11px;border:1px solid var(--dw-seal);border-radius:50%;background:var(--dw-paper);box-shadow:0 0 0 3px var(--dw-paper)}
.uk-dw-note-date{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--dw-accent)}
.uk-dw-note h3{margin-top:4px}
.uk-dw-note p{margin-top:6px;font-size:14px;color:var(--dw-mist)}

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

/* Events ------------------------------------------------------------------ */
.uk-dw-events{display:grid;gap:18px;margin-top:24px}
.uk-dw-event{padding:20px;border:1px solid var(--dw-line);border-radius:var(--dw-radius);background:var(--dw-card)}
.uk-dw-event h3{margin-top:8px;font-size:20px}
.uk-dw-scope{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;font-size:12px;color:var(--dw-mist)}
.uk-dw-scope span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.uk-dw-scope strong{padding:3px 9px;border-radius:999px;background:var(--dw-paper);color:var(--dw-ink);font-size:12px}
.uk-dw-scope.is-shared strong{border:1px dashed var(--dw-line)}
.uk-dw-venue{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-size:14px}
.uk-dw-address{margin-top:4px;font-size:13px;color:var(--dw-mist)}
.uk-dw-map{width:100%;height:190px;margin-top:14px;border:0;border-radius:var(--dw-radius-sm)}
.uk-dw-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}

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

/* Gallery: a stack of postcards ------------------------------------------ */
.uk-dw-gallery-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--dw-mist)}
.uk-dw-gallery-tools div{display:flex;gap:8px}
.uk-dw-gallery-tools button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--dw-line);border-radius:50%;background:var(--dw-card);cursor:pointer}
.uk-dw-gallery{display:flex;gap:14px;margin-top:10px;padding:26px 10px 30px 6px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.uk-dw-postcard{position:relative;flex:0 0 auto;width:min(74vw,272px);margin:0;padding:9px 9px 34px;overflow:hidden;border:1px solid var(--dw-line);border-radius:var(--dw-radius-sm);background:#FFFCF6;scroll-snap-align:center;box-shadow:0 14px 28px rgba(35,32,28,.16);transition:transform .45s ease,box-shadow .45s ease}
.uk-dw-postcard img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.uk-dw-postmark{position:absolute;right:10px;bottom:8px;display:grid;place-items:center;width:38px;height:22px;border:1px solid rgba(168,80,60,.5);border-radius:3px;font-family:var(--dw-display);font-size:12px;letter-spacing:.1em;color:#8A3C2A;transform:rotate(-6deg)}
.uk-dw-postcard button{position:absolute;left:12px;bottom:6px;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:rgba(35,32,28,.72);color:#F6F1E7;cursor:pointer}
.uk-dw-reveal.is-visible .uk-dw-postcard:nth-child(odd){transform:rotate(-1.3deg)}
.uk-dw-reveal.is-visible .uk-dw-postcard:nth-child(even){transform:rotate(1.3deg)}

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

/* Closing: the reply, in ink ---------------------------------------------- */
.uk-dw-closing{--dw-paper:#23201C;--dw-ink:#F4EDE1;--dw-mist:#C6BAA8;--dw-accent:#A8BBE0;--dw-seal:#E0987B;--dw-line:rgba(244,237,225,.2);--dw-card:rgba(255,255,255,.07);
  padding:62px 20px 84px;background:var(--dw-paper);color:var(--dw-ink);text-align:center}
.uk-dw-closing h2{margin-top:8px;font-size:clamp(22px,5.8vw,34px)}
.uk-dw-closing p{margin-top:12px;color:var(--dw-mist)}
.uk-dw-closing .uk-dw-folio-no{margin-bottom:4px}
.uk-dw-hashtags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.uk-dw-hashtags button{display:inline-flex;align-items:center;gap:6px;padding:6px 13px;border:1px solid var(--dw-line);border-radius:999px;background:transparent;font-size:12px;cursor:pointer}
.uk-dw-closing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:20px}

/* Navigation: the page numbers of a book --------------------------------- */
/* The reading progress belongs to the page, not to the strip's own scroller.
   Inside an overflow-x box it is positioned against the scrolled content: on a
   phone, where the strip is wider than the screen, the bar slid out of view and
   read 100% as a stub in the far left. It sits outside the scroller now. */
.uk-dw-folio{position:fixed;left:0;right:0;bottom:0;z-index:26;display:flex;align-items:stretch;height:var(--dw-folio-h);overflow:hidden;border-top:1px solid rgba(244,237,225,.16);background:rgba(29,27,24,.9);color:#F4EDE1}
.uk-dw-folio-progress{position:absolute;left:0;top:0;height:2px;width:0;background:#D98F72;transition:width .22s linear}
.uk-dw-folio-track{flex:1;display:flex;align-items:center;min-width:0;padding:0 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.uk-dw-folio-track::-webkit-scrollbar{height:0}
.uk-dw-pages{list-style:none;display:flex;align-items:center;gap:2px;margin:0 auto;padding:0}
.uk-dw-page{flex:0 0 auto}
/* A contents list: the mark a guest scans for, with the chapter name always
   beside it. Bare figures were tried first and read as broken numbering,
   because the strip lists 7 chapters out of 18 pages and a book's chapters do
   not start on consecutive pages. The page numbers still run down the margin
   column, where consecutive is exactly what they are. */
.uk-dw-page button{display:flex;align-items:center;gap:7px;padding:8px 11px;border:0;border-bottom:2px solid transparent;background:transparent;color:inherit;cursor:pointer;white-space:nowrap;transition:border-color .25s ease,color .25s ease}
.uk-dw-page button svg{flex:0 0 auto;opacity:.68;transition:opacity .25s ease,color .25s ease}
.uk-dw-page button span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.78;transition:opacity .25s ease}
.uk-dw-page button.is-active{border-bottom-color:#D98F72}
.uk-dw-page button.is-active svg{opacity:1;color:#F0B598}
.uk-dw-page button.is-active span{opacity:1}
@media(hover:hover) and (pointer:fine){
.uk-dw-page button:hover svg,.uk-dw-page button:hover span{opacity:1}
}

/* Control rail ----------------------------------------------------------- */
.uk-dw-rail{position:fixed;right:14px;top:14px;z-index:27;display:flex;flex-direction:column;align-items:center;gap:8px;padding:7px;border:1px solid rgba(244,237,225,.16);border-radius:999px;background:rgba(29,27,24,.82);color:#F4EDE1}
.uk-dw-rail-toggle,.uk-dw-rail-panel button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:50%;background:rgba(244,237,225,.1);color:inherit;cursor:pointer;transition:background-color .25s ease}
.uk-dw-rail-toggle:hover,.uk-dw-rail-panel button:hover{background:rgba(217,143,114,.3)}
.uk-dw-rail-panel{display:flex;flex-direction:column;gap:8px}
.uk-dw-rail-panel button.is-active{background:#D98F72;color:#2A1109}
.uk-dw-rail.has-auto .uk-dw-rail-toggle{background:#D98F72;color:#2A1109}

/* Toast, feedback, modals ----------------------------------------------- */
.uk-dw-toast{position:fixed;left:50%;bottom:calc(var(--dw-folio-h) + 16px);z-index:44;max-width:min(88vw,360px);padding:11px 18px;transform:translate(-50%,14px);border-radius:999px;background:#23201C;color:#F4EDE1;font-size:13px;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.uk-dw-toast.is-show{opacity:1;transform:translate(-50%,0)}
.uk-dw-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(59,74,107,.28);border-radius:var(--dw-radius-sm);background:#EEF1F7;color:#26324B;font-size:14px}
.uk-dw-sheet,.uk-dw-lightbox{position:fixed;inset:0;z-index:46;display:grid;place-items:center;padding:20px 16px;background:rgba(20,18,16,.84);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.uk-dw-sheet.is-open,.uk-dw-lightbox.is-open{opacity:1;visibility:visible}
.uk-dw-sheet-panel{width:min(100%,410px);padding:22px;border-radius:var(--dw-radius);background:#F6F1E7;color:#23201C;text-align:center}
.uk-dw-sheet-panel h2{margin-top:6px;font-size:22px}
.uk-dw-share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:18px}
.uk-dw-share-grid button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 10px;border:1px solid rgba(35,32,28,.16);border-radius:var(--dw-radius-sm);background:rgba(255,255,255,.7);font-size:13px;font-weight:600;cursor:pointer}
.uk-dw-sheet-close{margin-top:16px;border-color:rgba(35,32,28,.18);background:transparent;color:#23201C}
.uk-dw-lightbox-panel{position:relative;width:min(100%,780px)}
.uk-dw-lightbox-panel img{width:100%;max-height:76svh;object-fit:contain;border-radius:var(--dw-radius);transition:opacity .2s ease}
.uk-dw-lightbox.is-switching .uk-dw-lightbox-panel img{opacity:0}
.uk-dw-lightbox-counter{margin-top:12px;color:#F4EDE1;font-size:12px;letter-spacing:.14em;text-align:center}
.uk-dw-lightbox-close,.uk-dw-lightbox-prev,.uk-dw-lightbox-next{position:absolute;display:grid;place-items:center;width:42px;height:42px;border:0;border-radius:50%;background:rgba(29,27,24,.76);color:#F4EDE1;cursor:pointer}
.uk-dw-lightbox-close{top:-52px;right:0}
.uk-dw-lightbox-prev{left:6px;top:50%;transform:translateY(-50%)}
.uk-dw-lightbox-next{right:6px;top:50%;transform:translateY(-50%)}
body.is-dwilaras-modal-open{overflow:hidden}
body.is-dwilaras-open{overflow:visible}

/* Design Studio: palette ------------------------------------------------- */
.uk-design-palette-template.uk-dwilaras{--dw-paper:#F6F1E7;--dw-ink:#23201C;--dw-mist:#6B6357;--dw-accent:#3B4A6B;--dw-seal:#A8503C}
.uk-design-palette-warm.uk-dwilaras{--dw-paper:#FAF2E4;--dw-ink:#2E2015;--dw-mist:#6F5A45;--dw-accent:#7A5326;--dw-seal:#9C5427}
.uk-design-palette-warm .uk-dw-closing{--dw-paper:#33241A;--dw-ink:#FAF0E1;--dw-mist:#D2BFA8;--dw-accent:#E3BE8A;--dw-seal:#E5A173}
.uk-design-palette-romantic.uk-dwilaras{--dw-paper:#FCF1EF;--dw-ink:#2E1C22;--dw-mist:#6E5259;--dw-accent:#8C3448;--dw-seal:#A83E52}
.uk-design-palette-romantic .uk-dw-closing{--dw-paper:#2E1820;--dw-ink:#FAE9EA;--dw-mist:#D4B2B8;--dw-accent:#E7A7B4;--dw-seal:#E79A94}
.uk-design-palette-sage.uk-dwilaras{--dw-paper:#F0F4EC;--dw-ink:#222A24;--dw-mist:#5A6455;--dw-accent:#3F5B3B;--dw-seal:#7A5A2E}
.uk-design-palette-sage .uk-dw-closing{--dw-paper:#1E271F;--dw-ink:#ECF3E8;--dw-mist:#BFCEB8;--dw-accent:#B4CFA9;--dw-seal:#DCBE86}
.uk-design-palette-midnight.uk-dwilaras{--dw-paper:#16181D;--dw-ink:#EDE6D8;--dw-mist:#B3AB9C;--dw-accent:#8FA4C9;--dw-seal:#D98F72;--dw-line:rgba(237,230,216,.2);--dw-card:rgba(255,255,255,.07)}
.uk-design-palette-midnight .uk-dw-closing{--dw-paper:#0F1116;--dw-ink:#EDE6D8;--dw-mist:#B3AB9C;--dw-accent:#8FA4C9;--dw-seal:#E0A184}
.uk-design-palette-midnight .uk-dw-cover-veil{background:linear-gradient(180deg,rgba(8,9,12,.4) 0%,rgba(22,24,29,0) 30%,rgba(22,24,29,.9) 74%,var(--dw-paper) 100%)}
.uk-design-palette-midnight .uk-dw-postcard{background:#20232A;border-color:rgba(237,230,216,.22)}
.uk-design-palette-midnight .uk-dw-postmark{color:#EFA684;border-color:rgba(239,166,132,.55)}
.uk-design-palette-midnight .uk-dw-sheet-panel{background:#20232A;color:#EDE6D8}
.uk-design-palette-midnight .uk-dw-sheet-close{color:#EDE6D8;border-color:rgba(237,230,216,.24)}
.uk-design-palette-midnight .uk-dw-share-grid button{background:rgba(255,255,255,.07);border-color:rgba(237,230,216,.2);color:#EDE6D8}
.uk-design-palette-midnight .uk-dw-feedback{border-color:rgba(143,164,201,.4);background:#1C2027;color:#E7EEF9}

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

/* Design Studio: surface ------------------------------------------------- */
.uk-design-surface-balanced.uk-dwilaras{--dw-radius:10px;--dw-radius-sm:6px}
.uk-design-surface-soft.uk-dwilaras{--dw-radius:18px;--dw-radius-sm:13px}
.uk-design-surface-sharp.uk-dwilaras{--dw-radius:0px;--dw-radius-sm:0px}
.uk-design-surface-sharp .uk-dw-button,.uk-design-surface-sharp .uk-dw-tabs button,.uk-design-surface-sharp .uk-dw-couple-index button,.uk-design-surface-sharp .uk-dw-hashtags button{border-radius:2px}
.uk-design-surface-sharp .uk-dw-rail{border-radius:4px}
.uk-design-surface-soft .uk-dw-postcard{box-shadow:0 18px 34px rgba(35,32,28,.2)}

/* Design Studio: gallery ------------------------------------------------- */
.uk-design-gallery-editorial .uk-dw-gallery{display:flex;overflow-x:auto}
.uk-design-gallery-grid .uk-dw-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow-x:visible;padding:16px 0 4px}
.uk-design-gallery-grid .uk-dw-postcard{width:auto;padding:7px 7px 28px}
.uk-design-gallery-grid .uk-dw-reveal.is-visible .uk-dw-postcard{transform:none}
.uk-design-gallery-filmstrip .uk-dw-gallery{display:flex;overflow-x:auto;padding:16px 10px 20px 6px}
.uk-design-gallery-filmstrip .uk-dw-postcard{width:min(58vw,216px);padding:6px 6px 24px}
.uk-design-gallery-filmstrip .uk-dw-postcard img{aspect-ratio:1/1}
.uk-design-gallery-filmstrip .uk-dw-reveal.is-visible .uk-dw-postcard{transform:none}

/* Design Studio: motion -------------------------------------------------- */
.uk-design-motion-soft.uk-dwilaras{--dw-lift:14px;--dw-slide:12px}
.uk-design-motion-cinematic.uk-dwilaras{--dw-lift:26px;--dw-slide:22px}
.uk-design-motion-minimal.uk-dwilaras{--dw-lift:0px;--dw-slide:0px}
.uk-design-motion-minimal .uk-dw-reveal,.uk-design-motion-minimal .uk-dw-reveal-item{opacity:1;transform:none;transition:none}
.uk-design-motion-minimal .uk-dw-half{transition:opacity .3s ease}
.uk-design-motion-cinematic .uk-dw-reveal{transition-duration:.85s}

/* Wider viewports -------------------------------------------------------- */
@media(min-width:760px){
.uk-dwilaras{font-size:17px}
.uk-dw-sec{padding:72px 28px}
.uk-dw-wrap{grid-template-columns:var(--dw-margin-col) minmax(0,1fr);gap:28px}
.uk-dw-margin{border-right:1px solid var(--dw-line);padding-right:22px;text-align:right;justify-items:end}
.uk-dw-rule{margin-left:auto}
.uk-dw-seam{height:min(40svh,320px)}
.uk-dw-half.is-left img,.uk-dw-half.is-right img,.uk-dw-cover-media .uk-dw-cover-image{object-position:var(--dw-focus-desktop-x,50%) var(--dw-focus-desktop-y,44%)}
.uk-dw-cover-panel{padding:56px 32px 72px}
.uk-dw-card{width:min(100%,520px)}
.uk-dw-exchange{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:44px}
.uk-dw-exchange::before{left:50%}
.uk-dw-note{margin-left:0}
.uk-dw-note:nth-child(odd){grid-column:1;text-align:right}
.uk-dw-note:nth-child(odd) .uk-dw-note-mark{left:auto;right:-27px}
.uk-dw-note:nth-child(even){grid-column:2}
.uk-dw-note:nth-child(even) .uk-dw-note-mark{left:-27px}
.uk-dw-exchange>.uk-dw-note:only-child{grid-column:1/-1;justify-self:center;width:min(100%,420px);text-align:center}
.uk-dw-exchange>.uk-dw-note:only-child .uk-dw-note-mark{display:none}
.uk-dw-postcard{width:min(40vw,300px)}
.uk-dw-closing{padding:88px 28px 108px}
}
@media(min-width:1100px){
.uk-dw-sec{padding:88px 40px}
.uk-dwilaras{--dw-margin-col:172px}
}

/* Narrow phones ---------------------------------------------------------- */
@media(max-width:560px){
.uk-dw-count{grid-template-columns:repeat(2,minmax(0,1fr))}
.uk-dw-people{grid-template-columns:minmax(0,1fr);gap:26px}
.uk-dw-accounts,.uk-dw-contacts{grid-template-columns:minmax(0,1fr)}
.uk-dw-share-grid{grid-template-columns:minmax(0,1fr)}
.uk-design-gallery-grid .uk-dw-gallery{grid-template-columns:minmax(0,1fr)}
.uk-dw-page button{gap:6px;padding:8px 9px}
.uk-dw-lightbox-close{top:auto;bottom:-52px;right:50%;transform:translateX(50%)}
}
@media(max-width:360px){
.uk-dw-sec{padding:44px 14px}
.uk-dw-postcard{width:min(84vw,236px)}
}

/* 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-dw-cover{min-height:100svh}
.uk-dw-cover-panel{padding:22px 18px 28px}
.uk-dw-cover-panel h1{font-size:clamp(22px,5.2vw,30px)}
.uk-dw-cover-empty-mark{font-size:17px;padding:8px 14px}
.uk-dw-gate{padding:12px}
.uk-dw-seam{height:min(26svh,150px)}
.uk-dw-gate-body{padding:14px 18px 18px}
.uk-dw-gate-body h1{font-size:clamp(20px,4.4vw,26px)}
.uk-dw-stamp{width:min(100%,46px);height:46px;margin-top:12px}
.uk-dwilaras{--dw-folio-h:48px}
.uk-dw-rail{top:8px;right:8px}
}
@media(max-height:620px) and (min-width:1025px){
.uk-dw-seam{height:min(30svh,200px)}
.uk-dwilaras{--dw-folio-h:50px}
}

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