@font-face{font-family:Editorial;src:url('/assets/fonts/editorial.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Sans;src:url('/assets/fonts/sans.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Sans;src:url('/assets/fonts/sans-medium.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Editorial;src:url('/assets/fonts/editorial-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#fbfaf8;--ink:#29252b;--plum:#65356f;--plum-dark:#4b2554;--muted:#68606a;--line:#ded9dd;--pale:#f0ebf1;--serif:Editorial,Georgia,serif;--sans:Sans,Arial,sans-serif;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}:focus-visible{outline:3px solid #9b5bae;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(3.5rem,6.2vw,6.8rem)}h2{font-size:clamp(2.65rem,4.6vw,4.8rem)}h3{font-size:2rem}p+p{margin-top:1em}.wrap{width:min(calc(100% - 112px),var(--max));margin:auto}.eyebrow{font:500 .75rem/1.5 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--plum)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:15px 25px;min-height:52px;border:1px solid var(--plum);background:var(--plum);color:white;text-decoration:none;font-size:.9rem;line-height:1.3;transition:background .2s,border-color .2s}.btn:hover{background:var(--plum-dark);border-color:var(--plum-dark)}.btn svg{width:18px;height:18px}.btn.secondary{background:transparent;color:var(--plum)}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:.91rem;font-weight:500;text-decoration:none;border-bottom:1px solid;padding:8px 0}.text-link svg{width:18px}.site-header{height:100px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:232px}.nav{display:flex;align-items:center;gap:29px}.nav a{text-decoration:none;font-size:.85rem}.nav a:not(.btn):hover,.nav a[aria-current=page]:not(.btn){color:var(--plum);text-decoration:underline;text-underline-offset:8px}.nav .btn{font-size:.83rem;padding:12px 20px;min-height:45px}.menu-toggle{display:none}.skip{position:fixed;top:-100px;left:20px;z-index:1000;background:var(--plum);color:white;padding:12px}.skip:focus{top:10px}.hero{display:grid;grid-template-columns:46% 54%;min-height:680px}.hero-copy{padding:76px 52px 70px max(56px,calc((100vw - var(--max))/2));display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hero .hero-title{margin:26px 0 28px}.hero .hero-title em{font-style:italic;color:var(--plum)}.hero-copy>p:not(.eyebrow){max-width:390px;font-size:1rem;line-height:1.8;color:var(--muted)}.hero-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap;margin-top:31px}.hero-actions .text-link{font-size:.84rem}.hero-picture{position:relative;min-height:640px;overflow:hidden;background:#ddd}.hero-picture>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:48% 50%}.photo-caption{position:absolute;bottom:26px;left:30px;right:30px;color:white;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;z-index:1}.hero-picture:after{content:'';position:absolute;inset:75% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.45))}.hero-bottom{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.section{padding:108px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}.section-head h2{margin-top:17px}.section-head>p{max-width:360px;color:var(--muted);font-size:.97rem}.section-head .text-link{white-space:nowrap}.lead{font-size:1.08rem;line-height:1.85;color:var(--muted)}.quote-strip{text-align:center;padding:63px 20px 60px;max-width:900px;margin:auto}.quote-strip blockquote{font:400 2rem/1.35 var(--serif);margin:0 0 16px}.quote-strip cite{font-style:normal;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.photo-edit{display:grid;grid-template-columns:1fr 1.26fr 1fr;align-items:center;gap:25px}.photo-edit figure{margin:0}.photo-edit img{width:100%;aspect-ratio:3/4;object-fit:cover}.photo-edit figure:nth-child(2) img{aspect-ratio:4/5}.photo-edit figcaption{padding-top:12px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.about-split{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-split .portrait{aspect-ratio:4/5;object-fit:cover;width:100%}.about-copy h2{margin:22px 0 29px}.about-copy .text-link{margin-top:25px}.tint{background:var(--pale)}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.story-card{text-decoration:none}.story-card .image-frame{overflow:hidden;position:relative}.story-card img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .55s}.story-card:hover img{transform:scale(1.025)}.story-card .meta{font-size:.7rem;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:20px 0 7px}.story-card h3{font-size:2.4rem}.story-card .story-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:19px}.story-card .story-bottom svg{width:23px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:54px}.step{border-top:1px solid var(--line);padding-top:22px}.step .number{font-size:.8rem;color:var(--plum)}.step h3{margin:23px 0 16px;font-size:2.15rem}.step p{font-size:.95rem;color:var(--muted)}.price-teaser{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.price-teaser h2{margin:22px 0}.price-teaser .btn{margin-top:30px}.price-lines{border-top:1px solid var(--line)}.price-line{padding:25px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;align-items:center}.price-line span{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.price-line strong{font:400 2.5rem var(--serif)}.faq-layout{display:grid;grid-template-columns:.85fr 1.3fr;gap:95px}.faq-layout h2{margin:20px 0}.faq-layout>div>p:not(.eyebrow){color:var(--muted);max-width:320px;font-size:.95rem}details{border-bottom:1px solid var(--line)}summary{padding:22px 38px 22px 0;list-style:none;cursor:pointer;position:relative;font-size:1rem;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:4px;top:20px;font-size:1.4rem;font-weight:300}details[open] summary:after{content:'−'}details>div{padding:0 28px 25px 0;color:var(--muted);font-size:.95rem}.closing{background:var(--plum);color:white;padding:85px 0}.closing-inner{display:flex;justify-content:space-between;gap:60px;align-items:center}.closing .eyebrow{color:#e4cde9}.closing h2{margin-top:18px;font-size:clamp(3rem,5vw,5.2rem)}.closing .btn{background:var(--paper);border-color:var(--paper);color:var(--plum);flex-shrink:0}.closing .btn:hover{background:#e6dbe9}.site-footer{padding:60px 0 22px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:45px;padding-bottom:50px}.footer-brand img{width:225px}.footer-brand p{font-size:.85rem;color:var(--muted);margin-top:22px;max-width:320px}.footer-links{display:flex;gap:85px}.footer-links div{display:flex;flex-direction:column;gap:9px}.footer-links a{font-size:.85rem;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:18px;padding-top:20px;border-top:1px solid var(--line);font-size:.72rem;color:var(--muted)}.footer-bottom a{text-decoration:none}.back-top{white-space:nowrap}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.js-motion .reveal.visible{opacity:1;transform:none}@media(min-width:1500px){.hero-copy{padding-right:80px}.hero{min-height:750px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.nav{gap:20px}.brand img{width:195px}.hero-copy{padding:50px 36px 50px 32px}.hero{min-height:600px}.hero-picture{min-height:600px}h1{font-size:5rem}.about-split{gap:60px}.faq-layout{gap:60px}.section{padding:80px 0}.hero-actions{gap:20px}.footer-links{gap:50px}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}.site-header{height:79px}.brand img{width:188px}.menu-toggle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:none;border:1px solid var(--line);padding:10px;color:var(--ink)}.menu-toggle svg{width:23px;height:23px}.nav{display:none;position:absolute;top:79px;left:0;right:0;z-index:20;background:var(--paper);padding:22px 20px 30px;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #00000008}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.nav a{padding:15px 0;font-size:1rem}.nav .btn{margin-top:15px;padding:14px}.hero{grid-template-columns:1fr}.hero-copy{padding:43px 20px 40px;min-height:0}.hero .hero-title{font-size:clamp(3.75rem,12vw,5.4rem);margin:22px 0}.hero .hero-title br{display:block}.hero-copy>p:not(.eyebrow){max-width:450px;font-size:1rem}.hero-actions{margin-top:25px;gap:25px}.hero-picture{height:480px;min-height:0}.hero-picture>img{object-position:50% 48%}.hero-bottom{font-size:.64rem;letter-spacing:.08em;gap:12px}.hero-bottom span:last-child{display:none}.quote-strip{padding:44px 20px}.quote-strip blockquote{font-size:1.7rem}.section{padding:65px 0}.section-head{display:block;margin-bottom:30px}.section-head>p,.section-head>.text-link{margin-top:23px}.photo-edit{gap:12px;grid-template-columns:1fr 1fr}.photo-edit figure:nth-child(3){display:none}.photo-edit figure:nth-child(2) img{aspect-ratio:3/4}.photo-edit figcaption{font-size:.62rem}.about-split{grid-template-columns:1fr;gap:38px}.about-split .portrait{max-height:550px;object-position:center 30%}.about-copy h2{margin:19px 0 23px}.story-grid{grid-template-columns:1fr;gap:38px}.story-card img{aspect-ratio:4/3}.story-card h3{font-size:2.3rem}.steps{grid-template-columns:1fr;gap:30px;margin-top:34px}.step h3{margin-top:14px}.price-teaser{grid-template-columns:1fr;gap:35px}.faq-layout{grid-template-columns:1fr;gap:25px}.faq-layout>div>p:not(.eyebrow){max-width:100%}.closing{padding:60px 0}.closing-inner{display:block}.closing .btn{margin-top:30px}.footer-top{display:block;padding-bottom:30px}.footer-links{margin-top:35px;gap:60px}.footer-bottom{flex-wrap:wrap;font-size:.72rem}.photo-caption{left:20px;bottom:20px;font-size:.62rem}h2{font-size:3.1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Final responsive type and spacing refinements. */
.nav a,.footer-links a{font-size:.875rem}.footer-bottom{font-size:.75rem}.photo-caption{font-size:.75rem;text-shadow:0 1px 5px #0009}.story-card .meta,.photo-edit figcaption,.quote-strip cite{font-size:.75rem}.hero-bottom{font-size:.75rem}
@media(max-width:800px){.hero-copy{padding:30px 20px 32px}.hero .hero-title{font-size:clamp(2.75rem,12vw,3.7rem);margin:20px 0}.hero-copy>p:not(.eyebrow){font-size:1rem;line-height:1.7}.hero-actions{gap:14px;margin-top:23px}.hero-actions .btn{padding:14px 16px;gap:12px;font-size:.875rem}.hero-actions .text-link{gap:10px;font-size:.875rem}.hero-bottom{font-size:.75rem;letter-spacing:.04em;flex-wrap:wrap}.hero-bottom span:nth-child(2){display:none}.hero-bottom span:last-child{display:block}.photo-edit figcaption{font-size:.75rem;letter-spacing:.06em}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-links>div:last-child{grid-column:1/-1;flex-direction:row;gap:24px}.footer-links a{font-size:.875rem}.photo-caption{font-size:.75rem;letter-spacing:.07em}}

/* Version 2: semantic hero tags retain the original typographic treatment. */
.hero .hero-title{font-size:clamp(3.5rem,6.2vw,6.8rem)}
.hero .hero-location{margin:0;font:500 .75rem/1.5 var(--sans);letter-spacing:.18em;color:var(--plum);text-transform:uppercase}
.testimonials{padding:60px 0 65px}.testimonial-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:30px}.testimonial-heading h2{font-size:clamp(2rem,3.3vw,3.25rem);margin-top:12px}.testimonial-heading .text-link{flex-shrink:0}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.testimonial-card{margin:0;border-top:1px solid var(--line);padding:25px 0 0;display:flex;flex-direction:column;justify-content:space-between;gap:25px}.testimonial-card blockquote{font:400 1.5rem/1.4 var(--serif);margin:0}.testimonial-card figcaption{font-size:.875rem}.testimonial-card figcaption strong{display:block;font-weight:500}.testimonial-card figcaption a{color:var(--muted);display:inline-block;padding:6px 0}
.venue-section{padding:0 0 100px}.venue-section h2{font-size:clamp(2.6rem,4.2vw,4.4rem)}.venue-pills{display:flex;flex-wrap:wrap;gap:12px;list-style:none;padding:0;margin:0}.venue-pills a{display:flex;align-items:center;gap:18px;min-height:48px;padding:11px 20px;border:1px solid var(--line);border-radius:30px;text-decoration:none;font-size:.9rem;transition:background .2s,color .2s}.venue-pills a:hover{background:var(--plum);border-color:var(--plum);color:white}.venue-pills span{font-size:1rem}.venue-guide-links{padding-bottom:10px}.venue-feature{scroll-margin-top:30px}.venue-feature+.venue-feature{padding-top:0}.venue-photographs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.venue-photographs figure{margin:0}.venue-photographs img{width:100%;aspect-ratio:3/2;object-fit:cover}.venue-photographs figcaption{font-size:.75rem;color:var(--muted);margin-top:9px}.venue-copy{max-width:760px;margin:30px 0 18px;color:var(--muted)}
.footer-contact{font-size:.875rem;line-height:1.8;font-style:normal;margin-top:20px;display:flex;flex-direction:column;align-items:flex-start}.footer-contact strong{font-weight:500}.footer-contact a{padding:3px 0;overflow-wrap:anywhere}.profile-links{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;padding:0 0 28px;font-size:.875rem}.profile-links>span{color:var(--muted)}.profile-links a{padding:8px 0}.footer-links>div:last-child{flex-wrap:wrap}
@media(max-width:1100px) and (min-width:801px){.hero .hero-title{font-size:5rem}.footer-links{gap:28px}.footer-top{gap:30px}}
@media(max-width:800px){.hero .hero-title{font-size:clamp(2.75rem,12vw,3.7rem)}.testimonials{padding:44px 0 50px}.testimonial-heading{display:block}.testimonial-heading .text-link{margin-top:15px}.testimonial-grid{grid-template-columns:1fr;gap:25px}.testimonial-card{gap:18px;padding-top:22px}.testimonial-card blockquote{font-size:1.55rem}.venue-section{padding-bottom:65px}.venue-pills{gap:10px}.venue-pills a{padding:10px 16px;font-size:.875rem;gap:12px}.venue-photographs{grid-template-columns:1fr;gap:25px}.profile-links{gap:10px 24px}.profile-links>span{flex-basis:100%}}
