*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg1);color:var(--ink);font-family:Montserrat,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.page{width:min(calc(100% - 40px),1080px);margin:0 auto;background:var(--paper);box-shadow:0 30px 90px rgba(48,63,72,.14);overflow:hidden;position:relative}.hero{position:relative;background:var(--paper);isolation:isolate;overflow:hidden}.hero-photo{position:relative;width:100%;height:clamp(560px,53vw,740px);overflow:hidden;z-index:1;border-radius:0 0 50% 50%/0 0 14% 14%}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(40,50,55,.08),transparent 34%);pointer-events:none}.hero-copy{position:relative;min-height:680px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:112px 120px 142px;overflow:hidden}.hero-copy:before{content:"";position:absolute;inset:74px 100px 80px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:320px 320px 38px 38px;pointer-events:none}.eyebrow{margin:0 0 34px;font-size:17px;line-height:1.5;letter-spacing:.24em;font-weight:600;text-transform:uppercase;position:relative;z-index:2}.names{margin:0;color:var(--ink);font-family:"Cormorant Garamond",serif;font-weight:500;line-height:.84;font-size:clamp(82px,7.5vw,116px);letter-spacing:-.025em;position:relative;z-index:2}.names>span:not(.and){display:block}.names .and{display:block;margin:30px 0 26px;font-family:Sacramento,cursive;font-size:72px;font-weight:400;line-height:.75;transform:rotate(-3deg)}.date-place{margin:58px auto 0;max-width:560px;font-size:18px;line-height:1.7;letter-spacing:.12em;font-weight:600;text-transform:uppercase;position:relative;z-index:2}.ornament{position:absolute;z-index:4;object-fit:contain;pointer-events:none;user-select:none}.leaf-top{left:18px;top:calc(clamp(560px,53vw,740px) - 46px);width:180px;transform:rotate(-9deg);z-index:5}.leaf-right{right:12px;top:54px;width:220px;transform:rotate(-7deg)}.dots{left:22px;top:245px;width:108px}.flower{right:24px;bottom:18px;width:165px}.waves{left:18px;bottom:36px;width:175px}.rings{left:50%;bottom:-52px;width:175px;transform:translateX(-22%)}.section{position:relative;padding:118px 82px;overflow:hidden;isolation:isolate}.section--soft{background:var(--bg2)}.section--ink{background:color-mix(in srgb,var(--ink) 88%,#1d2931 12%);color:#fff}.section-inner{width:min(100%,980px);margin:0 auto;position:relative;z-index:2}.section-kicker{margin:0 0 18px;text-align:center;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:600}.section-title{margin:0 0 22px;text-align:center;font-family:"Cormorant Garamond",serif;font-size:clamp(56px,5vw,74px);line-height:1;font-weight:500;color:inherit}.section-text{margin:0 auto;max-width:760px;text-align:center;font-family:"Cormorant Garamond",serif;font-size:30px;line-height:1.5}.section-decor-left{left:22px;top:34px;width:165px;opacity:.3;transform:rotate(-7deg)}.section-decor-right{right:24px;bottom:18px;width:175px;opacity:.28;transform:rotate(8deg)}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:820px;margin:46px auto 0}.countdown-item{padding:30px 12px 26px;border:1px solid color-mix(in srgb,var(--ink) 24%,transparent);background:color-mix(in srgb,#fff 66%,transparent);text-align:center;border-radius:22px}.countdown-value{display:block;font-family:"Cormorant Garamond",serif;font-size:52px;line-height:1;color:var(--ink)}.countdown-label{display:block;margin-top:9px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}.story-card{display:grid;grid-template-columns:1.05fr .95fr;gap:0;max-width:930px;margin:48px auto 0;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 45px rgba(76,90,99,.11)}.story-photo{min-height:480px}.story-photo img{width:100%;height:100%;object-fit:cover}.story-copy{display:flex;flex-direction:column;justify-content:center;padding:48px}.story-copy p{margin:0 0 18px;font-family:"Cormorant Garamond",serif;font-size:25px;line-height:1.55}.program{max-width:820px;margin:52px auto 0}.program-row{display:grid;grid-template-columns:120px 1px 1fr;gap:30px;align-items:start;min-height:122px}.program-time{text-align:right;font-family:"Cormorant Garamond",serif;font-size:33px}.program-line{position:relative;height:100%;background:color-mix(in srgb,var(--ink) 28%,transparent)}.program-line:before{content:"";position:absolute;left:50%;top:6px;width:10px;height:10px;border:2px solid var(--accent2);border-radius:50%;background:var(--paper);transform:translateX(-50%)}.program-info h3{margin:0 0 8px;font-family:"Cormorant Garamond",serif;font-size:33px;font-weight:500}.program-info p{margin:0;font-size:14px;line-height:1.7}.gallery-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-auto-rows:250px;gap:16px;max-width:980px;margin:48px auto 0}.gallery-item{position:relative;overflow:hidden;border-radius:24px;margin:0;background:var(--bg2)}.gallery-item:first-child{grid-row:span 2}.gallery-item a,.gallery-item img{width:100%;height:100%;display:block}.gallery-item img{object-fit:cover;transition:transform .55s ease}.gallery-item:hover img{transform:scale(1.04)}.palette{display:flex;justify-content:center;gap:16px;margin:40px auto 0;flex-wrap:wrap}.swatch{width:56px;height:56px;border-radius:50%;box-shadow:inset 0 0 0 5px rgba(255,255,255,.7)}.footer{padding:78px 30px 86px;text-align:center;background:var(--paper)}.footer .names{font-size:56px}.footer .names .and{font-size:42px;margin:14px 0}.footer p{margin:30px 0 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.fade-up{opacity:0;transform:translateY(18px);transition:.65s ease}.fade-up.show{opacity:1;transform:none}
/* shared location block */#loc{margin-top:46px}#loc .locations,#loc .location-grid,#loc .locGrid,#loc .location-list{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important}#loc article,#loc .location-card,#loc .locCard,#loc .location{border-radius:28px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 18px 45px rgba(76,90,99,.12)!important}#loc img{width:100%;max-height:420px;object-fit:cover}#loc a,#loc button{border-radius:999px!important;background:var(--button-bg)!important;color:var(--button-text)!important;border:0!important}
/* shared RSVP block */.et-rsvp form,.et-rsvp .rsvp-form,.et-rsvp .rsvpForm{max-width:840px!important;margin:44px auto 0!important}.et-rsvp input,.et-rsvp textarea,.et-rsvp select{border-radius:15px!important;border:1px solid rgba(255,255,255,.42)!important;background:rgba(255,255,255,.12)!important;color:#fff!important}.et-rsvp button[type=submit]{border-radius:999px!important;background:#fff!important;color:var(--ink)!important;border:0!important}.et-rsvp label,.et-rsvp p,.et-rsvp h3{color:#fff}
@media(max-width:980px){.page{width:min(calc(100% - 24px),1080px)}.hero-photo{height:600px}.leaf-top{top:568px}.hero-copy{min-height:650px;padding:104px 68px 132px}.hero-copy:before{inset:68px 54px 76px}.section{padding:104px 54px}}
@media(max-width:760px){.page{width:100%;margin:0}.hero-photo{height:470px;border-radius:0}.hero-copy{min-height:620px;padding:92px 34px 116px}.hero-copy:before{inset:52px 26px 68px;border-radius:190px 190px 24px 24px}.eyebrow{font-size:13px;margin-bottom:24px}.names{font-size:64px}.names .and{font-size:48px;margin:20px 0}.date-place{margin-top:42px;font-size:14px}.leaf-top{width:92px;left:10px;top:448px}
.leaf-right{width:132px;right:4px;top:62px}.dots{width:68px;left:14px;top:250px}
.flower{width:92px;right:14px;bottom:18px}.waves{width:108px;left:12px;bottom:24px}.rings{width:104px;left:44%;bottom:-32px}.section{padding:82px 24px}.section-title{font-size:47px}.section-text{font-size:24px}.countdown{grid-template-columns:repeat(2,1fr);gap:10px;max-width:350px}.countdown-item{padding:20px 8px 17px}.countdown-value{font-size:40px}.story-card{grid-template-columns:1fr}.story-photo{min-height:330px}.story-copy{padding:34px 26px}.program-row{grid-template-columns:72px 1px 1fr;gap:16px;min-height:112px}.program-time{font-size:25px}.program-info h3{font-size:26px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:10px}.gallery-item:first-child{grid-column:1/-1;grid-row:auto;height:310px}#loc .locations,#loc .location-grid,#loc .locGrid,#loc .location-list{grid-template-columns:1fr!important}.footer .names{font-size:44px}}
@media(max-width:430px){.hero-photo{height:410px;border-radius:0 0 50% 50%/0 0 9% 9%}.leaf-top{top:388px}.hero-copy{min-height:580px;padding-left:22px;padding-right:22px}.names{font-size:57px}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:220px}.gallery-item:first-child{grid-column:auto;height:290px}}
@media(prefers-reduced-motion:no-preference){.hero-photo img{animation:slowZoom 16s ease-in-out infinite alternate}@keyframes slowZoom{to{transform:scale(1.04)}}}

/* clean template placeholders */
.hero-photo img[src*="photo-placeholder"],.story-photo img[src*="photo-placeholder"]{object-fit:cover;animation:none!important}.gallery-item.is-placeholder{border:1px dashed color-mix(in srgb,var(--ink) 30%,transparent);background:color-mix(in srgb,var(--paper) 72%,var(--bg2) 28%)}.gallery-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:18px;color:var(--muted);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.gallery-placeholder img{width:74px!important;height:58px!important;object-fit:contain!important;opacity:.62;transform:none!important}.gallery-item.is-placeholder:hover img{transform:none}.gallery-item.is-placeholder:first-child .gallery-placeholder img{width:96px!important;height:76px!important}


/* =========================================
   TIMER: clean block without hardcoded text
========================================= */
.intro-section{min-height:360px;display:flex;align-items:center;padding-top:96px;padding-bottom:96px}
.intro-section .section-inner{width:min(100%,900px)}
.intro-section .countdown{margin:0 auto;position:relative;z-index:3}
.timer-decor{opacity:.26;z-index:1}
.timer-decor--left{
  left: 5px;
    bottom: 235px;
    width: 150px;
    transform: rotate(-10deg);}
.timer-decor--right{right:24px;top:20px;width:154px;transform:rotate(9deg)}

/* =========================================
   RSVP: guaranteed contrast for every theme
========================================= */
.et-rsvp{
  --rsvp-bg:color-mix(in srgb,var(--button-bg) 82%,#24313a 18%);
  --rsvp-panel:rgba(255,255,255,.11);
  --rsvp-field:rgba(255,255,255,.09);
  --rsvp-field-border:rgba(255,255,255,.38);
  --rsvp-text:#ffffff;
  --rsvp-muted:rgba(255,255,255,.78);
  --rsvp-placeholder:rgba(255,255,255,.58);
  --rsvp-button:#ffffff;
  --rsvp-button-text:#394652;
  background:var(--rsvp-bg)!important;
  color:var(--rsvp-text)!important;
}

.et-rsvp label,
.et-rsvp legend,
.et-rsvp .label,
.et-rsvp .hint,
.et-rsvp small,
.et-rsvp .consent-text,
.et-rsvp [class*="consent"] p,
.et-rsvp [class*="policy"]{
  color:var(--rsvp-muted)!important;
  opacity:1!important;
}
.et-rsvp input:not([type="checkbox"]):not([type="radio"]),
.et-rsvp textarea,
.et-rsvp select{
  background:var(--rsvp-field)!important;
  border:1px solid var(--rsvp-field-border)!important;
  color:var(--rsvp-text)!important;
  -webkit-text-fill-color:var(--rsvp-text)!important;
  caret-color:#fff!important;
  box-shadow:none!important;
}
.et-rsvp input::placeholder,
.et-rsvp textarea::placeholder{
  color:var(--rsvp-placeholder)!important;
  -webkit-text-fill-color:var(--rsvp-placeholder)!important;
  opacity:1!important;
}
.et-rsvp select option{color:#24313a!important;background:#fff!important}
.et-rsvp input[type="checkbox"],
.et-rsvp input[type="radio"]{
  accent-color:var(--button-bg)!important;
  background:#fff!important;
  border-color:rgba(255,255,255,.72)!important;
}
.et-rsvp button,
.et-rsvp button[type="submit"],
.et-rsvp input[type="submit"]{
  background:var(--rsvp-button)!important;
  color:var(--rsvp-button-text)!important;
  -webkit-text-fill-color:var(--rsvp-button-text)!important;
  border:0!important;
  opacity:1!important;
}
.et-rsvp button:hover,
.et-rsvp button[type="submit"]:hover,
.et-rsvp input[type="submit"]:hover{filter:brightness(.96)!important}
.et-rsvp [role="radiogroup"] button,
.et-rsvp .attendance-options button,
.et-rsvp .rsvp-options button,
.et-rsvp .answer-options button{
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.3)!important;
}
.et-rsvp [aria-pressed="true"],
.et-rsvp button.active,
.et-rsvp input:checked + label,
.et-rsvp .is-active{
  background:#fff!important;
  color:var(--rsvp-button-text)!important;
  -webkit-text-fill-color:var(--rsvp-button-text)!important;
}
.et-rsvp a{color:#fff!important;text-decoration-color:rgba(255,255,255,.7)!important}

@media(max-width:760px){
  .intro-section{min-height:300px;padding-top:74px;padding-bottom:74px}
  .timer-decor--left{left:6px;bottom:10px;width:96px}
  .timer-decor--right{right:8px;top:12px;width:88px}
}


/* =========================================================
   ETALON 4.0 — SHARED LOCATION / RSVP CLEAN INTEGRATION
========================================================= */

/* Shared blocks already contain their own internal headers. The template
   renders the editable studio heading once, so every duplicate is hidden. */
.et-location-block #loc > .iviLoc > .iviLocKicker,
.et-location-block #loc > .iviLoc > .iviLocTitle,
.et-location-block #loc > .iviLoc > .iviLocText,
.et-location-block #loc > .iviLoc > .sectionTitle,
.et-location-block #loc > .iviLoc > .sectionSub,
.et-location-block #loc .iviLocHead,
.et-location-block #loc .iviLocHeader,
.et-location-block #loc > header,
.et-location-block #loc > h1,
.et-location-block #loc > h2,
.et-location-block #loc > h3,
.et-location-block #loc > p:first-of-type{
  display:none!important;
}

.et-location-block{margin-top:46px}
.et-location-block #loc,
.et-location-block #loc .iviLoc{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
.et-location-block #loc .iviLocGrid,
.et-location-block #loc .locations,
.et-location-block #loc .location-grid,
.et-location-block #loc .locGrid,
.et-location-block #loc .location-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
.et-location-block #loc .iviLocCard,
.et-location-block #loc article,
.et-location-block #loc .location-card,
.et-location-block #loc .locCard,
.et-location-block #loc .location{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)!important;
  border-radius:28px!important;
  background:var(--paper)!important;
  box-shadow:0 18px 46px color-mix(in srgb,var(--ink) 10%,transparent)!important;
}
.et-location-block #loc .iviLocPhoto,
.et-location-block #loc [class*="Photo"]{
  width:100%!important;
  overflow:hidden!important;
  background:var(--bg2)!important;
}
.et-location-block #loc .iviLocPhoto img,
.et-location-block #loc article > img,
.et-location-block #loc .location-card img,
.et-location-block #loc .locCard img{
  width:100%!important;
  height:330px!important;
  max-height:none!important;
  object-fit:cover!important;
}
.et-location-block #loc .iviLocBody,
.et-location-block #loc [class*="Body"]{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  padding:26px!important;
  color:var(--ink)!important;
}
.et-location-block #loc .iviLocLabel,
.et-location-block #loc .iviLocType{
  margin:0 0 10px!important;
  color:var(--accent)!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.et-location-block #loc .iviLocName{
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-family:"Cormorant Garamond",serif!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.05!important;
  font-weight:500!important;
}
.et-location-block #loc .iviLocAddress,
.et-location-block #loc .iviLocNote,
.et-location-block #loc p{
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.et-location-block #loc .iviLocActions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:20px!important;
}
.et-location-block #loc .iviBtn,
.et-location-block #loc a,
.et-location-block #loc button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 20px!important;
  border:1px solid var(--button-border)!important;
  border-radius:999px!important;
  background:var(--button-bg)!important;
  color:var(--button-text)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-decoration:none!important;
}

