/* Premium non-wedding compositions. All selectors require the explicit registry body class.
   2026-09-22: one full-bleed hero recipe for every design (the inset arches cropped the artwork), one
   ornament per section boundary, no composition strips that bleed into neighbours. Every remaining
   !important fights an !important in rsvp.php's inline styles, Tailwind's .bg-ivory or event-designs.css. */
body.es-studio-v2{--es-rule:color-mix(in srgb,var(--divider) 34%,transparent);--es-soft-rule:color-mix(in srgb,var(--divider) 18%,transparent);--es-wash:color-mix(in srgb,var(--es-accent) 7%,var(--ivory));--es-shadow:0 24px 70px color-mix(in srgb,var(--ink) 14%,transparent);--es-gutter:clamp(21px,6.5vw,42px);--es-space:clamp(64px,17vw,108px);--es-column:1000px;margin:0}
.es-studio-v2 main{overflow:clip}
/* Hero: the media fills the first screen; the text block is anchored by es-text-top|center|bottom and
   coloured by es-tone-light|dark (registry hero_text / hero_tone / hero_ink). */
.es-studio-v2 .sa-hero{display:grid;align-items:start;isolation:isolate;width:100%;min-height:100svh;overflow:hidden;padding:clamp(56px,9svh,88px) var(--es-gutter) max(108px,calc(84px + env(safe-area-inset-bottom)))}
.es-studio-v2 .sa-hero>div:first-child{z-index:0;overflow:hidden;background:var(--es-wash)}
.es-studio-v2 .sa-hero>div:first-child>.es-hero-media,.es-studio-v2 .sa-hero>div:first-child>img,.es-studio-v2 .sa-hero>div:first-child>video#heroVideo{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:var(--es-hero-position,50% 50%);filter:none}
.es-studio-v2 .es-hero-fallback{position:absolute;inset:0;background:radial-gradient(circle at 70% 22%,color-mix(in srgb,var(--es-accent) 24%,transparent),transparent 38%),linear-gradient(145deg,var(--es-wash),var(--ivory))}
/* (0,3,0) outranks rsvp.php's per-skin body.sa-skin-x .sa-hero-overlay (0,2,1) without !important. */
.es-studio-v2 .sa-hero .sa-hero-overlay{position:absolute;inset:0;z-index:1;background:none}
.es-studio-v2.es-tone-dark .sa-hero .sa-hero-overlay{background:linear-gradient(180deg,rgba(0,0,0,.62),rgba(0,0,0,.16) 46%,rgba(0,0,0,.3))}
.es-studio-v2.es-tone-dark.es-text-bottom .sa-hero .sa-hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.68),rgba(0,0,0,.16) 48%,rgba(0,0,0,.2))}
.es-studio-v2.es-tone-dark.es-text-center .sa-hero .sa-hero-overlay{background:radial-gradient(ellipse 80% 55% at 50% 50%,rgba(0,0,0,.52),rgba(0,0,0,.14))}
.es-studio-v2.es-tone-light .sa-hero .sa-hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.72),rgba(255,255,255,.34) 34%,rgba(255,255,255,0) 56%)}
.es-studio-v2.es-tone-light.es-text-bottom .sa-hero .sa-hero-overlay{background:linear-gradient(0deg,rgba(255,255,255,.74),rgba(255,255,255,.34) 34%,rgba(255,255,255,0) 56%)}
.es-studio-v2.es-tone-light.es-text-center .sa-hero .sa-hero-overlay{background:radial-gradient(ellipse 80% 48% at 50% 50%,rgba(255,255,255,.7),rgba(255,255,255,0))}
.es-studio-v2 #saHeroOverlay{position:relative;z-index:3;justify-self:center;width:min(100%,560px);max-width:100%;padding:0;margin:0;text-align:center;color:var(--es-hero-ink,#fff)}
.es-studio-v2.es-text-top #saHeroOverlay{align-self:start}
.es-studio-v2.es-text-center #saHeroOverlay{align-self:center}
.es-studio-v2.es-text-bottom #saHeroOverlay{align-self:end}
.es-studio-v2.es-tone-dark #saHeroOverlay,.es-studio-v2.es-tone-dark #heroScroll{text-shadow:0 2px 22px rgba(0,0,0,.45)}
.es-studio-v2.es-tone-light #saHeroOverlay,.es-studio-v2.es-tone-light #heroScroll{text-shadow:0 1px 14px rgba(255,255,255,.65)}
/* Kicker: body font, tracked caps, readable. !important: rsvp.php's inline .sa-hero-kicker rule sets
   font-family / letter-spacing / text-transform !important and is shared with wedding pages. */
