
:root{--paper:#fbf8f2;--ivory:#f4eee5;--gold:#a8864a;--deep:#463a2e;--muted:#7b7064;--line:rgba(70,58,46,.14)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--deep);font-family:Manrope,sans-serif;font-weight:300}a{text-decoration:none;color:inherit}.site-shell{padding-right:76px}
.topbar{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(251,248,242,.94);z-index:20}.brand{display:flex;align-items:center;gap:15px}.brand img{width:125px}.brand span{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.3em}.menu-toggle{display:none;background:none;border:0;font-size:25px;color:var(--gold);-webkit-text-fill-color:var(--gold)}
.side-tabs{position:fixed;right:0;top:88px;bottom:0;width:76px;border-left:1px solid var(--line);background:var(--ivory);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;z-index:15}.side-tabs a{writing-mode:vertical-rl;transform:rotate(180deg);padding:14px 0;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}.side-tabs a:hover{color:var(--gold)}.mobile-menu{display:none}
.eyebrow{font-size:11px;letter-spacing:.28em;color:var(--gold);font-weight:500}h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:500}.hero{min-height:650px;display:flex;align-items:center;padding:90px 12vw 90px 7vw;background:linear-gradient(120deg,#fbf8f2,#f1e8d9)}.hero>div{max-width:850px}h1{font-size:clamp(58px,6vw,94px);line-height:.97;margin:18px 0 28px}.intro{font-size:18px;line-height:1.8;color:var(--muted);max-width:700px}.cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:35px}.button{display:inline-flex;padding:14px 20px;border:1px solid var(--gold);font-size:13px}.primary{background:var(--gold);color:white}
.hero-art{height:430px;position:relative;display:grid;place-items:center}.arch{position:absolute;border:1px solid rgba(168,134,74,.25);border-radius:220px 220px 20px 20px}.a1{width:310px;height:400px}.a2{width:240px;height:320px}.v{font-family:'Cormorant Garamond',serif;font-size:170px;color:rgba(168,134,74,.7)}.hero-art p{position:absolute;bottom:55px;font-family:'Cormorant Garamond',serif;letter-spacing:.32em;color:var(--gold);font-size:11px}
.statement{text-align:center;padding:115px 8vw;max-width:1100px;margin:auto}.statement h2,.pagehero h1,.contactband h2{font-size:clamp(42px,5vw,72px);line-height:1.05}
.cards{display:grid;grid-template-columns:repeat(3,1fr);margin:0 7vw 115px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cards>a,.cards>div{padding:42px 32px;min-height:280px;border-right:1px solid var(--line)}.cards>*:last-child{border-right:0}.cards span,.num,.eventlist span{color:var(--gold);font-family:'Cormorant Garamond',serif}.cards h3{font-size:36px;margin:58px 0 12px}.cards p{color:var(--muted);line-height:1.8}
.dark{background:var(--deep);color:#f7f2ea;padding:100px 7vw;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end}.dark h2{font-size:clamp(42px,4.5vw,68px);line-height:1.05;margin:10px 0}.dark p:last-child{color:#d7ccbd;line-height:1.9}.contactband{text-align:center;padding:110px 7vw}.contactband .button{margin-top:20px}
.pagehero{padding:105px 8vw 70px;max-width:1150px}.story{display:grid;grid-template-columns:120px 1fr;gap:45px;padding:35px 12vw 90px}.num{font-size:62px}.story h2,.eventlist h2,.contactbox h2{font-size:48px;margin-top:0}.story p,.eventlist p,.faq p{color:var(--muted);line-height:1.9;max-width:780px}.quote{margin:0 8vw 100px;padding:70px 8vw;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,56px);text-align:center}
.eventlist{margin:0 8vw 110px;border-top:1px solid var(--line)}.eventlist article{display:grid;grid-template-columns:90px 1fr;padding:48px 0;border-bottom:1px solid var(--line)}.faq{max-width:900px;margin:0 auto 110px;padding:0 6vw}.faq details{padding:24px 0;border-top:1px solid var(--line)}.faq summary{font-family:'Cormorant Garamond',serif;font-size:27px;cursor:pointer}.contactbox{margin:0 8vw 110px;padding:70px;background:var(--ivory);display:flex;flex-direction:column;align-items:flex-start;gap:16px}
footer{margin-right:76px;padding:48px 5.5vw;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr auto;gap:25px;align-items:end;color:var(--muted);font-size:12px}footer img{width:115px}footer div{display:flex;flex-direction:column;gap:7px}footer span{font-family:'Cormorant Garamond',serif;font-size:10px;letter-spacing:.28em}
@media(max-width:850px){.site-shell{padding-right:0}.side-tabs{display:none}.menu-toggle{display:block}.mobile-menu.open{display:flex}.mobile-menu{position:fixed;top:88px;left:0;right:0;background:var(--paper);z-index:19;padding:22px 6vw;flex-direction:column;gap:16px;border-bottom:1px solid var(--line)}.hero{grid-template-columns:1fr;padding:65px 7vw}.hero-art{height:340px;margin-top:30px}.cards{grid-template-columns:1fr}.cards>a,.cards>div{border-right:0;border-bottom:1px solid var(--line)}.dark{grid-template-columns:1fr}.story{grid-template-columns:1fr;padding:30px 8vw 70px}.eventlist article{grid-template-columns:55px 1fr}footer{margin-right:0;grid-template-columns:1fr}}

.memory-gallery{padding:10px 0 100px}.gallery-heading{padding:0 8vw 35px;max-width:900px}.gallery-heading h2{font-size:clamp(38px,4.5vw,62px);line-height:1.05;margin:12px 0}.gallery-heading>p:last-child{color:var(--muted);line-height:1.8}.swipe-gallery{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 8vw 18px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.swipe-gallery::-webkit-scrollbar{display:none}.memory-slide{margin:0;min-width:min(72vw,560px);scroll-snap-align:center}.memory-slide img{display:block;width:100%;height:480px;object-fit:cover}.memory-slide figcaption{display:flex;gap:14px;align-items:center;padding-top:14px;font-family:'Cormorant Garamond',serif;font-size:25px}.memory-slide figcaption span{color:var(--gold);font-family:Manrope,sans-serif;font-size:10px;letter-spacing:.15em}.swipe-note{padding:0 8vw;color:var(--muted);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
@media(max-width:850px){.hero{padding:65px 7vw;min-height:560px}.memory-slide{min-width:82vw}.memory-slide img{height:430px}}


/* VAASAM FAQ accordion */
.faq details{padding:0;border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{font-family:'Cormorant Garamond',serif;font-size:27px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{content:""}
.faq summary::after{content:"+";flex:0 0 auto;font-family:'Montserrat',sans-serif;font-size:24px;font-weight:300;line-height:1;color:var(--gold);transition:transform .25s ease}
.faq details[open] summary::after{content:"−"}
.faq details[open] summary{color:var(--gold)}
.faq details p{margin:0;padding:0 48px 28px 0}

/* VAASAM enquiry form */
.enquiry-wrap{margin:0 8vw 110px;padding:70px;background:var(--ivory);display:grid;grid-template-columns:minmax(230px,.75fr) minmax(420px,1.25fr);gap:70px;align-items:start}
.enquiry-intro h2{font-family:'Cormorant Garamond',serif;font-size:48px;line-height:1.05;margin:10px 0 20px;font-weight:500}
.enquiry-intro p:not(.eyebrow){color:var(--muted);line-height:1.8}
.enquiry-form{width:100%}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 26px}
.field{display:flex;flex-direction:column;gap:9px}
.field.full{grid-column:1/-1}
.field label{font-family:'Montserrat',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.field label span{color:var(--gold)}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 2px 12px;color:var(--ink);font-family:'Montserrat',sans-serif;font-size:14px;outline:none;border-radius:0}
.field textarea{border:1px solid var(--line);padding:14px;resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold)}
.form-submit{margin-top:30px;border:0;cursor:pointer}
.form-note{font-size:12px;color:var(--muted);margin-top:18px}
.form-note a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--gold)}
.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.thankyou{padding:140px 8vw 160px;max-width:760px}
.thankyou h1{font-family:'Cormorant Garamond',serif;font-size:clamp(48px,7vw,82px);font-weight:500;line-height:1;margin:12px 0 24px}
.thankyou p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.8;margin-bottom:34px}

@media(max-width:800px){
.enquiry-wrap{grid-template-columns:1fr;gap:40px;margin:0 5vw 80px;padding:38px 26px}
.form-grid{grid-template-columns:1fr}
.field.full{grid-column:auto}
.enquiry-intro h2{font-size:40px}
.faq summary{font-size:23px;padding:22px 0}
.faq details p{padding-right:34px}
}

.form-success,.form-error{margin-top:26px;padding:24px 26px;border:1px solid var(--line);background:rgba(255,255,255,.35)}
.form-success h3{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:500;margin:5px 0 8px;color:var(--ink)}
.form-success p:last-child,.form-error p{margin:0;color:var(--muted);line-height:1.7}
.form-error{border-color:rgba(120,80,60,.35)}
.form-submit:disabled{opacity:.65;cursor:default}

/* VAASAM refined footer + legal pages */
.site-footer{margin-right:76px;padding:62px 6vw 48px;border-top:1px solid var(--line);display:flex;flex-direction:column;align-items:center;text-align:center;gap:25px;color:var(--muted);font-size:12px}.site-footer .footer-brand{display:flex;flex-direction:column;align-items:center;gap:8px}.site-footer .footer-brand img{width:150px}.site-footer .footer-brand>span{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:.32em}.site-footer .footer-brand p{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--deep);margin:12px 0 0}.footer-contact{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.footer-contact a,.footer-legal a{transition:color .2s ease}.footer-contact a:hover,.footer-legal a:hover{color:var(--gold)}.footer-legal{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);width:min(900px,100%);font-size:10px;letter-spacing:.11em;text-transform:uppercase}.footer-company{margin:0;font-size:10px;letter-spacing:.14em;text-transform:uppercase}.legal-hero{padding-bottom:35px}.legal-copy{max-width:900px;margin:0 auto 110px;padding:0 6vw}.legal-copy section{padding:30px 0;border-top:1px solid var(--line)}.legal-copy section:last-of-type{border-bottom:1px solid var(--line)}.legal-copy h2{font-size:31px;margin:0 0 14px}.legal-copy p,.legal-copy li{color:var(--muted);line-height:1.85}.legal-copy ul{padding-left:20px}.legal-copy a,.form-privacy a{border-bottom:1px solid var(--gold)}.legal-copy strong{color:var(--deep);font-weight:500}.legal-updated{font-size:11px;letter-spacing:.08em;margin-top:28px}.form-privacy{font-size:11px;color:var(--muted);line-height:1.7;margin:26px 0 0}.form-submit{margin-top:18px}
@media(max-width:850px){.site-footer{margin-right:0;padding:54px 7vw 40px;gap:22px}.site-footer .footer-brand img{width:145px}.site-footer .footer-brand p{font-size:20px}.footer-contact{font-size:12px}.footer-legal{gap:12px 16px;line-height:1.8}.legal-copy{padding:0 7vw;margin-bottom:80px}.legal-copy h2{font-size:28px}}