/* Keep exactly one editable RSVP heading. */
.et-rsvp #rsvp > header,
.et-rsvp #rsvp .sectionHead,
.et-rsvp #rsvp .section-head,
.et-rsvp #rsvp .blockHead,
.et-rsvp #rsvp .block-head,
.et-rsvp #rsvp .rsvpHead,
.et-rsvp #rsvp .rsvpHeader,
.et-rsvp #rsvp .rsvpIntro,
.et-rsvp #rsvp .rsvpHero,
.et-rsvp #rsvp .rsvpLead,
.et-rsvp #rsvp .rsvpCopy,
.et-rsvp #rsvp .rsvpKicker,
.et-rsvp #rsvp .rsvpTitle,
.et-rsvp #rsvp .rsvpText,
.et-rsvp #rsvp .sectionKicker,
.et-rsvp #rsvp .sectionTitle,
.et-rsvp #rsvp .sectionSub,
.et-rsvp #rsvp .blockLabel,
.et-rsvp #rsvp .blockTitle,
.et-rsvp #rsvp .blockText,
.et-rsvp #rsvp > .badge,
.et-rsvp #rsvp > h1,
.et-rsvp #rsvp > h2,
.et-rsvp #rsvp > h3,
.et-rsvp #rsvp > p:first-of-type{
  display:none!important;
}
.et-rsvp #rsvp.rsvpSection{
  margin:36px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.et-rsvp #rsvp .rsvpGrid{max-width:880px!important;margin:0 auto!important}