.es-studio-v2 #saHeroOverlay .sa-hero-kicker{display:flex;justify-content:center;align-items:center;gap:12px;margin:0 0 16px;font:600 12px/1.5 var(--font-body)!important;letter-spacing:.22em!important;text-transform:uppercase!important;color:inherit;white-space:normal;text-shadow:inherit}
.es-studio-v2 #saHeroOverlay .sa-hero-kicker:before,.es-studio-v2 #saHeroOverlay .sa-hero-kicker:after{content:'';flex:none;width:34px;height:1px;background:currentColor;color:inherit;opacity:.55}
.es-studio-v2 #saHeroOverlay .sa-hero-title{margin:0 0 16px;max-width:100%;white-space:normal}
/* Word-only wrapping. font-family !important: rsvp.php's per-skin .sa-hero-name{font-family:...!important} hits the legacy-id skins. */
.es-studio-v2 #saHeroOverlay .sa-hero-name{display:block;max-width:100%;font-family:var(--font-display)!important;font-size:clamp(40px,11.5vw,72px);font-weight:400;line-height:1.02;letter-spacing:-.02em;text-transform:none;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:manual;text-wrap:balance;color:inherit;text-shadow:inherit}
.es-studio-v2 #saHeroOverlay.es-title-long .sa-hero-name,.es-studio-v2 #saHeroOverlay:has(.es-title-long) .sa-hero-name{font-size:clamp(30px,8.6vw,54px);line-height:1.08}
.es-studio-v2 #saHeroOverlay .sa-hero-date{margin:0;font:500 13px/1.55 var(--font-body);letter-spacing:.08em;color:inherit;white-space:normal;text-shadow:inherit}
.es-studio-v2 #heroScroll{position:absolute;z-index:6;inset:auto 0 max(18px,calc(12px + env(safe-area-inset-bottom)));display:flex;flex-direction:column;align-items:center;gap:2px;margin:0;padding:0;color:var(--es-hero-ink,#fff);opacity:.95}
/* A chip keeps the cue legible wherever the artwork happens to be light or dark at the bottom. */
.es-studio-v2.es-tone-light{--es-hero-scrim:rgba(255,255,255,.66)}
.es-studio-v2.es-tone-dark{--es-hero-scrim:rgba(0,0,0,.38)}
.es-studio-v2 #heroScroll span{font:600 10px/1.4 var(--font-body);letter-spacing:.2em;text-shadow:none;padding:5px 12px;border-radius:999px;background:var(--es-hero-scrim,rgba(0,0,0,.38));backdrop-filter:blur(2px)}
.es-studio-v2 #heroScroll svg{width:18px;height:18px}
.es-studio-v2 .es-welcome{position:relative;isolation:isolate;width:100%;padding:clamp(58px,15vw,92px) var(--es-gutter);background:var(--ivory);color:var(--ink);text-align:center;overflow:hidden}
.es-studio-v2 .es-welcome-inner{position:relative;z-index:2;width:min(100%,580px);margin:auto}
.es-studio-v2 .es-welcome .sa-hero-guest{margin:0 0 21px;font:600 12px/1.6 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--title);text-shadow:none}
.es-studio-v2 .es-welcome .sa-text-root{margin:0!important;padding:0!important;font:400 clamp(17px,4.8vw,21px)/1.8 var(--font-display)!important;letter-spacing:0!important;color:var(--ink)!important}
.es-studio-v2 .es-welcome .sa-text-root p{margin:0 0 8px}
.es-studio-v2 #sa-sections{position:relative;width:100%;max-width:none;margin:0;background:var(--ivory)}
.es-studio-v2 #sa-sections>[data-sa-section]{position:relative;background:var(--ivory)}
.es-studio-v2 #sa-sections section{position:relative;isolation:isolate;width:100%;max-width:none;margin:0;padding:var(--es-space) var(--es-gutter);overflow:hidden;background:var(--ivory);color:var(--ink)}
.es-studio-v2 #sa-sections section:before{display:none}
/* Exactly one ornament per section boundary: in flow, inside the top padding, centred, never clipped. */
.es-studio-v2 #sa-sections section>.es-section-divider-art{display:block;position:relative;z-index:1;width:min(38vw,150px);height:54px;margin:-14px auto 22px;object-fit:contain;pointer-events:none;opacity:.9}
.es-studio-v2 #sa-sections h2{font-family:var(--font-display)!important;font-size:clamp(34px,9.5vw,54px);font-weight:400;line-height:1.08;letter-spacing:-.025em;color:var(--title)!important;text-wrap:balance}
.es-studio-v2 #sa-sections h3{font-family:var(--font-display);color:var(--title)}
.es-studio-v2 #sa-sections p{color:var(--ink);line-height:1.7}
.es-studio-v2 #sa-sections :is(.text-sage-dark\/50,.text-sage-dark\/60,.text-sage-dark\/70,.text-sage-dark\/80,.text-sage-dark\/90,.text-muted-foreground,.text-neutral-600){color:color-mix(in srgb,var(--ink) 76%,transparent)!important}
.es-studio-v2 #sa-sections #countdown{padding-block:clamp(54px,13vw,78px);background:var(--es-wash)!important}
.es-studio-v2 #countdown h2{font-size:clamp(29px,7.5vw,42px);margin-bottom:8px}
.es-studio-v2 #countdown>div>p{font:500 11px/1.6 var(--font-body);letter-spacing:.1em;margin:0 0 28px;color:var(--ink)!important}
.es-studio-v2 #countdown .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;max-width:600px;margin:auto}
.es-studio-v2 #countdown .grid>div{padding:9px 3px;background:transparent;border:0;border-radius:0;box-shadow:none;backdrop-filter:none}
.es-studio-v2 #countdown .grid>div+div{border-inline-start:1px solid var(--es-rule)}
.es-studio-v2 #countdown .grid>div>div{padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.es-studio-v2 #countdown [id^=cd_]{font-family:var(--font-display);font-size:clamp(30px,9vw,48px);font-weight:400;line-height:1;color:var(--title)!important;text-shadow:none}
.es-studio-v2 #countdown .grid span:last-child{font:600 8px/1.4 var(--font-body);letter-spacing:.09em;color:var(--ink)!important}
.es-studio-v2 #details>div,.es-studio-v2 #program>div,.es-studio-v2 #gallery>div,.es-studio-v2 #rsvp>div{position:relative;z-index:2}
.es-studio-v2 .sa-map-rows{margin:30px auto!important}
.es-studio-v2 .sa-map-actions a{font-family:var(--font-body);border-radius:0;background:transparent}
.es-studio-v2 .sa-map-embed{border-radius:0;border-color:var(--es-rule)}
.es-studio-v2 #program .sa-program-mobile{gap:30px!important}
.es-studio-v2 #program .sa-prog-row{position:relative;gap:18px}
.es-studio-v2 #program .sa-prog-row>div:first-child{background:var(--ivory);box-shadow:0 0 0 7px var(--ivory);border-color:var(--es-rule);color:var(--title)!important}
.es-studio-v2 #program .sa-prog-line-v{background:var(--es-rule)}
.es-studio-v2 #program .sa-prog-time{font:600 11px/1.4 var(--font-body);letter-spacing:.04em;color:var(--title)!important}
.es-studio-v2 #program .sa-prog-row h3{font-size:clamp(19px,5.2vw,25px)}
.es-studio-v2 #gallery .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.es-studio-v2 #gallery .sa-gallery-card{overflow:hidden;border:7px solid var(--paper);border-radius:0;box-shadow:0 12px 34px color-mix(in srgb,var(--ink) 11%,transparent);transform:none}
.es-studio-v2 #gallery .sa-gallery-card img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.es-studio-v2 :is(#dress_code,#gifts) .sa-text-section__body{max-width:34rem;margin-inline:auto;font:400 17px/1.8 var(--font-body);color:var(--ink)!important}
.es-studio-v2 #rsvp form{position:relative;overflow:hidden;max-width:580px;margin:auto;padding:clamp(27px,7vw,40px) clamp(19px,6vw,36px);border:1px solid var(--es-rule);border-radius:0;background:var(--es-form-surface,var(--paper))!important;color:var(--es-form-ink,var(--ink));box-shadow:var(--es-shadow);backdrop-filter:none}
.es-studio-v2 #rsvp form label,.es-studio-v2 #rsvp form p{color:var(--es-form-ink,var(--ink))!important}
.es-studio-v2 #rsvp form :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select){min-height:47px;border:1px solid var(--es-rule);border-radius:0;background:color-mix(in srgb,var(--es-form-surface,var(--paper)) 94%,var(--es-form-ink,var(--ink)))!important;color:var(--es-form-ink,var(--ink))!important;font-family:var(--font-body);font-size:16px;box-shadow:none}
.es-studio-v2 #rsvp form ::placeholder{color:color-mix(in srgb,var(--es-form-ink,var(--ink)) 58%,transparent);opacity:1}
.es-studio-v2 #rsvp form :is(input,textarea,select):focus{outline:2px solid var(--title);outline-offset:2px}
.es-studio-v2 #rsvp button[type=submit]{min-height:50px;border:1px solid var(--es-rule);border-radius:0;background:var(--btn-bg);color:var(--btn-text)!important;font-family:var(--font-body);font-size:15px}
.es-studio-v2 #sa-sections #rsvp form :is(label,legend,[class*=text-sage-dark],[class*=text-muted-foreground],[class*=text-neutral-]){color:var(--es-form-ink,var(--ink))!important}
/* (2,1,0) equals event-designs.css:72 and loads later, so it wins without !important. */
.es-studio-v2 #sa-sections #closing{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--es-space) var(--es-gutter)}
.es-studio-v2 #closing>.es-closing-art{order:0;width:min(78vw,390px);height:auto;max-height:260px;margin:0 auto 24px;object-fit:contain}
.es-studio-v2 #closing>div{order:1;width:100%;padding:0}
.es-studio-v2 #closing .sa-closing-sign{font-size:clamp(31px,8vw,46px);color:var(--title)}
.es-studio-v2 footer{background:var(--ivory)!important;color:var(--ink)!important;border:0;padding-bottom:max(36px,calc(24px + env(safe-area-inset-bottom)))}
.es-studio-v2 footer :is(p,a){color:var(--ink)!important}
.es-studio-v2 .es-media-failed:not([poster]){visibility:hidden}
.es-studio-v2.es-js .es-reveal{opacity:.35;translate:0 14px;transition:opacity .35s ease,translate .35s ease}
.es-studio-v2.es-js .es-reveal.es-visible{opacity:1;translate:0 0}

