@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#3f332d;--muted:#7d6d64;--gold:#9d7454;--gold-dark:#80583b;--border:#e9dbd1;--beige:#faf6f1;--cream:#f7f0e8;--pink:#efe2dc;--white:#fff;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.7;font-size:15px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.18}h1,h2,.qc-label{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(38px,4.1vw,65px);letter-spacing:-.04em}h2{font-size:clamp(33px,3.25vw,50px);letter-spacing:-.035em}h3{font-size:22px}h1 em,h2 em{font-weight:400;color:#a77b67}p{color:var(--muted)}.container{width:min(var(--max),calc(100% - 48px));margin:0 auto}.skip{position:absolute;top:-100px;left:8px;padding:10px;background:#fff;z-index:90}.skip:focus{top:8px}.eyebrow{display:block;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.25em;font-weight:700;margin-bottom:17px}.topbar{background:#f7eee6;border-bottom:1px solid #ecdfd4;font-size:11px;color:#806b60}.topbar-inner{min-height:34px;display:flex;justify-content:space-between;align-items:center;gap:15px}.topbar a:hover{text-decoration:underline}.top-divider{margin:0 16px}.site-header{z-index:50;position:sticky;top:0;background:rgba(255,255,255,.97);box-shadow:0 4px 20px rgba(47,34,26,.035);border-bottom:1px solid #eee7e1}.header-row{height:96px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{flex:0 0 250px}.brand img{width:250px;height:auto}.main-nav{display:flex;align-items:center;justify-content:center;flex:1;gap:clamp(11px,1.6vw,26px)}.main-nav a{font-size:12px;font-weight:600;white-space:nowrap;position:relative;padding:9px 0;transition:color .2s}.main-nav a:after{content:'';position:absolute;left:0;bottom:5px;height:1px;width:0;background:var(--gold);transition:width .2s}.main-nav a:hover,.main-nav a[aria-current=page]{color:var(--gold-dark)}.main-nav a:hover:after,.main-nav a[aria-current=page]:after{width:100%}.header-cta{border:1px solid #a7866a;color:#7a5540;padding:13px 16px;font-size:10px;letter-spacing:.13em;font-weight:700;white-space:nowrap}.header-cta:hover{background:var(--gold);color:white}.header-cta span{padding-left:6px}.menu-toggle{display:none;background:none;border:0;width:46px;height:44px;cursor:pointer;padding:10px}.menu-toggle span{display:block;width:25px;height:2px;background:#594135;margin:5px auto;transition:transform .2s}.hero{position:relative;min-height:640px;display:flex;align-items:center;background:#e9e2d8;overflow:hidden}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(250,245,239,.92),rgba(252,247,241,.82) 37%,rgba(255,255,255,.05) 75%)}.hero-inner{position:relative;z-index:1;padding-top:100px;padding-bottom:130px}.hero-copy{max-width:570px}.hero-copy h1{margin:0 0 25px}.hero-copy p{font-size:16px;max-width:450px;color:#66564a;line-height:1.9;margin-bottom:34px}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;text-align:center;padding:15px 25px;background:var(--gold);border:1px solid var(--gold);color:#fff;font-weight:700;font-size:12px;letter-spacing:.045em;min-height:52px;transition:.22s;cursor:pointer}.btn:hover{background:var(--gold-dark);transform:translateY(-2px);box-shadow:0 9px 20px #a07b6130}.btn-outline{background:transparent;color:var(--gold-dark)}.btn-outline:hover{color:#fff}.quick-cards{position:relative;margin:-70px 0 0;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.quick-card{background:white;border:1px solid #ede2d9;padding:29px 26px;min-height:195px;box-shadow:0 13px 30px rgba(64,42,29,.06);display:flex;flex-direction:column;transition:.2s}.quick-card:hover{transform:translateY(-6px);box-shadow:0 20px 34px rgba(64,42,29,.11)}.quick-icon{color:#ba9375;font-size:33px;height:45px}.qc-label{font-size:23px}.quick-card small{font-size:12px;color:var(--muted)}.qc-arrow{font-size:11px;color:#976f52;margin-top:auto;padding-top:15px;font-weight:700}.section{padding:110px 0}.about-section{padding-top:145px}.split{display:grid;grid-template-columns:1.03fr .97fr;gap:clamp(40px,6vw,100px);align-items:center}.split.reverse{grid-template-columns:.85fr 1.15fr}.picture-pair{position:relative;padding-right:36px;padding-bottom:38px}.picture-main{width:100%;height:510px;object-fit:cover}.picture-note{position:absolute;right:0;bottom:0;background:#ad8869;padding:18px 25px;color:white;letter-spacing:.15em;font-size:10px}.section-copy p{font-size:15px;line-height:2;margin-bottom:18px}.section-copy h2{margin-bottom:27px}.feature-line{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;font-weight:600;letter-spacing:.02em;margin:28px 0;color:#6b5a4d}.feature-line span{color:#ba9a7b}.text-link{display:inline-flex;font-weight:700;font-size:13px;color:var(--gold-dark);padding-bottom:8px;border-bottom:1px solid var(--gold)}.text-link span{margin-left:17px}.services-teaser{background:var(--beige)}.section-head{max-width:680px;margin-bottom:45px}.section-head.centered{text-align:center;margin-left:auto;margin-right:auto}.section-head h2{margin-bottom:14px}.section-head p{font-size:15px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.service-tile{display:block;overflow:hidden;background:#fff;position:relative}.service-tile img{width:100%;height:285px;object-fit:cover;transition:transform .4s}.service-tile:hover img{transform:scale(1.055)}.service-caption{display:flex;align-items:center;justify-content:space-between;padding:22px 25px;font-size:17px;font-family:'Playfair Display',Georgia,serif}.service-caption span:last-child{font-family:'DM Sans',sans-serif;color:var(--gold)}.center-actions{text-align:center;margin-top:42px}.gallery-teaser{background:white}.gallery-grid-small{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-height:460px;overflow:hidden}.gallery-grid-small img{height:460px;object-fit:cover;width:100%}.gallery-grid-small img:last-child{transform:translateY(26px)}.testimonials{background:#faf6f3}.testimonial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.quote-card{background:#fff;border:1px solid #ecdfd7;padding:35px;min-height:250px}.quote-card p{font-family:'Playfair Display',Georgia,serif;font-size:17px;color:#54483e;line-height:1.7}.five-stars{letter-spacing:.24em;color:var(--gold);font-size:13px}.quote-card strong{font-size:12px;letter-spacing:.06em}.cta-section{background:#e9dace;padding:70px 0}.cta-inner{display:flex;justify-content:space-between;gap:35px;align-items:center}.cta-inner h2{margin-bottom:10px}.cta-inner p{margin-bottom:0}.btn-light{background:#fff;color:#754f3d;border-color:#fff}.footer{background:#302b28;color:#d2c7bf;padding:75px 0 0}.footer-grid{display:grid;grid-template-columns:1.4fr .85fr .95fr 1fr;gap:45px}.footer h3{font-family:'DM Sans',sans-serif;font-size:13px;color:#fff;letter-spacing:.15em;text-transform:uppercase}.footer p{font-size:13px;color:#bfb4aa}.footer-about img{filter:brightness(0) invert(.95);max-width:235px}.footer-links{display:grid;gap:8px;font-size:13px}.footer a:hover{color:#e7c7a7}.footer-link{color:#e8c8a6;font-size:13px}.footer-bottom{border-top:1px solid #504841;margin-top:58px;padding:20px 0;display:flex;justify-content:space-between;gap:20px;font-size:12px}.page-banner{padding:85px 0;background:linear-gradient(120deg,#faf3ed,#e9d8ca);position:relative;overflow:hidden}.page-banner:after{content:'✦';position:absolute;color:#e8cfbd;font-size:380px;right:0;top:-160px;pointer-events:none}.page-banner .container{position:relative;z-index:1}.page-banner h1{font-size:clamp(42px,5vw,65px);margin-bottom:16px}.page-banner p{max-width:630px;margin-bottom:22px}.breadcrumb{font-size:12px;color:#8f7566;display:flex;gap:11px}.breadcrumb a:hover{text-decoration:underline}.service-tabs{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:25px;border-bottom:1px solid var(--border)}.service-tabs a{border:1px solid var(--border);padding:9px 15px;font-size:12px;color:#836455}.service-tabs a:hover{background:var(--gold);color:#fff}.services-group{padding:75px 0 18px;scroll-margin-top:130px}.sg-heading{display:grid;grid-template-columns:1fr 260px;align-items:center;gap:35px;margin-bottom:30px}.sg-heading h2{font-size:36px;margin-bottom:6px}.sg-heading img{width:260px;height:150px;object-fit:cover}.menu-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.menu-item{background:#fcf8f4;border:1px solid #eee4dd;padding:24px}.menu-item h3{font-size:18px;margin-bottom:9px}.menu-item p{font-size:13px;line-height:1.8;margin:0}.gallery-masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.gallery-img{display:block;overflow:hidden}.gallery-img img{width:100%;height:330px;object-fit:cover;transition:transform .3s}.gallery-img:nth-child(3n+2) img{height:400px}.gallery-img:hover img{transform:scale(1.04)}.promo-visual{position:relative}.promo-visual img{height:460px;object-fit:cover;width:100%}.fine-print{font-size:12px!important;color:#a0877b!important;margin-top:18px}.party-layout{align-items:start}.party-img{width:100%;height:300px;object-fit:cover;margin-top:35px}.form-card{padding:39px;background:#faf6f2;border:1px solid #ebdfd5}.form-card h3{font-family:'Playfair Display',Georgia,serif;font-size:32px;margin-bottom:15px}.form-card>p{font-size:12px;margin-bottom:25px}.form-card label{display:block;color:#57463f;font-size:12px;font-weight:700;margin-bottom:16px}.form-card input,.form-card textarea{display:block;width:100%;border:1px solid #dfd2c8;background:#fff;padding:13px 14px;margin-top:7px;border-radius:0;font-size:13px;min-height:46px;color:#3e322c}.form-card textarea{resize:vertical}.form-card input:focus,.form-card textarea:focus{outline:2px solid #bc9579}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-submit{width:100%;margin-top:8px}.form-status{font-size:12px;margin:14px 0 0}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.contact-details{margin:37px 0}.contact-details article{display:flex;gap:22px;border-bottom:1px solid #e5d9cd;padding:22px 0}.contact-details article>span{font-size:25px;min-width:34px;color:var(--gold)}.contact-details b{font-size:13px}.contact-details p{font-size:14px;margin:8px 0 0}.contact-details a{color:#936848}.location-photo{position:relative}.location-photo>img{width:100%;height:540px;object-fit:cover}.location-card{position:absolute;bottom:22px;left:-35px;background:white;box-shadow:0 9px 40px #39261619;padding:26px 35px}.location-card b{font-size:16px}.location-card p{font-size:13px;margin:8px 0}.location-card small{font-size:10px;color:#9b867c}
@media(max-width:1200px){.header-row{gap:15px}.brand{flex-basis:215px}.brand img{width:215px}.header-cta{display:none}.main-nav{justify-content:flex-end;gap:17px}}
@media(max-width:900px){.container{width:min(var(--max),calc(100% - 36px))}.header-row{height:78px}.brand{flex-basis:auto}.brand img{width:220px}.menu-toggle{display:block;margin-left:auto;z-index:3}.main-nav{position:absolute;left:0;top:100%;width:100%;background:white;padding:15px 25px 25px;box-shadow:0 20px 25px #00000017;display:none;flex-direction:column;align-items:stretch;gap:2px}.main-nav.open{display:flex}.main-nav a{padding:12px;border-bottom:1px solid #f0e7df;font-size:13px}.hero{min-height:570px}.hero-inner{padding-top:75px;padding-bottom:100px}.hero-copy{max-width:480px}.quick-cards{grid-template-columns:repeat(2,1fr)}.split,.split.reverse,.contact-layout{grid-template-columns:1fr;gap:40px}.about-section{padding-top:90px}.section{padding:75px 0}.picture-main{height:390px}.footer-grid{grid-template-columns:repeat(2,1fr)}.cta-inner{align-items:flex-start}.gallery-grid-small img{height:350px}.sg-heading{grid-template-columns:1fr 230px}.sg-heading img{width:230px}.location-card{left:20px}}
@media(max-width:600px){.topbar-inner{min-height:30px;justify-content:center;text-align:center}.topbar-inner span:first-child{display:none}.top-divider{margin:0 5px}.brand img{width:198px}.container{width:calc(100% - 32px)}.hero{min-height:560px}.hero-img{object-position:63% center}.hero:after{background:linear-gradient(90deg,rgba(251,246,240,.94),rgba(251,246,240,.86) 65%,rgba(251,246,240,.62))}.hero-inner{padding:72px 0 105px}.hero-copy h1{font-size:43px}.hero-copy p{font-size:14px}.actions{gap:9px}.btn{min-height:46px;padding:12px 16px;font-size:11px;gap:12px}.quick-cards{gap:9px;margin-top:-65px}.quick-card{padding:18px 15px;min-height:153px}.quick-icon{font-size:24px;height:32px}.qc-label{font-size:19px}.quick-card small{font-size:11px}.qc-arrow{font-size:10px;padding-top:8px}.section{padding:65px 0}.about-section{padding-top:78px}.picture-main{height:330px}.picture-pair{padding-right:20px}.picture-note{font-size:8px;padding:12px}.section-copy h2{font-size:35px}.section-copy p{font-size:14px}.service-cards{grid-template-columns:1fr;gap:16px}.service-tile img{height:235px}.testimonial-grid{grid-template-columns:1fr;gap:13px}.quote-card{min-height:auto;padding:23px}.quote-card p{font-size:15px}.gallery-grid-small img{height:270px}.cta-inner{flex-direction:column}.footer{padding-top:55px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-about{grid-column:span 2}.footer-bottom{flex-wrap:wrap;margin-top:38px}.page-banner{padding:55px 0}.page-banner h1{font-size:40px}.page-banner:after{font-size:220px;top:-60px}.sg-heading{grid-template-columns:1fr}.sg-heading img{width:100%;height:180px}.menu-grid{grid-template-columns:1fr}.services-group{padding:50px 0 0}.gallery-masonry{grid-template-columns:repeat(2,1fr);gap:9px}.gallery-img img,.gallery-img:nth-child(3n+2) img{height:210px}.form-card{padding:23px}.field-row{grid-template-columns:1fr;gap:0}.location-photo>img{height:340px}.contact-layout{gap:25px}.location-card{left:15px;bottom:15px;padding:20px}.promo-visual img{height:300px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