.et-rsvp #rsvp .rsvpFormCard{
  padding:34px!important;
  border:1px solid rgba(255,255,255,.22)!important;
  border-radius:30px!important;
  background:rgba(255,255,255,.11)!important;
  box-shadow:0 22px 58px rgba(18,28,34,.16)!important;
}

@media(max-width:760px){
  .et-location-block #loc .iviLocGrid,
  .et-location-block #loc .locations,
  .et-location-block #loc .location-grid,
  .et-location-block #loc .locGrid,
  .et-location-block #loc .location-list{grid-template-columns:1fr!important}
  .et-location-block #loc .iviLocPhoto img,
  .et-location-block #loc article > img,
  .et-location-block #loc .location-card img,
  .et-location-block #loc .locCard img{height:260px!important}
  .et-location-block #loc .iviLocBody,
  .et-location-block #loc [class*="Body"]{padding:22px!important}
  .et-rsvp #rsvp .rsvpFormCard{padding:22px 18px!important;border-radius:24px!important}
}

/* =========================================================
   ETALON 5.0 — LOCATION FALLBACK
   The shared block is wrapped with #loc in view.php. These selectors also
   protect the layout if the common block adds an extra wrapper later.
========================================================= */
.et-location-block .iviLocGrid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}
.et-location-block .iviLocCard{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid color-mix(in srgb,var(--ink) 12%,transparent)!important;
  border-radius:28px!important;
  background:var(--paper)!important;
  box-shadow:0 18px 46px color-mix(in srgb,var(--ink) 10%,transparent)!important;
}
.et-location-block .iviLocPhoto{
  width:100%!important;
  overflow:hidden!important;
  background:var(--bg2)!important;
}
.et-location-block .iviLocPhoto img{
  display:block!important;
  width:100%!important;
  height:330px!important;
  max-height:none!important;
  object-fit:cover!important;
}
.et-location-block .iviLocBody{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  padding:26px!important;
  color:var(--ink)!important;
}
.et-location-block .iviLocName{
  margin:0 0 10px!important;
  color:var(--ink)!important;
  font-family:"Cormorant Garamond",serif!important;
  font-size:clamp(30px,3vw,42px)!important;
  line-height:1.05!important;
  font-weight:500!important;
}
.et-location-block .iviLocAddress,
.et-location-block .iviLocNote{
  color:var(--muted)!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.et-location-block .iviLocActions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin-top:auto!important;
  padding-top:20px!important;
}
.et-location-block .iviBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:0 20px!important;
  border:1px solid var(--button-border)!important;
  border-radius:999px!important;
  background:var(--button-bg)!important;
  color:var(--button-text)!important;
  font-size:11px!important;
  font-weight:700!important;
  letter-spacing:.08em!important;
  text-decoration:none!important;
}
@media(max-width:760px){
  .et-location-block .iviLocGrid{grid-template-columns:1fr!important}
  .et-location-block .iviLocPhoto img{height:260px!important}
  .et-location-block .iviLocBody{padding:22px!important}
}

