body{margin:0}#root{width:100%;min-height:100vh}:root{--white:#fff;--off-white:#f8f7f5;--cream:#f1efe9;--light-grey:#e8e6e1;--mid-grey:#b5b0a7;--text:#2c2c2c;--text-light:#6b6b6b;--black:#1a1a1a;--green:#3a5a3a;--green-dark:#1a2f1a;--font-body:"Source Sans 3", sans-serif;--font-display:"Outfit", sans-serif;--radius:6px}.theme-classic{--font-body:"DM Sans", sans-serif;--font-display:"Playfair Display", serif;--radius:0px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--white);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.fade-in{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.fade-in.visible{opacity:1;transform:translateY(0)}.nav{z-index:100;background:var(--white);box-shadow:0 1px 0 var(--light-grey);justify-content:space-between;align-items:center;padding:16px 60px;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{align-items:center;text-decoration:none;display:flex}.nav-brand-logo{width:auto;height:44px;display:block}.nav-brand-name{font-family:var(--font-display);color:var(--black);letter-spacing:1px;font-size:1.15rem;font-weight:600;line-height:1.1}.nav-brand-sub{letter-spacing:4px;text-transform:uppercase;color:var(--mid-grey);margin-top:2px;font-size:.55rem;font-weight:500}.nav-links{align-items:center;gap:36px;list-style:none;display:flex}.nav-links a{color:var(--green-dark);letter-spacing:1.5px;text-transform:uppercase;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--mid-grey)}.nav-cta{background:var(--green);border-radius:var(--radius);padding:10px 24px;color:var(--white)!important;letter-spacing:2px!important;font-size:.72rem!important;transition:opacity .3s!important}.nav-cta:hover{opacity:.8;color:var(--white)!important}.burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.burger span{background:var(--black);width:24px;height:1.5px;transition:all .3s;display:block}.burger.open span:first-child{transform:rotate(45deg)translate(4px,4px)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (width<=900px){.nav{padding:12px 24px}.burger{display:flex}.nav-links{background:var(--white);flex-direction:column;gap:28px;width:300px;height:100vh;padding:100px 48px 48px;transition:transform .35s;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000000f}.nav-links.open{transform:translate(0)}}.hero{text-align:center;background:url(/primary-image.jpeg) center/cover no-repeat var(--off-white);justify-content:center;align-items:center;width:100%;min-height:100vh;padding:140px 40px 100px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";pointer-events:none;background:#00000080;position:absolute;inset:0}.hero .hero-content .hero-label,.hero .hero-content h1,.hero .hero-content .hero-desc,.hero .hero-scroll{color:var(--white)}.hero .btn-primary{background:var(--white);color:var(--text)}.hero .btn-primary:hover{opacity:.9}.hero .btn-outline{color:var(--white);border-color:var(--white)}.hero .btn-outline:hover{background:var(--white);color:var(--text)}.hero-content{z-index:2;animation:1.2s ease-out heroFade;position:relative}@keyframes heroFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-label{letter-spacing:5px;text-transform:uppercase;color:var(--mid-grey);margin-bottom:28px;font-size:.7rem;font-weight:500}.hero h1{font-family:var(--font-display);color:var(--black);letter-spacing:-1px;margin-bottom:24px;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:500;line-height:1.05}.hero h1 em{font-style:normal;font-weight:300}.hero-title{flex-direction:column;align-items:center;gap:8px;display:flex}.hero-title-row{align-items:center;gap:clamp(8px,1.5vw,20px);display:inline-flex}.hero-title-logo{width:auto;height:clamp(3.2rem,8vw,6.4rem);display:block}.hero-title-sub{font-family:var(--font-body);letter-spacing:.4em;text-transform:uppercase;color:var(--white);text-indent:.4em;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;padding:.35em 0 .3em;font-size:clamp(1.4rem,3.2vw,2.6rem);font-weight:400}.hero-desc{text-align:center;margin:0 auto 40px}.hero-desc-main{font-family:var(--font-body);letter-spacing:4px;text-transform:uppercase;color:#ffffffe6;margin-bottom:8px;font-size:.85rem;font-weight:500}.hero-desc-sub{font-family:var(--font-body);letter-spacing:3px;text-transform:uppercase;color:#ffffffa6;font-size:.72rem;font-weight:300}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.btn-primary{background:var(--green);color:var(--white);border-radius:var(--radius);font-size:.72rem;font-family:var(--font-body);letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;border:none;padding:14px 36px;font-weight:500;text-decoration:none;transition:opacity .3s}.btn-primary:hover{opacity:.8}.btn-outline{color:var(--text);border-radius:var(--radius);font-size:.72rem;font-family:var(--font-body);letter-spacing:2.5px;text-transform:uppercase;border:1px solid var(--light-grey);cursor:pointer;background:0 0;padding:14px 36px;font-weight:500;text-decoration:none;transition:all .3s}.btn-outline:hover{border-color:var(--black)}.hero-scroll{letter-spacing:4px;text-transform:uppercase;color:var(--mid-grey);flex-direction:column;align-items:center;gap:10px;font-size:.6rem;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.hero-scroll-line{background:linear-gradient(180deg, var(--mid-grey), transparent);width:1px;height:40px;animation:2s ease-in-out infinite scrollPulse}@keyframes scrollPulse{0%,to{opacity:.4;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}.about{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:0 auto;padding:120px 60px;display:grid}.about-img-wrap{aspect-ratio:4/5;background:var(--cream);position:relative;overflow:hidden}.about-img-wrap:after{content:"";border:1px solid var(--light-grey);pointer-events:none;position:absolute;inset:0}.about-img-inner{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.about-label{letter-spacing:4px;text-transform:uppercase;color:var(--mid-grey);margin-bottom:16px;font-size:.65rem;font-weight:500}.about h2{font-family:var(--font-display);color:var(--black);border-top:1px solid var(--mid-grey);border-bottom:1px solid var(--mid-grey);margin-bottom:28px;padding:.25em .6em .2em;font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1.2;display:inline-block}.about p{color:var(--text-light);margin-bottom:16px;font-size:.92rem;font-weight:300;line-height:1.85}.about-link{letter-spacing:2px;text-transform:uppercase;color:var(--green-dark);border-bottom:1px solid var(--green-dark);margin-top:12px;padding-bottom:4px;font-size:.72rem;font-weight:500;text-decoration:none;transition:opacity .3s;display:inline-block}.about-link:hover{opacity:.6}@media (width<=900px){.about{grid-template-columns:1fr;gap:48px;padding:80px 24px}}.parallax{background:url(/interior_1.jpeg) center/cover no-repeat fixed var(--off-white);padding:140px 40px;position:relative;overflow:hidden}.parallax:before{content:"";pointer-events:none;background:#0000008c;position:absolute;inset:0}.parallax-inner{z-index:2;text-align:center;max-width:820px;margin:0 auto;position:relative}.parallax-title{font-family:var(--font-display);color:var(--white);letter-spacing:-.5px;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;margin-bottom:32px;padding:.25em .6em .2em;font-size:clamp(2rem,4vw,3rem);font-weight:500;display:inline-block}.parallax-text{font-family:var(--font-body);color:var(--white);letter-spacing:.3px;font-size:clamp(1.15rem,2vw,1.6rem);font-weight:300;line-height:1.7}@media (width<=900px){.parallax{background-attachment:scroll;padding:100px 24px}}.stats{border-top:1px solid var(--light-grey);border-bottom:1px solid var(--light-grey);grid-template-columns:repeat(3,1fr);max-width:1200px;margin:0 auto;display:grid}.stat{text-align:center;border-right:1px solid var(--light-grey);padding:56px 32px}.stat:last-child{border-right:none}.stat-num{font-family:var(--font-display);color:var(--black);font-size:3rem;font-weight:400}.stat-label{letter-spacing:3px;text-transform:uppercase;color:var(--mid-grey);margin-top:8px;font-size:.65rem;font-weight:500}@media (width<=700px){.stats{grid-template-columns:1fr}.stat{border-right:none;border-bottom:1px solid var(--light-grey)}.stat:last-child{border-bottom:none}}.services{max-width:1200px;margin:0 auto;padding:120px 60px}.section-header{text-align:center;margin-bottom:72px}.section-header h2{font-family:var(--font-display);color:var(--black);border-top:1px solid var(--mid-grey);border-bottom:1px solid var(--mid-grey);margin-bottom:16px;padding:.25em .6em .2em;font-size:clamp(1.8rem,3.5vw,2.8rem);font-weight:500;display:inline-block}.section-header p{color:var(--text-light);max-width:480px;margin:0 auto;font-size:.92rem;font-weight:300;line-height:1.7}.reviews-overall{flex-direction:column;align-items:center;gap:4px;margin-top:28px;display:flex}.reviews-overall-stars{letter-spacing:5px;color:var(--green);margin:8px 0 2px;font-size:1.3rem}.reviews-overall-label{letter-spacing:3px;text-transform:uppercase;color:var(--mid-grey);margin-top:4px;font-size:.65rem;font-weight:500}.services-grid{background:var(--light-grey);border:1px solid var(--light-grey);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.service-card{background:var(--white);cursor:default;padding:48px 36px;transition:background .35s}.service-card:hover{background:var(--off-white)}.service-card h3{font-family:var(--font-display);color:var(--black);margin-bottom:6px;font-size:1.25rem;font-weight:500}.service-price{letter-spacing:2px;text-transform:uppercase;color:var(--mid-grey);margin-bottom:18px;font-size:.7rem;font-weight:500}.service-card p{color:var(--text-light);font-size:.88rem;font-weight:300;line-height:1.75}@media (width<=900px){.services{padding:80px 24px}.services-grid{grid-template-columns:1fr}}.extras{background:var(--off-white);padding:80px 60px}.extras-inner{max-width:900px;margin:0 auto}.extras-list{grid-template-columns:1fr 1fr;gap:0;margin-top:48px;display:grid}.extra-item{border-bottom:1px solid var(--light-grey);justify-content:space-between;align-items:baseline;margin:0 24px;padding:18px 0;display:flex}.extra-name{color:var(--text);font-size:.88rem;font-weight:400}.extra-price{color:var(--mid-grey);white-space:nowrap;margin-left:16px;font-size:.8rem;font-weight:500}@media (width<=700px){.extras{padding:60px 24px}.extras-list{grid-template-columns:1fr}.extra-item{margin:0}}.reviews-bg{background:var(--off-white)}.reviews{max-width:1200px;margin:0 auto;padding:120px 60px}.reviews-grid{background:var(--light-grey);border:1px solid var(--light-grey);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:72px;display:grid}.review-card{background:var(--white);flex-direction:column;padding:48px 36px;display:flex}.review-stars{letter-spacing:3px;color:var(--green);margin-bottom:20px;font-size:.75rem}.review-body{height:9.5rem;margin-bottom:12px;transition:height .35s;position:relative;overflow:hidden}.review-card--expanded .review-body{height:auto}.review-fade{background:linear-gradient(to bottom, transparent, var(--white));pointer-events:none;height:3rem;position:absolute;bottom:0;left:0;right:0}.review-card blockquote{font-family:var(--font-body);color:var(--text);margin:0;font-size:.95rem;font-style:italic;font-weight:300;line-height:1.7}.review-read-more{letter-spacing:2px;text-transform:uppercase;color:var(--green);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-bottom:20px;padding:0;font-size:.7rem;font-weight:600}.review-read-more:hover{opacity:.7}.review-author{letter-spacing:3px;text-transform:uppercase;color:var(--mid-grey);margin-top:auto;font-size:.65rem;font-weight:500}@media (width<=900px){.reviews{padding:80px 24px}.reviews-grid{grid-template-columns:1fr}}.reviews-carousel{margin-top:72px}.reviews-carousel-viewport{overflow:hidden}.reviews-carousel-track{transition:transform .5s;display:flex}.reviews-carousel-slide{background:var(--light-grey);border:1px solid var(--light-grey);border-radius:20px;flex:0 0 100%;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.theme-classic .reviews-carousel-slide,.theme-classic .reviews-carousel-arrow,.theme-classic .reviews-carousel-dot{border-radius:0}.reviews-carousel-controls{justify-content:center;align-items:center;gap:20px;margin-top:32px;display:flex}.reviews-carousel-arrow{border:1px solid var(--light-grey);background:var(--white);width:40px;height:40px;color:var(--black);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding-bottom:3px;font-size:1.4rem;line-height:1;transition:all .3s;display:flex}.reviews-carousel-arrow:hover{border-color:var(--black);background:var(--black);color:var(--white)}.reviews-carousel-dots{gap:10px;display:flex}.reviews-carousel-dot{background:var(--light-grey);cursor:pointer;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .3s,transform .3s}.reviews-carousel-dot.active{background:var(--green);transform:scale(1.3)}@media (width<=900px){.reviews-carousel-slide{grid-template-columns:1fr}}.cta-section{background:var(--green);text-align:center;padding:120px 60px}.cta-section .about-label{color:var(--mid-grey)}.cta-section h2{font-family:var(--font-display);color:var(--white);border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;margin-bottom:16px;padding:.25em .6em .2em;font-size:clamp(1.8rem,4vw,3rem);font-weight:500;display:inline-block}.cta-section p{color:#fffc;margin-bottom:24px;font-size:.92rem;font-weight:300}.contact-details{flex-wrap:wrap;justify-content:center;gap:8px 28px;margin-bottom:36px;display:flex}.contact-details a{color:var(--white);opacity:.9;font-size:.92rem;font-weight:400;text-decoration:none;transition:opacity .2s}.contact-details a:hover{opacity:1;text-decoration:underline}.btn-white{background:var(--white);color:var(--black);border-radius:var(--radius);font-size:.72rem;font-family:var(--font-body);letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;border:none;padding:14px 36px;font-weight:500;text-decoration:none;transition:opacity .3s}.btn-white:hover{opacity:.85}.contact-form{text-align:left;flex-direction:column;gap:12px;max-width:560px;margin:0 auto;display:flex}.contact-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.contact-form input,.contact-form textarea{border-radius:var(--radius);width:100%;color:var(--white);font-family:var(--font-body);box-sizing:border-box;background:#ffffff14;border:1px solid #ffffff40;outline:none;padding:12px 16px;font-size:.88rem;transition:border-color .2s}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff73}.contact-form input:focus,.contact-form textarea:focus{border-color:#fff9}.contact-form textarea{resize:vertical}.contact-form .btn-white{align-self:flex-start}.contact-form .btn-white:disabled{opacity:.6;cursor:not-allowed}.contact-success{color:var(--white);opacity:.85;font-size:1rem}.contact-error{color:#ffb3b3;margin:0;font-size:.82rem}@media (width<=500px){.contact-row{grid-template-columns:1fr}}.footer{border-top:1px solid var(--light-grey);max-width:1200px;margin:0 auto;padding:64px 60px 32px}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:48px;margin-bottom:56px;display:flex}.footer-brand{font-family:var(--font-display);color:var(--black);margin-bottom:12px;font-size:1.15rem;font-weight:600}.footer-desc{color:var(--text-light);max-width:260px;font-size:.85rem;font-weight:300;line-height:1.65}.footer-col-heading{letter-spacing:3px;text-transform:uppercase;color:#666360;margin-bottom:18px;font-size:.65rem;font-weight:500}.footer-col a{color:var(--green-dark);margin-bottom:10px;font-size:.85rem;font-weight:300;text-decoration:none;transition:color .3s;display:block}.footer-col a:hover{color:var(--black)}.footer-col p{color:var(--text-light);font-size:.85rem;font-weight:300;line-height:1.65}.footer-bottom{border-top:1px solid var(--light-grey);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;display:flex}.footer-bottom p{color:var(--mid-grey);font-size:.72rem;font-weight:300}@media (width<=700px){.footer{padding:48px 24px 24px}.cta-section{padding:80px 24px}}.theme-classic .hero h1 em{font-style:italic;font-weight:400}.theme-classic .review-card blockquote{font-family:var(--font-display);font-size:1.05rem;font-weight:400}.sp-hero{text-align:center;background:url(/primary-image.jpeg) center 40%/cover no-repeat var(--off-white);justify-content:center;align-items:center;width:100%;min-height:50vh;padding:140px 40px 80px;display:flex;position:relative;overflow:hidden}.sp-hero:before{content:"";pointer-events:none;background:#00000085;position:absolute;inset:0}.sp-hero-content{z-index:2;animation:1.2s ease-out heroFade;position:relative}.sp-hero-eyebrow{letter-spacing:5px;text-transform:uppercase;color:#fff9;font-size:.7rem;font-weight:500;font-family:var(--font-body);margin-bottom:20px}.sp-hero h1{font-family:var(--font-display);color:var(--white);letter-spacing:-.5px;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;padding:.25em .8em .2em;font-size:clamp(2.4rem,5vw,4rem);font-weight:500;display:inline-block}.sp-section{padding:100px 60px}.sp-section--shade{background:var(--off-white)}.sp-service{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1200px;margin:0 auto;display:grid}.sp-service--alt .sp-service-img{order:2}.sp-service--alt .sp-service-content{order:1}.sp-service-img{aspect-ratio:4/5;background:var(--cream);position:relative;overflow:hidden}.sp-section--shade .sp-service-img{background:var(--light-grey)}.sp-service-img:after{content:"";border:1px solid var(--light-grey);pointer-events:none;position:absolute;inset:0}.sp-service-img-inner{width:100%;height:100%;font-family:var(--font-display);letter-spacing:4px;text-transform:uppercase;color:var(--mid-grey);justify-content:center;align-items:center;font-size:.65rem;font-weight:500;display:flex}.sp-service-img img{object-fit:cover;width:100%;height:100%;display:block}.sp-service-label{letter-spacing:4px;text-transform:uppercase;color:var(--mid-grey);margin-bottom:14px;font-size:.65rem;font-weight:500}.sp-service-content h2{font-family:var(--font-display);color:var(--black);border-top:1px solid var(--mid-grey);border-bottom:1px solid var(--mid-grey);margin-bottom:0;padding:.25em .6em .2em;font-size:clamp(1.6rem,2.5vw,2.2rem);font-weight:500;line-height:1.2;display:inline-block}.sp-service-price{color:var(--green);letter-spacing:1px;margin:14px 0 20px;font-size:.88rem;font-weight:600;display:block}.sp-service-desc{color:var(--text-light);margin-bottom:24px;font-size:.92rem;font-weight:300;line-height:1.85}.sp-includes{grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:24px;list-style:none;display:grid}.sp-includes li{color:var(--text);padding-left:16px;font-size:.85rem;font-weight:400;line-height:1.5;position:relative}.sp-includes li:before{content:"—";color:var(--green);font-size:.7rem;position:absolute;top:2px;left:0}.sp-note{color:var(--mid-grey);border-left:2px solid var(--green);margin-bottom:28px;padding-left:12px;font-size:.8rem;font-style:italic;line-height:1.65}.sp-features{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.sp-feature{background:var(--white);border-left:3px solid var(--green);padding:14px 18px}.sp-section--shade .sp-feature{background:var(--cream)}.sp-feature-title{font-family:var(--font-display);color:var(--black);letter-spacing:.3px;margin-bottom:3px;font-size:.88rem;font-weight:500}.sp-feature-desc{color:var(--text-light);font-size:.82rem;font-weight:300;line-height:1.6}.sp-includes--full{grid-template-columns:1fr}.sp-service-sub-label{letter-spacing:3px;text-transform:uppercase;color:var(--black);margin:24px 0 10px;font-size:.7rem;font-weight:600}.sp-service-sub-label:first-of-type{margin-top:0}.sp-extras{padding:100px 60px}.sp-extras-inner{max-width:1200px;margin:0 auto}.sp-extras-grid{background:var(--light-grey);border:1px solid var(--light-grey);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:60px;display:grid}.sp-extra-card{background:var(--white);padding:32px 28px;transition:background .3s}.sp-extra-card:hover{background:var(--off-white)}.sp-extra-card h3{font-family:var(--font-display);color:var(--black);margin-bottom:6px;font-size:1rem;font-weight:500}.sp-extra-price{color:var(--green);letter-spacing:.5px;font-size:.8rem;font-weight:600}.sp-extra-desc{color:var(--text-light);margin-top:10px;font-size:.82rem;font-weight:300;line-height:1.65}.sp-extras-note{color:var(--mid-grey);text-align:center;margin-top:24px;font-size:.78rem;font-style:italic}@media (width<=900px){.sp-section{padding:60px 24px}.sp-service{grid-template-columns:1fr;gap:40px}.sp-service--alt .sp-service-img,.sp-service--alt .sp-service-content{order:0}.sp-includes{grid-template-columns:1fr}.sp-extras{padding:60px 24px}.sp-extras-grid{grid-template-columns:1fr}}.gallery-hero{text-align:center;background:url(/primary-image.jpeg) center 60%/cover no-repeat var(--off-white);justify-content:center;align-items:center;width:100%;min-height:50vh;padding:140px 40px 80px;display:flex;position:relative;overflow:hidden}.gallery-hero:before{content:"";pointer-events:none;background:#00000085;position:absolute;inset:0}.gallery-hero-content{z-index:2;animation:1.2s ease-out heroFade;position:relative}.gallery-hero-eyebrow{letter-spacing:5px;text-transform:uppercase;color:#fff9;font-size:.7rem;font-weight:500;font-family:var(--font-body);margin-bottom:20px}.gallery-hero h1{font-family:var(--font-display);color:var(--white);letter-spacing:-.5px;border-top:1px solid #ffffff80;border-bottom:1px solid #ffffff80;padding:.25em .8em .2em;font-size:clamp(2.4rem,5vw,4rem);font-weight:500;display:inline-block}.gallery-section{max-width:1400px;margin:0 auto;padding:72px 48px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.gallery-item{aspect-ratio:1;cursor:pointer;background:var(--off-white);border:none;padding:0;display:block;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block}.gallery-item:after{content:"";pointer-events:none;background:0 0;transition:background .35s;position:absolute;inset:0}.gallery-item:hover img{transform:scale(1.05)}.gallery-item:hover:after{background:#00000026}.lightbox{z-index:500;background:#000000f0;justify-content:center;align-items:center;animation:.2s lbFade;display:flex;position:fixed;inset:0}@keyframes lbFade{0%{opacity:0}to{opacity:1}}.lightbox-img-wrap{justify-content:center;align-items:center;max-width:90vw;max-height:88vh;display:flex;position:relative}.lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;max-width:90vw;max-height:88vh;display:block}.lightbox-close{color:#ffffffb3;cursor:pointer;z-index:501;background:0 0;border:none;padding:4px 8px;font-size:2rem;line-height:1;transition:color .2s;position:fixed;top:24px;right:28px}.lightbox-close:hover{color:var(--white)}.lightbox-arrow{color:#ffffffb3;cursor:pointer;z-index:501;background:0 0;border:1px solid #fff3;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.6rem;line-height:1;transition:all .2s;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-arrow:hover{border-color:var(--white);color:var(--white);background:#ffffff14}.lightbox-arrow--prev{left:20px}.lightbox-arrow--next{right:20px}.lightbox-count{letter-spacing:3px;color:#fff6;font-size:.65rem;font-family:var(--font-body);text-transform:uppercase;font-weight:500;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=900px){.gallery-section{padding:48px 24px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.lightbox-arrow--prev{left:8px}.lightbox-arrow--next{right:8px}}@media (width<=500px){.gallery-section{padding:32px 16px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:3px}}.cp-section{background:var(--white);padding:100px 60px}.cp-inner{grid-template-columns:1fr 1fr;gap:40px;max-width:960px;margin:0 auto;display:grid}.cp-card{background:var(--off-white);border-top:3px solid var(--green);padding:40px 44px}.cp-card-label{letter-spacing:4px;text-transform:uppercase;color:var(--mid-grey);margin-bottom:24px;font-size:.65rem;font-weight:500}.cp-card h2{font-family:var(--font-display);color:var(--black);margin-bottom:24px;font-size:1.4rem;font-weight:500}.cp-detail{flex-direction:column;gap:14px;margin-bottom:32px;display:flex}.cp-detail-row{flex-direction:column;gap:3px;display:flex}.cp-detail-row span{letter-spacing:2px;text-transform:uppercase;color:var(--mid-grey);font-size:.72rem;font-weight:500}.cp-detail-row a,.cp-detail-row p{color:var(--black);margin:0;font-size:.95rem;font-weight:400;text-decoration:none;transition:color .2s}.cp-detail-row a:hover{color:var(--green)}.cp-social{gap:12px;display:flex}.cp-social a{letter-spacing:2px;text-transform:uppercase;color:var(--black);border:1px solid var(--light-grey);background:var(--white);padding:8px 16px;font-size:.72rem;font-weight:500;text-decoration:none;transition:all .2s}.cp-social a:hover{border-color:var(--green);color:var(--green)}.cp-hours{flex-direction:column;gap:0;display:flex}.cp-hours-row{border-bottom:1px solid var(--light-grey);justify-content:space-between;align-items:center;padding:12px 0;font-size:.9rem;display:flex}.cp-hours-row:last-child{border-bottom:none}.cp-hours-row .day{color:var(--text);font-weight:400}.cp-hours-row .time{color:var(--text-light);font-weight:300}.cp-hours-row .closed{color:var(--mid-grey);font-style:italic;font-weight:300}@media (width<=700px){.cp-section{padding:60px 24px}.cp-inner{grid-template-columns:1fr}.cp-card{padding:32px 28px}}
