
:root{--ink:#2c241f;--cream:#f7f1e8;--gold:#aa8345;--dark:#201914;--paper:#fffaf4;--line:#dfd2c2;--muted:#6f6259}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:Georgia,'Times New Roman',serif}img{max-width:100%}a{color:inherit;text-decoration:none}.wrap{max-width:1180px;margin:auto;padding:0 24px}
.topbar{background:var(--dark);color:#fff}.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:28px;padding-top:18px;padding-bottom:18px}.brand{font-size:27px;letter-spacing:.16em;white-space:nowrap}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:.3em;text-align:center;margin-top:2px}.menu{font:12px Arial,sans-serif;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.menu a{opacity:.9}.menu a:hover{text-decoration:underline}.hero{min-height:78vh;background:linear-gradient(90deg,rgba(20,14,10,.78),rgba(20,14,10,.27)),url('wedding.jpeg') center 36%/cover;display:flex;color:#fff}.hero .wrap{width:100%;display:flex;align-items:center}.hero-content{max-width:760px;padding:80px 0}.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#d9c7aa}.hero h1{font-size:clamp(40px,6vw,72px);line-height:1.04;font-weight:400;letter-spacing:.035em;margin:10px 0 18px}.hero p{font:18px/1.7 Arial,sans-serif;max-width:680px}.hero-actions,.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;background:var(--gold);color:#fff;padding:14px 22px;font:700 12px Arial,sans-serif;letter-spacing:.06em;margin-top:8px}.btn.secondary{background:transparent;border:1px solid #d6bd94}.section{padding:70px 0}.section.alt{background:var(--cream)}.title{text-align:center;font-size:34px;font-weight:400;letter-spacing:.04em;margin:0 0 12px}.subtitle{text-align:center;font:15px/1.7 Arial,sans-serif;margin:0 auto 36px;max-width:820px;color:#4d433c}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:#fff;border:1px solid #eee3d6;padding:30px}.service-card.featured{border-top:4px solid var(--gold)}.service-card h2,.service-card h3{font-size:24px;font-weight:400;margin:0 0 12px}.service-card p{font:14px/1.7 Arial,sans-serif;color:#4d433c}.text-link{display:inline-block;margin-top:8px;color:#806337;border-bottom:1px solid #b89a69;font:700 12px Arial,sans-serif;letter-spacing:.05em;padding-bottom:3px}.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:center}.split.reverse .media{order:2}.split h2{font-size:34px;font-weight:400;margin:0 0 16px}.split p,.prose p{font:16px/1.75 Arial,sans-serif;color:#4d433c}.media img{display:block;width:100%;height:auto;background:#eee4d8}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.photo-grid img{display:block;width:100%;height:auto;background:#eee4d8}.photo-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.caption{text-align:center;font:12px/1.6 Arial,sans-serif;color:#77695e;margin:10px 0 0}.inner-hero{background:var(--cream);padding:58px 0 46px;border-bottom:1px solid #eadfce}.breadcrumbs{font:12px Arial,sans-serif;color:#887767;margin-bottom:18px}.inner-hero h1{font-size:clamp(38px,5vw,58px);font-weight:400;margin:0 0 14px;line-height:1.08}.inner-hero p{font:17px/1.7 Arial,sans-serif;max-width:820px;color:#4d433c}.pill-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.pill{border:1px solid #c6a87a;padding:9px 12px;font:12px Arial,sans-serif;background:#fff}.detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.detail{background:#fff;border:1px solid #eee3d6;padding:24px}.detail h3{font-size:20px;font-weight:400;margin:0 0 10px}.detail p{font:14px/1.65 Arial,sans-serif;color:#4d433c;margin:0}.faq{max-width:880px;margin:auto}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;padding:18px 34px 18px 0;font:700 14px/1.45 Arial,sans-serif;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';position:absolute;right:4px;top:12px;font:300 26px Arial,sans-serif;color:var(--gold)}.faq details[open] summary:after{content:'–'}.faq details p{margin:0;padding:0 30px 18px 0;font:14px/1.7 Arial,sans-serif;color:#4d433c}.cta{background:var(--dark);color:#fff;padding:36px}.cta h2{font-size:28px;font-weight:400;margin:0 0 12px}.cta p{font:15px/1.7 Arial,sans-serif;color:#eadfce}.locations{display:grid;grid-template-columns:1fr 1fr;gap:24px}.location-card{background:#fff;border:1px solid #eee3d6;padding:20px}.location-card img{display:block;width:100%;height:auto}.location-card h2,.location-card h3{font-size:22px;font-weight:400;margin:18px 0 8px}.location-card p{font:14px/1.7 Arial,sans-serif;color:#4d433c}.outline{border:1px solid var(--gold);padding:11px 15px;font:700 11px Arial,sans-serif;color:#7e6339;display:inline-block}.map{width:100%;height:360px;border:0}.notice{background:#fff;border-left:4px solid var(--gold);padding:18px 22px;font:14px/1.7 Arial,sans-serif;color:#4d433c}.footer{background:var(--dark);color:#d8c4a5;padding:38px 0;text-align:center}.footer p{font:12px/1.7 Arial,sans-serif;margin:10px auto;max-width:900px}.floatwa{position:fixed;right:18px;bottom:18px;background:#3d7c54;color:#fff;padding:13px 17px;border-radius:30px;font:700 12px Arial,sans-serif;box-shadow:0 5px 20px #0003;z-index:10}
@media(max-width:900px){.service-grid,.detail-grid{grid-template-columns:1fr 1fr}.photo-grid{grid-template-columns:repeat(2,1fr)}.split{grid-template-columns:1fr;gap:28px}.split.reverse .media{order:0}.locations{grid-template-columns:1fr}.menu{gap:12px}}
@media(max-width:650px){.topbar .wrap{align-items:flex-start;flex-direction:column;gap:14px}.menu{width:100%;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.menu a{white-space:nowrap}.hero{min-height:66vh}.hero-content{padding:60px 0}.hero h1{font-size:40px}.section{padding:48px 0}.service-grid,.detail-grid,.photo-grid,.photo-grid.two{grid-template-columns:1fr}.title{font-size:29px}.inner-hero{padding:42px 0 36px}.map{height:300px}.floatwa{right:12px;bottom:12px}}