/* =========================================================
   ETALON 6.0 — MOBILE HERO & GALLERY FIX
========================================================= */
@media(max-width:760px){
  .hero-copy{
    min-height:600px;
    padding:86px 28px 108px;
  }
  .hero-copy:before{
    inset:48px 22px 62px;
    border-radius:170px 170px 22px 22px;
  }
  .eyebrow{
    max-width:290px;
    margin-left:auto;
    margin-right:auto;
    font-size:11px;
    line-height:1.7;
    letter-spacing:.2em;
  }
  .names{
    font-size:58px;
    line-height:.9;
  }
  .names .and{
    margin:18px 0;
    font-size:44px;
  }
  .date-place{
    margin-top:38px;
    max-width:260px;
    font-size:12px;
    line-height:1.65;
  }

  /* На телефоне оставляем только спокойный декор по краям. */
  .leaf-top{
    left:10px;
    top:calc(470px - 26px);
    width:72px;
    transform:rotate(-8deg);
  }
  .leaf-right,
  .flower{
    display:none!important;
  }
  .dots{
    left:10px;
    top:238px;
    width:54px;
    opacity:.78;
  }
  .waves{
    left:8px;
    bottom:18px;
    width:78px;
    opacity:.9;
  }
  .rings{
    left:50%;
    bottom:-18px;
    width:78px;
    transform:translateX(-50%);
    opacity:.88;
  }

  .section-decor-left,
  .section-decor-right{
    width:76px;
    opacity:.18;
  }

  /* Галерея: один большой кадр и компактные пары ниже. */
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:10px;
    margin-top:34px;
  }
  .gallery-item,
  .gallery-item:first-child{
    width:100%;
    height:auto!important;
    min-height:0!important;
    margin:0;
    border-radius:18px;
    grid-column:auto;
    grid-row:auto;
    aspect-ratio:1/1;
  }
  .gallery-item:first-child{
    grid-column:1/-1;
    aspect-ratio:4/3;
  }
  .gallery-item a,
  .gallery-item img,
  .gallery-placeholder{
    width:100%!important;
    height:100%!important;
  }
  .gallery-item img{
    object-fit:cover!important;
    object-position:center!important;
  }
  .gallery-placeholder{
    min-height:0!important;
    padding:14px!important;
  }
  .gallery-placeholder img{
    width:58px!important;
    height:46px!important;
  }
  .gallery-item.is-placeholder:first-child .gallery-placeholder img{
    width:72px!important;
    height:56px!important;
  }
}

