*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Cormorant Garamond,Georgia,serif;background:#fffef7;color:#3d3d3d;line-height:1.6}::selection{background:#9bbcd9;color:#fffef7}img{max-width:100%;height:auto}a{color:inherit}:root{--color-cream: #FFFEF7;--color-gold: #C9A95F;--color-blue: #9BBCD9;--color-blue-dark: #7BA3C4;--color-text: #3D3D3D;--color-text-light: #5A5A5A;--color-text-muted: #888888;--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Jost", sans-serif}.label{font-family:var(--font-sans);font-size:12px;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--color-blue)}.heading-1{font-size:clamp(48px,10vw,88px);font-weight:300;letter-spacing:-.02em;line-height:1.1;color:var(--color-text)}.heading-2{font-size:clamp(36px,6vw,48px);font-weight:300;color:var(--color-text)}.heading-3{font-size:28px;font-weight:400;color:var(--color-text)}.heading-4{font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold)}.body-text{font-size:18px;line-height:2;color:var(--color-text-light)}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:16px 32px;display:flex;justify-content:center;align-items:center;gap:28px;transition:all .3s ease}.nav.scrolled{background:#fffef7f7;backdrop-filter:blur(10px);border-bottom:1px solid rgba(201,169,95,.1)}.nav-link{position:relative;color:var(--color-text-light);text-decoration:none;font-family:var(--font-sans);font-weight:400;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:8px 0;transition:color .3s ease}.nav-link:hover{color:var(--color-blue)}.nav-link.active{color:var(--color-gold)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--color-gold);transition:width .3s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.btn-primary{display:inline-block;padding:14px 36px;background:transparent;border:1px solid var(--color-gold);color:var(--color-gold);font-family:var(--font-sans);font-size:12px;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:all .3s ease}.btn-primary:hover{background:var(--color-gold);color:var(--color-cream)}.ornament{display:inline-block;color:var(--color-gold);font-size:24px;margin:0 16px;opacity:.7}.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);margin:60px 0}.card{background:var(--color-cream);border:1px solid rgba(201,169,95,.2);padding:32px;transition:all .3s ease}.card:hover{border-color:#c9a95f80;box-shadow:0 8px 32px #c9a95f1a}.quote-block{background:#9bbcd914;padding:32px 40px;border-left:3px solid var(--color-blue);margin:32px 0}.highlight-block{background:#c9a95f0f;padding:32px 40px;border-left:3px solid var(--color-gold);margin:32px 0}.image-frame{border:1px solid rgba(201,169,95,.3);padding:8px;background:var(--color-cream)}.hotel-link{color:var(--color-blue);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s ease}.hotel-link:hover{border-bottom-color:var(--color-blue)}.music-btn{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:#fffef7f2;border:1px solid var(--color-gold);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1000;transition:all .3s ease;box-shadow:0 4px 20px #0000001a;color:var(--color-gold);font-size:20px;font-family:Georgia,serif}.music-btn:hover{transform:scale(1.05);box-shadow:0 6px 24px #c9a95f33}.music-btn.playing{animation:pulse 2s ease infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.fade-in{opacity:0;transform:translateY(20px);animation:fadeIn 1s ease forwards}.fade-in-delay-1{animation-delay:.2s}.fade-in-delay-2{animation-delay:.4s}.fade-in-delay-3{animation-delay:.6s}.fade-in-delay-4{animation-delay:.8s}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.section{padding:120px 24px 80px;max-width:900px;margin:0 auto}.section-header{text-align:center;margin-bottom:64px}.section-header .label{margin-bottom:16px;display:block}.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:120px 24px 80px;background:radial-gradient(ellipse at 20% 20%,rgba(155,188,217,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(201,169,95,.06) 0%,transparent 50%),var(--color-cream)}.hero-photo{width:280px;height:280px;border-radius:50%;overflow:hidden;border:3px solid var(--color-gold);margin-bottom:40px;box-shadow:0 8px 40px #c9a95f26}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero h1 .ampersand{color:var(--color-gold)}.hero-subtitle{display:flex;align-items:center;margin-bottom:40px}.hero-subtitle span{font-family:var(--font-sans);font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-light)}.hero-intro{max-width:560px;font-size:20px;line-height:1.8;color:var(--color-text-light);font-weight:300;margin-bottom:48px}.itinerary-item{display:grid;grid-template-columns:120px 1fr;gap:32px;padding:32px 0;border-bottom:1px solid rgba(201,169,95,.15)}.itinerary-item:last-child{border-bottom:none}.itinerary-item.highlight{background:#c9a95f0d;margin:0 -24px;padding-left:24px;padding-right:24px}.itinerary-day{font-family:var(--font-sans);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--color-blue);margin-bottom:4px}.itinerary-date{font-size:14px;color:var(--color-text-light)}.itinerary-title{font-size:22px;font-weight:400;color:var(--color-text);margin-bottom:8px}.itinerary-item.highlight .itinerary-title{color:var(--color-gold)}.itinerary-desc{font-size:16px;line-height:1.7;color:var(--color-text-light)}.travel-step{display:grid;grid-template-columns:56px 1fr;gap:24px;align-items:start;margin-bottom:32px}.travel-step-number{width:56px;height:56px;border-radius:50%;border:1px solid var(--color-gold);display:flex;align-items:center;justify-content:center;font-family:var(--font-sans);font-size:18px;color:var(--color-gold);flex-shrink:0}.travel-step h4{font-size:20px;font-weight:500;color:var(--color-text);margin-bottom:8px}.travel-step p{font-size:16px;line-height:1.8}.hotel-category{margin-bottom:32px}.hotel-category h4{margin-bottom:20px}.hotel-cards{display:grid;gap:16px}.hotel-card{display:flex;justify-content:space-between;align-items:start;flex-wrap:wrap;gap:12px}.hotel-card strong{font-size:18px}.hotel-card p{color:var(--color-text-muted);font-size:15px;margin-top:4px}.image-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:48px 0}.image-grid img{width:100%;height:200px;object-fit:cover}.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}.footer{padding:48px 24px;text-align:center;border-top:1px solid rgba(201,169,95,.15)}.footer p{font-family:var(--font-sans);font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-muted)}.map-container{margin:48px 0;border:1px solid rgba(201,169,95,.3);border-radius:4px;overflow:hidden}.map-container iframe{width:100%;height:350px;border:0;filter:sepia(15%) saturate(90%)}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:8px;font-size:24px;color:var(--color-gold)}.mobile-menu{display:none;position:fixed;inset:0;background:#fffef7fa;z-index:200;flex-direction:column;align-items:center;justify-content:center;gap:24px}.mobile-menu.open{display:flex}.mobile-menu .nav-link{font-size:16px}.mobile-menu-close{position:absolute;top:20px;right:24px;background:none;border:none;cursor:pointer;font-size:28px;color:var(--color-gold)}@media (max-width: 900px){.nav .desktop-nav{display:none}.mobile-menu-btn{display:block;position:absolute;right:24px}.itinerary-item{grid-template-columns:1fr;gap:12px}.travel-step{grid-template-columns:48px 1fr}.travel-step-number{width:48px;height:48px;font-size:16px}}
