:root{font-family:Arial,Helvetica,sans-serif;color:#15362f;background:#f5f4ed;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ground:#f5f4ed;--ink:#15362f;--dark:#102b26;--gold:#c9b477;--white:#fffefa;--serif:Georgia,"Times New Roman",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}img{display:block;max-width:100%}p{font-size:18px;line-height:1.6;margin:0 0 24px}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.035em}h2{font-size:clamp(38px,4.3vw,60px);line-height:1.06}h3{font-size:29px;line-height:1.15}section[id]{scroll-margin-top:120px}.container{width:min(88%,1280px);margin-inline:auto}.section{padding-block:120px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;min-height:56px;padding:15px 25px;color:var(--dark);background:var(--gold);font-size:17px;font-weight:500;transition:background .2s,transform .2s}.button:hover{background:#dfcc96;transform:translateY(-2px)}:focus-visible{outline:3px solid #a58a3c;outline-offset:5px}.skip-link{position:fixed;z-index:20;left:20px;top:12px;transform:translateY(-200%);padding:14px 20px;background:var(--white);color:var(--dark)}.skip-link:focus{transform:translateY(0)}.header{position:fixed;z-index:10;left:4.8%;right:4.8%;top:30px;display:flex;align-items:center;justify-content:space-between;color:var(--white);padding:0 16px;transition:background .25s,padding .25s,top .25s,left .25s,right .25s}.brand{display:flex;align-items:center;gap:13px;flex-shrink:0}.brand img{width:52px;height:52px;border-radius:50%}.brand span{font-family:var(--serif);font-size:27px;line-height:1.05;letter-spacing:-.02em}.brand small{display:block;font-family:Arial,Helvetica,sans-serif;letter-spacing:.01em;font-size:13px;margin-top:6px}.header nav{display:flex;align-items:center;gap:35px}.header nav>a:not(.button){min-height:48px;display:flex;align-items:center;font-size:17px}.header nav>a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}.nav-cta{min-height:50px;padding:13px 22px}.header.floating{left:16px;right:16px;top:16px;padding:12px 4.5%;background:var(--dark);box-shadow:0 6px 28px #0002}.header.floating .brand img{width:46px;height:46px}.menu-toggle{display:none}.hero{position:relative;height:100svh;min-height:640px;color:var(--white);isolation:isolate;overflow:hidden}.hero-image,.hero-scrim{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:50% 48%;z-index:-2;animation:photo-settle 1.6s ease-out both}.hero-scrim{background:linear-gradient(90deg,#04150fc9,#04150f72 48%,#04150f14);z-index:-1}.hero-content{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:90px;padding-bottom:55px}.hero h1{font-size:clamp(60px,7vw,100px);line-height:.98;max-width:850px;animation:enter .8s .1s both}.hero-content p{font-size:20px;line-height:1.5;margin:30px 0;animation:enter .8s .2s both}.hero .button{animation:enter .8s .3s both}.hero-bottom{position:absolute;bottom:30px;left:0;right:0;display:flex;align-items:center;justify-content:space-between}.hero-bottom a{display:grid;place-items:center;width:48px;height:48px}.hero-bottom p{font-size:15px;margin:0}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:60px;margin-bottom:55px}.section-heading p{max-width:340px;margin:0}.mobile-break{display:none}.services-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service{text-align:center;min-width:0}.service-visual>img{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.service-icon{margin:27px auto 18px;color:#8d7435}.service h3{margin-bottom:16px}.service p{max-width:330px;margin:0 auto 12px;font-size:17px;min-height:82px}.text-link{display:inline-flex;align-items:center;gap:16px;min-height:48px;color:#796021;font-size:17px}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translate(4px)}.carousel-controls{display:none}.about{background:var(--ink);color:var(--white)}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.about-picture{width:92%;padding-bottom:30px}.about-picture img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.about-copy h2{margin:0 0 36px}.about-copy p{max-width:480px;font-size:18px}.about-copy p:first-of-type{font-size:21px}.text-link.light{color:var(--gold)}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:0 28px;align-items:start}.gallery-item{margin:0}.gallery-item-0{grid-column:1/8;grid-row:1/3}.gallery-item-1{grid-column:9/13;margin-top:80px}.gallery-item-2{grid-column:9/12;margin-top:45px}.photo-button{position:relative;display:block;border:0;padding:0;width:100%;background:var(--ink);overflow:hidden}.photo-button>img{width:100%;height:auto;object-fit:cover;transition:transform .5s}.gallery-item-0 img{aspect-ratio:4/5;object-position:50% 48%}.gallery-item-1 img{aspect-ratio:1}.gallery-item-2 img{aspect-ratio:1.2;object-position:50% 42%}.photo-button:hover img{transform:scale(1.025)}.photo-expand{position:absolute;right:12px;bottom:12px;background:var(--ground);color:var(--ink);display:grid;place-items:center;width:44px;height:44px}.gallery figcaption{font-size:16px;margin-top:16px}.photo-dialog{padding:0;border:0;width:min(100% - 32px,1050px);max-height:94svh;background:var(--dark);color:var(--white)}.photo-dialog::backdrop{background:#00140de8}.dialog-content{padding:22px;position:relative}.dialog-content>img{width:100%;height:75svh;object-fit:contain}.dialog-close{position:absolute;right:25px;top:25px;z-index:1}.photo-dialog button,.carousel-controls button{display:inline-grid;place-items:center;width:48px;height:48px;border:0;background:var(--gold);color:var(--dark)}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.dialog-bottom p{margin:0;text-align:center;font-size:16px}.contact{background:#e7e9df}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact h2{margin-bottom:30px}.contact-intro{max-width:430px;font-size:20px}.phone-number{display:block;font-family:var(--serif);font-size:clamp(30px,3vw,42px);margin:35px 0 20px;letter-spacing:-.04em}.phone-number:hover{text-decoration:underline;text-underline-offset:7px}.contact-options label{display:block;font-size:20px;margin:5px 0 18px}.contact-options select{width:100%;border:1px solid #6d8076;border-radius:0;background:var(--ground);color:var(--ink);padding:15px 42px 15px 16px;font-size:18px;min-height:56px}.topic-details{min-height:88px;font-size:17px;margin:22px 0}.contact-actions{display:flex;gap:14px}.contact-actions .button{flex:1;gap:12px}.button.secondary{background:var(--ink);color:var(--white)}.button.secondary:hover{background:#28564a}.facebook-link{display:flex;align-items:center;gap:12px;font-size:17px;min-height:52px;width:fit-content;margin-top:20px}.facebook-link:hover{text-decoration:underline;text-underline-offset:5px}.small{font-size:15px;line-height:1.55;max-width:380px;margin:10px 0 0}.footer{background:var(--dark);color:var(--white);padding:65px 0 45px}.footer-name{font-family:var(--serif);font-size:clamp(62px,12vw,165px);line-height:1.1;letter-spacing:-.055em;display:block}.footer-bottom{display:flex;gap:35px;align-items:center;justify-content:space-between;margin-top:55px}.footer-bottom p{font-size:14px;margin:0;flex:1}.footer-bottom>a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-size:15px}.footer-bottom a:hover{color:var(--gold)}[data-reveal].revealed{animation:enter .65s var(--delay,0ms) both}@keyframes enter{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-settle{0%{transform:scale(1.035)}to{transform:scale(1)}}@media(min-width:1600px){.hero-content{padding-top:110px}.hero h1{font-size:110px}}@media(max-width:1000px){.header nav{gap:20px}.brand span{font-size:24px}.section-heading{gap:35px}.section-heading p{max-width:290px}.services-rail{gap:20px}.service h3{font-size:25px}.about-grid{gap:6%}.contact-grid{gap:7%}.contact-actions .button{padding-inline:18px}.section{padding-block:95px}}@media(max-width:700px){.container{width:calc(100% - 44px)}.section{padding-block:76px}h2{font-size:40px}h3{font-size:28px}.header{left:18px;right:18px;top:22px;padding:0}.brand img{width:44px;height:44px}.brand{gap:10px}.brand span{font-size:24px}.brand small{font-size:11px;margin-top:5px}.header.floating{left:10px;right:10px;top:10px;padding:11px 14px}.header.floating .brand img{width:40px;height:40px}.menu-toggle{display:grid;place-items:center;width:46px;height:46px;background:transparent;border:0;color:var(--white);padding:0}.header nav{display:none}.header nav.open{display:flex;position:absolute;top:calc(100% + 12px);left:0;right:0;flex-direction:column;align-items:stretch;background:var(--dark);padding:20px;gap:7px;box-shadow:0 10px 25px #0003}.header nav.open>a{padding:8px 14px}.header nav .nav-cta{margin-top:5px}.header.menu-open:not(.floating){background:var(--dark);padding:10px;left:10px;right:10px;top:12px}.hero{min-height:610px;height:100svh}.hero-image{object-position:52% 48%}.hero-scrim{background:linear-gradient(90deg,#04150fd4,#04150f6b)}.hero-content{padding-top:70px;padding-bottom:35px;justify-content:center}.hero h1{font-size:54px;line-height:1.01;letter-spacing:-.045em}.hero-content p{font-size:18px;margin:26px 0;max-width:300px}.desktop-break{display:none}.hero .button{font-size:16px;gap:22px;padding:15px 22px}.hero-bottom{bottom:21px}.hero-bottom p{font-size:12px}.hero-bottom a{width:30px;height:44px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{margin-bottom:24px}.section-heading p{max-width:345px;font-size:17px}.mobile-break{display:initial}.services-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:24px;scrollbar-width:none}.services-rail::-webkit-scrollbar{display:none}.service{flex:0 0 88%;scroll-snap-align:start}.service-visual>img{aspect-ratio:1.3}.service p{min-height:82px;padding-inline:5px}.service-icon{margin-top:23px}.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:24px}.carousel-controls>span{font-size:14px}.carousel-controls>div{display:flex;gap:10px}.carousel-controls button:disabled{background:#e0e2d8;color:#87928a}.about-grid{display:flex;flex-direction:column;gap:42px}.about-picture{width:87%;padding-bottom:0;align-self:flex-start}.about-picture img{aspect-ratio:1}.about-copy h2{margin-bottom:28px}.about-copy p,.about-copy p:first-of-type{font-size:18px}.gallery-grid{gap:0 18px}.gallery-item-0{grid-column:1/12;grid-row:auto}.gallery-item-0 img{aspect-ratio:1.1}.gallery-item-1{grid-column:4/13;margin-top:38px}.gallery-item-2{grid-column:1/9;margin-top:38px}.gallery-item-2 img{aspect-ratio:1}.gallery figcaption{font-size:15px;margin-top:12px}.dialog-content{padding:12px}.dialog-content>img{height:65svh}.dialog-close{top:16px;right:16px}.dialog-bottom{gap:8px}.dialog-bottom p{font-size:13px}.photo-dialog button{flex-shrink:0;width:44px;height:44px}.contact-grid{display:block}.contact h2{font-size:39px}.contact-intro{font-size:18px}.phone-number{font-size:36px;margin-top:28px}.contact-options{margin-top:42px}.topic-details{min-height:94px}.contact-options label{font-size:19px}.contact-actions{gap:12px}.contact-actions .button{font-size:16px}.footer{padding:46px 0 30px}.footer-name{font-size:17vw}.footer-bottom{margin-top:30px;gap:10px;flex-wrap:wrap}.footer-bottom p{flex:0 0 100%;font-size:13px;margin-bottom:12px}.footer-bottom .back-top{margin-left:auto;font-size:14px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image{transform:none}}h1,h2,h3{text-wrap:balance}.photo-dialog{overscroll-behavior:contain}.hero-bottom{bottom:max(24px,env(safe-area-inset-bottom))}.header{padding-top:env(safe-area-inset-top)}:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-photo:cubic-bezier(.33,1,.68,1)}section[id]{scroll-margin-top:0}.hero-image{animation:none;transform:translate3d(0,var(--photo-drift,0px),0) scale(1.035)}.hero h1{animation:none}.line-mask{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.line-mask>span{display:block;animation:line-rise .7s var(--ease-out) .08s backwards}.line-mask:nth-child(2)>span{animation-delay:.17s}.hero-content p{animation:enter .55s var(--ease-out) .18s backwards}.hero .button{animation:enter .55s var(--ease-out) .25s backwards}[data-reveal].revealed{animation:quiet-arrive .65s var(--ease-out) var(--delay,0ms) backwards}.service-visual{overflow:hidden}.service-visual>img{transition:transform .55s var(--ease-photo)}@media(hover:hover)and (pointer:fine){.service:hover .service-visual>img{transform:scale(1.02)}}.button{transition:background .18s,transform .18s var(--ease-out)}.button:hover{transform:translateY(-2px)}.button:active{transform:translateY(0)}.gallery-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:28px 28px}.gallery-item-0{grid-column:1;grid-row:1/3}.gallery-item-1{grid-column:2;grid-row:1;margin:0}.gallery-item-2{grid-column:2;grid-row:2;margin:0}.gallery-item-0 img{aspect-ratio:auto;height:652px;object-position:50% 48%}.gallery-item-1 img,.gallery-item-2 img{aspect-ratio:auto;height:288px}.gallery-item-2 img{object-position:50% 42%}.gallery figcaption{margin-top:12px;line-height:1.5}.photo-button>img{transition:transform .55s var(--ease-photo)}.photo-button:hover img{transform:scale(1.02)}@keyframes line-rise{0%{transform:translateY(105%)}to{transform:none}}@keyframes quiet-arrive{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:1000px)and (min-width:701px){.gallery-item-0 img{height:540px}.gallery-item-1 img,.gallery-item-2 img{height:232px}}@media(max-width:700px){.gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto;gap:32px}.gallery-item-0,.gallery-item-1,.gallery-item-2{grid-column:1;grid-row:auto;margin:0}.gallery-item-0 img{height:auto;aspect-ratio:1.1}.gallery-item-1 img,.gallery-item-2 img{height:auto;aspect-ratio:1.4}.gallery figcaption{font-size:15px}}@media(prefers-reduced-motion:reduce){.hero-image,.line-mask>span{transform:none}.photo-button:hover img,.service:hover .service-visual>img,.button:hover{transform:none}}.header nav.open,.photo-dialog[open]{animation:ui-fade .18s ease-out}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}
