@font-face{font-family:"Alegreya";src:url("assets/fonts/Alegreya-Regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:"Alegreya";src:url("assets/fonts/Alegreya-Bold.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:"Alegreya";src:url("assets/fonts/Alegreya-Italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:"Eyesome Script";src:url("assets/fonts/Eyesome-Script.otf") format("opentype");font-style:normal;font-weight:400;font-display:swap}:root{--cream: rgb(243, 231, 174);--olive: rgb(139, 140, 94);--ink: #42482f;--muted: #66694b;--line: rgba(94, 99, 60, 0.25);--paper: #f8f3de}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Alegreya",Georgia,serif;font-size:1.1875rem;line-height:1.65}a{color:inherit;text-underline-offset:5px}a:hover{color:#252a19}a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.12;letter-spacing:-0.045em}h1{font-size:clamp(3rem,6.5vw,5.375rem);margin-bottom:25px}h2{font-size:clamp(2.125rem,4vw,3.0625rem);margin-bottom:25px}h3{font-size:1.8125rem}em{font-weight:400}p{margin-bottom:18px}.site-header{max-width:1320px;margin:auto;min-height:110px;padding:24px 48px;display:flex;align-items:center;justify-content:center;gap:30px}nav{display:flex;gap:34px;align-items:center}nav a{font-size:1.2em;text-decoration:none;padding:10px 0}nav a[aria-current=page]{color:var(--muted)}.hero{text-align:center;padding:76px 24px 0}.hero h1{font-family:"Eyesome Script",cursive;font-size:clamp(2.5rem,2.5rem + (1vw - .2rem)*3.571,5rem);font-weight:400;letter-spacing:0;line-height:1.1;margin:0 0 26px}.hero-subtitle{font-family:Georgia,serif;font-size:1.5625rem;font-style:italic;color:var(--muted)}.venue-illustration{display:block;width:min(620px,100%);height:auto;margin:40px auto 0px;mix-blend-mode:multiply}.wedding-details{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;width:min(620px,100%);margin:0 auto 36px;font-family:Georgia,"Times New Roman",serif;font-size:1rem;font-style:italic}.invitation{max-width:740px;margin:0 auto;font-family:"Alegreya",Georgia,serif;font-size:1.1875rem;line-height:1.6}.section-width{width:min(1080px,100% - 96px);margin-inline:auto}.center-message{text-align:center;margin:3em auto}.welcome{text-align:center;max-width:650px;padding:78px 0 84px}.welcome p{max-width:565px;margin-inline:auto}.island,.itinerary{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:65px 0 95px}.island>div+div{padding-top:0}.island{padding-block:95px}.island p:last-child{margin-bottom:0}.island-cta{display:flex;align-items:center;justify-content:center}.island-cta .text-link{font-size:1.375rem}.text-link{font-size:1.0625rem}.text-link span::before{content:" "}.inline-link{display:inline-block;font-size:inherit}.gallery{margin-bottom:64px}.gallery-track{position:relative;display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain}.gallery-track:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.is-looping .gallery-track{scrollbar-width:none}.is-looping .gallery-track::-webkit-scrollbar{display:none}.gallery-track img{display:block;flex:none;width:auto;height:250px;background:var(--line)}.gallery-controls{display:flex;justify-content:center;gap:12px;margin-top:16px}.gallery-controls[hidden]{display:none}.gallery-controls button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,0);color:var(--ink);cursor:pointer}.gallery-controls button:hover{background:var(--cream)}.gallery-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.gallery-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.coming-soon{margin:0 auto 40px;padding:0 24px;text-align:center;font-family:"Eyesome Script",cursive;font-size:clamp(1.875rem,5vw,2.75rem);color:var(--muted)}footer{padding:50px 24px 45px;text-align:center}footer p{font:italic .9375rem Georgia,serif;margin:0}.footer-mark{width:1.2em;height:1.2em;margin-right:.35em;vertical-align:-0.25em}.page-intro{text-align:center;padding:80px 24px 68px}.lede{max-width:590px;margin:0 auto;color:var(--muted)}.travel-basics{display:grid;grid-template-columns:minmax(0, 760px);gap:80px;padding-block:55px;padding-block-end:0}.stays{padding:30px 0 90px}.section-copy{max-width:600px}.stay-card[id]{scroll-margin-top:30px}.stay-card[id]:target h3{text-decoration:underline;text-decoration-color:var(--olive);text-underline-offset:8px}.cairo-basemap{margin:40px 0 48px}.cairo-basemap figcaption{padding:14px 0 0;font-size:1rem;color:var(--muted)}.basemap-heading{display:flex;justify-content:space-between;align-items:center;padding:0 0 14px}.basemap-heading h3{margin:0}.basemap-heading span{font-size:1.625rem}.cairo-basemap-canvas{border:1px solid var(--line);height:clamp(420px,70svh,600px);position:relative;isolation:isolate;background:#f3edcf radial-gradient(rgba(139, 140, 94, 0.18) 0.6px, transparent 0.8px) 0 0/9px 9px;font-family:"Alegreya",Georgia,serif}.cairo-basemap-canvas .leaflet-tile-pane{filter:url(#basemap-paper)}.cairo-basemap-canvas .leaflet-control-attribution{font-size:.6875rem;background:rgba(243,237,207,.85)}.cairo-basemap-canvas .leaflet-bar{border:1px solid var(--line);box-shadow:none}.cairo-basemap-canvas .leaflet-bar a{background:#f3edcf;color:var(--ink);font-family:"Alegreya",Georgia,serif}.cairo-basemap-canvas .leaflet-bar a:hover{background:var(--cream)}.cairo-basemap-canvas .leaflet-control-scale-line{background:rgba(243,237,207,.85);border-color:var(--muted);color:var(--muted);font-family:"Alegreya",Georgia,serif}.cairo-basemap-canvas.leaflet-container{background-color:#f3edcf}.basemap-fallback{position:absolute;z-index:800;left:50px;right:50px;bottom:28px;padding:10px 14px;background:var(--paper);font-size:.9375rem}.basemap-filters{position:absolute;width:0;height:0}.basemap-north{color:var(--muted)}.basemap-north svg{display:block;width:26px;height:54px;overflow:visible;fill:currentColor;font:1.1875rem "Alegreya",Georgia,serif}.basemap-nile{fill:#b5cdd0;fill-opacity:1;stroke:#86a6a8;stroke-width:1.2}.basemap-nile-label{position:absolute;transform:translate(-50%, -50%) rotate(36deg);color:#2f5a5f;font:italic 1.3125rem/1 "Alegreya",Georgia,serif;white-space:nowrap;text-shadow:0 0 2px #b5cdd0,0 0 4px #b5cdd0,0 0 6px #b5cdd0}.basemap-nile-label span{margin-left:4px;font-style:normal}.basemap-pin{overflow:visible;background:none;border:0}.basemap-region{fill:#dcdcbc;fill-opacity:.6;stroke:#8f9670;stroke-width:1.4;stroke-dasharray:4 5;cursor:pointer;transition:fill .15s,stroke .15s}.basemap-region.is-active{fill:#e6d6a4;fill-opacity:.8;stroke:#884b32}.basemap-place,.basemap-palace{position:absolute;left:0;top:0;color:var(--ink) !important;text-decoration:none}.basemap-place:hover,.basemap-place:focus-visible,.basemap-place.is-active,.basemap-palace:hover,.basemap-palace:focus-visible,.basemap-palace.is-active{color:#884b32 !important;outline:none}.basemap-place:hover .basemap-place-name,.basemap-place:focus-visible .basemap-place-name,.basemap-place.is-active .basemap-place-name,.basemap-palace:hover .basemap-place-name,.basemap-palace:focus-visible .basemap-place-name,.basemap-palace.is-active .basemap-place-name{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}.basemap-dot{position:absolute;left:-6px;top:-6px;width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #f3edcf}.basemap-place-text{position:absolute;top:-15px;display:flex;flex-direction:column;white-space:nowrap;text-shadow:0 0 2px #f3edcf,0 0 4px #f3edcf,0 0 6px #f3edcf}.basemap-place-name{font:1.375rem/30px Georgia,"Times New Roman",serif}.basemap-place-right .basemap-place-text{left:16px}.basemap-place-left .basemap-place-text{right:16px;align-items:flex-end;text-align:right}.basemap-place-top .basemap-place-text{top:auto;bottom:12px;left:0;transform:translateX(-50%);align-items:center;text-align:center}.basemap-palace{color:#884b32 !important}.basemap-palace .basemap-place-text{top:-15px;left:23px}.basemap-palace .basemap-place-name{font-size:1.1875rem}.basemap-palace-icon{position:absolute;left:-16px;top:-14px}.basemap-palace-icon .art-wash{fill:#efc4a4}.basemap-art{overflow:visible}.art-ink{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.art-wash{fill:#e4d09c;transition:fill .15s}.art-accent{fill:#884b32}.basemap-fireworks{position:absolute;left:-35px;top:-66px;width:54px;height:54px;overflow:visible;fill:none;stroke-width:2.4;stroke-linecap:round}.basemap-fireworks path{vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:basemap-twinkle 2.8s ease-in-out infinite}.fireworks-gold{stroke:#b8862b}.fireworks-rose{stroke:#b8664a;animation-delay:-0.9s !important}.fireworks-late{animation-delay:-1.8s !important}@keyframes basemap-twinkle{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(0.85)}}@media(prefers-reduced-motion: reduce){.basemap-fireworks path{animation:none}}.basemap-home{position:absolute;left:0;top:0;color:#6f6a4c;pointer-events:none}.basemap-home-icon{position:absolute;left:-13px;top:-13px}.basemap-home-name{position:absolute;left:17px;top:-8px;font-size:.8125rem;font-style:italic;line-height:1.2;white-space:nowrap;text-shadow:0 0 2px #f3edcf,0 0 4px #f3edcf,0 0 6px #f3edcf}.basemap-sight{position:absolute;left:0;top:0;color:#7d7c5a !important;text-decoration:none}.basemap-sight svg{position:absolute;left:calc(var(--art-width)/-2);top:calc(var(--art-height)/-2);width:var(--art-width);height:var(--art-height);overflow:visible}.basemap-sight:hover,.basemap-sight:focus-visible{color:#884b32 !important;outline:none}.basemap-sight:hover .art-wash,.basemap-sight:focus-visible .art-wash{fill:#efc4a4}.basemap-sight:hover .basemap-sight-name,.basemap-sight:focus-visible .basemap-sight-name{text-decoration:underline}.basemap-sight-below .basemap-sight-name{top:calc(var(--art-height)/2 + 3px);transform:translateX(-50%)}.basemap-sight-left .basemap-sight-name{right:calc(var(--art-width)/2 + 6px);transform:translateY(-50%)}.basemap-sight-right .basemap-sight-name{left:calc(var(--art-width)/2 + 6px);transform:translateY(-50%)}.basemap-sight-base svg{top:calc(var(--art-height)*-1)}.basemap-sight-base.basemap-sight-below .basemap-sight-name{top:3px}.basemap-sight-base.basemap-sight-left .basemap-sight-name,.basemap-sight-base.basemap-sight-right .basemap-sight-name{top:calc(var(--art-height)/-2)}.basemap-sight-name{position:absolute;font-size:.8125rem;font-style:italic;line-height:1.2;white-space:nowrap;text-shadow:0 0 2px #f3edcf,0 0 4px #f3edcf,0 0 6px #f3edcf}.cairo-basemap-canvas[data-zoom=far] .basemap-sight-minor{display:none}.cairo-basemap-canvas[data-size=narrow] .basemap-place-name{font-size:1.125rem;line-height:24px}.cairo-basemap-canvas[data-size=narrow] .basemap-place-text{top:-12px}.cairo-basemap-canvas[data-size=narrow] .basemap-place-right .basemap-place-text{left:12px}.cairo-basemap-canvas[data-size=narrow] .basemap-place-left .basemap-place-text{right:12px}.cairo-basemap-canvas[data-size=narrow] .basemap-place-top .basemap-place-text{top:auto}.cairo-basemap-canvas[data-size=narrow] .basemap-sight-name,.cairo-basemap-canvas[data-size=narrow] .basemap-home-name{display:none}.cairo-basemap-canvas[data-size=narrow] .basemap-sight svg,.cairo-basemap-canvas[data-size=narrow] .basemap-palace-icon,.cairo-basemap-canvas[data-size=narrow] .basemap-fireworks,.cairo-basemap-canvas[data-size=narrow] .basemap-home-icon{transform:scale(0.75)}.cairo-basemap-canvas[data-size=narrow] .basemap-palace .basemap-place-text{top:-12px;left:20px}.cairo-basemap-canvas[data-size=narrow] .basemap-palace .basemap-place-name{font-size:1rem}.cairo-basemap-canvas[data-size=narrow] .basemap-nile-label{font-size:.875rem}.basemap-key{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;margin-bottom:6px}.basemap-key .text-link{font-size:inherit}.basemap-key>span{display:inline-flex;align-items:baseline;gap:8px}.basemap-key i{align-self:center;display:inline-block;width:22px;height:13px}.basemap-key .basemap-key-region{background:rgba(220,220,188,.8);border:1px dashed #8f9670;border-radius:40%}.basemap-key .basemap-key-river{border-radius:4px;background:#b5cdd0;border:1px solid #86a6a8}.stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:38px}.stay-card{padding:30px 0}.stay-card h3{font-size:2.1875rem;margin-bottom:12px}.stay-card .stay-intro{max-width:420px;margin:0 0 20px;font-style:italic;color:var(--muted)}.stay-card ul{list-style:none;padding:0;margin:0}.stay-card li+li{margin-top:12px}.note{background:rgba(0,0,0,0);color:var(--ink);padding:30px 0;margin-top:24px}.note h3{margin-bottom:12px}.note p{margin:0}.note a:hover{color:#000}.itinerary{gap:60px;padding:40px 0}.itinerary h2{font-size:2.25rem;margin-bottom:0}.itinerary p:last-child{margin-bottom:0}.discovery-columns{display:grid;grid-template-columns:1.2fr 1fr;gap:90px;padding-block:70px 90px}.places{list-style:none;padding:0;margin:30px 0 0}.places li{display:flex;gap:24px;align-items:baseline;padding:17px 0;border-bottom:1px solid var(--line)}.places li>span:first-child{font-size:.625rem;letter-spacing:1px;color:var(--muted)}.places li>span+span{font-family:Georgia,serif;font-size:1.3125rem;line-height:1.4}.small-note{font-family:Georgia,serif;font-style:italic;margin-top:35px;color:var(--muted)}.faq-list{max-width:800px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;font:1.4375rem/1.4 Georgia,serif;padding:26px 0;display:flex;align-items:center;justify-content:space-between;gap:25px}summary::-webkit-details-marker{display:none}.faq-icon:before{content:"+";font:1.5rem Georgia,serif}details[open] .faq-icon:before{content:"−"}details p{padding:0 45px 20px 0;max-width:700px}.closing{text-align:center;padding-block:80px}.closing p:last-child{margin:0}.skip-link{position:absolute;left:16px;top:-100px;background:var(--ink);color:var(--cream);padding:12px;z-index:2}.skip-link:focus{top:12px}@media(min-width: 1500px){.hero{padding-top:80px}}@media(max-width: 760px){.site-header{padding:20px 24px;gap:20px;flex-direction:column}nav{gap:25px}nav a{font-size:.9375rem}.hero{padding-top:45px}.hero-subtitle{font-size:1.0625rem}.section-width{width:calc(100% - 44px)}.wedding-details{font-size:.875rem}.venue-illustration{margin-block:28px 24px}.welcome{padding-block:55px}.island,.itinerary,.travel-basics,.discovery-columns{grid-template-columns:1fr;gap:25px}.island>div+div{padding-top:0}.island{padding-block:45px}.page-intro{padding-block:55px}.stay-grid{grid-template-columns:1fr}.stay-card{padding:25px 0}.discovery-columns{gap:55px;padding-block:50px}.note{padding:25px 0}.travel-basics{padding-block:40px}.travel-basics article+article{margin-top:10px}summary{font-size:1.3125rem}.closing{padding-block:60px}}@media(prefers-reduced-motion: reduce){html{scroll-behavior:auto}}@media print{.site-header,footer,.skip-link{display:none}body{background:#fff;color:#000}.section-width{width:100%}.hero{padding:0}.page-intro{padding:20px}details{break-inside:avoid}details::details-content{content-visibility:visible}}