:root{
  --i-bg:#f7f9f5;
  --i-card:#ffffff;
  --i-ink:#1c2a20;
  --i-dim:#5f6b60;
  --i-accent:#5f7d63;
  --i-line:rgba(28,42,32,.13);
  --i-hero:linear-gradient(165deg,#e9f1e4,#cfdec9);
  --i-serif:"Cormorant Garamond",Georgia,serif;
  --i-sans:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}
body.tpl-ivory{
  --i-bg:#fbfaf6;--i-card:#ffffff;--i-ink:#2a2720;--i-dim:#6d685c;--i-accent:#8c7f5f;
  --i-line:rgba(42,39,32,.13);--i-hero:linear-gradient(165deg,#fbf9f3,#ece7d9);
}
body.tpl-night .ibtn{color:#1e2620}
body.tpl-night{
  --i-bg:#1e2620;--i-card:#28312a;--i-ink:#eef1e6;--i-dim:#a9b3a5;--i-accent:#c8b78a;
  --i-line:rgba(238,241,230,.16);--i-hero:linear-gradient(165deg,#212a22,#33422f);
}
body.tpl-blush{
  --i-bg:#fbf5f4;--i-card:#fffdfd;--i-ink:#2a1d1e;--i-dim:#75585a;--i-accent:#b9727a;
  --i-line:rgba(42,29,30,.13);--i-hero:linear-gradient(165deg,#f8e7e5,#eecfcd);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
body{
  margin:0;background:var(--i-bg);color:var(--i-ink);
  font-family:var(--i-sans);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--i-serif);font-weight:400;margin:0;letter-spacing:-.01em}
p{margin:0 0 14px}
ul{margin:0;padding:0;list-style:none}

.iwrap{width:100%;max-width:680px;margin:0 auto;padding:0 22px}

.ihero{
  background:linear-gradient(180deg,rgba(0,0,0,0) 68%,var(--i-bg) 100%),var(--i-hero);text-align:center;
  padding:70px 22px 62px;position:relative;overflow:hidden;
}
.ihero::after{
  content:"";position:absolute;left:50%;bottom:-140px;transform:translateX(-50%);
  width:520px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.55),rgba(255,255,255,0) 70%);
}
.ihero__in{position:relative;z-index:1}
.ihero__ey{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--i-accent);font-weight:600;margin-bottom:20px}
.ihero__names{font-size:clamp(44px,11vw,80px);line-height:1.02}
.ihero__names span{font-style:italic;color:var(--i-accent);padding:0 .12em}
.ihero__date{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--i-dim);margin:18px 0 0}


.ihero{position:relative}
.ihero::before{
  content:"";position:absolute;left:-48px;top:0;width:150px;height:330px;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20260%22%3E%3Cpath%20d%3D%22M60%20252C60%20196%2058%20138%2060%2040%22%20stroke%3D%22%25%25COLOR%25%25%22%20stroke-width%3D%222.4%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2236%22%20cy%3D%22232%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2036%20232%29%22%2F%3E%3Cellipse%20cx%3D%2284%22%20cy%3D%22212%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2084%20212%29%22%2F%3E%3Cellipse%20cx%3D%2238%22%20cy%3D%22190%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2038%20190%29%22%2F%3E%3Cellipse%20cx%3D%2282%22%20cy%3D%22168%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2082%20168%29%22%2F%3E%3Cellipse%20cx%3D%2240%22%20cy%3D%22146%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2040%20146%29%22%2F%3E%3Cellipse%20cx%3D%2280%22%20cy%3D%22124%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2080%20124%29%22%2F%3E%3Cellipse%20cx%3D%2243%22%20cy%3D%22102%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2043%20102%29%22%2F%3E%3Cellipse%20cx%3D%2277%22%20cy%3D%2282%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2077%2082%29%22%2F%3E%3Cellipse%20cx%3D%2246%22%20cy%3D%2262%22%20rx%3D%2213%22%20ry%3D%227.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2046%2062%29%22%2F%3E%3Cellipse%20cx%3D%2273%22%20cy%3D%2246%22%20rx%3D%2211%22%20ry%3D%226.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2073%2046%29%22%2F%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2232%22%20rx%3D%228%22%20ry%3D%2210%22%20fill%3D%22%25%25COLOR%25%25%22%2F%3E%3C%2Fsvg%3E") left top/contain no-repeat;
  opacity:.15;transform:rotate(14deg);pointer-events:none;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 24%,#000 72%,rgba(0,0,0,0) 100%);mask-image:linear-gradient(180deg,rgba(0,0,0,0) 0%,#000 24%,#000 72%,rgba(0,0,0,0) 100%);
}
body.tpl-ivory .ihero::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20260%22%3E%3Cpath%20d%3D%22M60%20252C60%20196%2058%20138%2060%2040%22%20stroke%3D%22%25%25COLOR%25%25%22%20stroke-width%3D%222.4%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2236%22%20cy%3D%22232%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2036%20232%29%22%2F%3E%3Cellipse%20cx%3D%2284%22%20cy%3D%22212%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2084%20212%29%22%2F%3E%3Cellipse%20cx%3D%2238%22%20cy%3D%22190%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2038%20190%29%22%2F%3E%3Cellipse%20cx%3D%2282%22%20cy%3D%22168%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2082%20168%29%22%2F%3E%3Cellipse%20cx%3D%2240%22%20cy%3D%22146%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2040%20146%29%22%2F%3E%3Cellipse%20cx%3D%2280%22%20cy%3D%22124%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2080%20124%29%22%2F%3E%3Cellipse%20cx%3D%2243%22%20cy%3D%22102%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2043%20102%29%22%2F%3E%3Cellipse%20cx%3D%2277%22%20cy%3D%2282%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2077%2082%29%22%2F%3E%3Cellipse%20cx%3D%2246%22%20cy%3D%2262%22%20rx%3D%2213%22%20ry%3D%227.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2046%2062%29%22%2F%3E%3Cellipse%20cx%3D%2273%22%20cy%3D%2246%22%20rx%3D%2211%22%20ry%3D%226.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2073%2046%29%22%2F%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2232%22%20rx%3D%228%22%20ry%3D%2210%22%20fill%3D%22%25%25COLOR%25%25%22%2F%3E%3C%2Fsvg%3E")}
body.tpl-night .ihero::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20260%22%3E%3Cpath%20d%3D%22M60%20252C60%20196%2058%20138%2060%2040%22%20stroke%3D%22%25%25COLOR%25%25%22%20stroke-width%3D%222.4%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2236%22%20cy%3D%22232%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2036%20232%29%22%2F%3E%3Cellipse%20cx%3D%2284%22%20cy%3D%22212%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2084%20212%29%22%2F%3E%3Cellipse%20cx%3D%2238%22%20cy%3D%22190%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2038%20190%29%22%2F%3E%3Cellipse%20cx%3D%2282%22%20cy%3D%22168%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2082%20168%29%22%2F%3E%3Cellipse%20cx%3D%2240%22%20cy%3D%22146%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2040%20146%29%22%2F%3E%3Cellipse%20cx%3D%2280%22%20cy%3D%22124%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2080%20124%29%22%2F%3E%3Cellipse%20cx%3D%2243%22%20cy%3D%22102%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2043%20102%29%22%2F%3E%3Cellipse%20cx%3D%2277%22%20cy%3D%2282%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2077%2082%29%22%2F%3E%3Cellipse%20cx%3D%2246%22%20cy%3D%2262%22%20rx%3D%2213%22%20ry%3D%227.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2046%2062%29%22%2F%3E%3Cellipse%20cx%3D%2273%22%20cy%3D%2246%22%20rx%3D%2211%22%20ry%3D%226.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2073%2046%29%22%2F%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2232%22%20rx%3D%228%22%20ry%3D%2210%22%20fill%3D%22%25%25COLOR%25%25%22%2F%3E%3C%2Fsvg%3E");opacity:.14}
body.tpl-blush .ihero::before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20120%20260%22%3E%3Cpath%20d%3D%22M60%20252C60%20196%2058%20138%2060%2040%22%20stroke%3D%22%25%25COLOR%25%25%22%20stroke-width%3D%222.4%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2236%22%20cy%3D%22232%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2036%20232%29%22%2F%3E%3Cellipse%20cx%3D%2284%22%20cy%3D%22212%22%20rx%3D%2222%22%20ry%3D%2212%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2084%20212%29%22%2F%3E%3Cellipse%20cx%3D%2238%22%20cy%3D%22190%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2038%20190%29%22%2F%3E%3Cellipse%20cx%3D%2282%22%20cy%3D%22168%22%20rx%3D%2221%22%20ry%3D%2211.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2082%20168%29%22%2F%3E%3Cellipse%20cx%3D%2240%22%20cy%3D%22146%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2040%20146%29%22%2F%3E%3Cellipse%20cx%3D%2280%22%20cy%3D%22124%22%20rx%3D%2219%22%20ry%3D%2210.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2080%20124%29%22%2F%3E%3Cellipse%20cx%3D%2243%22%20cy%3D%22102%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2043%20102%29%22%2F%3E%3Cellipse%20cx%3D%2277%22%20cy%3D%2282%22%20rx%3D%2216%22%20ry%3D%229%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2077%2082%29%22%2F%3E%3Cellipse%20cx%3D%2246%22%20cy%3D%2262%22%20rx%3D%2213%22%20ry%3D%227.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%28-25%2046%2062%29%22%2F%3E%3Cellipse%20cx%3D%2273%22%20cy%3D%2246%22%20rx%3D%2211%22%20ry%3D%226.5%22%20fill%3D%22%25%25COLOR%25%25%22%20transform%3D%22rotate%2825%2073%2046%29%22%2F%3E%3Cellipse%20cx%3D%2260%22%20cy%3D%2232%22%20rx%3D%228%22%20ry%3D%2210%22%20fill%3D%22%25%25COLOR%25%25%22%2F%3E%3C%2Fsvg%3E")}

.isec h2::after{
  content:"";display:block;width:190px;height:22px;margin:14px auto 0;
  background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20260%2040%22%3E%3Cpath%20d%3D%22M8%2020C40%2020%2078%2020%20108%2020%22%20stroke%3D%22%23b99a55%22%20stroke-width%3D%221.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2224%22%20cy%3D%2212%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%28-22%2024%2012%29%22%2F%3E%3Cellipse%20cx%3D%2238%22%20cy%3D%2228%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2822%2038%2028%29%22%2F%3E%3Cellipse%20cx%3D%2254%22%20cy%3D%2211%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%28-22%2054%2011%29%22%2F%3E%3Cellipse%20cx%3D%2268%22%20cy%3D%2229%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2822%2068%2029%29%22%2F%3E%3Cellipse%20cx%3D%2282%22%20cy%3D%2212%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%28-22%2082%2012%29%22%2F%3E%3Cellipse%20cx%3D%2294%22%20cy%3D%2228%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2822%2094%2028%29%22%2F%3E%3Cellipse%20cx%3D%22106%22%20cy%3D%2220%22%20rx%3D%227%22%20ry%3D%224.4%22%20fill%3D%22%23b99a55%22%2F%3E%3Cg%20transform%3D%22translate%28260%2C0%29%20scale%28-1%2C1%29%22%3E%3Cpath%20d%3D%22M8%2020C40%2020%2078%2020%20108%2020%22%20stroke%3D%22%23b99a55%22%20stroke-width%3D%221.6%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%2F%3E%3Cellipse%20cx%3D%2224%22%20cy%3D%2212%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%28-22%2024%2012%29%22%2F%3E%3Cellipse%20cx%3D%2238%22%20cy%3D%2228%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2822%2038%2028%29%22%2F%3E%3Cellipse%20cx%3D%2254%22%20cy%3D%2211%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%28-22%2054%2011%29%22%2F%3E%3Cellipse%20cx%3D%2268%22%20cy%3D%2229%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2822%2068%2029%29%22%2F%3E%3Cellipse%20cx%3D%2282%22%20cy%3D%2212%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%28-22%2082%2012%29%22%2F%3E%3Cellipse%20cx%3D%2294%22%20cy%3D%2228%22%20rx%3D%2210.5%22%20ry%3D%225.6%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2822%2094%2028%29%22%2F%3E%3Cellipse%20cx%3D%22106%22%20cy%3D%2220%22%20rx%3D%227%22%20ry%3D%224.4%22%20fill%3D%22%23b99a55%22%2F%3E%3C%2Fg%3E%3Crect%20x%3D%22125.5%22%20y%3D%2215.5%22%20width%3D%229%22%20height%3D%229%22%20rx%3D%221.4%22%20fill%3D%22%23b99a55%22%20transform%3D%22rotate%2845%20130%2020%29%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
body.tpl-night .isec h2::after{opacity:.95}

.cdown{display:flex;justify-content:center;gap:10px;margin:34px 0 30px;flex-wrap:wrap}
.cdown__b{
  background:var(--i-card);border:1px solid var(--i-line);border-radius:14px;
  padding:12px 6px;min-width:74px;box-shadow:0 16px 34px -26px rgba(28,42,32,.55);
}
.cdown__n{font-family:var(--i-serif);font-size:30px;line-height:1;display:block}
.cdown__l{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--i-dim);margin-top:6px;display:block}

.ibtn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--i-accent);color:#fff;text-decoration:none;
  font-size:15px;font-weight:600;padding:15px 32px;border-radius:999px;border:0;
  cursor:pointer;transition:transform .18s ease,filter .18s ease;
}
.ibtn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.ibtn--full{width:100%}

