:root{--purple:#3f2260;--purple-dark:#2d1747;--cream:#fbf8f1;--paper:#fffdf9;--beige:#e9e0d3;--taupe:#756c64;--ink:#282320;--line:#d9cfc2;--serif:Georgia,'Times New Roman',serif;--sans:Arial,'Helvetica Neue',sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:var(--purple);text-underline-offset:.2em}a:hover{color:var(--purple-dark)}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0 0 .7em}h1{font-size:clamp(2.7rem,7vw,5.8rem)}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:clamp(1.35rem,2vw,1.8rem)}p{margin:0 0 1.15rem}.wrap{width:min(var(--max),calc(100% - 2.5rem));margin-inline:auto}.narrow{max-width:760px}.skip-link{position:fixed;z-index:100;top:.5rem;left:.5rem;transform:translateY(-160%);background:var(--purple);color:#fff;padding:.7rem 1rem}.skip-link:focus{transform:none}.site-header{background:rgba(255,253,249,.98);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-shell{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{color:var(--ink);font:400 1.25rem/1.1 var(--serif);text-decoration:none;max-width:190px}.header-brand{display:inline-flex;align-items:center;gap:.7rem;max-width:none}.header-brand img{width:44px;height:44px;flex:0 0 44px;object-fit:contain}.nav-toggle{display:none;background:transparent;border:1px solid var(--purple);color:var(--purple);font:700 .9rem var(--sans);padding:.7rem .9rem}.site-nav{display:flex;align-items:center;gap:1.35rem}.site-nav a{color:var(--ink);font-size:.9rem;text-decoration:none}.site-nav a[aria-current=page]{color:var(--purple);text-decoration:underline}.site-nav .nav-cta{background:var(--purple);color:#fff;padding:.72rem 1rem}.hero{padding:clamp(4rem,9vw,8rem) 0}.hero-grid,.split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:clamp(2.5rem,7vw,7rem);align-items:center}.lede{font:400 clamp(1.2rem,2.3vw,1.55rem)/1.5 var(--serif);max-width:680px}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;background:var(--purple);border:1px solid var(--purple);color:#fff;font-weight:700;padding:.75rem 1.15rem;text-decoration:none}.button:hover{background:var(--purple-dark);color:#fff}.button.secondary{background:transparent;color:var(--purple)}.text-link{font-weight:700}.photo-placeholder{min-height:420px;background:var(--beige);border:1px solid var(--line);display:grid;place-items:center;padding:2rem;color:var(--taupe);text-align:center}.photo-placeholder.tall{min-height:560px}.section{padding:clamp(4rem,8vw,7.5rem) 0}.section.tint{background:var(--cream)}.section.dark{background:var(--purple-dark);color:#fff}.section.dark a{color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:2.5rem}.section-head p{max-width:560px}.editorial-list{border-top:1px solid var(--line)}.editorial-row{display:grid;grid-template-columns:80px 1fr;gap:1.25rem;padding:1.7rem 0;border-bottom:1px solid var(--line)}.editorial-row .num{font:400 1.5rem var(--serif);color:var(--purple)}.options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.option{background:var(--paper);padding:clamp(1.5rem,3vw,2.5rem)}.event-list{display:grid;gap:1rem}.event{display:grid;grid-template-columns:110px 1fr auto;gap:1.5rem;align-items:center;border-top:1px solid var(--line);padding:1.5rem 0}.event:last-child{border-bottom:1px solid var(--line)}.event-date{font:400 1.25rem var(--serif);color:var(--purple)}.dev-label{display:inline-block;background:var(--beige);color:var(--ink);font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:.2rem .45rem;text-transform:uppercase}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.gallery-item{grid-column:span 4}.gallery-item:nth-child(1),.gallery-item:nth-child(5){grid-column:span 7}.gallery-item:nth-child(2),.gallery-item:nth-child(6){grid-column:span 5}.gallery-item .photo-placeholder{min-height:340px}.gallery-item.large .photo-placeholder{min-height:500px}.pill-list{display:flex;flex-wrap:wrap;gap:.55rem;padding:0;list-style:none}.pill-list li{border:1px solid var(--line);padding:.4rem .75rem}.faq{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:1rem 0}summary{cursor:pointer;font-family:var(--serif);font-size:1.25rem;font-weight:400;padding:.35rem 2.5rem .35rem 0;position:relative}summary::after{content:'+';position:absolute;right:.5rem;color:var(--purple)}details[open] summary::after{content:'−'}details p{max-width:760px;padding-top:1rem}.page-hero{padding:clamp(3.5rem,8vw,7rem) 0;background:var(--cream)}.page-hero h1{font-size:clamp(2.7rem,6vw,5rem)}.notice{border-left:4px solid var(--purple);background:var(--cream);padding:1.2rem 1.4rem}.contact-panels{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.contact-panel{border:1px solid var(--line);padding:clamp(1.5rem,4vw,3rem)}.site-footer{background:var(--ink);color:#fff;padding:4rem 0 2rem}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:3rem}.site-footer a{color:#fff}.footer-links{display:grid;gap:.55rem}.legal{border-top:1px solid #5a514c;margin-top:3rem;padding-top:1.5rem;color:#d5cec8;font-size:.85rem}.external::after{content:' ↗';font-size:.8em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #7c5aa0;outline-offset:3px}.muted{color:var(--taupe)}
@media(max-width:850px){.nav-shell{min-height:70px}.header-brand{gap:.55rem;font-size:1.1rem}.header-brand img{width:38px;height:38px;flex-basis:38px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1rem 1.25rem 1.5rem;align-items:stretch;flex-direction:column;gap:.2rem}.site-nav[data-open=true]{display:flex}.site-nav a{padding:.75rem}.hero-grid,.split,.contact-panels{grid-template-columns:1fr}.hero-grid .photo-placeholder{order:-1;min-height:360px}.options-grid{grid-template-columns:1fr}.event{grid-template-columns:90px 1fr}.event .button{grid-column:2}.footer-grid{grid-template-columns:1fr 1fr}.gallery-item,.gallery-item:nth-child(n){grid-column:span 6}}
@media(max-width:560px){.wrap{width:min(var(--max),calc(100% - 1.5rem))}.actions{align-items:stretch;flex-direction:column}.button{width:100%}.section-head{display:block}.event{grid-template-columns:1fr}.event .button{grid-column:1}.footer-grid{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(n){grid-column:1/-1}.gallery-item .photo-placeholder,.gallery-item.large .photo-placeholder{min-height:330px}.photo-placeholder.tall{min-height:380px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
code{overflow-wrap:anywhere}

/* Elevated boutique editorial refinement */
:root{--cream:#faf6ee;--paper:#fffdf8;--beige:#eee5d9;--taupe:#675f59;--ink:#241f1c;--line:#d7ccbf;--purple-soft:#eee8f3}
body{font-size:clamp(1.0625rem,1vw + .72rem,1.125rem);line-height:1.72;letter-spacing:.002em}
h1{font-size:clamp(2.7rem,5.8vw,4.9rem);letter-spacing:-.025em}
h2{font-size:clamp(2rem,3.7vw,3.15rem);letter-spacing:-.018em}
h3{font-size:clamp(1.4rem,1.8vw,1.7rem)}
p{margin-bottom:1rem}.lede{font-size:clamp(1.25rem,1.75vw,1.55rem);line-height:1.5}
.site-header{box-shadow:0 1px 0 rgba(40,35,32,.03)}.nav-shell{min-height:76px}.site-nav{gap:1.15rem}.site-nav .nav-cta,.button{border-radius:2px;transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease}.button:hover{transform:translateY(-1px)}.button.secondary{border-color:var(--line);background:var(--paper)}.dark .button.secondary{border-color:rgba(255,255,255,.65);background:transparent;color:#fff}
.hero{padding:clamp(3.5rem,7vw,6.5rem) 0}.hero-grid{grid-template-columns:minmax(0,.92fr) minmax(340px,1.08fr);gap:clamp(2.5rem,6vw,6rem)}.hero h1{max-width:680px}.hero .lede{max-width:610px}.hero .actions{max-width:650px}.photo-placeholder{background:linear-gradient(145deg,var(--beige),#f7f0e8);border:0;outline:1px solid var(--line);outline-offset:-10px}.hero .photo-placeholder{min-height:clamp(390px,54vw,610px)}
.section{padding:clamp(3.75rem,6.5vw,6.25rem) 0}.section-head{align-items:start;margin-bottom:2rem}.section-head.solo{display:block}.section-head h2{margin-bottom:0}.section-head p{margin-top:.55rem}.split{gap:clamp(2.5rem,6vw,5.5rem)}
.editorial-row{grid-template-columns:58px minmax(0,1fr);padding:1.45rem 0}.editorial-row h3{margin-bottom:.35rem}.editorial-row p{margin-bottom:.5rem}.editorial-row .num{font-size:1.15rem}
.options-grid{grid-template-columns:1.15fr .85fr;background:transparent;border:0;gap:1.25rem}.option{background:var(--cream);border:1px solid var(--line);padding:clamp(1.75rem,3.5vw,3rem)}.option:first-child{grid-row:span 2;min-height:430px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(180deg,rgba(63,34,96,.03),rgba(63,34,96,.12)),var(--beige)}.option:nth-child(3){background:var(--paper)}
.section.dark{background:var(--purple-dark)}.section.dark,.section.dark p,.section.dark .muted{color:#fff}.section.dark .pill-list li{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.06)}
.event-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.event{display:flex;min-height:290px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.65rem;border:1px solid var(--line);background:var(--paper);padding:clamp(1.5rem,3vw,2.25rem)}.event:last-child{border-bottom:1px solid var(--line)}.event-date{font-size:1.05rem;text-transform:uppercase;letter-spacing:.08em}.event h3{margin:.3rem 0 .2rem}.event .button{margin-top:auto}.dev-label{font-size:.75rem;letter-spacing:.06em}.section.tint .event{background:#fff}
.gallery-grid{gap:1.25rem}.gallery-item .photo-placeholder{min-height:390px}.gallery-item.large .photo-placeholder{min-height:540px}
.page-hero{padding:clamp(3.25rem,6vw,5.5rem) 0}.page-hero h1{font-size:clamp(2.7rem,5vw,4.4rem)}
.faq summary{font-size:1.3rem;padding-block:.55rem}.notice{background:#f5f0e8}.contact-panels{gap:1.25rem}.contact-panel{padding:clamp(1.6rem,3.5vw,2.7rem)}
.site-footer{padding-top:3.5rem}.legal{margin-top:2.5rem}
@media(max-width:850px){body{font-size:1.0625rem}.site-nav{top:70px}.hero-grid{grid-template-columns:1fr}.options-grid{grid-template-columns:1fr}.option:first-child{grid-row:auto;min-height:300px}.event-list{grid-template-columns:1fr 1fr}.event{min-height:270px}.section{padding:3.75rem 0}}
@media(max-width:620px){h1{font-size:clamp(2.55rem,12vw,3.55rem)}h2{font-size:clamp(2rem,9vw,2.7rem)}.hero{padding:2.75rem 0 3.75rem}.hero-grid .photo-placeholder{min-height:340px}.section{padding:3.35rem 0}.event-list{grid-template-columns:1fr}.event{min-height:0}.page-hero{padding:2.8rem 0 3.2rem}.footer-grid{gap:2rem}}

/* Copy and materials refinement */
.compact-section{padding-block:clamp(3rem,5vw,4.75rem)}
.content-pair{display:grid;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,5.25rem);align-items:start}
.content-pair h1,.content-pair h2{margin-bottom:0}.content-pair>div:last-child>:last-child{margin-bottom:0}
.about-hero{padding-block:clamp(3.5rem,6vw,5.5rem)}.about-hero .content-pair{align-items:center}.about-hero .lede{margin-bottom:1rem}
.experience-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;border-top:0}.experience-list .editorial-row{display:block;border:1px solid var(--line);padding:clamp(1.5rem,3vw,2.25rem)}
.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.process-grid article{background:var(--paper);padding:clamp(1.5rem,3vw,2.25rem)}.process-grid h3{margin:.65rem 0 .4rem}.step-number{display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--purple);border-radius:50%;color:var(--purple);font-size:.85rem;font-weight:700}
.materials-section{background:var(--paper)}.material-details{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.material-details details{padding:0;border-bottom:1px solid var(--line)}.material-details details:nth-child(odd){border-right:1px solid var(--line)}.material-details summary{display:flex;min-height:92px;flex-direction:column;justify-content:center;padding:1rem 3rem 1rem 1.25rem}.material-details summary span{font-family:var(--serif);font-size:1.45rem}.material-details summary small{font:400 .85rem/1.4 var(--sans);color:var(--taupe)}.material-details details>div{padding:0 1.25rem 1.25rem}.material-note{margin:1.25rem 0 0}.solid-gold-note{margin-top:1.5rem}.solid-gold-note p{margin:.35rem 0 0}
.care-list{margin:0;padding-left:1.25rem}.care-list li{padding:.25rem 0 .5rem .35rem}.care-list li::marker{color:var(--purple)}
@media(max-width:850px){.content-pair{grid-template-columns:1fr;gap:1.2rem}.process-grid{grid-template-columns:1fr 1fr}.experience-list{grid-template-columns:1fr}.about-hero .content-pair{gap:1rem}}
@media(max-width:620px){.process-grid,.material-details{grid-template-columns:1fr}.material-details details:nth-child(odd){border-right:0}.material-details summary{min-height:78px}.compact-section{padding-block:3rem}}
.quiet-action{margin-top:1.35rem;margin-bottom:0}
.home-options{grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr)}.home-options .option:first-child{grid-row:auto}.home-options .option:last-child{display:flex;flex-direction:column;justify-content:center}.home-options .option:last-child a{align-self:flex-start}
@media(max-width:850px){.home-options{grid-template-columns:1fr}}

/* Shared interior-page grid */
.page-hero .wrap.narrow{max-width:var(--max)}
.page-hero h1{max-width:900px;margin-bottom:.4em}
.page-hero .lede{max-width:760px;margin-bottom:0}

/* Private parties */
.party-options{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.party-option{border:1px solid var(--line);background:var(--paper);padding:clamp(1.75rem,4vw,3rem)}.party-option h3{font-size:clamp(1.8rem,3vw,2.5rem)}.featured-option{border-top:4px solid var(--purple)}.party-price{color:var(--purple);font:400 clamp(2.2rem,4vw,3.4rem)/1 var(--serif)}.party-price span{display:block;margin-top:.5rem;color:var(--ink);font:700 .9rem/1.4 var(--sans)}.credit-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:0;list-style:none}.credit-list li{border:1px solid var(--line);padding:.65rem .75rem;font-weight:700}.booking-rule{border-left:4px solid var(--purple);background:var(--cream);padding:1.4rem 1.6rem}.booking-rule p{margin:.35rem 0 0}.party-pointer{padding-block:clamp(2.75rem,5vw,4rem)}
@media(max-width:700px){.party-options{grid-template-columns:1fr}.credit-list{grid-template-columns:1fr 1fr}}
.site-nav a.nav-cta[aria-current=page]{background:var(--purple);color:#fff;text-decoration:none}.site-nav a.nav-cta[aria-current=page]:hover{background:var(--purple-dark);color:#fff}.site-nav a.nav-cta[aria-current=page]:focus-visible{color:#fff}
.hero-image,.page-feature-image,.content-image,.gallery-image,.option-image{display:block;width:100%;object-fit:cover}.hero-image{height:clamp(390px,54vw,610px);object-position:center}.option-image{aspect-ratio:4/3;margin-top:1.5rem}.page-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.page-feature-image{height:clamp(340px,38vw,480px);object-position:center}.content-image{aspect-ratio:4/3;margin-top:2rem}.party-lifestyle-image{object-position:center}.gallery-item{margin:0;overflow:hidden}.gallery-image{height:390px}.gallery-item.large .gallery-image{height:540px}
@media(max-width:850px){.hero-image{order:-1;height:420px}.page-hero-grid{grid-template-columns:1fr}.page-feature-image{height:420px}.content-image{margin-top:1.5rem}.gallery-image,.gallery-item.large .gallery-image{height:420px}}
@media(max-width:560px){.hero-image,.page-feature-image{height:340px}.gallery-image,.gallery-item.large .gallery-image{height:330px}}
.gallery-page .page-hero{padding-bottom:clamp(2.5rem,4vw,3.75rem)}.gallery-section{padding-top:clamp(2.5rem,4vw,3.75rem)}.editorial-gallery{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,1.6vw,1.5rem)}.editorial-gallery .gallery-item:nth-child(1),.editorial-gallery .gallery-item:nth-child(4),.editorial-gallery .gallery-item:nth-child(5){grid-column:span 7}.editorial-gallery .gallery-item:nth-child(2),.editorial-gallery .gallery-item:nth-child(3),.editorial-gallery .gallery-item:nth-child(6){grid-column:span 5}.editorial-gallery .gallery-item:nth-child(1) .gallery-image,.editorial-gallery .gallery-item:nth-child(2) .gallery-image{height:500px}.editorial-gallery .gallery-item:nth-child(3) .gallery-image,.editorial-gallery .gallery-item:nth-child(4) .gallery-image{height:430px}.editorial-gallery .gallery-item:nth-child(5) .gallery-image,.editorial-gallery .gallery-item:nth-child(6) .gallery-image{height:470px}
@media(max-width:850px){.editorial-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.editorial-gallery .gallery-item:nth-child(n){grid-column:span 1}.editorial-gallery .gallery-item:nth-child(1),.editorial-gallery .gallery-item:nth-child(6){grid-column:1/-1}.editorial-gallery .gallery-item:nth-child(n) .gallery-image{height:350px}.editorial-gallery .gallery-item:nth-child(1) .gallery-image,.editorial-gallery .gallery-item:nth-child(6) .gallery-image{height:460px}}
@media(max-width:560px){.gallery-page .page-hero{padding-bottom:2.25rem}.gallery-section{padding-top:2.25rem}.editorial-gallery{grid-template-columns:1fr;gap:1rem}.editorial-gallery .gallery-item:nth-child(n){grid-column:1/-1}.editorial-gallery .gallery-item:nth-child(n) .gallery-image{height:auto;aspect-ratio:1/1}}
.about-experience-image{display:block;width:100%;height:clamp(390px,44vw,540px);object-fit:cover;object-position:center}.question-cta{border-top:1px solid var(--line)}
@media(max-width:850px){.about-experience-image{height:420px}}
@media(max-width:560px){.about-experience-image{height:340px}}
.event-empty-state{border-block:1px solid var(--line);background:var(--cream);padding:clamp(1.5rem,3vw,2.25rem)}.event-empty-state h3{margin-bottom:.45rem}.event-empty-state p{max-width:680px;margin-bottom:0}.event-empty-state .actions{margin-top:1rem}
