*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--bg-color:#f5f2ed;--shadow-card:0 4px 30px rgba(0,0,0,0.12);color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg-color:#1a1a1a;--shadow-card:0 4px 30px rgba(0,0,0,0.5)}}body,html{width:100%;height:100%;overflow-x:hidden;-webkit-tap-highlight-color:transparent}body{flex-direction:column;justify-content:flex-start;background:var(--bg-color);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .3s ease}.invitation-wrapper,body{display:flex;align-items:center}.invitation-wrapper{position:relative;width:100vw;min-height:100dvh;justify-content:center;flex-shrink:0}.invitation-bg{position:relative;width:min(92vw,68dvh);aspect-ratio:3/4}.invitation-bg>img{width:100%;height:100%;object-fit:contain;display:block;border-radius:6px;box-shadow:var(--shadow-card)}.card-container{width:50%;perspective:1800px}.card-container,.card-flap{position:absolute;top:0;left:0;height:100%}.card-flap{width:100%;transform-origin:left center;transform-style:preserve-3d;transition:transform 1.4s cubic-bezier(.4,0,.2,1);will-change:transform}.card-flap.open{transform:rotateY(-180deg)}.card-front{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#96a36e;border-radius:6px 0 0 6px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;overflow:hidden;box-shadow:2px 0 20px rgba(0,0,0,.15);transition:box-shadow 1.4s cubic-bezier(.4,0,.2,1)}.card-flap.open .card-front{box-shadow:none}.card-front img{width:100%;height:auto;display:block;object-fit:cover;pointer-events:none}.card-back{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:rotateY(180deg);background:#96a36e;border-radius:0 6px 6px 0}.hint-text{position:absolute;top:38%;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.75);font-family:Georgia,Times New Roman,serif;font-size:clamp(10px,1.8vw,15px);letter-spacing:2px;text-transform:uppercase;animation:pulse 2s ease-in-out infinite;white-space:nowrap;pointer-events:none}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}.hint-text.hidden{opacity:0;transition:opacity .5s ease;pointer-events:none}.page-shadow{position:absolute;top:0;left:100%;width:30px;height:100%;background:linear-gradient(90deg,rgba(0,0,0,.15),transparent);opacity:1;transition:opacity 1.4s cubic-bezier(.4,0,.2,1);pointer-events:none}.card-flap.open .page-shadow{opacity:0}.page-scroll{width:100%;min-height:100dvh}.map-section,.page-scroll{display:flex;flex-direction:column;align-items:center}.map-section{width:min(92vw,68dvh);padding:24px 0 40px;gap:16px}.map-title{font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,3vw,22px);color:#ffffff;letter-spacing:3px;text-transform:uppercase;text-align:center}.map-container{width:100%;aspect-ratio:16/9;border-radius:8px;overflow:hidden;box-shadow:var(--shadow-card)}.map-container iframe{width:100%;height:100%;display:block}.map-link{display:inline-flex;align-items:center;gap:6px;padding:10px 24px;background:#5c6b3d;color:#fff;font-family:Georgia,Times New Roman,serif;font-size:clamp(12px,2vw,15px);letter-spacing:1px;text-decoration:none;border-radius:6px;transition:background .3s ease,transform .2s ease;cursor:pointer}.map-link:hover{background:#4a5731;transform:translateY(-1px)}.map-link:active{transform:translateY(0)}