:root{
	--paper:#f4ece2;
	--paper-light:#faf5ee;
	--ink:#2e2a26;
	/* --muted:#6b6258; */
	--muted: #553d23;
	--burgundy:#6c292d;
	--rust:#b56a41;
	--olive:#56542f;
	--line:#e2cdb8;
	--band:rgba(226,205,178,.42)
}
*{
	box-sizing:border-box
}
html{
	scroll-behavior:smooth
}
html.fonts-loading body{
	visibility:hidden
}
body{
	margin:0;
	color:var(--ink);
	background-color:var(--paper);
	background-image:
		url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http://www.w3.org/2000/svg%27%20width%3D%27140%27%20height%3D%27140%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%270.85%27%20numOctaves%3D%272%27%20stitchTiles%3D%27stitch%27%20result%3D%27t%27/%3E%3CfeColorMatrix%20in%3D%27t%27%20type%3D%27matrix%27%20values%3D%270%200%200%200%200.16%200%200%200%200%200.10%200%200%200%200%200.06%200%200%200%200.32%200%27/%3E%3C/filter%3E%3Crect%20width%3D%27100%25%27%20height%3D%27100%25%27%20filter%3D%27url(%23n)%27/%3E%3C/svg%3E"),
		repeating-linear-gradient(0deg,rgba(122,90,58,.028) 0,rgba(122,90,58,.028) 1px,transparent 1px,transparent 4px),
		repeating-linear-gradient(90deg,rgba(122,90,58,.028) 0,rgba(122,90,58,.028) 1px,transparent 1px,transparent 4px);
	font-family:"EB Garamond",Georgia,serif;
	font-size:18px;
	-webkit-font-smoothing:antialiased
}
body.menu-open,body.lightbox-open{
	overflow:hidden
}
a{
	color:var(--burgundy);
	text-decoration:none
}
button,input,textarea,select{
	font:inherit
}
.svg-defs{
	position:absolute;
	width:0;
	height:0;
	overflow:hidden
}
.skip-link{
	position:fixed;
	left:12px;
	top:12px;
	z-index:200;
	transform:translateY(-160%);
	background:var(--ink);
	color:white;
	padding:10px 14px;
	border-radius:4px
}
.skip-link:focus{
	transform:none
}
.site-header{
	position:sticky;
	top:0;
	z-index:60;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:13px 22px;
	background:rgba(244,236,226,.8);
	backdrop-filter:blur(10px);
	border-bottom:1px solid rgba(122,46,51,.12)
}
.wordmark,.script{
	font-family:"Pinyon Script",cursive
}
.wordmark{
	font-size:30px;
	line-height:1;
	display:inline-flex;
	align-items:center;
	gap:10px
}
.wordmark img{
	display:block;
	width:38px;
	height:38px
}
.menu-button,.menu-close{
	border:0;
	background:transparent;
	color:var(--ink);
	cursor:pointer;
	text-transform:uppercase;
	letter-spacing:.2em;
	font-size:14px
}
.menu-icon{
	display:inline-block;
	width:22px;
	height:9px;
	margin-right:7px;
	border-block:1.5px solid currentColor
}
.menu-overlay{
	position:fixed;
	inset:0;
	z-index:80;
	background:rgba(244,236,226,.98);
	backdrop-filter:blur(6px);
	padding:72px 20px 30px;
	text-align:center
}
.menu-overlay[hidden]{
	display:none
}
.menu-close{
	position:absolute;
	right:22px;
	top:20px;
	color:var(--burgundy)
}
.menu-date{
	margin:0 0 14px;
	color:var(--rust);
	font-size:36px
}
.menu-overlay nav{
	display:flex;
	flex-direction:column
}
.menu-overlay nav a{
	padding:3px;
	color:var(--ink);
	font-family:"Cormorant Garamond",serif;
	font-size:clamp(27px,5vh,36px)
}
section[id]{
	scroll-margin-top:70px
}
.hero{
	position:relative;
	min-height:calc(100vh - 61px);
	display:grid;
	place-items:center;
	padding:48px 22px 70px;
	overflow:hidden;
	text-align:center
}
.hero-content{
	position:relative;
	z-index:2;
	isolation:isolate;
	width:min(100%,690px);
	max-width:690px;
	padding:10px clamp(22px,5vw,46px) 38px;
	border-radius:32px;
    width: auto;
	/* background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.2) 18%,rgba(255,255,255,.2) 82%,rgba(255,255,255,0) 100%); */
	/* -webkit-backdrop-filter:blur(8px); */
	/* backdrop-filter:blur(8px); */
}
.hero-content::before{
	content:"";
	position:absolute;
	z-index:-1;
	inset:-36px;
	border-radius:56px;
    border-radius: 100%;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
    background: rgba(255,255,255,.18);
	box-shadow: 0px 0px 40px 90px rgba(255,255,255,.18);
	/* -webkit-backdrop-filter:blur(18px); */
	backdrop-filter:blur(18px);
	-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 34%,#000 36%,transparent 90%);
	mask-image:linear-gradient(to bottom,transparent 0%,#000 34%,#000 36%,transparent 90%);
	pointer-events:none;
}
.hero-floral,.hero-leaves{
	position:absolute;
	z-index:0;
	height:auto;
	pointer-events:none;
	filter:drop-shadow(0 12px 20px rgba(90,40,30,.12));
	animation:floral-in .9s cubic-bezier(.2,.75,.3,1) both
}
.hero-floral{
	width:clamp(170px,34vw,330px);
    z-index: 3;
}
.hero-floral-right{
	right:-50px;
	top:-30px
}
.hero-floral-left{
	left:-50px;
	bottom:-45px;
	transform:scaleX(-1);
	animation-delay:.15s
}
.hero-leaves{
	width:clamp(280px,44vw,520px);
	opacity:.52;
	filter:none;
	animation:none;
    zoom: 140%;
}
.hero-leaves-top{
	left:clamp(-175px,-8vw,-105px);
	top:clamp(-185px,-5vw,-115px);
	transform:rotate(45deg)
}
.hero-leaves-bottom{
	right:clamp(-175px,-8vw,-105px);
	bottom:clamp(-185px,-5vw,-115px);
	transform:scaleX(-1) rotate(-30deg)
}
.monogram{
	width:92px;
	color:var(--burgundy)
}
.mark-serif{
	font-family:"Cormorant Garamond",serif;
	font-weight:500
}
.mark-script{
	font-family:"Pinyon Script",cursive
}
.mark-small{
	font-family:"EB Garamond",serif;
	font-size:7.5px;
	letter-spacing:3px
}
.eyebrow,.section-kicker{
	text-transform:uppercase;
	color:var(--olive);
	font-size:14px
}
.hero h1{
	margin:4px 0 18px;
	font-family:"Cormorant Garamond",serif;
	font-weight:300;
	font-size:clamp(54px,12vw,96px);
	line-height:.82;
	letter-spacing:.04em;
	text-transform:uppercase
}
.hero h1 span,.hero h1 em{
	display:block
}
.hero h1 em{
	padding:10px 0 5px;
	color:var(--rust);
	font-family:"Pinyon Script",cursive;
	font-size:.68em;
	font-style:normal;
	text-transform:none;
	letter-spacing:0
}
.date-line{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:14px;
	margin:0;
	color:var(--muted);
	font-size:clamp(17px,4vw,21px)
}
.date-line span{
	width:28px;
	height:1px;
	background:#c3a98f
}
.venue{
	margin:4px 0 25px;
	color:var(--muted);
	font-style:italic
}
.countdown{
	display:flex;
	justify-content:center;
	gap:clamp(20px,6vw,38px);
	margin-bottom:30px
}
.countdown div{
	min-width:62px
}
.countdown strong{
	display:block;
	color:var(--burgundy);
	font-family:"Cormorant Garamond",serif;
	font-size:50px;
	line-height:1
}
.countdown span{
	display:block;
	margin-top:5px;
	color:#8d8174;
	font-size:11px;
	letter-spacing:.2em;
	text-transform:uppercase
}
.button{
	display:inline-block;
	border:0;
	border-radius:999px;
	padding:15px 38px;
	cursor:pointer;
	font-size:14px;
	letter-spacing:.2em;
	text-transform:uppercase;
	transition:transform .2s,background .2s
}
.button-primary{
	background:var(--burgundy);
	color:var(--paper);
    font-weight: bold;
}
.button:hover{
	transform:translateY(-2px);
	background:var(--rust)
}
.button:disabled{
	cursor:wait;
	opacity:.65
}
.section,.note{
	padding:64px 22px
}
.band{
	background:var(--band)
}
.content{
	max-width:760px;
	margin:auto
}
.narrow,.form-wrap{
	max-width:620px;
	margin:auto
}
.section h2{
	margin:0 0 8px;
	text-align:center;
	font-family:"Cormorant Garamond",serif;
	font-size:clamp(40px,8vw,52px);
	font-weight:400
}
.section-kicker{
	text-align:center;
	margin:0 0 36px
}
.note{
	text-align:center
}
.note .script,.dress .script{
	margin:0;
	color:var(--rust);
	font-size:36px
}
.registry{
	text-align:center;
	background:linear-gradient(135deg,rgba(108,41,45,.1),rgba(181,106,65,.12));
	border-top:1px solid rgba(108,41,45,.16);
	border-bottom:1px solid rgba(108,41,45,.16)
}
.registry .script{
	margin:0;
	color:var(--rust);
	font-size:36px
}
.registry .intro{
	max-width:580px;
}
.registry .button span{
	margin-left:4px;
	font-size:1.1em;
}
.registry .button {
	margin-top: 20px;
}
.note p,.intro{
	font-size:20px;
	line-height:1.6;
	color:#4a423b
}
.photo-story{
	overflow:hidden;
	padding:clamp(72px,10vw,120px) 22px;
	background:rgb(71,70,54);
	color:var(--paper-light)
}
.photo-story-inner{
	max-width:1080px;
	margin:auto
}
.photo-story-heading{
	max-width:620px;
	margin:0 auto 48px;
	text-align:center
}
.photo-story-heading .script{
	margin:0 0 -4px;
	color:#e6aa77;
	font-size:42px
}
.photo-story-heading h2{
	margin:0;
	font-family:"Cormorant Garamond",serif;
	font-size:clamp(46px,8vw,68px);
	font-weight:400;
	line-height:1
}
.photo-story-heading>p:last-child{
	max-width:520px;
	margin:18px auto 0;
	color:#e6decf;
	font-size:19px;
	line-height:1.55
}
.camera-roll-viewport{
	position:relative;
	width:calc(100vw - 28px);
	margin-left:calc(50% - 50vw + 14px);
	overflow:hidden
}
.camera-roll-viewport::before,.camera-roll-viewport::after{
	content:"";
	position:absolute;
	top:0;
	bottom:14px;
	z-index:4;
	width:clamp(48px,8vw,96px);
	pointer-events:none;
	transition:opacity .25s ease
}
.camera-roll-viewport::before{
	left:0;
	background:linear-gradient(90deg,rgb(71,70,54),transparent);
	opacity:0
}
.camera-roll-viewport::after{
	right:0;
	background:linear-gradient(90deg,transparent,rgb(71,70,54));
	opacity:1
}
.camera-roll-viewport.has-scrolled::before{
	opacity:1
}
.camera-roll-viewport.at-end::after{
	opacity:0
}
.camera-roll{
	display:flex;
	align-items:stretch;
	gap:16px;
	height:clamp(310px,34vw,390px);
	overflow-x:auto;
	overflow-y:hidden;
	padding:16px 14px 32px;
	scroll-behavior:smooth;
	scroll-padding-inline:14px;
	scroll-snap-type:x mandatory;
	scrollbar-color:rgba(242,233,220,.45) transparent;
	scrollbar-width:thin;
	cursor:grab;
	-webkit-overflow-scrolling:touch;
	-webkit-user-select:none;
	user-select:none;
	outline:none
}
.camera-roll.is-dragging{
	cursor:grabbing;
	scroll-behavior:auto;
	scroll-snap-type:none
}
.camera-roll.is-dragging img{
	pointer-events:none;
	user-select:none
}
.camera-roll::-webkit-scrollbar{
	height:6px
}
.camera-roll::-webkit-scrollbar-track{
	background:transparent
}
.camera-roll::-webkit-scrollbar-thumb{
	border-radius:999px;
	background:rgba(242,233,220,.45)
}
.photo-tile{
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	grid-template-rows:minmax(0,1fr) auto;
	flex:0 0 auto;
	overflow:hidden;
	height:100%;
	min-width:0;
	border:8px solid #f2e9dc;
	border-bottom-width:0;
	border-radius:2px;
	padding:0;
	background:#f2e9dc;
	box-shadow:0 18px 38px rgba(18,18,12,.28);
	cursor:zoom-in;
	scroll-snap-align:start;
	transition:transform .25s ease,box-shadow .25s ease
}
.photo-tile:nth-child(6n+1){
	aspect-ratio:2/3;
	transform:rotate(-1.5deg)
}
.photo-tile:nth-child(6n+2){
	aspect-ratio:3/2;
	transform:rotate(1deg)
}
.photo-tile:nth-child(6n+3){
	aspect-ratio:3/4;
	transform:rotate(-1deg)
}
.photo-tile:nth-child(6n+4){
	aspect-ratio:4/3;
	transform:rotate(1.4deg)
}
.photo-tile:nth-child(6n+5){
	aspect-ratio:1;
	transform:rotate(.8deg)
}
.photo-tile:nth-child(6n){
	aspect-ratio:4/3;
	transform:rotate(-1.2deg)
}
.photo-tile.is-portrait{
	aspect-ratio:2/3
}
.photo-tile img{
	grid-column:1/-1;
	grid-row:1;
	display:block;
	width:100%;
	height:100%;
	min-height:0;
	object-fit:cover;
	object-position:center top;
	transition:transform .45s ease
}
.photo-tile.is-portrait img{
	object-fit:contain;
	object-position:center;
	background:#e7ded1
}
.photo-tile .photo-title,.photo-tile .photo-number{
	grid-row:2;
	align-self:end;
	padding-top:7px;
	padding-bottom:7px;
	color:#625c51;
	line-height:1.05
}
.photo-tile .photo-title{
	grid-column:1;
	padding-left:8px;
	padding-right:4px;
	overflow-wrap:anywhere;
	font-family:"Permanent Marker",cursive;
	font-size:clamp(14px,1.65vw,18px);
	font-style:normal;
	font-weight:400;
	text-align:left
}
.photo-tile .photo-number{
	grid-column:2;
	padding-right:8px;
	padding-left:4px;
	font-size:11px;
	letter-spacing:.18em;
	white-space:nowrap
}
.photo-tile:hover,.photo-tile:focus-visible{
	z-index:2;
	box-shadow:0 24px 46px rgba(18,18,12,.42);
	transform:rotate(0) translateY(-4px)
}
.photo-tile:hover img,.photo-tile:focus-visible img{
	transform:scale(1.035)
}
.photo-tile:focus-visible{
	outline:3px solid #efc08c;
	outline-offset:4px
}
.camera-roll-footer{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:20px;
	margin:22px 14px 0
}
.gallery-hint{
	margin:0;
	color:#cfc7b8;
	font-size:13px;
	letter-spacing:.16em;
	text-transform:uppercase
}
.camera-roll-controls{
	display:flex;
	gap:8px;
}
.camera-roll-controls button{
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	border:1px solid rgba(242,233,220,.42);
	border-radius:50%;
	background:transparent;
	color:var(--paper-light);
	cursor:pointer;
	font-size:20px;
	transition:background .2s,border-color .2s,opacity .2s
}
.camera-roll-controls button:hover,.camera-roll-controls button:focus-visible{
	border-color:var(--paper-light);
	background:rgba(242,233,220,.12);
	outline:none
}
.camera-roll-controls button:disabled{
	cursor:default;
	opacity:.25
}
.photo-lightbox{
	width:100%;
	max-width:none;
	height:100%;
	max-height:none;
	margin:0;
	border:0;
	padding:0;
	background:rgba(24,24,18,.97);
	color:var(--paper-light);
	opacity:0;
	transition:opacity .16s ease,display .16s allow-discrete,overlay .16s allow-discrete
}
.photo-lightbox.is-visible{
	opacity:1
}
.photo-lightbox::backdrop{
	background:rgba(15,15,11,.92);
	opacity:0;
	transition:opacity .16s ease
}
.photo-lightbox.is-visible::backdrop{
	opacity:1
}
@starting-style{
	.photo-lightbox[open]{
		opacity:0
	}
	.photo-lightbox[open]::backdrop{
		opacity:0
	}
}
.photo-lightbox-shell{
	position:relative;
	display:grid;
	grid-template-columns:72px minmax(0,1fr) 72px;
	align-items:center;
	width:100%;
	height:100dvh;
	min-height:0;
	padding:28px
}
.photo-lightbox figure{
	display:grid;
	grid-template-rows:minmax(0,1fr) auto;
	align-items:center;
	min-width:0;
	min-height:0;
	height:100%;
	margin:0;
	padding:18px 0 0
}
.lightbox-image-stage{
	position:relative;
	min-width:0;
	min-height:0;
	width:100%;
	height:100%
}
.lightbox-image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:contain;
	box-shadow:0 18px 50px rgba(0,0,0,.35);
	touch-action:auto;
	user-select:none;
	opacity:0;
	transition:opacity .16s ease
}
.lightbox-image.is-visible{
	opacity:1
}
.photo-lightbox figcaption{
	display:grid;
	grid-template-columns:auto minmax(0,800px) auto;
	align-items:baseline;
	justify-content:center;
	gap:18px;
	min-height:100px;
	padding:20px 18px 0;
	text-align:center
}
.lightbox-counter,.lightbox-signoff{
	margin:0;
	color:#b8ae9c;
	font-size:12px;
	letter-spacing:.14em;
	text-transform:uppercase
}
.lightbox-note{
	margin:0;
	font-family:"Cormorant Garamond",serif;
	font-size:clamp(20px,3vw,28px);
	font-style:italic;
	line-height:1.25
}
.lightbox-signoff{
	white-space:nowrap
}
.lightbox-close,.lightbox-nav{
	border:0;
	background:transparent;
	color:var(--paper-light);
	cursor:pointer
}
.lightbox-close{
	position:absolute;
	top:20px;
	right:24px;
	z-index:3;
	padding:8px;
	font-size:12px;
	letter-spacing:.16em;
	text-transform:uppercase
}
.lightbox-close span{
	margin-left:6px;
	font-size:24px;
	font-weight:300;
	vertical-align:-2px
}
.lightbox-nav{
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	margin:auto;
	border:1px solid rgba(250,245,238,.35);
	border-radius:50%;
	font-size:24px;
	user-select:none;
	-webkit-user-select:none;
	-webkit-user-drag:none;
	transition:background .2s,border-color .2s
}
.lightbox-nav:hover,.lightbox-nav:focus-visible,.lightbox-close:focus-visible{
	outline:none;
	background:rgba(250,245,238,.12);
	border-color:var(--paper-light)
}
.lightbox-previous{
	grid-column:1;
	grid-row:1
}
.photo-lightbox figure{
	grid-column:2;
	grid-row:1
}
.lightbox-next{
	grid-column:3;
	grid-row:1
}
.timeline{
	list-style:none;
	margin:35px auto 0;
	padding:0;
	max-width:590px
}
.timeline li{
	display:grid;
	grid-template-columns:70px 1px 1fr;
	gap:20px;
	margin:0
}
.timeline li::before{
	content:"";
	grid-column:2;
	grid-row:1;
	background:var(--line)
}
.timeline time{
	color:var(--burgundy);
	font-family:"Cormorant Garamond",serif;
	font-size:22px
}
.timeline div{
	position:relative;
	padding:0 0 25px
}
.timeline div::before{
	content:"";
	position:absolute;
	left:-25px;
	top:8px;
	width:9px;
	height:9px;
	border-radius:50%;
	background:var(--rust);
	box-shadow:0 0 0 4px var(--paper)
}
.timeline li:nth-child(2) div::before{
	background:var(--burgundy)
}
.timeline li:nth-child(3) div::before{
	background:var(--olive)
}
.timeline li:nth-child(4) div::before{
	background:#c08a3e
}
.timeline li:nth-child(5) div::before{
	background:#6f4a63
}
.timeline h3,.info-card h3{
	margin:0;
	font-family:"Cormorant Garamond",serif;
	font-size:24px;
	font-weight:500
}
.timeline p,.info-card p{
	margin:3px 0;
	color:var(--muted);
	line-height:1.5
}
.info-card{
	padding:22px 24px;
	border:1px solid var(--line);
	border-radius:14px;
	background:var(--paper)
}
.info-card>span{
	text-transform:uppercase;
	letter-spacing:.18em;
	color:var(--olive);
	font-size:12px
}
.cards{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:15px;
	margin-top:16px
}
.travel-content{
	max-width:820px
}
.travel-content>.intro{
	max-width:720px;
	margin:0 auto 42px;
	text-align:center
}
.travel-section{
	margin-top:34px
}
.travel-section>h3{
	margin:0 0 12px;
	color:var(--burgundy);
	font-family:"Cormorant Garamond",serif;
	font-size:30px;
	font-weight:500
}
.travel-section h4{
	margin:0;
	font-family:"Cormorant Garamond",serif;
	font-size:25px;
	font-weight:500;
	line-height:1.15
}
.travel-section address{
	margin-top:7px;
	color:var(--muted);
	font-style:normal;
	line-height:1.45
}
.travel-section-intro{
	margin:0 0 16px;
	color:#4a423b;
	line-height:1.6
}
.external-link{
	text-decoration:underline;
	text-decoration-color:rgba(122,46,51,.35);
	text-decoration-thickness:1px;
	text-underline-offset:4px
}
.external-link::after{
	/* content:" ↗"; */
	font-family:"EB Garamond",Georgia,serif;
	font-size:.7em
}
.external-link:hover,.text-link:hover{
	color:var(--rust);
	text-decoration-color:currentColor
}
.text-link{
	text-decoration:underline;
	text-decoration-color:rgba(122,46,51,.35);
	text-underline-offset:3px
}
.travel-note{
	margin-top:14px!important;
	padding-top:14px;
	border-top:1px solid var(--line);
	font-style:italic
}
.travel-routes p{
	margin:0;
	padding:15px 0
}
.travel-routes p:first-child{
	padding-top:0
}
.travel-routes p:last-child{
	padding-bottom:0
}
.travel-routes p+p{
	border-top:1px solid var(--line)
}
.travel-routes strong{
	color:var(--ink)
}
.hotel-cards{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:15px;
	margin: 20px 0;
	margin-bottom: 40px;
}
.recommended-hotels{
	margin-top:28px;
	/* padding:26px; */
	/* border:1px solid rgba(122,46,51,.3); */
	/* border-radius:18px; */
	/* background:linear-gradient(145deg,rgba(122,46,51,.09),rgba(250,245,238,.72)); */
	/* box-shadow:0 14px 36px rgba(79,49,38,.08) */
}
.hotel-group-heading{
	max-width:680px;
	margin-bottom:20px;
	margin-top: 40px;
}
.hotel-group-heading h4{
	margin:2px 0 5px;
	color:var(--ink);
	font-family:"Cormorant Garamond",serif;
	font-size:30px;
	line-height:1.1
}
.hotel-group-heading p{
	margin:0;
	color:var(--muted)
}
.hotel-group-heading .hotel-group-kicker{
	color:var(--burgundy);
	font-size:12px;
	font-weight:700;
	letter-spacing:.16em;
	text-transform:uppercase
}
.hotel-deadline{
	margin:0 0 20px;
	padding:12px 15px;
	border-left:3px solid var(--rust);
	border-radius:0 8px 8px 0;
	color:var(--ink);
	background:rgba(255,255,255,.46);
	font-size:16px
}
.hotel-deadline strong{
	color:var(--burgundy)
}
.recommended-hotel-card{
	position:relative;
	min-height:300px;
	border-color:rgba(122,46,51,.24);
	background:rgba(250,245,238,.94)
}
.hotel-badge{
	align-self:flex-start;
	margin:0 0 18px!important;
	padding:6px 9px;
	border-radius:999px;
	color:var(--paper-light)!important;
	background:var(--burgundy);
	font-size:11px!important;
	font-weight:700;
	letter-spacing:.13em;
	line-height:1;
	text-transform:uppercase
}
.hotel-badge-alt{
	color:var(--ink)!important;
	background:rgba(125,122,70,.28)
}
.hotel-rate{
	margin:12px 0 5px!important;
	color:var(--burgundy)!important;
	font-size:16px!important;
	letter-spacing:.04em
}
.hotel-rate strong{
	font-size:23px
}
.hotel-rate-flexible strong{
	font-size:18px
}
.hotel-details{
	margin:0!important;
	color:var(--muted)!important;
	font-size:16px!important;
	line-height:1.45
}
.hotel-booking-link{
	display:inline-flex;
	align-items:center;
	gap:7px;
	margin-top:auto;
	padding-top:24px;
	color:var(--burgundy);
	font-size:14px;
	font-weight:700;
	letter-spacing:.06em;
	text-transform:uppercase
}
.hotel-booking-link:hover{
	color:var(--rust)
}
.fallback-hotels{
	margin-top:36px
}
.fallback-heading{
	margin-bottom:16px
}
.fallback-hotel-cards .hotel-card{
	background:rgba(250,245,238,.56)
}
.hotel-card{
	display:flex;
	flex-direction:column;
	min-height:220px
}
.hotel-card .distance{
	margin-top:auto;
	padding-top:22px;
	color:var(--olive);
	font-size:14px;
	font-weight:600;
	letter-spacing:.06em;
	text-transform:uppercase
}
.hotel-card .distance span{
	margin:0 3px;
	color:var(--rust)
}
.hotel-card .distance .distance-label{
	display:block;
	margin:0 0 4px;
	color:var(--olive)
}
.things-content{
	max-width:980px;
	margin:auto
}
.things-content>.intro{
	max-width:720px;
	margin:0 auto 38px;
	text-align:center
}
.activity-cards{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px
}
.activity-card{
	display:flex;
	flex-direction:column;
	min-width:0;
	padding:26px 28px;
	border:1px solid var(--line);
	border-radius:14px;
	background:rgba(250,245,238,.72)
}
.activity-card-featured{
	grid-column:1/-1;
	padding:30px 34px;
	border:0;
	background:#f7eadf
}
.activity-card h3{
	margin:0 0 10px;
	font-family:"Cormorant Garamond",serif;
	font-size:29px;
	font-weight:500;
	line-height:1.1
}
.activity-card p:not(.activity-location){
	margin:0 0 12px;
	color:var(--muted);
	line-height:1.55
}
.activity-card p:last-of-type{
	margin-bottom:22px
}
.activity-card strong{
	color:var(--ink)
}
.activity-location{
	margin:0 0 8px;
	color:var(--olive);
	font-size:12px;
	font-weight:600;
	letter-spacing:.13em;
	line-height:1.45;
	text-transform:uppercase
}
.activity-links{
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:12px 18px;
	margin-top:auto
}
.activity-link{
	display:inline-block;
	align-self:flex-start;
	margin-top:auto;
	color:var(--burgundy);
	font-size:13px;
	font-weight:600;
	letter-spacing:.12em;
	text-decoration:underline;
	text-decoration-color:rgba(122,46,51,.35);
	text-underline-offset:4px;
	text-transform:uppercase
}
.activity-link::after{
	content:"";
	font-size:.8em
}
.activity-link:hover,.activity-secondary-link:hover{
	color:var(--rust);
	text-decoration-color:currentColor
}
.activity-secondary-link{
	color:var(--muted);
	font-size:14px;
	text-decoration:underline;
	text-decoration-color:rgba(107,98,88,.35);
	text-underline-offset:3px
}
.dress{
	text-align:center
}
.faq-list details{
	border-bottom:1px solid var(--line)
}
.faq-list summary{
	display:flex;
	justify-content:space-between;
	align-items:center;
	cursor:pointer;
	padding:18px 2px;
	font-family:"Cormorant Garamond",serif;
	font-size:22px;
	list-style:none
}
.faq-list summary::-webkit-details-marker{
	display:none
}
.faq-list summary::after{
	content:"+";
	color:var(--rust);
	font-size:28px
}
.faq-list details[open] summary::after{
	content:"−"
}
.faq-list details p{
	margin:0;
	padding:0 2px 20px;
	color:#4a423b;
	line-height:1.6
}
.form-wrap{
	max-width:560px
}
.rsvp form{
	display:flex;
	flex-direction:column;
	gap:17px
}
.rsvp form[hidden],.thank-you[hidden]{
	display:none
}
.rsvp label,.rsvp legend{
	color:var(--olive);
	font-size:13px;
	letter-spacing:.14em;
	text-transform:uppercase
}
.rsvp label{
	display:flex;
	flex-direction:column;
	gap:6px
}
.rsvp input,.rsvp textarea,.rsvp select{
	width:100%;
	border:1px solid var(--line);
	border-radius:10px;
	background:var(--paper-light);
	-webkit-user-select:none;
	user-select:none;
	padding:12px 14px;
	color:var(--ink);
	font-size:17px;
	letter-spacing:normal;
	text-transform:none
}
.rsvp input:focus,.rsvp textarea:focus{
	outline:2px solid var(--rust);
	outline-offset:2px
}
.rsvp fieldset{
	border:0;
	margin:0;
	padding:0
}
.radio-row{
	display:flex;
	gap:10px;
	margin-top:7px
}
.radio-row label{
	flex:1;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	border:1px solid var(--line);
	border-radius:10px;
	background:var(--paper-light);
	padding:12px;
	color:var(--ink);
	font-size:16px;
	letter-spacing:normal;
	text-transform:none;
	cursor:pointer
}
.radio-row input{
	width:auto;
	accent-color:var(--burgundy)
}
.attending-fields{
	display:flex;
	flex-direction:column;
	gap:17px
}
.attending-fields[hidden]{
	display:none
}
.honeypot{
	position:absolute!important;
	left:-10000px!important;
	width:1px!important;
	height:1px!important;
	overflow:hidden!important
}
.form-status{
	min-height:1.4em;
	margin:0;
	text-align:center;
	color:var(--muted);
	font-size:16px
}
.form-status.error{
	color:var(--burgundy)
}
.thank-you{
	padding:40px 28px;
	border:1px solid var(--line);
	border-radius:16px;
	background:var(--band);
	text-align:center
}
.thank-you .script{
	margin:0;
	color:var(--rust);
	font-size:46px
}
.thank-you-message{
	margin:8px 0 0
}
.rsvp-summary{
	margin:30px 0 0;
	border-top:1px solid var(--line);
	text-align:left
}
.thank-you .edit-rsvp{
	margin-top:26px
}
.rsvp-summary-row{
	display:grid;
	grid-template-columns:minmax(130px,.7fr) minmax(0,1.3fr);
	gap:18px;
	padding:14px 0;
	border-bottom:1px solid var(--line)
}
.rsvp-summary dt{
	color:var(--olive);
	font-size:12px;
	font-weight:600;
	letter-spacing:.12em;
	text-transform:uppercase
}
.rsvp-summary dd{
	margin:0;
	overflow-wrap:anywhere;
	white-space:pre-wrap
}
.thank-you:focus{
	outline:none
}
footer{
	padding:46px 22px;
	text-align:center;
	background:var(--burgundy);
	color:#f0ddc9
}
footer svg{
	width:80px;
	color:#f0ddc9
}
footer .script{
	margin:0;
	color:var(--paper);
	font-size:40px
}
footer p:last-child{
	margin:8px 0 0;
	color:#e0c4ac;
	font-size:12px;
	letter-spacing:.2em;
	text-transform:uppercase
}
.reveal-ready .reveal{
	opacity:0;
	transform:translateY(18px);
	transition:opacity .7s,transform .7s
}
.reveal-ready .reveal.revealed{
	opacity:1;
	transform:none
}
@keyframes floral-in{
	from{
		scale:.5
	}
	to{
		scale:1
}
}
@media(max-width:680px){
	.cards,.hotel-cards,.activity-cards{
		grid-template-columns:1fr
}
	.activity-card{
		padding:24px
}
	.activity-card-featured{
		grid-column:auto;
		padding:26px 24px
}
	.activity-card h3{
		font-size:27px
}
	.hotel-card{
		min-height:auto
}
	.recommended-hotels{
		padding:20px 16px
}
	.recommended-hotel-card{
		min-height:auto
}
	.hotel-booking-link{
		margin-top:4px
}
	.hotel-card .distance{
		margin-top:18px;
		padding-top:0
}
	.travel-section{
		margin-top:30px
}
	.photo-story{
		padding:68px 14px
}
	.photo-story-heading{
		margin-bottom:34px
}
	.camera-roll{
		gap:10px;
		height:310px;
		padding:12px 8px 26px;
		scroll-padding-inline:8px
}
	.photo-tile{
		border-width:5px;
		border-bottom-width:0
}
	.camera-roll-footer{
		align-items:flex-start;
		margin:18px 8px 0
}
	.gallery-hint{
		max-width:210px;
		font-size:11px;
		line-height:1.5
}
	.photo-lightbox-shell{
		grid-template-columns:44px minmax(0,1fr) 44px;
		padding:52px 8px 12px
}
	.photo-lightbox figure{
		padding-top:0
}
	.lightbox-image{
		max-height:100%
}
	.photo-lightbox figcaption{
		display:block;
		min-height:170px;
		padding:18px 4px 0
}
	.lightbox-counter{
		margin-bottom:10px
}
	.lightbox-note{
		font-size:22px
}
	.lightbox-signoff{
		margin-top:12px
}
	.lightbox-close{
		top:10px;
		right:12px
}
	.lightbox-nav{
		width:38px;
		height:38px
}
	.radio-row{
		flex-direction:column
}
	.rsvp-summary-row{
		grid-template-columns:1fr;
		gap:6px
}
	.hero-floral,.hero-leaves{
		opacity:.72
}
	.hero-leaves{
		width:clamp(300px,80vw,350px);
		opacity:.58
}
	.hero-leaves-top{
		left:-85px;
		top:-90px
}
	.hero-leaves-bottom{
		right:-85px;
		bottom:-90px
}
	.hero{
		min-height:auto;
		padding-top:25px
}
	.timeline li{
		grid-template-columns:62px 1px 1fr;
		gap:15px
}
	.timeline div::before{
		left:-20px
}
}
@media(prefers-reduced-motion:reduce){
	html{
		scroll-behavior:auto
}
	.hero-floral,.hero-leaves{
		animation:none
}
	.button{
		transition:none
}
	.photo-tile,.photo-tile img,.lightbox-nav,.lightbox-image,.photo-lightbox,.photo-lightbox::backdrop{
		transition:none
}
}
@media print{
	.site-header,.menu-overlay,.button,.hero-floral,.hero-leaves,.photo-lightbox{
		display:none!important
}
	.hero{
		min-height:auto
}
	.section,.note{
		break-inside:avoid
}
}