.isec{padding:58px 0}
.isec--tint{background:linear-gradient(180deg,var(--i-bg) 0%,var(--i-card) 11%,var(--i-card) 89%,var(--i-bg) 100%)}
.isec__ey{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--i-accent);font-weight:600;margin-bottom:12px;text-align:center}
.isec h2{font-size:clamp(27px,6vw,38px);text-align:center;margin-bottom:22px}
.isec__lead{color:var(--i-dim);text-align:center;max-width:52ch;margin:0 auto 8px}

.tline{max-width:460px;margin:0 auto}
.tline__row{display:flex;gap:18px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--i-line)}
.tline__row:last-child{border-bottom:0}
.tline__t{font-family:var(--i-serif);font-size:26px;color:var(--i-accent);min-width:84px}
.tline__d b{display:block;font-weight:600;font-size:16.5px}
.tline__d span{color:var(--i-dim);font-size:14.5px}

.loc{background:var(--i-card);border:1px solid var(--i-line);border-radius:20px;overflow:hidden;max-width:520px;margin:0 auto}
.loc__map{
  height:190px;position:relative;
  background:
    radial-gradient(circle at 32% 62%, rgba(0,0,0,.06), transparent 60%),
    repeating-linear-gradient(58deg, rgba(0,0,0,.05) 0 2px, transparent 2px 26px),
    repeating-linear-gradient(-34deg, rgba(0,0,0,.05) 0 2px, transparent 2px 34px),
    var(--i-hero);
}
.loc__pin{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);
  width:26px;height:26px;border-radius:50% 50% 50% 0;background:var(--i-accent);
  rotate:-45deg;box-shadow:0 10px 20px -10px rgba(0,0,0,.55);
}
.loc__pin::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--i-card)}
.loc__body{padding:22px}
.loc__body h3{font-size:23px;margin-bottom:6px}
.loc__body p{color:var(--i-dim);font-size:15.5px;margin-bottom:16px}

