@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Open+Sans:wght@400;600&family=Playfair+Display:wght@400;700&family=Source+Sans+Pro:wght@400;600&display=swap');
:root{--content:1080px;--dark:#1f1f1f;--muted:#939393}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:#666;background:#fff;font-family:'Open Sans',Arial,sans-serif;font-size:14px;line-height:1.7}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{color:#806035}
:focus-visible{outline:3px solid #7c54ac;outline-offset:3px}
.skip-link{position:absolute;left:12px;top:-100px;z-index:200;background:#fff;color:#1f1f1f;padding:10px 14px}
.skip-link:focus{top:12px}
.site-header{height:80px;background:#fff;position:sticky;top:0;z-index:50;box-shadow:0 1px 0 rgba(0,0,0,.08);transition:height .2s}
.site-header.is-compact{height:60px}
.header-inner{width:80%;max-width:var(--content);height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between}
.site-logo{display:flex;align-items:center;height:100%}
.site-logo img{display:block;width:125px;max-height:70%;object-fit:contain}
.site-nav{height:100%;display:flex;align-items:center;gap:28px;font-family:Montserrat,Arial,sans-serif;color:#111;font-weight:600;font-size:14px}
.site-nav a{white-space:nowrap;transition:color .2s}
.menu-toggle{display:none}
.section{position:relative;background-size:cover;background-repeat:no-repeat;background-position:center;scroll-margin-top:80px}
.row{width:80%;max-width:var(--content);margin:0 auto;display:flex;gap:0;align-items:stretch}
.row.cols-2>.column{width:50%}
.row.cols-3>.column{width:33.333333%}
.row.cols-1>.column{width:100%}
.column{min-width:0;position:relative;background-position:center;background-size:cover;background-repeat:no-repeat}
.text-module p:first-child,.team-bio p:first-child{margin-top:0}
.text-module p:last-child,.team-bio p:last-child{margin-bottom:0}
.text-module h1,.text-module h2,.text-module h3,.text-module h4{font-family:var(--heading-font,'Playfair Display',Georgia,serif);font-size:var(--heading-size,30px);font-weight:400;line-height:1.3;color:var(--heading-color,#1f1f1f);margin:0 0 16px}
.text-module p{margin:0 0 1em}
.text-module.bold-text>p{text-transform:uppercase}
.text-module a{color:#806035}
.divider{height:10px;width:60px;max-width:100%;margin:0 0 10px}
.hero-section{min-height:calc(100vh - 80px);overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff}
.hero-bg,.hero-shade{position:absolute;inset:0}
.hero-bg{background-position:center;background-size:cover;animation:hero-in 1.5s ease-out both}
.hero-shade{background:rgba(31,31,31,.5)}
.hero-inner{position:relative;z-index:1;width:min(80%,900px);margin:auto;animation:hero-copy-in 1.5s ease-out both}
.hero-inner h1{font-family:'Playfair Display',Georgia,serif;font-size:66px;line-height:1.3;font-weight:400;margin:0 0 4px}
.hero-copy{font:400 19px/1.8 Montserrat,Arial,sans-serif;color:#fff}
.hero-copy p{margin:0 auto 18px}
.hero-button{display:inline-block;border:2px solid #fff;padding:8px 20px;color:#fff!important;font:600 15px/1.3 Montserrat,Arial,sans-serif;letter-spacing:1px;text-transform:uppercase;transition:background .2s,color .2s}
.hero-button:hover{background:#fff;color:#1f1f1f!important}
.scroll-down{position:absolute;z-index:2;bottom:26px;left:50%;transform:translateX(-50%);font-size:36px;line-height:1;color:#fff!important}
.section-1 .row{padding:0 0 50px}
.section-1 .column:first-child{padding-top:60px}
.section-1 .text-module:first-child,.section-2 .text-module:first-child{font-weight:700;text-transform:uppercase}
.section-1 .image-module{margin-top:100px;padding-left:11px}
.section-1 .image-module img{width:100%;display:block}
.section-2{text-align:center;color:#fff;background-color:rgba(31,31,31,.5);background-blend-mode:overlay}
.section-2 .row{padding:27px 0}
.section-2 .text-module{margin-left:auto;margin-right:auto}
.section-2 .text-module:last-child{max-width:700px}
.section-2 h1,.section-2 h2{color:#fff;text-shadow:0 2px 3px #333}
.section-2 .divider,.section-4 .divider,.section-6 .divider,.section-7 .divider,.section-8 .divider{margin-left:auto;margin-right:auto}
.section-3 .row{width:100%;max-width:1280px}
.section-3 .column{padding:48px 24px;min-height:310px}
.section-3 .text-module h1,.section-3 .text-module h2{font-size:24px!important;text-align:left!important;color:#6b6b6b}
.section-3 .text-module p{text-align:left!important}
.section-3 .image-column{min-height:310px}
.section-4,.section-6,.section-8{background:#f7f7f7}
.section-4{text-align:left}
.section-4 .row:first-child,.section-6 .row:first-child,.section-7 .row:first-child,.section-8 .row:first-child{padding-top:100px;text-align:center}
.section-4 .row:last-child,.section-5 .row{padding-bottom:100px}
.section-5{padding:40px 0 90px}
.section-6{padding-bottom:100px}
.section-6 .row.cols-3{gap:0;margin-top:52px}
.section-6 .team-member{padding:0 20px}
.team-photo{display:block;width:100%;max-width:320px;aspect-ratio:1;object-fit:cover}
.team-member h3{font:500 24px/1.3 Montserrat,Arial,sans-serif;color:#555;margin:4px 0 2px}
.team-position{color:#707070;font-size:13px;margin:0 0 5px}
.team-bio{font:400 13px/1.75 Montserrat,Arial,sans-serif;color:#6f6f6f}
.team-bio ul{padding-left:22px}
.section-7{padding-bottom:100px;text-align:center}
.section-7 .main-gallery-wrap{margin-top:50px}
.section-7 .main-gallery-wrap .column{padding:0 22px}
.section-7 .image-module img{width:100%;height:223px;object-fit:cover;display:block}
.section-7 .image-module a{display:block;position:relative}
.section-7 .image-module a:hover:after{content:'⌕';position:absolute;inset:0;display:grid;place-items:center;color:#fff;background:rgba(12,12,12,.75);font-size:52px}
.section-7 .main-gallery-wrap .text-module{font:500 22px/1.4 Montserrat,Arial,sans-serif;margin-top:12px}
.section-8{padding-bottom:100px;text-align:center}
.section-8 .row:last-child{padding-top:32px}
.section-8 .row:last-child .text-module{margin-bottom:32px}
.section-9{padding:100px 0;text-align:left}
.section-9 .text-module h1,.section-9 .text-module h2{font-family:Montserrat,Arial,sans-serif;font-size:30px;line-height:1.3;font-weight:400}
.section-10{min-height:650px;color:#fff;background-position:center;background-size:cover}
.section-10 .row{padding-top:100px;padding-bottom:100px}
.section-10 .column:first-child{background:rgba(255,255,255,.22);padding:40px}
.section-10 .text-module h1,.section-10 .text-module h2{color:#fff}
.section-10 iframe{border:0;width:100%;min-height:350px}
.contact-link{color:inherit!important;text-decoration:inherit}
.site-footer{background:#fff;color:#111;font-size:14px}
.footer-inner{width:80%;max-width:var(--content);min-height:65px;margin:auto;display:flex;align-items:center;justify-content:space-between}
.facebook{font:bold 32px/1 Arial,sans-serif}
.back-to-top{position:fixed;right:25px;bottom:25px;z-index:40;width:40px;height:40px;border:0;border-radius:3px;background:#444b;color:#fff;font-size:22px;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .2s}
.back-to-top.visible{opacity:1;pointer-events:auto}
.gallery-page-section{padding:70px 0 60px}
.gallery-page-section .row{width:80%;max-width:var(--content)}
.gallery-page-section .row:first-child{margin-bottom:55px}
.gallery-page-section .text-module{font:400 16px/1.5 'Open Sans',Arial,sans-serif;color:#666}
.gallery-page-section .text-module h1,.gallery-page-section .text-module h2{font-family:'Open Sans',Arial,sans-serif;font-size:30px;line-height:1.4;font-weight:400;color:#333;margin:0 0 5px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:60px;row-gap:58px}
.gallery-item{display:block;position:relative;aspect-ratio:225/160;overflow:hidden}
.gallery-picture{display:block;width:100%;height:100%}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover}
.gallery-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.75);color:#fff;font-size:56px;opacity:0;transition:opacity .2s}
.gallery-item:hover .gallery-overlay,.gallery-item:focus-visible .gallery-overlay{opacity:1}
.lightbox{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.88);display:none;align-items:center;justify-content:center;color:#fff}
.lightbox.open{display:flex}
.lightbox img{max-width:min(90vw,1300px);max-height:85vh;object-fit:contain}
.lightbox button{position:absolute;border:0;background:none;color:#fff;font-size:44px;cursor:pointer;padding:5px 18px}
.lightbox-close{top:10px;right:20px}.lightbox-prev{left:10px}.lightbox-next{right:10px}
.lightbox-count{position:absolute;bottom:16px;right:25px;font-size:13px}
.phone-only{display:none}
@keyframes hero-in{from{transform:scale(1.04);opacity:.6}to{transform:scale(1);opacity:1}}
@keyframes hero-copy-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@media(max-width:980px){
 .site-header,.site-header.is-compact{height:80px}
 .header-inner{width:80%}
 .menu-toggle{display:flex;width:36px;height:34px;padding:6px;border:0;background:none;flex-direction:column;justify-content:space-around;cursor:pointer}
 .menu-toggle span{display:block;height:2px;background:#21a7ed;width:100%}
 .site-nav{display:none;position:absolute;top:80px;left:10%;right:10%;height:auto;background:#fff;border-top:3px solid #c39d63;box-shadow:0 4px 10px #0002;flex-direction:column;align-items:stretch;gap:0;font-size:14px}
 .site-nav.open{display:flex}
 .site-nav a{padding:12px 18px;border-bottom:1px solid #eee}
 .hero-inner,.hero-copy{max-width:600px}
 .hero-inner h1{max-width:500px;margin-left:auto;margin-right:auto}
 .row.cols-2,.row.cols-3{display:block}
 .row.cols-2>.column,.row.cols-3>.column{width:100%}
 .section-1 .column:first-child{padding-top:60px}
 .section-1 .image-module{margin-top:100px}
 .section-6 .team-member{padding:20px 0 40px}
 .section-6 .team-photo{max-width:400px}
 .section-6 .team-member h3{font-size:28px}
 .section-7 .main-gallery-wrap .column{padding:0;margin-bottom:50px}
 .section-7 .image-module img{height:auto}
 .section-8 .row:last-child .text-module{margin-left:0!important;padding-left:0!important}
 .gallery-grid{grid-template-columns:repeat(3,1fr);column-gap:34px;row-gap:46px}
 .row{width:80%}
 .section-3 .row{width:80%;display:block}
 .section-3 .column{width:100%!important}
 .section-3 .image-column{min-height:var(--image-block-height,310px)}
}
@media(min-width:768px) and (max-width:980px){.hero-inner{top:0}.hero-copy{max-width:480px;margin-inline:auto}}
@media(max-width:767px){
 .site-header,.site-header.is-compact{height:80px}
 .site-nav{top:80px}
 .site-logo img{width:125px}
 .hero-section{min-height:calc(100vh - 80px)}
 .hero-inner{width:80%}
 .hero-inner h1{max-width:260px;font-size:38px}
 .hero-copy{font-size:16px;line-height:1.6}
 .hero-button{font-size:13px}
 .row,.section-3 .row{width:80%;display:block}
 .row>.column,.row.cols-2>.column,.row.cols-3>.column{width:100%}
 .section-1 .image-module{margin-top:35px}
 .section-1 .row{padding-bottom:50px}
 .section-2{background-attachment:scroll}
 .section-3 .column{padding:38px 24px}
 .section-3 .image-column{min-height:270px}
 .section-4 .row:first-child,.section-6 .row:first-child,.section-7 .row:first-child,.section-8 .row:first-child{padding-top:65px}
 .section-6 .row.cols-3{margin-top:0}
 .section-6 .team-member{padding:25px 0}
 .team-photo{max-width:100%}
 .section-7 .main-gallery-wrap .column{padding:0;margin-bottom:45px}
 .section-7 .image-module img{height:auto}
 .section-10 .row{padding-top:65px}
 .section-10 .column:first-child{padding:25px}
 .gallery-page-section{padding-top:75px}
 .gallery-grid{grid-template-columns:repeat(2,1fr);gap:22px}
 .footer-inner{gap:15px}
 .phone-only{display:block}
}
@media(max-width:479px){
 .hero-inner h1{font-size:clamp(46px,14.9vw,58px)}
 .hero-inner h1{margin-bottom:28px}
 .hero-inner{top:0}
 .hero-copy{max-width:250px;margin-left:auto;margin-right:auto;font-size:19px;line-height:1.8;font-weight:600}
 .hero-button{font-size:12px}
 .gallery-grid{grid-template-columns:1fr;gap:25px}
 .gallery-item{aspect-ratio:1.1}
 .gallery-page-section .row:first-child{margin-bottom:59px}
 .gallery-page-section .text-module h1,.gallery-page-section .text-module h2{font-size:30px;line-height:1.05;max-width:270px}
 .footer-inner{font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.not-found{width:80%;max-width:1080px;min-height:65vh;margin:80px auto}.not-found h1{font:400 42px/1.3 'Playfair Display',Georgia,serif;color:#1f1f1f}.not-found a{color:#806035}