/* Birthday — Studio Disco. */
.es-comp-disco_vinyl{--es-wash:color-mix(in srgb,var(--es-accent) 8%,var(--ivory));--es-rule:rgba(238,99,137,.42)}
.es-comp-disco_vinyl .sa-hero:after{content:'';position:absolute;z-index:2;inset:0;background:repeating-radial-gradient(circle at 82% 14%,transparent 0 13px,rgba(255,255,255,.05) 14px 15px,transparent 16px 28px);pointer-events:none;mix-blend-mode:screen}
.es-comp-disco_vinyl #saHeroOverlay .sa-hero-kicker{color:#ffd9e4}
.es-comp-disco_vinyl #saHeroOverlay .sa-hero-name{text-transform:uppercase;font-family:var(--font-body)!important;font-weight:800;letter-spacing:-.06em;font-size:clamp(49px,15vw,88px)}
.es-comp-disco_vinyl .es-welcome:before{content:'';position:absolute;width:260px;aspect-ratio:1;border-radius:50%;inset-inline-end:-120px;top:-90px;background:repeating-radial-gradient(circle,#221622 0 3px,#5b3045 4px 5px,#221622 6px 12px);opacity:.15}
.es-comp-disco_vinyl #program{counter-reset:tracks;background:var(--ivory)!important;color:var(--ink)}
.es-comp-disco_vinyl #program .sa-prog-row{counter-increment:tracks;border-bottom:1px solid rgba(255,255,255,.16);padding-block:16px}
.es-comp-disco_vinyl #program .sa-prog-row:after{content:'0' counter(tracks);margin-inline-start:auto;font:700 34px/1 var(--font-body);color:rgba(232,99,137,.35)}
.es-comp-disco_vinyl #program :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}
.es-comp-disco_vinyl #rsvp form{border:1px dashed var(--es-accent);border-radius:16px;background:var(--es-form-surface,var(--paper))!important;box-shadow:9px 9px 0 var(--es-accent)}
.es-comp-disco_vinyl #rsvp form:before,.es-comp-disco_vinyl #rsvp form:after{content:'';position:absolute;top:84px;width:24px;height:44px;background:var(--ivory);border-radius:50%}
.es-comp-disco_vinyl #rsvp form:before{left:-13px}.es-comp-disco_vinyl #rsvp form:after{right:-13px}

/* Birthday — Golden Hour. */
.es-comp-golden_cutpaper .es-welcome{background:linear-gradient(160deg,var(--ivory),var(--es-wash))}
.es-comp-golden_cutpaper #program{background:linear-gradient(135deg,#fff8ec,#f0d8bd)!important}
.es-comp-golden_cutpaper #program .sa-program-mobile{gap:18px!important}
.es-comp-golden_cutpaper #program .sa-prog-row{background:var(--paper);padding:13px;border-radius:10px;box-shadow:5px 5px 0 color-mix(in srgb,var(--es-accent) 16%,transparent)}
.es-comp-golden_cutpaper #gallery .grid{gap:9px;background:var(--ink);padding:9px}
.es-comp-golden_cutpaper #gallery .sa-gallery-card{border:0;box-shadow:none;border-radius:0}
.es-comp-golden_cutpaper #rsvp form{border:0;border-radius:5px;box-shadow:10px 10px 0 color-mix(in srgb,var(--es-accent) 19%,var(--ivory));transform:rotate(-.5deg)}

/* Baby shower — Little Wonder. */
.es-comp-storybook_pages .es-welcome:after{content:'';position:absolute;inset:auto 0 0;height:22px;background:radial-gradient(18px 14px at 18px 0,transparent 17px,var(--paper) 18px) 0 0/36px 22px repeat-x}
.es-comp-storybook_pages #program{background:var(--paper)!important;box-shadow:inset 14px 0 22px rgba(45,58,45,.04)}
.es-comp-storybook_pages #gallery .sa-gallery-card{border-radius:80px 80px 5px 5px;box-shadow:none}
.es-comp-storybook_pages #rsvp form{border:4px double var(--es-rule);border-radius:110px 110px 5px 5px;padding-top:58px;box-shadow:none}
.es-comp-storybook_pages #rsvp form:before{content:'✦';position:absolute;top:24px;left:50%;translate:-50%;color:var(--title)}

/* Baby shower — Blush Silk. */
.es-comp-blush_silk .es-welcome{background:radial-gradient(circle at 12% 30%,rgba(187,110,135,.12),transparent 22%),var(--ivory)}
.es-comp-blush_silk #countdown .grid{gap:8px}
.es-comp-blush_silk #countdown .grid>div{border:1px solid var(--es-rule)!important;border-radius:50% 50% 12px 12px;background:var(--paper);padding-block:18px}
.es-comp-blush_silk #countdown .grid>div+div{border-inline-start:1px solid var(--es-rule)}
.es-comp-blush_silk #program .sa-program-mobile{display:grid;grid-template-columns:1fr 1fr;gap:18px!important}
.es-comp-blush_silk #program .sa-prog-row{display:block;text-align:center;padding:18px 8px;border-radius:90px 90px 12px 12px;background:var(--es-wash)}
.es-comp-blush_silk #program .sa-prog-line-v{display:none}
.es-comp-blush_silk #program .sa-prog-row>div:first-child{margin:0 auto 12px}
.es-comp-blush_silk #gallery .sa-gallery-card:nth-child(even){margin-top:26px}
.es-comp-blush_silk #rsvp form{border-radius:28px;box-shadow:inset 0 0 0 7px var(--paper),inset 0 0 0 8px var(--es-rule),var(--es-shadow)}
.es-comp-blush_silk #rsvp form:after{content:'';position:absolute;inset:12px;border:1px dashed var(--es-rule);border-radius:20px;pointer-events:none}

/* Graduation — Academic Folio. */
.es-comp-academic_folio .es-welcome-inner{border-block:4px double var(--es-rule);padding-block:34px}
.es-comp-academic_folio #sa-sections section{border-top:3px double var(--es-rule)}
.es-comp-academic_folio #program{margin:22px;width:calc(100% - 44px);border:1px solid var(--es-rule);background:var(--paper)!important}
.es-comp-academic_folio #program .sa-prog-row{border-bottom:1px solid var(--es-soft-rule);padding-block:14px}
.es-comp-academic_folio #gallery .sa-gallery-card{border-bottom-width:24px;outline:1px solid var(--es-rule);outline-offset:4px;box-shadow:none}
.es-comp-academic_folio #rsvp form{border:4px double var(--es-rule);box-shadow:none}

/* Graduation — Swiss Grid. */
.es-comp-swiss_grid #saHeroOverlay .sa-hero-name{font-family:var(--font-body)!important;font-weight:800;text-transform:uppercase;letter-spacing:-.06em}
.es-comp-swiss_grid .es-welcome{text-align:start;border-inline-start:12px solid var(--es-accent)}
.es-comp-swiss_grid #sa-sections section{background-image:linear-gradient(90deg,var(--es-soft-rule) 1px,transparent 1px);background-size:25% 100%}
.es-comp-swiss_grid #sa-sections h2{font-family:var(--font-body)!important;font-weight:800;text-transform:uppercase;letter-spacing:-.045em;text-align:start}
.es-comp-swiss_grid #program .sa-prog-row{display:grid;grid-template-columns:44px 56px minmax(0,1fr);column-gap:12px;row-gap:4px;border-top:1px solid var(--es-rule);padding-top:13px}
.es-comp-swiss_grid #program .sa-prog-row>div:first-child{grid-column:1;grid-row:1/3}
.es-comp-swiss_grid #program .sa-prog-row>div:nth-child(2),.es-comp-swiss_grid #program .sa-prog-row>div:nth-child(2)>div{display:contents}
.es-comp-swiss_grid #program .sa-prog-row .sa-prog-time{grid-column:2;grid-row:1;align-self:baseline}
.es-comp-swiss_grid #program .sa-prog-row h3{grid-column:3;grid-row:1;min-width:0;overflow-wrap:normal;word-break:normal}
.es-comp-swiss_grid #program .sa-prog-row p{grid-column:3;grid-row:2;min-width:0}
.es-comp-swiss_grid #program .sa-prog-line-v{display:none}
.es-comp-swiss_grid #gallery .grid{grid-template-columns:2fr 1fr;gap:5px}.es-comp-swiss_grid #gallery .sa-gallery-card{border:0;box-shadow:none}.es-comp-swiss_grid #gallery .sa-gallery-card:nth-child(3){grid-column:1/-1;aspect-ratio:2/1}
.es-comp-swiss_grid #rsvp form{border:2px solid var(--ink);box-shadow:12px 12px 0 var(--es-accent)}
.es-comp-swiss_grid #rsvp button[type=submit]{font-weight:800;text-transform:uppercase;letter-spacing:.12em}

/* Corporate — After Hours. */
.es-comp-deco_night .sa-hero:after{content:'';position:absolute;z-index:2;inset:22px;border:1px solid rgba(207,171,119,.52);clip-path:polygon(0 0,40% 0,50% 8%,60% 0,100% 0,100% 100%,60% 100%,50% 92%,40% 100%,0 100%);pointer-events:none}
.es-comp-deco_night #saHeroOverlay .sa-hero-name{text-transform:uppercase;letter-spacing:.08em;font-weight:300}
.es-comp-deco_night #sa-sections section{background:var(--ivory);color:var(--ink);border-top:1px solid rgba(207,171,119,.28)}
.es-comp-deco_night #sa-sections :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}
.es-comp-deco_night #program .sa-prog-row{border:1px solid rgba(207,171,119,.3);padding:16px;margin-bottom:8px}
.es-comp-deco_night #rsvp form{border:4px double rgba(207,171,119,.6);background:var(--es-form-surface,var(--paper))!important;box-shadow:none;clip-path:polygon(0 12px,12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px))}
.es-comp-deco_night #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:color-mix(in srgb,var(--es-form-surface,var(--paper)) 94%,var(--es-form-ink,var(--ink)))!important;color:var(--es-form-ink,var(--ink))!important}

/* Corporate — Architectural Minimal. */
.es-comp-architectural_grid #saHeroOverlay .sa-hero-name{font-family:var(--font-body)!important;font-weight:700;text-transform:uppercase;letter-spacing:-.04em}
.es-comp-architectural_grid .es-welcome-inner{display:grid;grid-template-columns:1fr 2fr;text-align:start;gap:24px}.es-comp-architectural_grid .es-welcome .sa-hero-guest{writing-mode:vertical-rl;margin:0}
.es-comp-architectural_grid #sa-sections section{border-block-start:1px solid var(--es-rule)}
.es-comp-architectural_grid #sa-sections h2{text-align:start;font-family:var(--font-body)!important;font-weight:650;font-size:clamp(28px,8vw,42px);letter-spacing:-.04em}
.es-comp-architectural_grid #program .sa-prog-row{border-top:1px solid var(--ink);padding-top:14px}
.es-comp-architectural_grid #gallery .grid{grid-template-columns:repeat(3,1fr);gap:4px}.es-comp-architectural_grid #gallery .sa-gallery-card{border:0;box-shadow:none}.es-comp-architectural_grid #gallery .sa-gallery-card:first-child{grid-column:span 2}
.es-comp-architectural_grid #rsvp form{border-inline:0;border-block:2px solid var(--ink);box-shadow:none;padding-inline:0}

/* Anniversary — Olive & Linen. */
.es-comp-linen_botanical{--es-wash:color-mix(in srgb,#85884d 7%,#efebdd)}
.es-comp-linen_botanical main{background-image:repeating-linear-gradient(90deg,transparent 0 5px,rgba(57,69,58,.018) 5px 6px)}
.es-comp-linen_botanical .es-welcome:after{content:'❧';display:block;margin:28px auto 0;font-size:42px;color:var(--es-accent)}
.es-comp-linen_botanical #sa-sections section{border-top:1px solid var(--es-rule)}
.es-comp-linen_botanical #program{margin-inline:18px;width:calc(100% - 36px);border-radius:34px 3px;background:var(--paper)!important}
.es-comp-linen_botanical #program .sa-prog-row{border-inline-start:1px solid var(--es-accent);padding-inline-start:20px}
.es-comp-linen_botanical #gallery .sa-gallery-card{border-radius:32px 3px;box-shadow:none;outline:1px solid var(--es-rule);outline-offset:4px}
.es-comp-linen_botanical #rsvp form{border-radius:36px 4px;box-shadow:inset 0 0 0 7px var(--paper),inset 0 0 0 8px var(--es-rule)}

/* Anniversary — Midnight Cinema. */
.es-comp-midnight_cinema .sa-hero:after{content:'';position:absolute;z-index:2;inset:0;background-image:radial-gradient(circle at 12% 18%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 78% 24%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 54% 8%,#fff 0 1px,transparent 1.5px);background-size:130px 150px;opacity:.38;pointer-events:none}
.es-comp-midnight_cinema .es-welcome{background:linear-gradient(165deg,var(--ivory),var(--paper));color:var(--ink)}
.es-comp-midnight_cinema .es-welcome :is(.sa-text-root,.sa-hero-guest){color:var(--ink)!important}
.es-comp-midnight_cinema #sa-sections section{background:var(--ivory);color:var(--ink)}
.es-comp-midnight_cinema #sa-sections :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}
.es-comp-midnight_cinema #program .sa-prog-row{border-block:1px solid rgba(200,158,194,.25);padding-block:14px}
.es-comp-midnight_cinema #gallery .grid{gap:4px;padding-block:22px;border-block:9px dotted rgba(241,233,239,.35)}
.es-comp-midnight_cinema #gallery .sa-gallery-card{border:0;box-shadow:none}
.es-comp-midnight_cinema #rsvp form{border:1px solid rgba(200,158,194,.55);background:var(--es-form-surface,var(--paper))!important;box-shadow:0 0 60px rgba(200,158,194,.08)}
.es-comp-midnight_cinema #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:color-mix(in srgb,var(--es-form-surface,var(--paper)) 94%,var(--es-form-ink,var(--ink)))!important;color:var(--es-form-ink,var(--ink))!important}

/* Garden Supper. */
.es-comp-mediterranean_table .es-welcome:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 8px 8px,color-mix(in srgb,#d78936 24%,transparent) 0 4px,transparent 4.5px) 0 0/32px 32px;opacity:.45}
.es-comp-mediterranean_table .es-welcome-inner{background:color-mix(in srgb,var(--ivory) 88%,transparent);padding:34px 22px}
.es-comp-mediterranean_table #program{margin:16px;width:calc(100% - 32px);background:var(--paper)!important;border:2px solid var(--es-accent);border-radius:4px 34px}
.es-comp-mediterranean_table #program .sa-prog-row{border-bottom:1px dotted var(--es-rule);padding-block:13px}
.es-comp-mediterranean_table #gallery .sa-gallery-card{border-radius:4px 28px;border-bottom-width:14px}
.es-comp-mediterranean_table #rsvp form{border:2px solid #315e73;border-radius:26px 5px;box-shadow:8px 8px 0 #d8a45d}

/* Neon night. */
.es-comp-neon_festival #saHeroOverlay .sa-hero-name{font-family:var(--font-body)!important;font-weight:800;text-transform:uppercase;letter-spacing:.02em;text-shadow:0 0 12px #43d9ff,0 0 36px #b249ff}
.es-comp-neon_festival #sa-sections section{background:var(--ivory);color:var(--ink);border-top:1px solid rgba(67,217,255,.32);box-shadow:inset 0 2px 22px rgba(67,217,255,.04)}
.es-comp-neon_festival #sa-sections :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}.es-comp-neon_festival #sa-sections h2{text-shadow:0 0 22px rgba(67,217,255,.45)}
.es-comp-neon_festival #countdown [id^=cd_]{text-shadow:0 0 18px #43d9ff}
.es-comp-neon_festival #program .sa-prog-row{border-inline-start:3px solid #43d9ff;padding-inline-start:18px;margin-bottom:8px}
.es-comp-neon_festival #gallery .sa-gallery-card{border:1px solid #43d9ff;box-shadow:0 0 26px rgba(67,217,255,.14)}
.es-comp-neon_festival #rsvp form{border:1px solid #43d9ff;border-radius:18px;background:var(--es-form-surface,var(--paper))!important;box-shadow:0 0 34px rgba(67,217,255,.15),inset 0 0 28px rgba(178,73,255,.06)}
.es-comp-neon_festival #rsvp button[type=submit]{border-radius:999px;box-shadow:0 0 20px rgba(67,217,255,.3)}

/* Candlelight Christmas. */
.es-comp-evergreen_candle .es-welcome{background:var(--ivory);color:var(--ink);border-block:1px solid rgba(208,174,106,.42)}.es-comp-evergreen_candle .es-welcome :is(.sa-text-root,.sa-hero-guest){color:var(--ink)!important}
.es-comp-evergreen_candle #sa-sections section{background:var(--ivory);color:var(--ink);border-top:1px solid rgba(208,174,106,.32)}
.es-comp-evergreen_candle #sa-sections :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}
.es-comp-evergreen_candle #countdown .grid>div{border:1px solid rgba(208,174,106,.45)!important;border-radius:50%;aspect-ratio:1;display:flex;flex-direction:column;justify-content:center}
.es-comp-evergreen_candle #program{background:var(--es-form-surface,var(--paper))!important}.es-comp-evergreen_candle #program .sa-prog-row{border-bottom:1px solid rgba(208,174,106,.25);padding-block:15px}
.es-comp-evergreen_candle #gallery .sa-gallery-card{outline:1px solid rgba(208,174,106,.4);outline-offset:4px;box-shadow:none}
.es-comp-evergreen_candle #rsvp form{border:4px double rgba(208,174,106,.55);background:var(--es-form-surface,var(--paper))!important;clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}
.es-comp-evergreen_candle #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:color-mix(in srgb,var(--es-form-surface,var(--paper)) 94%,var(--es-form-ink,var(--ink)))!important;color:var(--es-form-ink,var(--ink))!important}

/* Easter garden. */
.es-comp-spring_watercolor .es-welcome{background:radial-gradient(ellipse at 8% 70%,rgba(134,153,84,.13),transparent 24%),radial-gradient(ellipse at 92% 20%,rgba(203,150,183,.13),transparent 24%),var(--ivory)}
.es-comp-spring_watercolor #program .sa-prog-row>div:first-child{border-radius:50%;background:color-mix(in srgb,var(--es-accent) 22%,var(--paper))}
.es-comp-spring_watercolor #gallery .sa-gallery-card{border-radius:48% 48% 9px 9px}
.es-comp-spring_watercolor #rsvp form{border:0;border-radius:80px 80px 12px 12px;box-shadow:inset 0 0 0 1px var(--es-rule),var(--es-shadow)}

/* Ramadan courtyard. */
.es-comp-ramadan_courtyard #sa-sections section{background:var(--ivory);color:var(--ink)}
.es-comp-ramadan_courtyard #sa-sections :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}
.es-comp-ramadan_courtyard #countdown .grid{border-radius:130px 130px 4px 4px;border:1px solid rgba(202,182,138,.4);padding:26px 8px 14px}
.es-comp-ramadan_courtyard #program{background:var(--es-form-surface,var(--paper))!important}
.es-comp-ramadan_courtyard #program .sa-prog-row{border-bottom:1px solid rgba(202,182,138,.23);padding-block:14px}
.es-comp-ramadan_courtyard #rsvp form{border:2px solid rgba(202,182,138,.52);border-radius:160px 160px 4px 4px;padding-top:72px;background:var(--es-form-surface,var(--paper))!important;box-shadow:none}
.es-comp-ramadan_courtyard #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:color-mix(in srgb,var(--es-form-surface,var(--paper)) 94%,var(--es-form-ink,var(--ink)))!important;color:var(--es-form-ink,var(--ink))!important}

/* Eid al-Fitr textile. */
.es-comp-eid_textile #countdown .grid>div{background:var(--paper);border:1px solid var(--es-rule)!important;clip-path:polygon(50% 0,100% 22%,100% 78%,50% 100%,0 78%,0 22%);padding-block:18px}
.es-comp-eid_textile #program .sa-prog-row{border:1px solid var(--es-rule);padding:13px;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}
.es-comp-eid_textile #rsvp form{border:0;box-shadow:0 0 0 1px var(--es-rule),10px 10px 0 color-mix(in srgb,var(--es-accent) 20%,var(--ivory));clip-path:polygon(50% 18px,100% 0,100% 100%,0 100%,0 0)}

/* Eid al-Adha woven hospitality. */
.es-comp-woven_hospitality main{background-image:repeating-linear-gradient(0deg,transparent 0 5px,rgba(117,88,63,.025) 5px 6px)}
.es-comp-woven_hospitality .es-welcome{background:repeating-linear-gradient(45deg,transparent 0 12px,rgba(177,140,92,.05) 12px 13px),var(--ivory)}
.es-comp-woven_hospitality #program{margin:18px;width:calc(100% - 36px);background:var(--paper)!important;border-inline:8px solid color-mix(in srgb,var(--es-accent) 20%,transparent)}
.es-comp-woven_hospitality #program .sa-prog-row{border-bottom:1px dashed var(--es-rule);padding-block:14px}
.es-comp-woven_hospitality #gallery .sa-gallery-card{border:10px solid var(--paper);outline:2px dashed var(--es-rule);outline-offset:-7px;box-shadow:none}
.es-comp-woven_hospitality #rsvp form{border:8px double var(--es-rule);box-shadow:none}

/* Passover linen. */
.es-comp-seder_linen .es-welcome-inner{background:var(--paper);padding:34px 26px;box-shadow:6px 8px 0 color-mix(in srgb,var(--es-accent) 10%,transparent);transform:rotate(-.5deg)}
.es-comp-seder_linen #program .sa-prog-row{background:var(--paper);padding:15px;box-shadow:3px 3px 0 var(--es-soft-rule)}
.es-comp-seder_linen #gallery .sa-gallery-card{border-bottom-width:26px;box-shadow:3px 4px 0 var(--es-soft-rule)}
.es-comp-seder_linen #rsvp form{box-shadow:5px 6px 0 var(--es-soft-rule);transform:rotate(.35deg)}

/* Rosh Hashanah. */
.es-comp-honey_pomegranate .es-welcome:after{content:'';position:absolute;inset:auto 0 0;height:24px;background:radial-gradient(30px 22px at 30px 0,transparent 21px,color-mix(in srgb,var(--es-accent) 18%,var(--ivory)) 22px) 0 0/60px 24px repeat-x}
.es-comp-honey_pomegranate #countdown .grid>div{background:linear-gradient(180deg,#fff9e8,#f4de9e);border-radius:50% 50% 8px 8px}
.es-comp-honey_pomegranate #program .sa-prog-row>div:first-child{background:var(--es-accent);color:var(--btn-text)!important;border-radius:50%}
.es-comp-honey_pomegranate #rsvp form{border-radius:50px 5px;box-shadow:8px 8px 0 color-mix(in srgb,#a23e39 13%,transparent)}

/* Diwali rangoli. */
.es-comp-diwali_rangoli #sa-sections section{background:var(--ivory);color:var(--ink);border-top:1px solid rgba(223,175,113,.35)}
.es-comp-diwali_rangoli #sa-sections :is(h2,h3,p,.sa-prog-time){color:var(--ink)!important}
.es-comp-diwali_rangoli #countdown .grid>div{border-radius:50% 50% 8px 8px;border:1px solid rgba(223,175,113,.5)!important;background:var(--paper)}
.es-comp-diwali_rangoli #program .sa-prog-row{background:var(--paper);padding:15px;clip-path:polygon(50% 0,100% 12px,100% 100%,0 100%,0 12px)}
.es-comp-diwali_rangoli #rsvp form{border:3px double rgba(223,175,113,.65);background:var(--es-form-surface,var(--paper))!important;box-shadow:0 0 50px rgba(223,175,113,.1);clip-path:polygon(50% 0,100% 25px,100% 100%,0 100%,0 25px)}
.es-comp-diwali_rangoli #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:color-mix(in srgb,var(--es-form-surface,var(--paper)) 94%,var(--es-form-ink,var(--ink)))!important;color:var(--es-form-ink,var(--ink))!important}

/* Holi powder. */
.es-comp-holi_powder #saHeroOverlay .sa-hero-name{font-family:var(--font-body)!important;font-weight:900;text-transform:uppercase;letter-spacing:-.06em;text-shadow:4px 4px 0 #db4d82,-4px -3px 0 #4bbee6}
.es-comp-holi_powder .es-welcome{background:radial-gradient(circle at 2% 20%,rgba(75,190,230,.25),transparent 23%),radial-gradient(circle at 98% 72%,rgba(219,77,130,.22),transparent 24%),var(--ivory)}
.es-comp-holi_powder #countdown .grid>div:nth-child(4n+1){background:#f8c95d}.es-comp-holi_powder #countdown .grid>div:nth-child(4n+2){background:#a8ddeb}.es-comp-holi_powder #countdown .grid>div:nth-child(4n+3){background:#e9a6c4}.es-comp-holi_powder #countdown .grid>div:nth-child(4n){background:#c9b1e5}
.es-comp-holi_powder #program .sa-prog-row{border-radius:999px;background:var(--paper);padding:13px 18px;box-shadow:5px 6px 0 color-mix(in srgb,var(--es-accent) 13%,transparent)}
.es-comp-holi_powder #gallery .sa-gallery-card{border-radius:50% 42% 46% 54%}
.es-comp-holi_powder #rsvp form{border:0;border-radius:26px;box-shadow:10px 10px 0 #4bbee6,-7px -7px 0 #e686b0}
.es-comp-holi_powder #rsvp button[type=submit]{border-radius:999px}

/* Shōgatsu washi. */
.es-comp-washi_newyear .es-welcome{background:repeating-linear-gradient(100deg,transparent 0 7px,rgba(109,60,58,.022) 7px 8px),var(--ivory)}
.es-comp-washi_newyear #sa-sections section{border-top:1px solid var(--es-rule)}
.es-comp-washi_newyear #countdown .grid{border-block:2px solid #b73d3a;padding-block:18px}
.es-comp-washi_newyear #program .sa-prog-row{border-bottom:1px solid var(--es-rule);padding-block:14px}.es-comp-washi_newyear #program .sa-prog-row>div:first-child{border-radius:50%;background:var(--es-accent);color:var(--btn-text)!important}
.es-comp-washi_newyear #gallery .sa-gallery-card{border:0;box-shadow:6px 6px 0 rgba(183,61,58,.12);clip-path:polygon(0 0,100% 3%,97% 100%,3% 97%)}
.es-comp-washi_newyear #rsvp form{border:0;box-shadow:0 0 0 1px var(--es-rule),8px 8px 0 rgba(183,61,58,.13);clip-path:polygon(0 0,100% 2%,98% 100%,2% 98%)}
.es-comp-washi_newyear #rsvp form:before{content:'';position:absolute;inset-inline-end:20px;top:20px;width:36px;aspect-ratio:1;border-radius:50%;background:var(--es-accent);opacity:.72}
/* RTL, compact phones, landscape and desktop. */
html[dir=rtl] .es-studio-v2 :is(#saHeroOverlay,.es-welcome,#sa-sections){letter-spacing:0}
html[dir=rtl] .es-studio-v2 #saHeroOverlay .sa-hero-name{line-height:1.25;letter-spacing:0}
html[dir=rtl] .es-studio-v2 #saHeroOverlay .sa-hero-kicker{font-size:14px!important;letter-spacing:0!important;text-transform:none!important}
html[dir=rtl] .es-studio-v2 :is(.es-welcome .sa-hero-guest,#heroScroll span,#countdown .grid span:last-child,#countdown>div>p){letter-spacing:0;text-transform:none}
html[dir=rtl] .es-studio-v2 .es-welcome .sa-hero-guest{font-size:14px}
html[dir=rtl] .es-comp-architectural_grid .es-welcome .sa-hero-guest{writing-mode:vertical-lr}
@media(max-width:359px){body.es-studio-v2{--es-gutter:18px;--es-space:55px}.es-studio-v2 #saHeroOverlay .sa-hero-name{font-size:clamp(34px,11vw,54px)}.es-studio-v2 #sa-sections h2{font-size:31px}.es-studio-v2 #countdown .grid span:last-child{font-size:7px}.es-studio-v2 #rsvp form{padding-inline:16px}.es-comp-blush_silk #program .sa-program-mobile{grid-template-columns:1fr}}
@media(orientation:landscape) and (max-height:600px){.es-studio-v2 .sa-hero{padding-block:24px 72px}.es-studio-v2 #saHeroOverlay .sa-hero-name{font-size:clamp(28px,7vh,48px)}.es-studio-v2 .es-welcome{padding-block:48px}}
@media(min-width:768px){body.es-studio-v2{--es-gutter:clamp(42px,7vw,84px)}.es-studio-v2 #saHeroOverlay{width:min(100%,640px)}.es-studio-v2 #saHeroOverlay .sa-hero-name{font-size:clamp(44px,6vw,76px)}.es-studio-v2 .es-welcome-inner,.es-studio-v2 #sa-sections section{max-width:var(--es-column);margin-inline:auto}.es-studio-v2 #gallery .grid{grid-template-columns:repeat(4,minmax(0,1fr))}.es-studio-v2 #rsvp form{padding:42px}.es-studio-v2 #sa-sections section>.es-section-divider-art{width:160px}.es-comp-blush_silk #program .sa-program-mobile{grid-template-columns:repeat(3,1fr)}.es-comp-swiss_grid #gallery .grid,.es-comp-architectural_grid #gallery .grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:no-preference){.es-studio-v2 #heroScroll svg{animation:es-v2-nudge 2.8s ease-in-out infinite}.es-comp-disco_vinyl .sa-hero:after{animation:es-v2-spin 36s linear infinite}.es-comp-midnight_cinema .sa-hero:after{animation:es-v2-stars 9s ease-in-out infinite}.es-comp-neon_festival #saHeroOverlay .sa-hero-name{animation:es-v2-neon 5s ease-in-out infinite}.es-comp-evergreen_candle .sa-hero>div:first-child{animation:es-v2-candle 6s ease-in-out infinite}@keyframes es-v2-nudge{50%{translate:0 4px}}@keyframes es-v2-spin{to{rotate:360deg}}@keyframes es-v2-stars{50%{opacity:.65}}@keyframes es-v2-neon{50%{filter:brightness(1.14)}}@keyframes es-v2-candle{50%{filter:brightness(1.06) saturate(1.04)}}}
@media(prefers-reduced-motion:reduce){.es-studio-v2 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.es-studio-v2 .es-reveal{opacity:1;translate:none}.es-studio-v2 .sa-hero>div:first-child{background:var(--es-wash)}}
/* Studio Disco's pale ticket needs its own dark form ink. */
.es-comp-disco_vinyl #rsvp form{color:var(--es-form-ink)}
.es-comp-disco_vinyl #rsvp form :is(label,p,span,legend){color:var(--es-form-ink)!important}
.es-comp-disco_vinyl #rsvp form :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:color-mix(in srgb,var(--es-form-surface) 94%,var(--es-form-ink))!important;color:var(--es-form-ink)!important;border-color:color-mix(in srgb,var(--es-form-ink) 30%,transparent)!important}
.es-comp-disco_vinyl #rsvp form ::placeholder{color:color-mix(in srgb,var(--es-form-ink) 58%,transparent)}
/* The venue photo (Release 2, sa_venue_photo_html): mounted like the composition's gallery prints, in its paper and
   rule; a few compositions give it their own shape. The mat is on the figure, the image keeps its ratio. */
.es-studio-v2.sa-event-upgraded #details .sa-venue-photo{max-width:560px;margin:34px auto 0;padding:7px;background:var(--es-paper,var(--paper));border:1px solid var(--es-rule);border-radius:0;box-shadow:0 12px 34px color-mix(in srgb,var(--ink) 11%,transparent)}
.es-studio-v2 .sa-venue-photo .sa-venue-photo__img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:0;box-shadow:none}
.es-studio-v2:is(.es-comp-storybook_pages,.es-comp-spring_watercolor) #details .sa-venue-photo{max-width:380px;padding:8px;border-radius:50% 50% 10px 10px/34% 34% 10px 10px;box-shadow:none}
.es-studio-v2:is(.es-comp-storybook_pages,.es-comp-spring_watercolor) .sa-venue-photo .sa-venue-photo__img{aspect-ratio:4/5;max-height:none;border-radius:50% 50% 5px 5px/33% 33% 5px 5px}
.es-studio-v2.es-comp-disco_vinyl #details .sa-venue-photo{border:1px dashed var(--es-accent);border-radius:16px;box-shadow:9px 9px 0 var(--es-accent)}
.es-studio-v2.es-comp-disco_vinyl .sa-venue-photo .sa-venue-photo__img{border-radius:10px}
.es-studio-v2.es-comp-swiss_grid #details .sa-venue-photo{padding:0;border:2px solid var(--ink);box-shadow:12px 12px 0 var(--es-accent)}
.es-studio-v2.es-comp-deco_night #details .sa-venue-photo{border:4px double rgba(207,171,119,.6);box-shadow:none}
.es-studio-v2.es-comp-neon_festival #details .sa-venue-photo{border-color:#43d9ff;box-shadow:0 0 26px rgba(67,217,255,.14)}
.es-studio-v2.es-comp-linen_botanical #details .sa-venue-photo{border-radius:32px 3px;box-shadow:none;outline:1px solid var(--es-rule);outline-offset:4px}
.es-studio-v2.es-comp-linen_botanical .sa-venue-photo .sa-venue-photo__img{border-radius:26px 2px}
.es-studio-v2.es-comp-blush_silk #details .sa-venue-photo{border-radius:28px}
.es-studio-v2.es-comp-blush_silk .sa-venue-photo .sa-venue-photo__img{border-radius:21px}
