/* Restored reference compositions. Artwork is local; words and controls remain editable. */
body[class*="sa-skin-webgency_"]{--wg-paper:var(--ivory);--wg-card:var(--paper);--wg-accent:var(--title);--wg-ink:var(--ink);--wg-space:44px;--wg-gutter:26px;background:var(--ivory)!important}
body[class*="sa-skin-webgency_"] main{overflow:hidden}
body[class*="sa-skin-webgency_"] :where(#sa-sections) section,body[class*="sa-skin-webgency_"] .wg-welcome{position:relative;isolation:isolate;padding:var(--wg-space) var(--wg-gutter)}
body[class*="sa-skin-webgency_"] #sa-sections section>* ,body[class*="sa-skin-webgency_"] .wg-welcome>*{position:relative;z-index:2}
body[class*="sa-skin-webgency_"] #sa-sections>[data-sa-section]>div:last-child:not(section){display:none}
body[class*="sa-skin-webgency_"] #sa-sections h2{font-size:clamp(30px,7vw,43px);line-height:1.25;text-wrap:balance}
body[class*="sa-skin-webgency_"] .sa-text-section__body{font:18px/1.65 var(--font-display);max-width:36rem;margin:auto;color:var(--ink)}
body[class*="sa-skin-webgency_"] .wg-art{display:block;max-width:100%;height:auto}
body[class*="sa-skin-webgency_"] .wg-photo{width:100%;object-fit:cover}
body[class*="sa-skin-webgency_"] .wg-recipient{font:17px/1.6 var(--font-display);color:var(--ink);margin:0 0 20px}
body[class*="sa-skin-webgency_"] .wg-letter{max-width:34rem;margin:auto;text-align:center}
body[class*="sa-skin-webgency_"] .wg-welcome .sa-text-root{color:var(--ink)!important;font:20px/1.5 var(--font-display)!important;margin:0;padding:0 12px!important;white-space:normal}
body[class*="sa-skin-webgency_"] .wg-welcome .sa-text-root p{margin:0 0 1rem}
body[class*="sa-skin-webgency_"] .wg-welcome .sa-text-root p:first-child{font:32px/1.35 var(--font-script);color:var(--title);margin-bottom:20px}
/* Hero words occupy the open space in the artwork. */
body[class*="sa-skin-webgency_"] .sa-hero{min-height:640px;height:100svh;max-height:900px}
body[class*="sa-skin-webgency_"] #saHeroOverlay{position:absolute;top:23%;left:0;right:0;width:100%;transform:none;padding:0 24px}
body[class*="sa-skin-webgency_"] .sa-hero-title{margin:26px 0;white-space:normal!important}
body[class*="sa-skin-webgency_"] .sa-hero-name{font:400 clamp(45px,12vw,68px)/1.12 var(--font-script);letter-spacing:0;text-shadow:none;filter:none;white-space:normal;overflow-wrap:anywhere}
body[class*="sa-skin-webgency_"] .sa-hero-amp{font:26px/1 var(--font-script);margin:4px 0}
body[class*="sa-skin-webgency_"] .sa-hero-kicker{font:18px/1.3 var(--font-script);margin:0}
body[class*="sa-skin-webgency_"] .sa-kicker-line,body[class*="sa-skin-webgency_"] #saHeroOverlay>div.flex{display:none}
body[class*="sa-skin-webgency_"] .sa-hero-date{font:18px/1.5 var(--font-display);white-space:normal!important}
body[class*="sa-skin-webgency_"] #heroScroll{bottom:38px}
body[class*="sa-skin-webgency_"] #heroScroll span{letter-spacing:.08em;font-size:11px}
/* Four-column countdown. */
body[class*="sa-skin-webgency_"] #countdown{background:var(--ivory);padding-block:40px}
body[class*="sa-skin-webgency_"] #countdown h2{color:var(--title)!important}
body[class*="sa-skin-webgency_"] #countdown p{color:var(--ink)!important;font:16px/1.5 var(--font-display);margin:10px 0 22px}
body[class*="sa-skin-webgency_"] #countdown .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:550px;margin:auto}
body[class*="sa-skin-webgency_"] #countdown .grid>div{background:none;border:0;padding:0 4px;backdrop-filter:none;border-radius:0;position:relative}
body[class*="sa-skin-webgency_"] #countdown .grid>div+div::before{content:':';position:absolute;inset-inline-start:-3px;top:0;font:32px/1.2 var(--font-display);color:var(--title)}
body[class*="sa-skin-webgency_"] #countdown span{color:var(--title)!important}
body[class*="sa-skin-webgency_"] #countdown [id^="cd_"]{font:400 clamp(29px,8vw,46px)/1.2 var(--font-display)}
body[class*="sa-skin-webgency_"] #countdown .grid span:last-child{font:12px/1.4 var(--font-display);text-transform:none;letter-spacing:0}
/* Vertical timeline: time and event on either side of the stem. */
body[class*="sa-skin-webgency_"] #program>div:not(.wg-story-photo){max-width:560px}
body[class*="sa-skin-webgency_"] #program .hidden.md\:block{display:none!important}
body[class*="sa-skin-webgency_"] .sa-prog-mobile-wrap{display:block!important}
body[class*="sa-skin-webgency_"] #program .text-center{margin-bottom:38px}
body[class*="sa-skin-webgency_"] #program .text-center p{font:16px var(--font-display)}
body[class*="sa-skin-webgency_"] .sa-program-mobile{display:grid;gap:22px!important}
body[class*="sa-skin-webgency_"] .sa-prog-row{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);column-gap:15px;row-gap:0;margin:0!important;padding:0!important;min-height:70px;text-align:start}
body[class*="sa-skin-webgency_"] .sa-prog-row>div:first-child{grid-column:2;grid-row:1/3;align-self:start;width:16px;height:16px;margin:6px auto 0;background:var(--ivory);color:var(--gold)!important;border:1px solid var(--gold);box-shadow:none}
body[class*="sa-skin-webgency_"] .sa-prog-row>div:first-child svg{width:11px;height:11px}
body[class*="sa-skin-webgency_"] .sa-prog-row>div:nth-child(2),body[class*="sa-skin-webgency_"] .sa-prog-row>div:nth-child(2)>div{display:contents}
body[class*="sa-skin-webgency_"] .sa-prog-row .sa-prog-time{grid-column:1;grid-row:1;align-self:start;background:transparent!important;color:var(--ink)!important;font:24px/1.2 var(--font-display);padding:0;text-align:end}
body[class*="sa-skin-webgency_"] .sa-prog-row h3{grid-column:3;grid-row:1;font:18px/1.3 var(--font-display)}
body[class*="sa-skin-webgency_"] .sa-prog-row p{grid-column:3;grid-row:2;font:13px/1.45 var(--font-display)}
html[dir] body[class*="sa-skin-webgency_"] .sa-prog-line-v{left:50%!important;right:auto!important;transform:translateX(-50%);background:var(--gold)!important;opacity:.55}
/* Maps, fashion inspiration, and photo panels. */
body[class*="sa-skin-webgency_"] #details>.grid{display:block;max-width:600px}
body[class*="sa-skin-webgency_"] .sa-map-copy{text-align:center}
body[class*="sa-skin-webgency_"] .sa-map-rows{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;margin:25px auto}
body[class*="sa-skin-webgency_"] .sa-map-rows>div{flex-direction:column;align-items:center;margin:0!important;gap:6px;max-width:100%}
body[class*="sa-skin-webgency_"] .sa-map-rows>div>div:first-child{background:none;border:0;box-shadow:none;color:var(--title)}
body[class*="sa-skin-webgency_"] .sa-map-rows p{font:18px/1.4 var(--font-display)}
body[class*="sa-skin-webgency_"] .sa-map-rows p+p{font-size:14px}
body[class*="sa-skin-webgency_"] .sa-map-actions{margin-bottom:24px}
body[class*="sa-skin-webgency_"] .sa-map-embed .sa-gallery-card{border:1px solid var(--gold);border-radius:14px;box-shadow:none}
body[class*="sa-skin-webgency_"] .wg-venue-art{max-width:480px;max-height:390px;width:100%;object-fit:contain;margin:0 auto 32px}
body[class*="sa-skin-webgency_"] .wg-fashion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:540px;margin:36px auto 0;align-items:start}
body[class*="sa-skin-webgency_"] .wg-fashion img{width:100%;border-radius:8px}
body[class*="sa-skin-webgency_"] .wg-fashion:has(img:only-child){display:block;max-width:330px}
body[class*="sa-skin-webgency_"] .wg-fashion:has(.wg-fashion-3) img:first-child{grid-column:1/-1;max-height:340px;object-fit:cover}
body[class*="sa-skin-webgency_"] .wg-closing-photo{margin:36px calc(-1 * var(--wg-gutter)) calc(-1 * var(--wg-space));max-width:none}
body[class*="sa-skin-webgency_"] .wg-closing-photo img{max-height:640px;width:100%;object-fit:cover}
body[class*="sa-skin-webgency_"] .wg-closing-photo:empty{display:none}
body[class*="sa-skin-webgency_"] .wg-story-photo{max-width:560px;margin:0 auto 36px;overflow:hidden}
body[class*="sa-skin-webgency_"] .wg-story-photo img{max-height:460px;object-fit:cover}
body[class*="sa-skin-webgency_"] #rsvp form{background:var(--paper);border:1px solid var(--divider);border-radius:8px;box-shadow:none;padding:28px}
body[class*="sa-skin-webgency_"] #rsvp .mb-12{margin-bottom:30px}
body[class*="sa-skin-webgency_"] #rsvp input:not([type=radio]):not([type=checkbox]),body[class*="sa-skin-webgency_"] #rsvp textarea{border:0;border-bottom:1px solid color-mix(in srgb,var(--ink) 35%,transparent);border-radius:0;background:transparent;min-height:44px}
body[class*="sa-skin-webgency_"] #rsvp button[type=submit]{width:auto;display:block;min-width:140px;margin-inline:auto;border-radius:20px}
body[class*="sa-skin-webgency_"] footer{background:var(--ivory)!important;border-top:1px solid color-mix(in srgb,var(--gold) 20%,transparent);padding:35px 20px}
body[class*="sa-skin-webgency_"] footer p,body[class*="sa-skin-webgency_"] footer a{color:var(--ink)!important}
/* Sacred Garden: floral border, original torn paper, pink blossoms. */
body.sa-skin-webgency_sacred_garden{--wg-card:var(--paper)}
body.sa-skin-webgency_sacred_garden.wg-stock-hero .sa-hero{background:var(--ivory)}
body.sa-skin-webgency_sacred_garden.wg-stock-hero .sa-hero .wg-garden-hero{position:absolute;bottom:0;width:100%;height:auto;max-height:65%;object-fit:contain;object-position:center bottom}
body.sa-skin-webgency_sacred_garden.wg-stock-hero .sa-hero-overlay{background:none}
body.sa-skin-webgency_sacred_garden #saHeroOverlay{top:18%}
body.sa-skin-webgency_sacred_garden .sa-hero-name{font-size:clamp(60px,16vw,82px);color:var(--title)}
body.sa-skin-webgency_sacred_garden .wg-welcome,body.sa-skin-webgency_sacred_garden #program{background:var(--wg-asset-paper, url('/assets/webgency_sacred_garden/paper.webp')) center/100% 100% no-repeat}
body.sa-skin-webgency_sacred_garden #dress_code{background:var(--wg-asset-floral-right, url('/assets/webgency_sacred_garden/floral-right.webp')) right top/110px auto no-repeat}
body.sa-skin-webgency_sacred_garden #gifts{background:var(--wg-asset-floral-left, url('/assets/webgency_sacred_garden/floral-left.webp')) left bottom/110px auto no-repeat}
body.sa-skin-webgency_sacred_garden #dress_code .sa-text-section__body,body.sa-skin-webgency_sacred_garden #gifts .sa-text-section__body{max-width:75%}
body.sa-skin-webgency_sacred_garden #program .sa-prog-row:nth-child(3n+1)>div:first-child{background:var(--wg-asset-flower, url('/assets/webgency_sacred_garden/flower.webp')) center/contain no-repeat;width:35px;height:32px;max-width:none;margin-inline:-4px;border:0}
body.sa-skin-webgency_sacred_garden #program .sa-prog-row:nth-child(3n+1) svg{visibility:hidden}
body.sa-skin-webgency_sacred_garden #sa-sections h2::after{content:'';display:block;width:125px;height:24px;margin:12px auto;background:var(--wg-asset-ornament, url('/assets/webgency_sacred_garden/ornament.webp')) center/contain no-repeat}
/* Blossom & Oud: pointed gold frame and chandelier. */
body.sa-skin-webgency_blossom_oud #saHeroOverlay{top:37%}
body.sa-skin-webgency_blossom_oud .sa-hero-name,body.sa-skin-webgency_blossom_oud .sa-hero-kicker,body.sa-skin-webgency_blossom_oud .sa-hero-date{color:var(--title);text-shadow:none}
body.sa-skin-webgency_blossom_oud .sa-hero-overlay{background:none}
body.sa-skin-webgency_blossom_oud .sa-hero-title{margin:12px 0}
body.sa-skin-webgency_blossom_oud .wg-welcome{padding:24px 16px 36px}
body.sa-skin-webgency_blossom_oud .wg-letter{background:var(--wg-asset-arch-paper, url('/assets/webgency_blossom_oud/arch-paper.webp')) center/100% 100% no-repeat;padding:115px 26px 70px;min-height:550px;display:flex;flex-direction:column;justify-content:center}
body.sa-skin-webgency_blossom_oud #sa-sections h2::after{content:'';display:block;width:130px;height:26px;margin:16px auto;background:var(--wg-asset-ornament, url('/assets/webgency_blossom_oud/ornament.webp')) center/contain no-repeat}
body.sa-skin-webgency_blossom_oud .wg-chandelier{width:200px;margin:0 auto 35px}
body.sa-skin-webgency_blossom_oud #rsvp form{border:0;background:transparent}
/* Dolce Vita: letter in its blue envelope, watercolour clouds beside the schedule. */
body.sa-skin-webgency_dolce_vita .sa-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.1),transparent 70%,var(--ivory))}
body.sa-skin-webgency_dolce_vita #saHeroOverlay{top:25%}
body.sa-skin-webgency_dolce_vita .sa-hero-title,body.sa-skin-webgency_royal_gold .sa-hero-title{display:flex;align-items:baseline;justify-content:center;gap:10px;flex-wrap:wrap}
body.sa-skin-webgency_dolce_vita .sa-hero-name{color:var(--title);font-size:45px}
body.sa-skin-webgency_dolce_vita .sa-hero-kicker,body.sa-skin-webgency_dolce_vita .sa-hero-amp,body.sa-skin-webgency_dolce_vita .sa-hero-date{color:var(--title);text-shadow:0 1px 8px white}
body.sa-skin-webgency_dolce_vita .wg-letter-envelope{max-width:490px;margin:auto;position:relative;padding:110px 32px 0}
body.sa-skin-webgency_dolce_vita .wg-letter{position:relative;z-index:2;background:#fffdfa;padding:30px 15px clamp(220px,60vw,300px);box-shadow:0 0 22px #0002}
body.sa-skin-webgency_dolce_vita .wg-letter-back,body.sa-skin-webgency_dolce_vita .wg-letter-front{position:absolute;width:100%;height:100%;inset:0;object-fit:fill}
body.sa-skin-webgency_dolce_vita .wg-letter-front{z-index:3;pointer-events:none;top:auto;height:auto}
body.sa-skin-webgency_dolce_vita #program{background:var(--wg-asset-cloud-left, url('/assets/webgency_dolce_vita/cloud-left.webp')) -80px 35%/180px auto no-repeat,var(--wg-asset-cloud-right, url('/assets/webgency_dolce_vita/cloud-right.webp')) calc(100% + 80px) 70%/190px auto no-repeat}
body.sa-skin-webgency_dolce_vita #countdown .grid{gap:8px}
body.sa-skin-webgency_dolce_vita #countdown .grid>div{padding:20px 2px;background:white;border-radius:8px;box-shadow:0 4px 18px #829faf22}
body.sa-skin-webgency_dolce_vita #countdown .grid>div::before{display:none}
/* Vibrant Vows: peonies, burgundy blocks and deckled paper. */
body.sa-skin-webgency_vibrant_vows .sa-hero-overlay{background:none}
body.sa-skin-webgency_vibrant_vows .wg-welcome,body.sa-skin-webgency_vibrant_vows #program,body.sa-skin-webgency_vibrant_vows #dress_code,body.sa-skin-webgency_vibrant_vows #rsvp,body.sa-skin-webgency_vibrant_vows #closing{background-color:var(--btn-bg)!important;--ink:#fffaf8;--ink-rgb:255,250,248;--title:#fffaf8;color:#fffaf8}
body.sa-skin-webgency_vibrant_vows .sa-hero-name{color:#fffaf8;font-size:70px}
body.sa-skin-webgency_vibrant_vows .wg-welcome .sa-text-root,body.sa-skin-webgency_vibrant_vows .wg-recipient,body.sa-skin-webgency_vibrant_vows #program h3,body.sa-skin-webgency_vibrant_vows #program p,body.sa-skin-webgency_vibrant_vows #rsvp>div>div:first-child p{color:#fffaf8!important}
/* the deckled edges: drawn by webgency-responsive.js only where a burgundy block meets a pale one, so a
   reordered or hidden section never leaves a pale torn strip between two burgundy blocks */
body.sa-skin-webgency_vibrant_vows :is(.wg-welcome,#program,#dress_code,#rsvp,#closing){position:relative}
body.sa-skin-webgency_vibrant_vows :is(#sa-sections section,.wg-welcome)>.wg-tear{position:absolute;display:block;left:0;right:0;height:14px;background:var(--ivory);z-index:3;pointer-events:none;-webkit-mask:url('/assets/webgency-paper-edge.svg') bottom/180px 14px repeat-x;mask:url('/assets/webgency-paper-edge.svg') bottom/180px 14px repeat-x}
body.sa-skin-webgency_vibrant_vows :is(#sa-sections section,.wg-welcome)>.wg-tear--bottom{bottom:-1px}
body.sa-skin-webgency_vibrant_vows :is(#sa-sections section,.wg-welcome)>.wg-tear--top{top:-1px;transform:rotate(180deg)}
/* (the id in :is() outranks the generic '#sa-sections section > *{position:relative}') */
body.sa-skin-webgency_vibrant_vows #gifts{padding-bottom:150px;background:var(--wg-asset-flower-red, url('/assets/webgency_vibrant_vows/flower-red.webp')) left bottom/135px auto no-repeat,var(--wg-asset-flower-ivory, url('/assets/webgency_vibrant_vows/flower-ivory.webp')) 45% bottom/110px auto no-repeat,var(--wg-asset-flower-red, url('/assets/webgency_vibrant_vows/flower-red.webp')) right bottom/130px auto no-repeat}
body.sa-skin-webgency_vibrant_vows .wg-fashion{gap:28px}
body.sa-skin-webgency_vibrant_vows .wg-fashion img:nth-child(2){margin-top:70px}
body.sa-skin-webgency_vibrant_vows #rsvp form{--ink:#48242e;--title:#48242e;background:var(--paper);color:#48242e}
body.sa-skin-webgency_vibrant_vows #rsvp form label,body.sa-skin-webgency_vibrant_vows #rsvp form input,body.sa-skin-webgency_vibrant_vows #rsvp form textarea{color:#48242e!important}
/* Destination Love: map{min-height:580px;height:78svh;max-height:740px;background:#fff!important}
/* Eternal Romance and Minimalist: title above the photograph. */
body.sa-skin-webgency_eternal_romance .sa-hero,body.sa-skin-webgency_minimalist .sa-hero{min-height:750px;height:100svh;background:var(--ivory)!important}
body.sa-skin-webgency_eternal_romance .sa-hero>div:first-child,body.sa-skin-webgency_minimalist .sa-hero>div:first-child{top:240px;height:calc(100% - 240px)}
body.sa-skin-webgency_eternal_romance .sa-hero-overlay,body.sa-skin-webgency_minimalist .sa-hero-overlay{background:none}
body.sa-skin-webgency_eternal_romance #saHeroOverlay,body.sa-skin-webgency_minimalist #saHeroOverlay{top:45px}
body.sa-skin-webgency_eternal_romance .sa-hero-title,body.sa-skin-webgency_minimalist .sa-hero-title{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:18px 0 12px}
body.sa-skin-webgency_eternal_romance .sa-hero-name,body.sa-skin-webgency_minimalist .sa-hero-name{font-size:43px;color:var(--ink)}
body.sa-skin-webgency_eternal_romance .sa-hero-kicker,body.sa-skin-webgency_eternal_romance .sa-hero-amp,body.sa-skin-webgency_eternal_romance .sa-hero-date,body.sa-skin-webgency_minimalist .sa-hero-kicker,body.sa-skin-webgency_minimalist .sa-hero-amp,body.sa-skin-webgency_minimalist .sa-hero-date{color:var(--ink);text-shadow:none}
body.sa-skin-webgency_eternal_romance .wg-dove{width:120px;margin:10px -15px -45px auto}
body.sa-skin-webgency_eternal_romance #countdown:has(.wg-countdown-photo){background:linear-gradient(var(--ivory),color-mix(in srgb,var(--btn-bg) 14%,var(--ivory)))}
body.sa-skin-webgency_eternal_romance #program>div:not(.wg-story-photo),body.sa-skin-webgency_eternal_romance #rsvp form{border:1px solid #a9b0b2;border-radius:22px;padding:32px 20px}
body.sa-skin-webgency_eternal_romance .wg-fashion img:nth-child(2){width:85%}
body.sa-skin-webgency_eternal_romance .wg-fashion img:nth-child(3){margin-top:55px}
body.sa-skin-webgency_eternal_romance .wg-fashion img:nth-child(4){grid-column:1/-1}
body.sa-skin-webgency_minimalist .sa-hero>div:first-child{left:24px;right:24px;width:calc(100% - 48px);border-radius:48% 48% 0 0/40% 40% 0 0;overflow:hidden}
body.sa-skin-webgency_minimalist .sa-hero-name{font-style:italic}
body.sa-skin-webgency_minimalist #sa-sections h2{font-family:var(--font-display)!important;font-size:29px;text-transform:uppercase}
body.sa-skin-webgency_minimalist .wg-welcome{padding-top:50px}
body.sa-skin-webgency_minimalist .wg-letter{border-bottom:1px solid #7778;padding-bottom:32px}
body.sa-skin-webgency_minimalist #gifts>div{border:1px solid #7779;border-radius:28px;padding:36px 20px}
body.sa-skin-webgency_minimalist .wg-fashion img{background:white;padding:8px 8px 20px;box-shadow:0 6px 14px #0002;border-radius:0}
body.sa-skin-webgency_minimalist .wg-fashion img:first-child{grid-column:auto;transform:rotate(10deg);margin-bottom:20px}
body.sa-skin-webgency_minimalist .wg-fashion img:nth-child(2){margin-top:100px;transform:rotate(-5deg)}
body.sa-skin-webgency_minimalist .wg-fashion img:nth-child(3){transform:rotate(-13deg)}
body.sa-skin-webgency_minimalist #rsvp form{background:transparent;border:0;padding:0}
/* Royal Gold: real metallic leaves and cream photo panels on navy. */
body.sa-skin-webgency_royal_gold{--wg-card:var(--paper)}
body.sa-skin-webgency_royal_gold #saHeroOverlay{top:19%}
body.sa-skin-webgency_royal_gold .sa-hero-name,body.sa-skin-webgency_royal_gold .sa-hero-amp,body.sa-skin-webgency_royal_gold .sa-hero-kicker,body.sa-skin-webgency_royal_gold .sa-hero-date{color:var(--gold)}
body.sa-skin-webgency_royal_gold .sa-hero-name{font-size:43px}
body.sa-skin-webgency_royal_gold .sa-hero-overlay{background:linear-gradient(transparent 65%,var(--ivory))}
body.sa-skin-webgency_royal_gold .wg-welcome .wg-letter,body.sa-skin-webgency_royal_gold #program>div:not(.wg-story-photo),body.sa-skin-webgency_royal_gold #gifts>div,body.sa-skin-webgency_royal_gold #rsvp form{--ink:#292f38;--ink-rgb:41,47,56;--title:#292f38;background:var(--wg-card);color:#292f38;border:0;border-radius:8px;padding:32px 24px}
body.sa-skin-webgency_royal_gold .wg-welcome,body.sa-skin-webgency_royal_gold #gifts,body.sa-skin-webgency_royal_gold #rsvp{background-image:var(--wg-asset-leaf-left, url('/assets/webgency_royal_gold/leaf-left.webp')),var(--wg-asset-leaf-right, url('/assets/webgency_royal_gold/leaf-right.webp'));background-position:-55px top,calc(100% + 60px) bottom;background-size:160px auto;background-repeat:no-repeat}
body.sa-skin-webgency_royal_gold #program .wg-story-photo{margin-bottom:0;border-radius:8px 8px 0 0}
body.sa-skin-webgency_royal_gold #program>div:not(.wg-story-photo){border-radius:0 0 8px 8px}
body.sa-skin-webgency_royal_gold #program h2,body.sa-skin-webgency_royal_gold #program h3,body.sa-skin-webgency_royal_gold #program p,body.sa-skin-webgency_royal_gold #gifts h2,body.sa-skin-webgency_royal_gold #gifts .sa-text-section__body{color:#292f38!important}
body.sa-skin-webgency_royal_gold .sa-prog-row>div:first-child{background:var(--wg-card)}
body.sa-skin-webgency_royal_gold .wg-fashion{gap:14px}

@media(min-width:768px){body[class*="sa-skin-webgency_"]{--wg-gutter:48px;--wg-space:56px}body[class*="sa-skin-webgency_"] .wg-welcome,body[class*="sa-skin-webgency_"] :where(#sa-sections) section{padding-inline:48px}body[class*="sa-skin-webgency_"] .wg-closing-photo{margin-inline:-48px}}
@media(prefers-reduced-motion:reduce){body[class*="sa-skin-webgency_"] #heroScroll .animate-bounce{animation:none}}

/* Reference palette and section cadence. Keep accent, heading and reading colours distinct. */
body[class*="sa-skin-webgency_"] .sa-hero-amp{color:inherit;text-shadow:none;filter:none}
body[class*="sa-skin-webgency_"] .wg-recipient{font-size:15px;line-height:1.5;margin-bottom:18px}
body[class*="sa-skin-webgency_"] .wg-welcome .sa-text-root{font-size:20px!important;line-height:1.45!important;font-style:normal;letter-spacing:0}
body[class*="sa-skin-webgency_"] #sa-sections h2{margin-bottom:24px}
body[class*="sa-skin-webgency_"] #program p,body[class*="sa-skin-webgency_"] .sa-map-copy p+p,body[class*="sa-skin-webgency_"] #rsvp>div>div>p{color:var(--ink)!important;letter-spacing:0}
body[class*="sa-skin-webgency_"] .sa-text-section__body{font-family:var(--font-display)!important;font-size:19px;line-height:1.5}
body[class*="sa-skin-webgency_"] .sa-prog-row p{font-size:15px;line-height:1.4}
body[class*="sa-skin-webgency_"] .sa-prog-row h3{color:var(--ink)!important;font-weight:400}
body[class*="sa-skin-webgency_"] .sa-map-actions a{border-color:color-mix(in srgb,var(--ink) 30%,transparent);color:var(--ink)!important}
body[class*="sa-skin-webgency_"] #rsvp form{--wg-form-ink:var(--ink);--wg-form-bg:var(--paper);background:var(--wg-form-bg);border-color:color-mix(in srgb,var(--wg-form-ink) 25%,transparent)}
body[class*="sa-skin-webgency_"] #rsvp form label,body[class*="sa-skin-webgency_"] #rsvp form .text-sage-dark,body[class*="sa-skin-webgency_"] #rsvp form [class*="text-sage-dark/"]{color:var(--wg-form-ink)!important}
body[class*="sa-skin-webgency_"] #rsvp input:not([type=radio]):not([type=checkbox]),body[class*="sa-skin-webgency_"] #rsvp textarea,body[class*="sa-skin-webgency_"] #rsvp select{color:var(--wg-form-ink)!important;background:transparent!important;border-color:color-mix(in srgb,var(--wg-form-ink) 45%,transparent);font-size:16px}
body[class*="sa-skin-webgency_"] #rsvp input::placeholder,body[class*="sa-skin-webgency_"] #rsvp textarea::placeholder{color:color-mix(in srgb,var(--wg-form-ink) 72%,transparent)!important;opacity:1}
body[class*="sa-skin-webgency_"] #rsvp input[type=radio],body[class*="sa-skin-webgency_"] #rsvp input[type=checkbox]{accent-color:var(--btn-bg);width:16px;height:16px;flex-shrink:0}
body[class*="sa-skin-webgency_"] #rsvp form label{font-size:15px}
body[class*="sa-skin-webgency_"] #rsvp button[type=submit]{font-size:16px;min-height:44px;padding:10px 30px;background:var(--btn-bg);color:var(--btn-text);box-shadow:none}
body[class*="sa-skin-webgency_"] #rsvp form>p:last-child{color:var(--wg-form-ink)!important;opacity:.8}
body[class*="sa-skin-webgency_"] .wg-closing-photo{width:calc(100% + 2 * var(--wg-gutter))}
body[class*="sa-skin-webgency_"] #muteBtn{background:var(--btn-bg);color:var(--btn-text);width:40px;height:40px;padding:10px;right:12px;bottom:12px;box-shadow:0 2px 8px #0002}
body[class*="sa-skin-webgency_"] footer{padding-top:26px;border:0}

/* Paper edges span the page rather than looking like a small card pasted into it. */
body.sa-skin-webgency_sacred_garden .wg-welcome,body.sa-skin-webgency_sacred_garden #program{padding-block:55px;background-size:140% 100%}
body.sa-skin-webgency_sacred_garden .wg-welcome{margin-top:-28px;z-index:3}
body.sa-skin-webgency_sacred_garden #sa-sections h2::after{display:none}
body.sa-skin-webgency_sacred_garden #program h2::before,body.sa-skin-webgency_sacred_garden #program h2::after{content:'';display:inline-block;vertical-align:middle;width:46px;height:18px;margin:0 9px;background:var(--wg-asset-ornament, url('/assets/webgency_sacred_garden/ornament.webp')) center/contain no-repeat}
body.sa-skin-webgency_sacred_garden #dress_code,body.sa-skin-webgency_sacred_garden #gifts{background-color:var(--paper)}
body.sa-skin-webgency_sacred_garden #dress_code{padding-bottom:28px}
body.sa-skin-webgency_sacred_garden #gifts{padding-top:28px}
body.sa-skin-webgency_sacred_garden #closing .wg-closing-photo{position:relative}
body.sa-skin-webgency_sacred_garden .wg-closing-photo::after{content:'';position:absolute;inset:0;background:var(--wg-asset-floral-frame, url('/assets/webgency_sacred_garden/floral-frame.webp')) center bottom/100% auto no-repeat;pointer-events:none}
body.sa-skin-webgency_sacred_garden .sa-hero-name,body.sa-skin-webgency_sacred_garden .sa-hero-amp{color:var(--title)!important}
body.sa-skin-webgency_blossom_oud .sa-hero-overlay{background:linear-gradient(transparent 78%,var(--ivory) 100%)}
body.sa-skin-webgency_blossom_oud .wg-letter{min-height:530px;padding-top:105px;padding-bottom:75px}
body.sa-skin-webgency_blossom_oud #sa-sections h2::after{width:100px;height:20px;margin:10px auto 0}
body.sa-skin-webgency_blossom_oud #countdown h2::after{display:none}
body.sa-skin-webgency_blossom_oud .wg-welcome,body.sa-skin-webgency_blossom_oud #details,body.sa-skin-webgency_blossom_oud #closing{background-image:radial-gradient(ellipse at center,rgba(255,250,242,.45),transparent 72%)}
body.sa-skin-webgency_dolce_vita .wg-welcome{padding-top:30px;padding-bottom:30px}
body.sa-skin-webgency_dolce_vita .wg-letter-envelope{padding-top:88px}
body.sa-skin-webgency_dolce_vita #countdown .grid>div{background:var(--paper);box-shadow:none;border:1px solid color-mix(in srgb,var(--gold) 20%,transparent);border-radius:2px;padding:14px 2px}
body.sa-skin-webgency_dolce_vita #program{padding-top:40px;padding-bottom:70px}

/* Match the burgundy artwork right through the hero and paper cut-outs. */
body.sa-skin-webgency_vibrant_vows.wg-stock-hero .sa-hero>div:first-child{background:#66021f}
body.sa-skin-webgency_vibrant_vows.wg-stock-hero .sa-hero-overlay{background:linear-gradient(transparent 90%,var(--btn-bg))}
body.sa-skin-webgency_vibrant_vows #heroScroll{color:#fffaf8}
body.sa-skin-webgency_vibrant_vows .sa-prog-row>div:first-child{background:var(--btn-bg);border-color:#fffaf8;color:#fffaf8!important}
body.sa-skin-webgency_vibrant_vows #rsvp form{--wg-form-ink:#4f4f4f;--wg-form-bg:var(--paper)}
body.sa-skin-webgency_vibrant_vows #closing{padding-top:24px}
body.sa-skin-webgency_vibrant_vows #gifts{padding-bottom:180px}

/* Destination Love: white pages, sage route, a pale passport{min-height:590px;height:70svh;max-height:690px}

/* White editorial pages and joined photograph panels. */
/* the pale-blue lead-in belongs to the photograph it runs into; without one (a real invitation with no photo
   of theirs) the section ends on its own ivory, not in a hard blue band */
body.sa-skin-webgency_eternal_romance #countdown:has(.wg-countdown-photo){background:linear-gradient(var(--ivory) 55%,#e3f1f8)}
body.sa-skin-webgency_eternal_romance .wg-countdown-photo{margin:32px calc(-1 * var(--wg-gutter)) calc(-1 * var(--wg-space));max-width:none}
body.sa-skin-webgency_eternal_romance .wg-countdown-photo img{width:100%;max-height:650px;object-fit:cover}
body.sa-skin-webgency_eternal_romance .wg-dove{margin-top:28px;margin-bottom:-24px}
body.sa-skin-webgency_eternal_romance #program{padding-top:26px}
body.sa-skin-webgency_eternal_romance .wg-fashion{gap:22px}
body.sa-skin-webgency_minimalist .wg-welcome .wg-letter{border:1px solid color-mix(in srgb,var(--ink) 32%,transparent);border-top:0;border-radius:0 0 26px 26px;padding:0 20px 30px}
body.sa-skin-webgency_minimalist .wg-welcome{padding-inline:12px}
body.sa-skin-webgency_minimalist #sa-sections h2{font-size:25px;font-weight:400;letter-spacing:.01em}
body.sa-skin-webgency_minimalist #program .wg-story-photo{margin-inline:calc(-1 * var(--wg-gutter));max-width:none;margin-bottom:36px}
body.sa-skin-webgency_minimalist #program .wg-story-photo img{width:100%;max-height:560px}
body.sa-skin-webgency_minimalist #gifts>div{border-radius:24px;padding:30px 18px}
body.sa-skin-webgency_royal_gold .wg-welcome .wg-letter,body.sa-skin-webgency_royal_gold #program>div:not(.wg-story-photo),body.sa-skin-webgency_royal_gold #gifts>div{--ink:#292f38;--ink-rgb:41,47,56;--title:#292f38}
body.sa-skin-webgency_royal_gold #rsvp form{--wg-form-ink:#292f38;--wg-form-bg:var(--paper);color:var(--wg-form-ink);border:0}
body.sa-skin-webgency_royal_gold #countdown span{color:var(--gold)!important}
body.sa-skin-webgency_royal_gold #countdown p{color:var(--ink)!important}
body.sa-skin-webgency_royal_gold #program .sa-prog-row p{color:#292f38!important}
body.sa-skin-webgency_royal_gold #program .sa-prog-time{color:#292f38!important}
body.sa-skin-webgency_royal_gold .sa-prog-row>div:first-child{background:var(--paper);border-color:#9c8d6b;color:#766545!important}
body.sa-skin-webgency_royal_gold .wg-welcome{padding-bottom:18px}
body.sa-skin-webgency_royal_gold #program{padding-top:24px}
body.sa-skin-webgency_royal_gold #gifts{padding-top:80px;padding-bottom:70px}
body.sa-skin-webgency_royal_gold #closing{padding-top:24px}
@media(min-width:768px){
 body.sa-skin-webgency_sacred_garden .wg-welcome,body.sa-skin-webgency_sacred_garden #program{background-size:140% 100%}
}
body[class*="sa-skin-webgency_"] .wg-venue-art{margin-block:28px 0}
body[class*="sa-skin-webgency_"] .wg-venue-art+.sa-map-embed{margin-top:24px}
body[class*="sa-skin-webgency_"] .sa-map-embed .sa-gallery-card{border-color:color-mix(in srgb,var(--ink) 25%,transparent)}body.sa-skin-webgency_dolce_vita .wg-venue-art{width:calc(100% + 2 * var(--wg-gutter));max-width:none;max-height:none;margin-inline:calc(-1 * var(--wg-gutter));object-fit:cover}

/* Phone layout audit: keep words within the open artwork and allow longer names to reflow. */
body[class*="sa-skin-webgency_"] #saHeroOverlay{max-width:min(100%,760px)}
body[class*="sa-skin-webgency_"] .sa-hero-title{max-width:100%}
body[class*="sa-skin-webgency_"] .sa-hero-title>span{min-width:0;max-width:100%}
body[class*="sa-skin-webgency_"] .sa-hero-kicker,body[class*="sa-skin-webgency_"] .sa-hero-date{max-width:100%!important;white-space:normal!important}
body[class*="sa-skin-webgency_"] .sa-hero-date{font-size:clamp(14px,3.8vw,18px);letter-spacing:.035em;margin-inline:auto}
body.sa-skin-webgency_sacred_garden.wg-stock-hero .sa-hero-overlay{background:linear-gradient(transparent 88%,var(--ivory))}
body.sa-skin-webgency_sacred_garden #heroScroll{color:var(--ink)}
body.sa-skin-webgency_blossom_oud #saHeroOverlay{top:46%;padding-inline:clamp(28px,9vw,70px)}
body.sa-skin-webgency_blossom_oud .sa-hero-name{font-size:clamp(40px,11vw,58px);line-height:1.08}
body.sa-skin-webgency_blossom_oud .sa-hero-title{margin:10px 0 16px}
body.sa-skin-webgency_blossom_oud .sa-hero-kicker{font-size:16px}
body.sa-skin-webgency_blossom_oud .sa-hero-amp{font-size:23px;color:var(--title)}
body.sa-skin-webgency_blossom_oud #heroScroll{color:var(--ink)}
body.sa-skin-webgency_vibrant_vows .sa-hero-amp{color:#fffaf8}
body.sa-skin-webgency_royal_gold .sa-hero-amp{color:var(--gold)}
body.sa-skin-webgency_dolce_vita #heroScroll{color:var(--ink)}
body.sa-skin-webgency_sacred_garden #gifts{padding-bottom:90px;background-size:90px auto}
body.sa-skin-webgency_sacred_garden #dress_code{background-size:90px auto}

/* The photograph starts after the complete header, including wrapped names and dates. */
body:is(.sa-skin-webgency_eternal_romance,.sa-skin-webgency_minimalist) .sa-hero{display:flex;flex-direction:column;justify-content:flex-start;height:auto;min-height:750px;max-height:none;padding-top:45px}
body:is(.sa-skin-webgency_eternal_romance,.sa-skin-webgency_minimalist) #saHeroOverlay{position:relative;inset:auto;order:1;flex-shrink:0;min-height:195px;padding-bottom:32px}
body:is(.sa-skin-webgency_eternal_romance,.sa-skin-webgency_minimalist) .sa-hero>div:first-child{position:relative;inset:auto;order:2;flex-shrink:0;height:clamp(510px,calc(100svh - 240px),660px);width:100%}
body.sa-skin-webgency_minimalist .sa-hero>div:first-child{width:calc(100% - 48px);margin-inline:24px}
body:is(.sa-skin-webgency_eternal_romance,.sa-skin-webgency_minimalist) .sa-hero-amp{align-self:center;margin:0}
body:is(.sa-skin-webgency_eternal_romance,.sa-skin-webgency_minimalist) .sa-hero-name{font-size:clamp(36px,10.8vw,46px)}

@media(max-width:359px){
 body[class*="sa-skin-webgency_"]{--wg-gutter:20px}
 body[class*="sa-skin-webgency_"] #saHeroOverlay{padding-inline:18px}
 body.sa-skin-webgency_blossom_oud #saHeroOverlay{padding-inline:26px}
 body[class*="sa-skin-webgency_"] #rsvp form{padding:24px 18px}
 body.sa-skin-webgency_blossom_oud .wg-letter{padding-inline:16px}
 body.sa-skin-webgency_dolce_vita .wg-letter-envelope{padding-inline:20px}
 body[class*="sa-skin-webgency_"] .sa-prog-row{column-gap:10px}
 body[class*="sa-skin-webgency_"] .sa-prog-row .sa-prog-time{font-size:21px}
 body[class*="sa-skin-webgency_"] .sa-prog-row h3{font-size:17px}
 body[class*="sa-skin-webgency_"] .sa-prog-row p{font-size:14px}
 body.sa-skin-webgency_royal_gold #program>div:not(.wg-story-photo){padding-inline:16px}
}

/* The venue photo (Release 2, sa_venue_photo_html). The design's own drawing (--sample) keeps the .wg-venue-art
   rules above, so the figure adds nothing around it; the couple's photo (and an old per-design upload, --legacy)
   gets this design's frame. Photos never letterbox: the image box takes the photo's own ratio (a set ratio only
   where the frame is a shape), and every border or mat sits on the figure, not on the image. */
body[class*="sa-skin-webgency_"] #details .sa-venue-photo--sample{max-width:none;margin:0}
body[class*="sa-skin-webgency_"] #details .sa-venue-photo:not(.sa-venue-photo--sample){position:relative;max-width:480px;margin:30px auto 0}
body[class*="sa-skin-webgency_"] .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{display:block;width:100%;height:auto;max-width:100%;max-height:560px;margin:0;object-fit:cover;border-radius:10px;box-shadow:none}
body[class*="sa-skin-webgency_"] .sa-venue-photo+.sa-map-embed{margin-top:24px}
/* Sacred Garden, Blossom & Oud: an arched window with a gilt keyline. */
body:is(.sa-skin-webgency_sacred_garden,.sa-skin-webgency_blossom_oud) #details .sa-venue-photo:not(.sa-venue-photo--sample){max-width:320px;padding:7px;background:var(--paper);border:1px solid color-mix(in srgb,var(--gold) 60%,transparent);border-radius:50% 50% 12px 12px/40% 40% 12px 12px}
body:is(.sa-skin-webgency_sacred_garden,.sa-skin-webgency_blossom_oud) .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{aspect-ratio:4/5;max-height:none;border-radius:50% 50% 7px 7px/39% 39% 7px 7px}
/* Dolce Vita, Minimalist: edge to edge, like their photographs. */
body:is(.sa-skin-webgency_dolce_vita,.sa-skin-webgency_minimalist) #details .sa-venue-photo:not(.sa-venue-photo--sample){width:calc(100% + 2 * var(--wg-gutter));max-width:none;margin:32px calc(-1 * var(--wg-gutter)) 0}
body:is(.sa-skin-webgency_dolce_vita,.sa-skin-webgency_minimalist) .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{max-height:620px;border-radius:0}
/* Vibrant Vows: a print, white mat and a slight tilt (mirrored in RTL). */
body.sa-skin-webgency_vibrant_vows #details .sa-venue-photo:not(.sa-venue-photo--sample){max-width:400px;padding:10px 10px 14px;background:#fffdfb;border:1px solid rgba(102,2,31,.12);box-shadow:0 12px 26px rgba(72,36,46,.18);transform:rotate(-1.2deg)}
html[dir=rtl] body.sa-skin-webgency_vibrant_vows #details .sa-venue-photo:not(.sa-venue-photo--sample){transform:rotate(1.2deg)}
body.sa-skin-webgency_vibrant_vows .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{border-radius:0;max-height:480px}
/* Eternal Romance: rounded with the grey hairline of its programme card; Royal Gold: a gold hairline on navy. */
body.sa-skin-webgency_eternal_romance #details .sa-venue-photo:not(.sa-venue-photo--sample){padding:7px;border:1px solid #a9b0b2;border-radius:26px}
body.sa-skin-webgency_eternal_romance .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{border-radius:19px}
body.sa-skin-webgency_royal_gold #details .sa-venue-photo:not(.sa-venue-photo--sample){padding:7px;border:1px solid var(--gold);border-radius:14px}
body.sa-skin-webgency_royal_gold .sa-venue-photo:not(.sa-venue-photo--sample) .sa-venue-photo__img{border-radius:8px}

/* Jasmine Courtyard (2026-09, drawn + animated: inc/scene_layer.php, assets/scenes/jasmine_courtyard.css).
   The text sits in the dusk sky inside the arch; the drawing needs no shade. */
body.sa-skin-webgency_jasmine_courtyard{--wg-card:var(--paper)}
body.sa-skin-webgency_jasmine_courtyard.wg-stock-hero .sa-hero-overlay{background:linear-gradient(transparent 90%,var(--ivory))}
body.sa-skin-webgency_jasmine_courtyard #saHeroOverlay{top:25%}
body.sa-skin-webgency_jasmine_courtyard .sa-hero-name{font-size:clamp(54px,15vw,78px);font-weight:600;color:var(--title)!important;line-height:1.02}
body.sa-skin-webgency_jasmine_courtyard .sa-hero-amp{color:var(--gold)!important}
body.sa-skin-webgency_jasmine_courtyard .sa-hero-kicker,body.sa-skin-webgency_jasmine_courtyard .sa-hero-date{color:var(--ink)!important}
body.sa-skin-webgency_jasmine_courtyard #heroScroll{color:var(--ink)}