.pal{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.pal__c{width:56px;height:56px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.07)}
.pal__n{display:block;text-align:center;font-size:12px;color:var(--i-dim);margin-top:8px}

.story{display:grid;gap:16px;margin-top:8px}
.story__i{background:var(--i-card);border:1px solid var(--i-line);border-radius:18px;overflow:hidden}
.story__ph{height:150px;background:var(--i-hero);position:relative}
.story__ph::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.5),transparent 60%)}
.story__t{padding:16px 18px 20px}
.story__t b{display:block;font-family:var(--i-serif);font-size:20px;font-weight:400;margin-bottom:4px}
.story__t span{color:var(--i-dim);font-size:14.5px}

.gift{max-width:520px;margin:0 auto;text-align:center;color:var(--i-dim)}

.rsvp{background:var(--i-card);border:1px solid var(--i-line);border-radius:22px;padding:28px 24px;max-width:520px;margin:0 auto;box-shadow:0 24px 50px -38px rgba(28,42,32,.6)}
.rsvp__demo{font-size:12.5px;color:var(--i-dim);text-align:center;margin:0 0 18px}
.fld{margin-bottom:16px}
.fld label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px}
.fld input[type=text],.fld textarea{
  width:100%;background:var(--i-bg);color:var(--i-ink);
  border:1px solid var(--i-line);border-radius:12px;padding:13px 14px;
  font-family:var(--i-sans);font-size:16px;
}
.fld textarea{min-height:82px;resize:vertical}
.fld input:focus,.fld textarea:focus{outline:2px solid var(--i-accent);outline-offset:1px}
.choice{display:flex;gap:10px;flex-wrap:wrap}
.choice label{
  flex:1 1 130px;display:flex;align-items:center;justify-content:center;gap:8px;
  border:1px solid var(--i-line);border-radius:12px;padding:12px;cursor:pointer;
  font-size:15px;font-weight:500;transition:border-color .18s ease,background .18s ease;
}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice label:has(input:checked){border-color:var(--i-accent);background:color-mix(in srgb,var(--i-accent) 12%,transparent)}
.rsvp__done{text-align:center;padding:14px 0}
.rsvp__done h3{font-size:26px;margin-bottom:8px}
.rsvp__done p{color:var(--i-dim);margin:0}

.ifoot{text-align:center;padding:40px 22px 46px;border-top:1px solid var(--i-line);color:var(--i-dim);font-size:14.5px}
.ifoot a{color:var(--i-accent);font-weight:600;text-decoration:none}
.ifoot__back{display:inline-block;margin-top:10px}

.ir{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.ir.is-in{opacity:1;transform:none}

@media (min-width:600px){
  .story{grid-template-columns:repeat(3,1fr)}
  .isec{padding:70px 0}
}
@media (max-width:560px){
  .ihero::before{left:-42px;top:0;width:118px;height:250px;opacity:.13}
  .isec h2::after{width:160px}
}
@media (max-width:420px){
  .cdown__b{min-width:66px}
  .cdown__n{font-size:26px}
  .ihero{padding:56px 20px 50px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.001ms!important;animation-duration:.001ms!important}
  .ir{opacity:1;transform:none}
}
