*,:after,:before{margin:0;padding:0;box-sizing:border-box}:root{--navy:#1c2a3a;--twilight:#2e4a5e;--gold:#d4c5a9;--gold-light:#e4d9c4;--ivory:#f7f4ef;--ivory-warm:#f0ebe3;--bronze:#b8a080;--charcoal:#2d3038;--text:#4a5568;--text-light:#6b7280;--white:#fff}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;color:var(--charcoal);background:var(--ivory);line-height:1.7;-webkit-font-smoothing:antialiased}section[id]{scroll-margin-top:70px}.floating-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(28,42,58,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;opacity:0;transform:translateY(-100%);transition:opacity .4s ease,transform .4s ease}.floating-nav.visible{opacity:1;transform:translateY(0)}.floating-nav-title{font-family:var(--font-heading);font-size:.95rem;color:var(--gold-light);font-weight:400;letter-spacing:.02em}.nav-links{display:flex;gap:2rem}.nav-links a{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);text-decoration:none;transition:color .2s;opacity:.8}.nav-links a:hover{color:var(--gold-light);opacity:1}.nav-mobile-toggle{display:none;background:none;border:none;color:var(--gold);font-size:1.5rem;cursor:pointer;padding:.5rem}@media (max-width:768px){.floating-nav{padding:0 1.25rem}.nav-mobile-toggle{display:block}.nav-links{position:absolute;top:56px;left:0;right:0;background:rgba(28,42,58,.98);flex-direction:column;gap:0;padding:1rem 0;display:none}.nav-links.open{display:flex}.nav-links a{padding:.75rem 2rem;display:block}}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--navy);position:relative;overflow:hidden;padding:2rem}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 40%,rgba(46,74,94,.6) 0,transparent 60%),radial-gradient(ellipse at 70% 60%,hsla(39,33%,75%,.06) 0,transparent 50%)}.hero-content{position:relative;z-index:1;max-width:680px;animation:fadeUp 1.2s ease-out}.hero-brand{font-size:.65rem;letter-spacing:.4em;color:var(--bronze);margin-bottom:3rem;opacity:.8}.hero-brand,.hero-tag{text-transform:uppercase}.hero-tag{font-size:.7rem;letter-spacing:.35em;color:var(--gold);margin-bottom:1.8rem;opacity:.7}.hero h1{font-family:var(--font-heading);font-weight:300;font-size:clamp(3rem,7.5vw,5.2rem);line-height:1.12;color:var(--white);margin-bottom:1.5rem;letter-spacing:-.01em}.hero-subtitle{font-weight:200;font-size:1.05rem;color:var(--gold);letter-spacing:.1em;margin-bottom:3rem}.hero-divider{width:60px;height:1px;background:var(--bronze);margin:0 auto 2rem;opacity:.5}.hero-date{display:inline-block;border:1px solid hsla(39,33%,75%,.25);padding:.7rem 2.2rem;font-size:.8rem;letter-spacing:.18em;color:var(--gold-light);font-weight:300}.hero-location{font-size:.75rem;color:hsla(39,33%,75%,.4);margin-top:1rem;letter-spacing:.06em}.scroll-hint{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:2;animation:gentleBounce 2.5s ease-in-out infinite}.scroll-hint svg{width:18px;height:18px;stroke:var(--gold);opacity:.3}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes gentleBounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s ease}.fade-in.visible{opacity:1;transform:translateY(0)}section{padding:5.5rem 1.5rem}.container{max-width:760px;margin:0 auto}.container-wide{max-width:980px;margin:0 auto}.section-tag{font-size:.65rem;letter-spacing:.35em;text-transform:uppercase;color:var(--bronze);margin-bottom:1rem}h2{font-family:var(--font-heading);font-weight:400;font-size:clamp(1.8rem,4vw,2.5rem);color:var(--navy);margin-bottom:1.5rem;line-height:1.25}.divider{width:50px;height:1px;background:var(--gold);margin:1.8rem 0}.divider-center{margin:1.8rem auto}.photo-break{width:100%;height:50vh;min-height:320px;max-height:500px;overflow:hidden;position:relative}.photo-break img{width:100%;height:100%;object-fit:cover;display:block}.intro{background:var(--ivory);text-align:center}.intro-quote{font-family:var(--font-heading);font-style:italic;font-size:1.45rem;color:var(--navy);line-height:1.65;max-width:520px;margin:0 auto 2rem}.intro p{color:var(--text);font-size:.92rem;max-width:560px;margin:0 auto 1.2rem}.intro-setting{margin-top:2rem;color:var(--bronze);font-style:italic;font-family:var(--font-heading);font-size:1.05rem;line-height:1.65}.guides{background:var(--navy);color:var(--ivory)}.guides h2{color:var(--gold-light)}.guides .section-tag{color:var(--gold);opacity:.6}.guides .divider{background:hsla(39,33%,75%,.25)}.guides-layout.single{display:grid;grid-template-columns:1fr 1.2fr;grid-gap:3.5rem;gap:3.5rem;align-items:center}.guides-layout.multi{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:3rem;gap:3rem}.guides-layout.multi .section-tag{grid-column:1/-1;text-align:center}.guide-card{display:flex;flex-direction:column}.guides-layout.single .guide-card{display:contents}.guide-img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.guides-layout.multi .guide-img{aspect-ratio:3/4;margin-bottom:1.5rem}.guide-text p{font-size:.9rem;color:hsla(38,33%,95%,.75);margin-bottom:1rem;line-height:1.75}.guide-creds{font-size:.75rem;color:var(--gold);opacity:.6;line-height:2;margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid hsla(39,33%,75%,.15)}.guide-links{margin-top:1.2rem;display:flex;gap:1.8rem}.guides-layout.multi .guide-links{flex-wrap:wrap}.guide-links a{font-size:.75rem;color:var(--gold);text-decoration:none;letter-spacing:.04em;padding-bottom:2px;border-bottom:1px solid hsla(39,33%,75%,.25);transition:all .2s}.guide-links a:hover{color:var(--gold-light);border-color:var(--gold-light)}.experience{background:var(--ivory-warm)}.flow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:1.2rem;gap:1.2rem;margin-top:2.5rem}.flow-card{background:var(--white);padding:1.6rem;border:1px solid rgba(28,42,58,.06);transition:box-shadow .3s ease}.flow-card:hover{box-shadow:0 4px 20px rgba(28,42,58,.06)}.flow-card h3{font-family:var(--font-heading);font-weight:500;font-size:1.1rem;color:var(--navy);margin-bottom:.5rem}.flow-card p{font-size:.82rem;color:var(--text-light);line-height:1.65}.experience-note{font-family:var(--font-heading);font-style:italic;font-size:1.02rem;color:var(--bronze);margin-top:2.5rem;padding-top:1.8rem;border-top:1px solid hsla(34,28%,61%,.25);line-height:1.75;max-width:600px}.gallery{padding:0;background:var(--navy)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:3px;gap:3px}.gallery-grid img{width:100%;height:280px;object-fit:cover;display:block;transition:opacity .3s}.gallery-grid img:hover{opacity:.85}.included{background:var(--ivory);text-align:center}.included-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:.5rem 2rem;gap:.5rem 2rem;margin-top:2.5rem;text-align:left}.included-item{display:flex;align-items:center;gap:.75rem;padding:.7rem 0;border-bottom:1px solid rgba(28,42,58,.05)}.included-dot{width:5px;height:5px;border-radius:50%;background:var(--bronze);flex-shrink:0}.included-item span{font-size:.88rem;color:var(--text)}.included-note{font-family:var(--font-heading);font-style:italic;color:var(--bronze);font-size:.95rem;margin-top:2.5rem;line-height:1.7}.rooms{background:var(--ivory-warm)}.rooms-note{font-size:.82rem;color:var(--text-light);margin-bottom:2.5rem}.early-badge{display:inline-block;background:hsla(39,33%,75%,.15);color:var(--bronze);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;padding:.5rem 1rem;margin-bottom:1.5rem;border:1px solid hsla(34,28%,61%,.25)}.room-category{margin-bottom:2rem;padding:1.5rem 1.8rem;background:var(--white);border:1px solid rgba(28,42,58,.05)}.room-category h3{font-family:var(--font-heading);font-weight:500;font-size:1.1rem;color:var(--navy);margin-bottom:.8rem;padding-bottom:.6rem;border-bottom:1px solid hsla(39,33%,75%,.3)}.room-row{display:flex;justify-content:space-between;align-items:baseline;padding:.4rem 0;font-size:.86rem}.room-name{color:var(--text)}.room-price{font-weight:400;color:var(--navy);white-space:nowrap;margin-left:1rem}.early-price{font-weight:500;color:var(--navy)}.standard-price{font-size:.78rem;color:var(--text-light);display:block;margin-top:.2rem}.room-footnote{font-family:var(--font-heading);font-style:italic;color:var(--bronze);font-size:.95rem;margin-top:2rem;text-align:center}.payment{background:var(--navy);color:var(--ivory);text-align:center}.payment h2{color:var(--gold-light)}.payment .section-tag{color:var(--gold);opacity:.6}.payment .divider{background:hsla(39,33%,75%,.25);margin:1.8rem auto}.payment-steps{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;margin:2.5rem 0}.payment-step{text-align:center;max-width:180px}.step-label{font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.55;margin-bottom:.5rem}.step-amount{font-family:var(--font-heading);font-size:1.6rem;color:var(--gold-light)}.step-date{margin-top:.3rem}.payment-note,.step-date{font-size:.78rem;color:hsla(38,33%,95%,.35)}.payment-note{font-style:italic;max-width:480px;margin:1.5rem auto 0}.faq{background:var(--ivory)}.faq-list{margin-top:2rem}.faq-item{border-bottom:1px solid hsla(39,33%,75%,.35);padding:1.4rem 0}.faq-q{font-weight:400;font-size:.92rem;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:color .2s}.faq-q:hover{color:var(--twilight)}.faq-q:after{content:"+";font-size:1.2rem;color:var(--bronze);flex-shrink:0;margin-left:1rem;transition:transform .3s}.faq-item.open .faq-q:after{content:"\2212"}.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;font-size:.86rem;color:var(--text);line-height:1.75}.faq-item.open .faq-a{max-height:200px;padding-top:.8rem}.closing{background:var(--ivory-warm);text-align:center;padding:6rem 1.5rem}.closing-quote{font-family:var(--font-heading);font-style:italic;font-size:1.3rem;color:var(--navy);line-height:1.7;max-width:480px;margin:0 auto 2.5rem}.closing p{font-size:.88rem;color:var(--text-light);margin-bottom:.8rem}.signoff{margin-top:3rem}.signoff .pura{font-style:italic;font-size:1.25rem;color:var(--bronze)}.signoff .name,.signoff .pura{font-family:var(--font-heading)}.signoff .name{font-size:1.8rem;color:var(--navy);margin-top:.3rem}footer{background:var(--navy);text-align:center;padding:2.5rem 1.5rem;font-size:.72rem;letter-spacing:.1em}footer a{color:var(--gold);text-decoration:none;opacity:.6;transition:opacity .2s}footer a:hover{opacity:1}footer .venue{color:hsla(38,33%,95%,.25);margin-top:.6rem;font-size:.65rem;letter-spacing:.08em}@media (max-width:768px){section{padding:4rem 1.25rem}.flow-grid{grid-template-columns:1fr}.payment-steps{gap:1.5rem}.room-row{flex-direction:column;gap:.2rem}.room-price{margin-left:0}.guides-layout.multi,.guides-layout.single{grid-template-columns:1fr;gap:2rem}.guides-layout.single .guide-card{display:flex}.guide-img{aspect-ratio:16/9}.gallery-grid{grid-template-columns:1fr}.gallery-grid img{height:240px}}@media (min-width:769px) and (max-width:1024px){.gallery-grid img{height:240px}}