
#wedding-journey{color-scheme:light;--purple:#8a6a8a;--green:#8a9a5b;--paper:#efeeeb;--ink:#514650;--quiet:#71676f;--land:#d7d9cd;--chosen:#c5b6c5;--rule:#d7d0d5;--photo:#e3dfe1;background:var(--paper);color:var(--ink);font:400 13px/1.5 system-ui,sans-serif;padding:25px 16px 19px;overflow:hidden}
#wedding-journey *{box-sizing:border-box}#wedding-journey h2{font:400 34px/1.1 Georgia,serif;text-align:center;margin:0;color:var(--purple);letter-spacing:-.8px}#wedding-journey .subtitle{text-align:center;font-size:10px;letter-spacing:2.2px;text-transform:uppercase;margin:11px 0 15px;color:var(--quiet)}#wedding-journey button{font:inherit;cursor:pointer;border:0;background:transparent;color:var(--ink);padding:0;min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent}#wedding-journey button:disabled{opacity:.3;cursor:default}#wedding-journey button:focus-visible{outline:2px solid var(--purple);outline-offset:2px}#wedding-journey .map{height:255px;position:relative;overflow:hidden;touch-action:pan-y;cursor:grab}#wedding-journey .map>svg{width:100%;height:100%;display:block}#wedding-journey .pins{position:absolute;inset:0;pointer-events:none}#wedding-journey .pin{position:absolute;width:44px;height:44px;transform:translate(-50%,calc(-50% - 17px));pointer-events:auto;display:grid;place-items:center;color:var(--green)}#wedding-journey .pin svg{width:28px!important;height:33px!important;fill:var(--green);stroke:var(--paper);stroke-width:1.7}#wedding-journey .pin[aria-pressed=true]{color:var(--purple)}#wedding-journey .pin[aria-pressed=true] svg{width:35px!important;height:40px!important;fill:#765076;stroke:#fffdf8;stroke-width:1.7;filter:drop-shadow(0 2px 3px #51465055)}#wedding-journey .map-tools{position:absolute;bottom:4px;right:0;display:flex;background:var(--paper)}#wedding-journey .map-tools button{color:var(--purple);display:grid;place-items:center}#wedding-journey .map-tools svg{width:16px;height:16px;stroke-width:1.5}#wedding-journey .map-tools .zoom-in,#wedding-journey .map-tools .zoom-out{font:400 22px Georgia,serif}
#wedding-journey .country-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:10px 0 9px;touch-action:pan-y}#wedding-journey .arrow{color:var(--purple);font:400 25px Georgia,serif}#wedding-journey .country-window{overflow:hidden;min-width:0}#wedding-journey .country-track{display:flex;transition:transform .5s cubic-bezier(.2,.7,.2,1)}#wedding-journey .country-slide{flex:0 0 100%;min-width:0;text-align:center;padding:0 5px}#wedding-journey .country-name{display:block;font:400 clamp(22px,5vw,30px)/1.3 Georgia,serif;color:var(--purple);white-space:normal}#wedding-journey .country-position{display:block;font-size:10px;letter-spacing:2px;color:var(--quiet);margin-top:5px}#wedding-journey .city-tabs{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;padding:10px 0 14px}#wedding-journey .city-tabs button{font:400 14px Georgia,serif;min-width:0;padding:0 3px;border-bottom:1px solid transparent;color:var(--quiet)}#wedding-journey .city-tabs button[aria-pressed=true]{color:var(--purple);border-bottom-color:var(--green)}#wedding-journey .album{max-width:520px;margin:auto}#wedding-journey .photo-stage{position:relative;overflow:hidden;background:var(--photo);aspect-ratio:4/3;touch-action:pan-y}#wedding-journey .photo-art{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:13px;text-align:center;padding:40px 50px;background:var(--photo)}#wedding-journey .photo-art .fine-line{height:24px;width:1px;background:var(--green)}#wedding-journey .photo-place{font:400 italic 30px/1.2 Georgia,serif;color:var(--purple)}#wedding-journey .photo-note{font-size:11px;letter-spacing:.5px;color:var(--quiet)}#wedding-journey .photo-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:54px;display:grid;place-items:center;font:400 24px Georgia,serif;color:var(--purple);background:var(--paper)}#wedding-journey .previous-photo{left:0}#wedding-journey .next-photo{right:0}#wedding-journey .caption{display:flex;align-items:baseline;justify-content:flex-end;gap:15px;padding:13px 1px 4px}#wedding-journey .caption h3{font:400 20px/1.25 Georgia,serif;margin:0;color:var(--ink)}#wedding-journey .photo-count{font-size:11px;letter-spacing:1.8px;white-space:nowrap;color:var(--quiet)}#wedding-journey .place-kind{color:var(--quiet);font-size:11px;margin-top:4px}#wedding-journey footer{text-align:center;margin-top:20px;font-size:11px;color:var(--quiet)}#wedding-journey footer a{color:inherit}#wedding-journey .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:550px){#wedding-journey{padding:32px 32px 21px}#wedding-journey h2{font-size:40px}#wedding-journey .map{height:290px}#wedding-journey .country-carousel{max-width:520px;margin:auto}#wedding-journey .photo-stage{aspect-ratio:16/9}#wedding-journey .city-tabs{padding-bottom:17px}}
@media(prefers-reduced-motion:reduce){#wedding-journey .country-track{transition:none}}

#wedding-journey .caption{justify-content:center;padding-top:4px}
#wedding-journey .gallery-dots{display:flex;justify-content:center;align-items:center;max-width:100%;min-height:44px}
#wedding-journey .gallery-dot{display:grid;place-items:center;min-width:44px;width:44px;min-height:44px;height:44px;padding:0}
#wedding-journey .gallery-dot::before{content:'';display:block;width:6px;height:6px;border-radius:50%;background:#c7bcc7;transition:background .2s,transform .2s}
#wedding-journey .gallery-dot.edge::before{transform:scale(.65)}
#wedding-journey .gallery-dot[aria-current="true"]::before{background:var(--purple);transform:scale(1.25)}
#wedding-journey .gallery-dot[hidden]{display:none}
@media(max-width:600px),(hover:none) and (pointer:coarse){#wedding-journey .photo-arrow,#wedding-journey .country-carousel>.arrow{display:none}#wedding-journey .country-carousel{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){#wedding-journey .gallery-dot::before{transition:none}}

#wedding-journey .photo-art{padding:0;background:var(--paper)}#wedding-journey .journey-photo{display:block;width:100%;height:100%;object-fit:contain;user-select:none}#wedding-journey .photo-stage{background:var(--paper)}



/* A constant-height city row prevents camera resizes during photo navigation. */
#wedding-journey .city-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;position:relative;min-width:0}
#wedding-journey .city-tabs::-webkit-scrollbar{display:none}
#wedding-journey .city-tabs button{flex:0 0 auto;white-space:nowrap}
#wedding-journey .city-tabs button:first-child{margin-left:auto}
#wedding-journey .city-tabs button:last-child{margin-right:auto}
#wedding-journey .photo-art{isolation:isolate}
#wedding-journey .photo-art>.journey-photo,#wedding-journey .photo-outgoing{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--paper)}
#wedding-journey .photo-outgoing{pointer-events:none}