@media(max-width:430px){
  .hero-photo{
    height:410px;
  }
  .leaf-top{
    top:386px;
    width:66px;
  }
  .hero-copy{
    min-height:570px;
    padding:80px 20px 100px;
  }
  .hero-copy:before{
    inset:44px 18px 56px;
  }
  .eyebrow{
    max-width:260px;
    font-size:10px;
  }
  .names{
    font-size:52px;
  }
  .names .and{
    font-size:40px;
  }
  .gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .gallery-item,
  .gallery-item:first-child{
    grid-column:auto;
    aspect-ratio:1/1;
    border-radius:16px;
  }
  .gallery-item:first-child{
    grid-column:1/-1;
    aspect-ratio:4/3;
  }
}

/* =========================================================
   ETALON 7.0 — RETURN RIGHT HERO DECOR ON MOBILE
========================================================= */
@media(max-width:760px){
  .leaf-right{
    display:block!important;
    width:86px!important;
    right:-8px!important;
    top:92px!important;
    transform:rotate(-8deg)!important;
    opacity:.82!important;
  }

  .flower{
    display:none!important;
  }
}

@media(max-width:430px){
  .leaf-right{
    width:72px!important;
    right:-10px!important;
    top:88px!important;
    opacity:.78!important;
  }
}

/* =========================================================
   ETALON 8.0 — DESKTOP HERO DECOR REFINEMENT
========================================================= */
@media(min-width:761px){
  .flower{
    width:145px;
    right:28px;
    bottom:-4px;
  }
}

.waves {
    left: -40px;
    bottom: 36px;
    width: 175px;
}

.leaf-right {
  right: 12px;
    top: 132px;
    width: 220px;
    transform: rotate(-7deg);
}