@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400&family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;1,400;1,500&display=swap";:root{color:#f3ebdd;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#0d0d0d;font-family:DM Sans,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#0d0d0d}html,body,#root{min-height:100%;margin:0;padding:0}body{background:#0d0d0d;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}:root{--black:#0d0d0d;--espresso:#1c1a18;--gold:#c9a45c;--ivory:#f3ebdd;--taupe:#8a8175;--line:#f3ebdd2e}.app-shell{background:var(--black);overflow:hidden}main{flex-direction:column;display:flex}#home{order:1}.intro{order:2}.events{order:3}.statement{order:4}.services{order:5}.about{order:6}.faq{order:7}.booking{order:8}.contact{order:9}.navbar{z-index:20;justify-content:space-between;align-items:center;height:84px;padding:0 5vw;transition:background .35s,height .35s;display:flex;position:fixed;top:0;left:0;right:0}.navbar.is-scrolled{background:#0d0d0df0;height:70px}.wordmark{color:var(--ivory);letter-spacing:2px;background:0 0;border:0;align-items:center;gap:7px;padding:0;font-family:DM Mono,monospace;font-size:14px;display:flex}.wordmark i{color:var(--gold);letter-spacing:0;font-family:Playfair Display,serif;font-size:20px;font-style:italic}.desktop-nav{gap:30px;margin-left:auto;margin-right:38px;display:flex}.desktop-nav button,.mobile-nav button{color:var(--ivory);letter-spacing:.07em;opacity:.72;text-transform:uppercase;background:0 0;border:0;font-size:12px;transition:color .2s,opacity .2s}.desktop-nav button:hover,.mobile-nav button:hover{color:var(--gold);opacity:1}.nav-cta{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #c9a45cb3;justify-content:center;align-items:center;gap:8px;padding:10px 13px;font-size:9px;transition:background .25s,color .25s;display:inline-flex}.nav-cta:hover{background:var(--gold);color:var(--black)}.gold-button{background:var(--gold);border:1px solid var(--gold);color:var(--black);letter-spacing:.09em;text-transform:uppercase;justify-content:center;align-items:center;gap:12px;padding:14px 20px;font-size:11px;transition:background .25s,color .25s;display:inline-flex}.gold-button:hover{color:var(--gold);background:0 0}.menu-toggle{color:var(--ivory);background:0 0;border:0;display:none}.mobile-nav{display:none}.hero-section{height:100svh;min-height:650px;position:relative}.hero-image{object-fit:cover;object-position:center 55%;width:100%;height:100%;position:absolute;inset:0}.hero-overlay{background:linear-gradient(90deg,#0d0d0dd1,#0d0d0d33 70%),linear-gradient(#0000 65%,#0d0d0d8c);position:absolute;inset:0}.hero-content{max-width:650px;position:absolute;top:50%;left:12vw;transform:translateY(-45%)}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 20px;font-family:DM Mono,monospace;font-size:10px;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2{letter-spacing:-.035em;font-family:Playfair Display,serif;font-weight:400}h1{margin-bottom:31px;font-size:clamp(64px,9vw,132px);line-height:.87}h1 em,h2 em,h3 em{color:var(--gold);font-style:italic}.hero-copy{color:var(--ivory);opacity:.82;max-width:330px;font-size:15px;line-height:1.7}.hero-content .gold-button{margin-top:22px}.section-pad{padding:130px 12vw}.intro{background:var(--espresso);grid-template-columns:1fr 2fr 1.4fr;align-items:start;gap:7vw;display:grid}.intro-mark{color:var(--gold);padding-top:5px;font-family:Playfair Display;font-size:42px;font-style:italic}.intro-mark span{vertical-align:top;margin-left:5px;font-family:DM Mono;font-size:10px;font-style:normal}h2{margin-bottom:0;font-size:clamp(46px,6vw,84px);line-height:.94}.intro-copy{align-self:end;padding-bottom:3px}.intro-copy p,.section-intro,.about-copy>p{color:var(--taupe);max-width:360px;font-size:14px;line-height:1.8}.text-link{border:0;border-bottom:1px solid var(--gold);color:var(--gold);letter-spacing:.08em;text-transform:uppercase;background:0 0;align-items:center;gap:12px;padding:0 0 9px;font-family:DM Mono;font-size:10px;display:inline-flex}.section-top{justify-content:space-between;align-items:end;margin-bottom:64px;display:flex}.section-top .eyebrow{margin-bottom:22px}.section-number{color:var(--taupe);font-family:DM Mono;font-size:10px}.event-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.event-card{min-width:0}.event-img{aspect-ratio:.77;overflow:hidden}.event-img img{object-fit:cover;width:100%;height:100%;transition:transform .7s}.event-card:hover img{transform:scale(1.05)}.event-details{border-bottom:1px solid var(--line);grid-template-columns:30px 1fr 20px;align-items:start;gap:13px;padding:18px 0;display:grid}.event-details>span,.service-list>article>span{color:var(--gold);font-family:DM Mono;font-size:10px}.event-details h3{margin-bottom:8px;font-family:Playfair Display;font-size:22px;font-weight:400}.event-details p{color:var(--taupe);margin:0;font-size:12px;line-height:1.55}.event-details svg,.service-list svg{color:var(--gold);margin-top:4px}.statement{background:var(--gold);color:var(--black);padding:150px 12vw}.statement-inner{max-width:740px}.statement .eyebrow{color:var(--black);opacity:.7}.statement h2{font-size:clamp(56px,8vw,110px)}.statement h2 em{color:var(--black)}.statement .line{background:#0d0d0d59;width:100%;height:1px;margin:44px 0 25px}.statement p{max-width:310px;font-family:DM Mono;font-size:11px;line-height:1.7}.services{background:var(--espresso)}.about,.booking{background:var(--black)}.faq{background:var(--espresso)}.section-intro{margin:0 4vw 5px 0}.service-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:35px minmax(0,1.2fr) minmax(0,1fr) 20px;gap:20px;padding:28px 0;display:grid}.service-list h3{margin:0;font-family:Playfair Display;font-size:23px;font-weight:400}.service-list p{color:var(--taupe);max-width:240px;margin:0;font-size:12px;line-height:1.6}.about{grid-template-columns:1fr 1fr;align-items:center;gap:11vw;display:grid}.about-image{position:relative}.about-image img{aspect-ratio:.85;filter:saturate(.72);object-fit:cover;width:100%}.about-image span{color:var(--ivory);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono;font-size:9px;line-height:1.5;position:absolute;bottom:20px;left:20px}.about-copy h2{margin-bottom:40px}.about-copy>p{margin-bottom:18px}.about-copy .text-link{margin-top:22px}.booking{background:var(--black);border-top:1px solid #c9a45c29}.steps{border-bottom:1px solid var(--line);gap:40px;margin-bottom:50px;padding-bottom:18px;display:flex}.steps span{color:var(--taupe);letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono;font-size:10px}.steps span.active{color:var(--gold)}.steps i{background:var(--taupe);width:28px;height:1px;margin:0 12px 3px;display:inline-block}.steps .active i{background:var(--gold)}.form-panel h3{margin-bottom:8px;font-family:Playfair Display;font-size:33px;font-weight:400}.form-panel>p{color:var(--taupe);margin-bottom:35px;font-size:13px}.form-grid{grid-template-columns:repeat(2,1fr);gap:25px 18px;display:grid}.field{flex-direction:column;gap:10px;display:flex}.field span{color:var(--ivory);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono;font-size:10px}.field b{color:var(--gold);font-weight:400}.field input,.field select,.field textarea{border:0;border-bottom:1px solid var(--line);color:var(--ivory);background:0 0;border-radius:0;outline:0;width:100%;padding:10px 0;transition:border .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}.field input::placeholder,.field textarea::placeholder{color:var(--taupe);opacity:.7}.field select{appearance:none;color:var(--taupe)}.field select option{background:var(--espresso)}.field textarea{resize:vertical;min-height:90px}.field.full{grid-column:1/-1}.form-actions{justify-content:flex-end;margin-top:50px;display:flex}.back-button{color:var(--taupe);text-transform:uppercase;background:0 0;border:0;margin-right:24px;font-family:DM Mono;font-size:10px}.confirmation{border:1px solid var(--line);text-align:center;max-width:700px;padding:60px}.check-circle{border:1px solid var(--gold);color:var(--gold);border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 auto 30px;display:flex}.confirmation h3{font-family:Playfair Display;font-size:40px;font-weight:400;line-height:1}.confirmation>p:not(.eyebrow){color:var(--taupe);max-width:410px;margin:25px auto;font-size:13px;line-height:1.7}.summary{border-bottom:1px solid var(--line);border-top:1px solid var(--line);justify-content:space-around;margin:30px 0;padding:16px 0;display:flex}.summary span{color:var(--ivory);font-family:DM Mono;font-size:10px}.faq{grid-template-columns:1fr 1.3fr;gap:10vw;display:grid}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{color:var(--ivory);text-align:left;background:0 0;border:0;grid-template-columns:28px 1fr 20px;align-items:center;gap:22px;width:100%;padding:24px 0;display:grid}.faq-item button span{color:var(--gold);font-family:DM Mono;font-size:10px}.faq-item button strong{font-family:Playfair Display;font-size:20px;font-weight:400}.faq-item button svg{color:var(--gold);transition:transform .3s}.faq-item button svg.rotate{transform:rotate(180deg)}.faq-answer{grid-template-rows:0fr;transition:grid-template-rows .3s;display:grid}.faq-answer p{color:var(--taupe);max-width:460px;margin:0;font-size:13px;line-height:1.7;overflow:hidden}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer p{padding:0 42px 24px 50px}.contact{background:linear-gradient(#0d0d0d73,#0d0d0dc7),url(https://images.unsplash.com/photo-1551024709-8f23befc6f87?auto=format&fit=crop&w=1800&q=80) 50%/cover;padding:150px 12vw 55px}.contact-inner{max-width:850px}.contact h2{font-size:clamp(66px,10vw,140px)}.contact-details{border-top:1px solid var(--line);justify-content:space-between;gap:40px;margin-top:130px;padding-top:17px;display:flex}.contact-details span{color:var(--ivory);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-family:DM Mono;font-size:9px;display:flex}footer{background:var(--black);justify-content:space-between;align-items:center;padding:26px 5vw;display:flex}footer>span{color:var(--taupe);letter-spacing:.06em;text-transform:uppercase;font-family:DM Mono;font-size:9px}.reveal{animation:1s .15s both fade-in}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (width<=800px){.desktop-nav,.desktop-booking{display:none}.menu-toggle{z-index:3;display:block;position:relative}.mobile-nav{background:var(--espresso);opacity:1;pointer-events:none;z-index:2;flex-direction:column;gap:25px;width:min(82vw,360px);min-height:100vh;padding:110px 9vw 35px;transition:transform .4s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;inset:0 0 0 auto;overflow-y:auto;transform:translate(100%)}.mobile-nav.open{pointer-events:auto;transform:translate(0)}.mobile-nav button{text-align:left;font-size:14px}.mobile-nav .nav-cta{color:var(--ivory);letter-spacing:.07em;background:0 0;border:0;gap:0;padding:0;font-size:14px;display:block}.mobile-nav .nav-cta:hover{color:var(--gold);background:0 0}.hero-content{top:50%;left:8vw;right:8vw;transform:translateY(-50%)}.section-pad{padding:85px 8vw}.intro,.about,.faq{display:block}.intro-mark{margin-bottom:45px}.intro-copy{margin-top:42px}.section-top{align-items:start;margin-bottom:43px;display:block}.section-intro{margin-top:30px}.event-grid{grid-template-columns:1fr 1fr}.event-details{grid-template-columns:22px 1fr;gap:8px}.event-details svg{display:none}.event-details h3{font-size:18px}.event-details p{font-size:11px}.statement{padding:95px 8vw}.service-list{grid-template-columns:1fr}.service-list article{grid-template-columns:25px 1fr 20px}.service-list article p{grid-column:2}.about-image{margin-bottom:55px}.about-copy h2{margin-bottom:28px}.booking-form{width:100%}.steps{justify-content:space-between;gap:13px}.steps span{font-size:8px}.steps i{width:10px;margin:0 5px 3px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{margin-top:35px}.confirmation{padding:40px 20px}.confirmation h3{font-size:33px}.summary{flex-direction:column;gap:10px}.faq{gap:0}.faq-list{margin-top:50px}.faq-item button strong{font-size:17px}.contact{padding:100px 8vw 35px}.contact-details{flex-direction:column;align-items:start;gap:15px;margin-top:90px}footer{flex-direction:column;align-items:flex-start;gap:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
