:root{--ivory:#0c0b09;--cream:#15130e;--charcoal:#1a1812;--charcoal-2:#232019;--gold:#b08d4f;--gold-light:#d4b483;--gold-dim:#a5854e;--text-dark:#f2ede0;--text-soft:#b8ae97;--text-light:#f8f4ea;--text-light-soft:#c9bfa6;--line:#3e3728}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--ivory);color:var(--text-dark);font-family:Inter,sans-serif;font-weight:400;line-height:1.7;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:.01em;font-family:Playfair Display,serif;font-weight:600;line-height:1.15}.script{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold-dim);font-size:12px;font-weight:500}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.wrap{max-width:1140px;margin:0 auto;padding:0 32px}section{position:relative}header{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#0c0b09eb;position:fixed;top:0;left:0;right:0}.navwrap{justify-content:space-between;align-items:center;max-width:1140px;height:78px;margin:0 auto;padding:0 32px;display:flex}.logo{align-items:center;gap:10px;display:flex}.logo-mark{flex-shrink:0;width:34px;height:34px}.logo-text{letter-spacing:.12em;color:var(--text-dark);font-family:Playfair Display,serif;font-size:15px;font-weight:600;line-height:1.2}.logo-sub{letter-spacing:.16em;color:var(--gold-dim);text-transform:uppercase;font-size:9px}nav.links{align-items:center;gap:34px;display:flex}nav.links a{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dark);font-size:13px;font-weight:500;transition:color .2s}nav.links a:hover{color:var(--gold-dim)}.btn{letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:2px;padding:13px 28px;font-size:12px;font-weight:600;transition:all .25s;display:inline-block}.btn-gold{background:var(--gold);color:var(--charcoal)}.btn-gold:hover{background:var(--gold-light)}.btn-outline-dark{border:1px solid var(--text-dark);color:var(--text-dark);background:0 0}.btn-outline-dark:hover{background:var(--text-dark);color:var(--ivory)}.btn-outline-gold{border:1px solid var(--gold);color:var(--gold-light);background:0 0}.btn-outline-gold:hover{background:var(--gold);color:var(--charcoal)}.navcta{align-items:center;gap:18px;display:flex}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;display:none}.hamburger span{background:var(--text-dark);width:24px;height:1.5px}.mobilemenu{background:var(--ivory);border-bottom:1px solid var(--line);z-index:999;flex-direction:column;gap:20px;padding:20px 32px 28px;display:none;position:fixed;top:78px;left:0;right:0}.mobilemenu.open{display:flex}.mobilemenu a{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dark);font-size:14px}.hero{background:radial-gradient(circle at 85% 10%, #b08d4f1a, transparent 45%), var(--ivory);text-align:center;padding:190px 0 110px}.hero .script{color:var(--gold-dim);margin-bottom:18px;font-size:24px;display:block}.hero h1{max-width:780px;color:var(--text-dark);margin:0 auto 26px;font-size:52px}.hero p.lead{max-width:560px;color:var(--text-soft);margin:0 auto 40px;font-size:16px}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:56px;display:flex}.hero-divider{background:var(--line);width:1px;height:44px;margin:0 auto}.location-line{color:var(--text-soft);letter-spacing:.02em;margin-top:20px;font-size:13px}.location-line strong{color:var(--gold-dim);font-weight:600}.trustbar{background:var(--cream);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}.trustgrid{text-align:center;grid-template-columns:repeat(3,1fr);gap:36px;display:grid}.trustitem svg{width:26px;height:26px;stroke:var(--gold-dim);margin-bottom:10px}.trustitem h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dark);margin-bottom:6px;font-family:Inter,sans-serif;font-size:13px;font-weight:600}.trustitem p{color:var(--text-soft);font-size:13px}.sec-head{text-align:center;max-width:620px;margin:0 auto 64px}.sec-head .eyebrow{margin-bottom:14px;display:block}.sec-head h2{margin-bottom:16px;font-size:36px}.sec-head p{font-size:15px}.light-on-dark .sec-head p{color:var(--text-light-soft)}.light-on-dark .sec-head h2{color:var(--text-light)}.services{background:var(--charcoal);color:var(--text-light);padding:110px 0}.servicegrid{background:#d4b4832e;border:1px solid #d4b4832e;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.servicecard{background:var(--charcoal);padding:44px 36px;transition:background .25s}.servicecard:hover{background:var(--charcoal-2)}.servicecard svg{width:30px;height:30px;stroke:var(--gold);margin-bottom:22px}.servicecard h3{color:var(--text-light);margin-bottom:12px;font-size:19px;font-weight:600}.servicecard p{color:var(--text-light-soft);font-size:14px;line-height:1.65}.servicecard.wide{grid-column:span 1}.packages{background:var(--ivory);padding:110px 0}.pkg-note{text-align:center;max-width:560px;color:var(--text-soft);background:var(--cream);border:1px solid var(--line);border-radius:2px;margin:0 auto 56px;padding:18px 26px;font-size:14px}.pkg-note strong{color:var(--gold-dim)}.pkggrid{grid-template-columns:repeat(3,1fr);gap:28px;margin-bottom:60px;display:grid}.pkgcard{border:1px solid var(--line);background:#121109;flex-direction:column;padding:40px 32px;display:flex;position:relative}.pkgcard.featured{border:1px solid var(--gold);background:var(--charcoal-2);color:var(--text-light)}.pkg-badge{background:var(--gold);color:var(--charcoal);letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;font-size:11px;font-weight:600;position:absolute;top:-13px;left:32px}.pkgcard h3{margin-bottom:6px;font-size:20px}.pkgcard .price{color:var(--gold-dim);margin-bottom:22px;font-family:Playfair Display,serif;font-size:26px}.pkgcard.featured .price{color:var(--gold-light)}.pkgcard ul{flex-grow:1;margin-bottom:28px;list-style:none}.pkgcard ul li{border-top:1px solid var(--line);color:var(--text-soft);gap:10px;padding:9px 0;font-size:14px;display:flex}.pkgcard.featured ul li{color:var(--text-light-soft);border-top:1px solid #d4b48333}.pkgcard ul li:first-child{border-top:none}.pkgcard ul li svg{width:14px;height:14px;stroke:var(--gold-dim);flex-shrink:0;margin-top:3px}.membership{background:var(--charcoal);border:1px solid var(--gold);grid-template-columns:1.2fr 1fr;align-items:stretch;gap:0;display:grid}.membership-info{color:var(--text-light);padding:48px}.membership-info .eyebrow{color:var(--gold-light)}.membership-info h3{color:var(--text-light);margin:14px 0 16px;font-size:28px}.membership-info p{color:var(--text-light-soft);margin-bottom:0;font-size:14px}.membership-cta{background:var(--charcoal-2);border-left:1px solid #d4b48333;flex-direction:column;justify-content:center;padding:48px;display:flex}.membership-cta .price{color:var(--gold-light);margin-bottom:6px;font-family:Playfair Display,serif;font-size:34px}.membership-cta .price span{color:var(--text-light-soft);font-family:Inter,sans-serif;font-size:13px;font-weight:400}.membership-cta ul{margin:18px 0 26px;list-style:none}.membership-cta ul li{color:var(--text-light-soft);gap:8px;padding:6px 0;font-size:13px;display:flex}.membership-cta ul li svg{width:13px;height:13px;stroke:var(--gold);flex-shrink:0;margin-top:3px}.about{background:var(--cream);padding:110px 0}.aboutgrid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:70px;display:grid}.about-frame{aspect-ratio:4/5;border:1px solid var(--gold);background:var(--ivory);justify-content:center;align-items:center;display:flex;position:relative}.about-frame:before{content:"";border:1px solid var(--line);position:absolute;inset:16px}.about-frame .mark{width:90px;height:90px;stroke:var(--gold)}.about-text .eyebrow{margin-bottom:16px;display:block}.about-text h2{margin-bottom:18px;font-size:32px}.credline{letter-spacing:.06em;text-transform:uppercase;color:var(--gold-dim);flex-wrap:wrap;gap:10px 0;margin-bottom:26px;font-size:12px;font-weight:600;display:flex}.credline span:not(:last-child):after{content:"·";color:var(--line);margin:0 10px;font-weight:400}.about-text p{color:var(--text-soft);margin-bottom:18px;font-size:15px}.mission-line{color:var(--text-dark);border-left:2px solid var(--gold);margin-top:26px;padding-left:18px;font-family:Playfair Display,serif;font-size:19px}.contact{background:var(--charcoal);color:var(--text-light);padding:110px 0 70px}.contactgrid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;margin-bottom:70px;display:grid}.contact-info h4{letter-spacing:.12em;text-transform:uppercase;color:var(--gold-light);margin-bottom:8px;font-size:12px}.contact-info .row{margin-bottom:26px}.contact-info .row p{color:var(--text-light);font-size:16px}.contact-info .concierge{color:var(--text-light-soft);letter-spacing:.03em;margin-top:6px;font-size:13px}.book-box{background:var(--charcoal-2);border:1px solid #d4b4834d;padding:28px}.book-box p{color:var(--text-light-soft);margin-bottom:16px;font-size:13px}.book-frame-wrap{background:var(--charcoal-2);border:1px solid #d4b48340;height:420px;margin-bottom:14px;position:relative;overflow:hidden}.book-frame-wrap iframe{border:none;width:100%;height:100%}.book-fallback{color:var(--text-light-soft);text-align:center;margin-top:6px;font-size:12px}.footer-bottom{border-top:1px solid #d4b4832e;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:32px;display:flex}.footer-tag{letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);font-family:Playfair Display,serif;font-size:13px}.footer-copy{color:var(--text-light-soft);font-size:12px}.footer-social{gap:16px;display:flex}.footer-social a{letter-spacing:.06em;text-transform:uppercase;color:var(--text-light-soft);border-bottom:1px solid #0000;font-size:12px}.footer-social a:hover{color:var(--gold-light);border-color:var(--gold-light)}@media (width<=860px){nav.links,.navcta .btn{display:none}.hamburger{display:flex}.hero h1{font-size:36px}.hero{padding:160px 0 80px}.trustgrid{grid-template-columns:1fr;gap:26px}.servicegrid,.pkggrid,.membership{grid-template-columns:1fr}.membership-cta{border-top:1px solid #d4b48333;border-left:none}.aboutgrid,.contactgrid{grid-template-columns:1fr}.wrap,.navwrap{padding:0 22px}}
