@font-face{font-family:WeddingSerif;src:url('assets/cormorant-garamond.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:light;--wine:#712232;--ink:#4c3032;--muted:#776963;--paper:#fffaf0;--ease:cubic-bezier(.22,.75,.2,1);--serif:WeddingSerif,'Iowan Old Style','Palatino Linotype',Georgia,serif}
*{box-sizing:border-box}
html{min-width:280px;background:#f3eee5}
body{margin:0;min-height:100svh;color:var(--ink);font-family:var(--serif);background:radial-gradient(ellipse at 50% 42%,#fffcf6 0%,#f5efe6 48%,#eae2d6 100%);isolation:isolate}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.16;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.76' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%238c7a64' opacity='.45' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}
button:focus-visible{outline:2px solid var(--wine);outline-offset:12px}
[hidden]{display:none!important}
.veil-gate-message{min-height:35svh;display:grid;place-items:center;text-align:center;margin:0;padding:24px 12px 60px;font-size:clamp(24px,5vw,34px);font-style:italic;color:var(--wine)}
.experience{display:flex;flex-direction:column;align-items:center;min-height:calc(100svh - 76px);padding:40px 24px 38px;perspective:1800px}
.intro{text-align:center;margin:5px 0 65px;max-height:130px;transition:opacity .55s,margin .9s var(--ease),max-height .9s var(--ease),transform .8s var(--ease)}
.eyebrow{font:11px/1.6 Arial,sans-serif;letter-spacing:3px;color:var(--wine);margin:0 0 13px}
h1{font-size:clamp(42px,5.1vw,68px);font-weight:400;line-height:1.1;letter-spacing:-1.8px;margin:0}
.scene{position:relative;width:min(620px,86vw);height:350px;perspective:1600px;transition:height 1.15s var(--ease),width 1.15s var(--ease);flex-shrink:0}
.envelope-wrap{position:absolute;inset:0;transition:transform 1.4s var(--ease),opacity .7s;transform:rotate(-3deg);z-index:3}
.envelope-shadow{position:absolute;width:87%;height:35%;bottom:-10px;left:7%;border-radius:50%;background:#58402a;filter:blur(30px);opacity:.17;transform:rotate(3deg);transition:opacity .7s}
.envelope{display:block;border:0;padding:0;width:100%;height:100%;background:none;cursor:pointer;perspective:1600px;position:relative;text-align:initial;border-radius:3px;transition:transform .6s var(--ease)}
.envelope:not(:disabled):hover{transform:translateY(-6px) rotate(1deg)}
.envelope:not(:disabled):hover .seal{filter:drop-shadow(1px 6px 4px #49230a50);transform:translate(-50%,-50%) scale(1.035)}
.envelope-back{position:absolute;inset:0;border-radius:3px;background:#e8ddc9;box-shadow:0 2px 3px #5c391d15,0 16px 40px #63452f19,inset 0 0 0 1px #9e805028}
.lining{position:absolute;inset:5px 5px 3px;background-color:#652132;background-image:repeating-linear-gradient(45deg,transparent 0 9px,#eac99c0c 9px 10px),repeating-linear-gradient(-45deg,transparent 0 9px,#eac99c0c 9px 10px);border-radius:2px}
.tucked-paper{position:absolute;inset:17px 32px 17px;background:#fffaf0;box-shadow:0 0 3px #43231225;transform:translateY(9px)}
.pocket-left,.pocket-right,.pocket-bottom{position:absolute;inset:0;z-index:3;pointer-events:none}
.pocket-left{background:linear-gradient(110deg,#f9f0dd,#e6d9c0);clip-path:polygon(0 0,57% 57%,0 100%);filter:drop-shadow(2px 0 1px #90734a30)}
.pocket-right{background:linear-gradient(260deg,#f5ebd7,#e5d7bd);clip-path:polygon(100% 0,43% 57%,100% 100%)}
.pocket-bottom{background:linear-gradient(0deg,#eee2cb,#f6edda 85%);clip-path:polygon(0 100%,0 98%,45% 48%,50% 45%,55% 48%,100% 98%,100% 100%);box-shadow:inset 0 -1px 0 #8f714936}
.flap{position:absolute;inset:0 0 auto;height:66%;transform-origin:50% 0;transform-style:preserve-3d;z-index:4;transition:transform 1.25s cubic-bezier(.4,0,.2,1)}
.flap-front,.flap-back{position:absolute;inset:0;clip-path:polygon(0 0,100% 0,53% 96%,50% 99%,47% 96%);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.flap-front{background:linear-gradient(180deg,#f7edda 0%,#eddfc5 95%);filter:drop-shadow(0 2px 1px #67492d38)}
.flap-back{transform:rotateY(180deg);background-color:#732638;background-image:repeating-linear-gradient(45deg,transparent 0 9px,#eac99c12 9px 10px),repeating-linear-gradient(-45deg,transparent 0 9px,#eac99c12 9px 10px);border-top:5px solid #e9ddc4}
.seal{position:absolute;left:50%;top:62%;width:clamp(92px,18vw,124px);aspect-ratio:1;z-index:5;transform:translate(-50%,-50%);filter:drop-shadow(2px 4px 3px #49230a44);transition:transform .65s var(--ease),opacity .45s,filter .5s;pointer-events:none}
.seal img{display:block;width:100%;height:100%;object-fit:contain}
.opening-caption{text-align:center;margin-top:34px;transition:opacity .4s,transform .5s;height:54px}
.caption-line{display:block;width:1px;height:21px;margin:0 auto 14px;background:#b19979}
.opening-caption p{font:12px/1.5 Arial,sans-serif;letter-spacing:1.2px;color:#78675c;margin:0}
.invitation{position:absolute;width:84%;top:25px;left:8%;z-index:2;opacity:0;transform:translateY(28px) scale(.93);transform-origin:50% 0;transition:transform 1.35s var(--ease),top 1.35s var(--ease),opacity .35s;width:84%;filter:drop-shadow(0 20px 22px #64473415);perspective:1150px}
.paper-panel{position:relative;text-align:center;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23a88a58' opacity='.07' filter='url(%23p)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");backface-visibility:hidden;-webkit-backface-visibility:hidden}
.paper-border{position:absolute;inset:18px 18px 0;border:1px solid #ad895148;border-bottom:none;pointer-events:none}
.panel-top{height:260px;padding:38px 25px 20px;z-index:2;box-shadow:0 -1px 1px #977e4b16}
.panel-top::after,.panel-middle::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:linear-gradient(90deg,transparent,#9d805229 20%,#9d805229 80%,transparent)}
h2{font-weight:400;font-size:64px;line-height:.89;letter-spacing:-1.7px;margin:20px 0 0;color:var(--wine);outline:none}
.names-amp{display:block;font-style:italic;font-size:37px;line-height:.95;margin:6px 0;color:#ac8960}
.fold-one,.fold-two{position:relative;transform-origin:center top;transform-style:preserve-3d;transition:transform 1.35s cubic-bezier(.32,.72,.28,1.04),opacity .3s;transform:rotateX(-178deg);opacity:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.fold-two{transform:rotateX(178deg)}
body.is-unfolded .fold-one{transition-delay:0s,.3s}
body.is-unfolded .fold-two{transition-delay:.95s,1.3s}
.panel-middle{height:268px;padding:27px 36px 24px;background-color:#fdf7eb}
.panel-middle .paper-border{inset:0 18px;border-top:0;border-bottom:0}
.invitation-message{font-size:18px;line-height:1.45;margin:0 auto 23px;max-width:380px;color:#725e53}
.date{display:flex;align-items:center;justify-content:center;gap:25px;margin:0;color:var(--wine)}
.date span{font:11px/1.5 Arial,sans-serif;letter-spacing:2px;width:75px}
.date strong{font-weight:400;font-size:65px;line-height:1;border-left:1px solid #b8976655;border-right:1px solid #b8976655;padding:0 22px}
.location{font-size:30px;line-height:1.2;margin:20px 0 6px}
.country{font:10px/1.5 Arial,sans-serif;letter-spacing:3px;margin:0;color:#88745b}
.location-row{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px}
.location-row .location{margin:0 0 5px}
.deko-ringe{width:52px;height:auto;opacity:.85}
.deko-taenzer{width:54px;height:auto;opacity:.9}
.panel-bottom{height:200px;padding:24px 24px 25px;background-color:#fffaf0}
.panel-bottom .paper-border{inset:0 18px 18px;border-top:0;border-bottom:1px solid #ad895148}
.panel-bottom p{font-size:20px;line-height:1.3;margin:0}
.panel-bottom .signature{font-style:italic;color:var(--wine);margin:14px 0 15px;font-size:25px}
.little-monogram{font-size:16px;letter-spacing:3px;color:#9a7852}
.little-monogram i{font-size:15px;letter-spacing:1px}
.replay{border:0;border-bottom:1px solid #9e807647;background:none;padding:10px 0;font:12px/1.5 Arial,sans-serif;letter-spacing:.6px;color:#79665d;cursor:pointer;margin-top:24px;animation:appear .7s both}
.replay span{font-size:18px;vertical-align:-1px;margin-right:6px}.replay:hover{color:var(--wine)}
.footer{max-width:1440px;margin:0 auto;padding:24px 6%;display:flex;justify-content:space-between;gap:16px;font:10px/1.7 Arial,sans-serif;letter-spacing:2px;color:#8c7a6a}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.no-script{max-width:500px;text-align:center;font-size:20px}
body.is-opening .seal{transform:translate(-50%,-65%) rotate(-14deg) scale(1.14);opacity:0}
body.is-opening .opening-caption{opacity:0;transform:translateY(8px);pointer-events:none}
body.is-opening .envelope-wrap{transform:rotate(0)}
body.is-flap-open .flap{transform:rotateX(180deg);z-index:1}
body.is-extracted .invitation{opacity:1;top:-115px;transform:translateY(0) scale(1);z-index:6}
body.is-extracted .envelope-wrap{transform:translateY(125px);opacity:0;pointer-events:none}
body.is-unfolded .intro{opacity:0;transform:translateY(-18px);max-height:0;margin:0;pointer-events:none}
body.is-unfolded .scene{height:728px}
body.is-unfolded .invitation{top:0;transform:translateY(0) scale(1)}
body.is-unfolded .fold-one,body.is-unfolded .fold-two{transform:rotateX(0);opacity:1}
body.is-unfolded .opening-caption{height:0;margin:0;overflow:hidden}
body.is-settled .envelope-wrap{visibility:hidden}
body.is-resetting *,body.is-resetting *::before,body.is-resetting *::after{transition:none!important;animation:none!important}
@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1200px) and (min-height:850px){.experience{padding-top:40px}.intro{margin-bottom:85px}.scene{width:680px;height:385px}.opening-caption{margin-top:45px}.is-unfolded .scene{width:620px}}
@media(max-width:600px){.experience{min-height:calc(100svh - 82px);padding:35px 20px 24px}.intro{margin:10px 0 62px}.eyebrow{font-size:10px;letter-spacing:2.5px;margin-bottom:15px}h1{font-size:46px;letter-spacing:-1px}.scene{height:calc(86vw * .59);width:86vw}.seal{width:26%}.opening-caption{margin-top:35px}.opening-caption p{font-size:11px;letter-spacing:.7px}.footer{padding:22px 7%;font-size:9px;letter-spacing:1.1px}.footer span:last-child{text-align:right}.invitation{width:100%;left:0}.panel-top{height:242px;padding:35px 24px 20px}h2{font-size:58px}.panel-middle{height:286px;padding:27px 29px 23px}.invitation-message{font-size:18px;margin-bottom:22px}.desktop-break{display:none}.date{gap:10px}.date span{font-size:10px;letter-spacing:1.5px;width:64px}.date strong{font-size:60px;padding:0 15px}.panel-bottom{height:205px;padding:26px 24px}.location{font-size:29px}.panel-bottom p{font-size:19px}.panel-bottom .signature{font-size:24px}.paper-border{inset:14px 14px 0}.panel-middle .paper-border{inset:0 14px}.panel-bottom .paper-border{inset:0 14px 14px}body.is-extracted .invitation{top:-100px}body.is-unfolded .scene{height:733px}body.is-unfolded .invitation{top:0}body.is-unfolded .experience{padding-top:12px}.replay{margin-top:20px}}
@media(max-width:350px){h1{font-size:39px}h2{font-size:49px}.panel-middle{padding-left:22px;padding-right:22px}.invitation-message{font-size:17px}.date{gap:5px}.date strong{padding:0 9px}.date span{width:59px}.footer{font-size:8px}.panel-bottom p{font-size:18px}}
@media(prefers-reduced-motion:reduce){body:not(.motion-requested) *,body:not(.motion-requested) *::before,body:not(.motion-requested) *::after{animation-duration:.01ms!important;transition-duration:.01ms!important;transition-delay:0ms!important}html{scroll-behavior:auto}}

/* The invitation continues into a photo-led guide to the place and its climate. */
.schedule-section{margin-bottom:100px;scroll-margin-top:24px}
.veil-stage{position:relative;width:min(100%,850px);margin:auto;isolation:isolate}
.schedule-paper{position:relative;min-height:620px;padding:38px 80px 30px;background:#fffaf0;box-shadow:0 15px 55px #60442f12;border:1px solid #b69a733f}
.schedule-paper::before{content:'';position:absolute;inset:15px;border:1px solid #b69a7340;pointer-events:none}
.schedule-date{font:12px/1.5 Arial,sans-serif;letter-spacing:2.2px;text-align:center;color:#947750;margin:4px 0 30px}
.schedule-list{list-style:none;margin:0;padding:0}
.schedule-list li{display:grid;grid-template-columns:110px 1fr;gap:36px;min-height:108px;position:relative;align-items:start}
.schedule-list li:not(:last-child)::after{content:'';position:absolute;left:128px;top:23px;bottom:-13px;width:1px;background:#b69a7345}
.schedule-list li::before{content:'';position:absolute;width:7px;height:7px;border-radius:50%;border:1px solid #b49468;background:#fffaf0;left:125px;top:14px}
.schedule-list time{font-size:39px;font-variant-numeric:lining-nums tabular-nums;line-height:1.05;color:var(--wine)}
.schedule-list h3{font-size:29px;font-weight:400;line-height:1.15;margin:0 0 7px;color:var(--wine);letter-spacing:-.3px}
.schedule-list p{font-size:19px;line-height:1.35;margin:0;color:#7a6556}
.veil-canvas,.veil-fallback{position:absolute;inset:0;width:100%;height:100%;z-index:2;touch-action:pan-y}
.veil-canvas{cursor:grab;opacity:0;transition:opacity .3s}.veil-stage[data-renderer="webgl"] .veil-canvas{opacity:1}.veil-stage[data-renderer="webgl"] .veil-fallback{display:none}
.veil-canvas:active{cursor:grabbing}.veil-stage.is-revealed .veil-canvas{pointer-events:none}
.veil-fallback{background:linear-gradient(160deg,#fbfdfffb,#e8edf6fb 45%,#f6f9fffb 70%,#e3e9f4fb);backdrop-filter:blur(8px);transform-origin:top;transition:transform .8s var(--ease)}.veil-stage.is-revealed .veil-fallback{transform:scaleY(0)}
.veil-fallback::after{content:'';position:absolute;inset:auto 0 5px;height:38px;border-top:2px dotted #aebdd4;border-bottom:3px double #aebdd4;background:radial-gradient(ellipse at 50% 100%,transparent 55%,#aebdd4 58%,#f4f8ff 63%,transparent 66%) 0 0/36px 30px repeat-x,radial-gradient(circle,#fff 0 1px,#bfcbdf 2px,transparent 3px) 18px 22px/36px 12px repeat-x}
.veil-grip{position:absolute;z-index:3;left:50%;bottom:12px;transform:translateX(-50%);border:0;background:none;display:flex;align-items:center;gap:13px;color:#73503d;cursor:grab;touch-action:none;padding:15px 25px;transition:opacity .3s;filter:drop-shadow(0 2px 4px #fff8eb)}
.veil-grip:active{cursor:grabbing}.grip-ring{display:grid;place-items:center;width:48px;height:48px;border:1px solid #ae8b53;border-radius:50%;font-size:23px;background:#fffaf0a6;box-shadow:inset 0 0 0 4px #fffaf080,0 2px 10px #79562612;animation:grip-bob 2.4s ease-in-out infinite}.grip-label{font-size:23px;text-align:left;line-height:1.15;font-style:italic}
@keyframes grip-bob{0%,100%{transform:translateY(2px)}50%{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){.grip-ring{animation:none}}
.veil-stage.is-dragging .veil-grip,.veil-stage.is-revealed .veil-grip{opacity:0;pointer-events:none}
.veil-controls{width:min(100%,850px);margin:20px auto 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.veil-hint{font:13px/1.6 Arial,sans-serif;color:#826b5c;margin:0}.veil-toggle{background:none;border:0;border-bottom:1px solid #a388745c;color:var(--wine);font:13px/1.6 Arial,sans-serif;padding:6px 0;cursor:pointer;flex-shrink:0}
@media(max-width:600px){.schedule-section{margin-bottom:65px}.schedule-paper{padding:32px 30px 26px;min-height:645px}.schedule-date{font-size:10px;letter-spacing:1.6px;margin-bottom:32px}.schedule-list li{grid-template-columns:72px 1fr;gap:23px;min-height:119px}.schedule-list time{font-size:31px}.schedule-list h3{font-size:25px}.schedule-list p{font-size:18px}.schedule-list li::before{left:80px;top:11px;width:6px;height:6px}.schedule-list li:not(:last-child)::after{left:83px;top:19px}.veil-grip{left:50%;bottom:7px;gap:10px}.grip-ring{width:41px;height:41px}.grip-label{font-size:22px}.veil-controls{flex-direction:column;gap:8px}.veil-hint{text-align:center;font-size:12px}}
.details-link{font:14px/1.6 Arial,sans-serif;text-decoration:none;color:var(--wine);margin-top:28px;text-align:center}.details-link span{display:block;font-size:24px;margin-top:8px}
.replay{font-size:13px}.footer{font-size:12px;letter-spacing:1px}
.wedding-details{width:min(100%,1020px);margin-top:85px;animation:appear .8s both}
.venue-section{scroll-margin-top:24px}
.section-heading{text-align:center;margin:0 auto 40px}
.section-heading .eyebrow,.weather-intro .eyebrow,.map-copy .eyebrow{font-size:12px}
.section-heading h2,.weather-intro h2{font-size:clamp(48px,5.6vw,72px);line-height:1.05;letter-spacing:-1.5px;margin:0;font-weight:400}
.section-subtitle{font-size:23px;line-height:1.45;margin:18px auto 0;color:#7b6558}
.venue-gallery{display:grid;grid-template-columns:1.35fr 1fr;grid-template-rows:210px 210px;gap:20px}
.venue-gallery figure{margin:0;position:relative;overflow:hidden;background:#e3daca}
.venue-main-photo{grid-row:span 2}.venue-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.venue-main-photo img{object-position:52% center}
.venue-gallery figcaption{position:absolute;bottom:0;left:0;right:0;padding:33px 20px 16px;background:linear-gradient(transparent,#1d231ecc);color:#fffaf0;font:13px/1.5 Arial,sans-serif;letter-spacing:.3px}
.photo-credits{font:12px/1.6 Arial,sans-serif;color:#827369;margin:14px 0 0;text-align:right}.photo-credits a{color:inherit;text-decoration-color:#b8a693;text-underline-offset:3px}
.venue-story{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin:40px 0 46px;padding:0 14px}.venue-story p{font-size:22px;line-height:1.65;margin:0;color:#68554b}.venue-story strong{font-weight:500;color:var(--wine)}
.map-card{display:grid;grid-template-columns:.85fr 1.15fr;min-height:350px;background:#fffaf0;border:1px solid #b89b6e45;box-shadow:0 14px 35px #53392807}
.map-copy{padding:35px}.map-copy h3{font-weight:400;line-height:1.18;font-size:32px;margin:8px 0 21px;letter-spacing:-.5px}.map-copy address{font-size:19px;line-height:1.5;font-style:normal;color:#756051}.map-copy address strong{font-weight:500;color:var(--ink)}
.map-link{display:inline-block;font:14px/1.6 Arial,sans-serif;margin-top:24px;color:var(--wine);text-underline-offset:5px}.map-link span{margin-left:8px;font-size:18px}.map-card iframe{width:100%;height:100%;min-height:350px;border:0;display:block;background:#e3e9df}
.weather-section{margin:85px 0 0;background:#652333;color:#fff5e7;padding:50px;display:grid;grid-template-columns:1fr 1fr;gap:45px;position:relative}
.weather-section::before{content:'';position:absolute;inset:12px;border:1px solid #f2d6b230;pointer-events:none}
.weather-intro .eyebrow{color:#e6c8a2;margin-bottom:20px}.weather-intro h2{font-size:48px;color:#fff5e7;letter-spacing:-.6px;line-height:1.08}.weather-intro>p:last-child{font-size:21px;line-height:1.55;color:#f0dccc;margin:25px 0 0}
.temperatures{display:grid;grid-template-columns:1fr 1fr;margin:0;gap:25px}.temperatures>div+div{border-left:1px solid #fff5e733;padding-left:25px}.temperatures dt{font:12px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#e6c8a2}.temperatures dd{font-size:74px;line-height:1.15;margin:8px 0 0;letter-spacing:-2px}.temperatures dd span{font-size:27px;vertical-align:20px;letter-spacing:0;margin-left:5px}.temperatures small{display:block;font-size:18px;line-height:1.4;color:#f0dccc;letter-spacing:0;margin-top:3px}.weather-note{font:12px/1.5 Arial,sans-serif;color:#e6c8a2;margin:17px 0 25px}.warmth-note{border-top:1px solid #fff5e733;padding-top:20px}.warmth-note h3{font-size:25px;font-weight:400;margin:0 0 9px}.warmth-note p{font-size:19px;line-height:1.5;color:#f0dccc;margin:0}
.dresscode-section{margin:85px 0 0;scroll-margin-top:24px}
.dresscode-section .section-subtitle{max-width:22em}
.dresscode-card{background:#fffaf0;border:1px solid #b89b6e45;box-shadow:0 14px 35px #53392807;overflow:hidden}
.dresscode-photo{margin:0;background:#e8dcc8}
.dresscode-photo img{display:block;width:100%;height:auto}
.dresscode-notes{margin:0;padding:42px 48px 48px;display:grid;grid-template-columns:1fr 1fr;gap:32px 40px}
.dresscode-notes dt{font:12px/1.5 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:var(--wine);margin:0 0 8px}
.dresscode-notes dd{font-size:22px;line-height:1.45;margin:0;color:#68554b}
.gifts-section{margin:70px 0 0;scroll-margin-top:24px}
.gifts-card{background:#fffaf0;border:1px solid #b89b6e45;box-shadow:0 14px 35px #53392807;padding:48px 56px;text-align:center}
.gifts-card .eyebrow{margin:0 0 18px}
.gifts-card p{font-size:23px;line-height:1.55;margin:0 auto;max-width:22em;color:#68554b}
.rsvp-section{margin:28px 0 28px;scroll-margin-top:24px}
.rsvp-card{background:#fffaf0;border:1px solid #b89b6e45;box-shadow:0 14px 35px #53392807;padding:48px 56px;text-align:center}
.rsvp-card .eyebrow{margin:0 0 18px}
.rsvp-card p{font-size:23px;line-height:1.55;margin:0 auto;max-width:24em;color:#68554b}
.rsvp-card p+p{margin-top:14px}
.rsvp-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 18px;margin-top:28px}
.rsvp-accept,.rsvp-decline{display:inline-block;text-decoration:none;padding:13px 24px;border-radius:3px;font:15px/1.4 Arial,sans-serif;letter-spacing:.2px}
.rsvp-accept{background:var(--wine);color:var(--paper);border:1px solid var(--wine);box-shadow:0 4px 12px #71223213}
.rsvp-accept:hover{background:#5a1726}
.rsvp-decline{background:transparent;color:var(--wine);border:1px solid #71223255}
.rsvp-decline:hover{background:#fffaf0;border-color:var(--wine)}
@media(max-width:700px){.wedding-details{margin-top:66px}.section-heading{margin-bottom:28px}.section-subtitle{font-size:21px;max-width:270px}.venue-gallery{grid-template-columns:1fr 1fr;grid-template-rows:300px 180px;gap:12px}.venue-main-photo{grid-column:1 / -1;grid-row:auto}.venue-gallery figcaption{font-size:12px;padding:26px 12px 10px}.photo-credits{text-align:left;font-size:12px}.venue-story{grid-template-columns:1fr;gap:22px;margin:30px 0 35px;padding:0 5px}.venue-story p{font-size:21px;line-height:1.55}.map-card{grid-template-columns:1fr}.map-copy{padding:27px}.map-copy h3{font-size:31px}.map-card iframe{height:280px;min-height:280px}.weather-section{grid-template-columns:1fr;gap:30px;padding:34px 28px;margin-top:48px}.weather-intro h2{font-size:43px}.weather-intro>p:last-child{font-size:20px}.temperatures dd{font-size:70px}.temperatures small{font-size:17px}.dresscode-section{margin:48px 0 0}.dresscode-section .section-subtitle{max-width:16em}.dresscode-notes{grid-template-columns:1fr;padding:30px 26px 34px;gap:22px}.dresscode-notes dd{font-size:20px}.gifts-section{margin:40px 0 0}.gifts-card{padding:32px 26px}.gifts-card p{font-size:21px}.rsvp-section{margin:18px 0 16px}.rsvp-card{padding:32px 26px}.rsvp-card p{font-size:21px}.rsvp-actions{flex-direction:column;align-items:stretch}.rsvp-accept,.rsvp-decline{text-align:center}.footer{font-size:11px}.opening-caption p{font-size:12px}.replay{font-size:12px}}
@media(max-width:370px){.venue-gallery{grid-template-rows:250px 155px}.weather-section{padding:30px 23px}.weather-intro h2{font-size:38px}.temperatures{gap:15px}.temperatures>div+div{padding-left:15px}.temperatures dd{font-size:63px}.temperatures dd span{font-size:23px}.dresscode-notes{padding:26px 22px 30px}.footer{font-size:10px}}

.veil-canvas,.veil-fallback{pointer-events:none}@media(max-width:600px){.location-row{gap:12px}.deko-ringe{width:42px}.deko-taenzer{width:46px}}
.lang-switch{position:absolute;top:14px;right:18px;z-index:40;display:flex;align-items:center;gap:2px;font:11px/1 Arial,sans-serif;letter-spacing:1.5px;color:#b3a08c}
.lang-switch a{color:#8c7a6a;text-decoration:none;padding:8px 7px;border-radius:999px;transition:color .3s}
.lang-switch a:hover{color:var(--wine)}
.lang-switch a[aria-current="page"]{color:var(--wine);font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:#71223266}
@media(max-width:600px){.lang-switch{top:8px;right:8px}}
