@font-face{font-family:Overpass;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Overpass-400.woff2)format("woff2")}@font-face{font-family:Sacramento;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/Sacramento-400.woff2)format("woff2")}:root{color-scheme:light;--ink:light-dark(#212121,#ececec);--ink-soft:light-dark(#212121bf,#ecececc7);--green:#44805f;--green-dark:#3a6e52;--accent:light-dark(var(--green),#7fbf9c);--accent-soft:light-dark(#44805f1a,#7fbf9c24);--link:light-dark(#3a6e52,#7fbf9c);--paper:light-dark(#f9f9f9,#1e1e1e);--white:light-dark(#fff,#161616);--night:#212121;--success:light-dark(#2f6a4d,#7fbf9c);--error:light-dark(#a12622,#ff8a80);--glass:light-dark(#fffffff0,#222222f0);--rule:light-dark(#2121211f,#ffffff24);--field-line:light-dark(#21212199,#ececec99);--script:"Sacramento", cursive;--header-h:5rem}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-padding-top:var(--header-h);scroll-padding-bottom:4.5rem}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{color:var(--ink);background:var(--white);margin:0;font-family:Overpass,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:normal}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4,p,ul{margin:0}::selection{background:var(--green);color:#fff}input,textarea,button{accent-color:var(--green)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.hero :focus-visible,.about :focus-visible{outline-color:#fff}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.wrap{width:min(956px,100%);margin:0 auto;padding:0 15px}.skip-link{z-index:30;color:#fff;background:#000c;padding:.75rem 1rem;text-decoration:none;position:absolute;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.section{padding:56px 0 72px}.section-title{font-family:var(--script);color:var(--accent);font-size:2rem;font-weight:400;line-height:normal}.site-header{z-index:20;min-height:var(--header-h);pointer-events:none;justify-content:flex-end;align-items:center;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}.site-nav{pointer-events:auto;padding:8px 15px 8px 0}.nav-button{display:none}.nav-list{background:var(--glass);min-height:3rem;color:var(--ink);border-radius:3rem;padding:0 1rem;list-style:none;display:flex;box-shadow:0 4px 16px #0000001f}.nav-list a{color:inherit;padding:.75rem;line-height:1.5rem;text-decoration:none;display:block;position:relative}.nav-list a:hover:before,.nav-list a:focus-visible:before,.nav-list a[aria-current]:before{content:"";border-top:2px solid var(--accent);border-radius:2px;height:0;position:absolute;top:2.625rem;left:.75rem;right:.75rem}.nav-list a:focus-visible{outline-offset:-3px;border-radius:1.5rem}.hero{background:var(--night);color:#fff;text-align:center;justify-content:center;align-items:center;min-height:clamp(560px,100svh,1092px);padding:140px 15px 80px;display:flex;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero:after{content:"";background:radial-gradient(75% 50% at 50% 52%,#0000009e,#0000 78%),linear-gradient(#00000052,#00000061);position:absolute;inset:0}.hero-text{z-index:1;text-shadow:0 2px 14px #00000073;position:relative}.hero h1{font-family:var(--script);font-size:3rem;font-weight:400;line-height:normal}.hero hr{background:#fff;border:0;width:139px;height:1px;margin:24px auto 32px}.hero p{font-size:1.2rem;line-height:1.5rem}.hero-arrow{left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom));z-index:2;color:#fff;background:#0000005c;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;margin-left:-22px;transition:opacity .3s,visibility .3s;display:flex;position:absolute;box-shadow:0 0 0 1px #ffffffb3}.hero-arrow svg{display:block}.hero-arrow.is-faded{opacity:0;visibility:hidden;pointer-events:none}@media (prefers-reduced-motion:no-preference){.hero-arrow{animation:1.6s ease-in-out 3 hero-arrow-bob}}@keyframes hero-arrow-bob{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.about{background:var(--green);color:#fff}.about .wrap{grid-template-columns:1fr 368px;gap:30px;display:grid}.about .section-title{color:#fff;margin-bottom:16px}.about .lead{margin-bottom:11px}.about img{object-fit:cover;width:368px;height:245px}.services-list{margin:0;padding:0;list-style:none}.services-list li{padding-left:1.125rem;line-height:1.5rem;position:relative}.services-list li:before{content:"•";color:currentColor;opacity:.85;position:absolute;left:0}.gallery-section{background:var(--paper)}.gallery-section .section-title{margin-bottom:32px}.gallery{grid-template-columns:repeat(3,1fr);gap:32px 30px;display:grid}.gallery img{aspect-ratio:1;object-fit:cover;width:100%;height:auto}.contact{background:var(--white)}.contact .section-title{margin-bottom:16px}.contact .wrap>p{max-width:800px}.contact-form{grid-template-columns:1fr 1fr;column-gap:31px;margin-top:27px;display:grid}.contact-form label{margin-bottom:4px;line-height:1.5rem;display:block}.contact-form .field{margin-bottom:12px}.contact-form input[type=text],.contact-form input[type=email],.contact-form textarea{width:100%;color:var(--ink);background:var(--paper);border:0;border-top:1px solid #0000;border-bottom:1px solid var(--field-line);border-radius:0;padding:.5rem;font:1rem/1.5rem Overpass,sans-serif;display:block}.contact-form textarea{resize:vertical;height:18rem}.contact-form .message{grid-area:1/2/span 4}.contact-form .message .field{margin:0}.contact-form .req{color:var(--ink-soft);font-size:.875rem}.contact-form .notice{grid-column:1/-1;margin-top:16px;line-height:1.5rem}.contact-form .notice a{color:var(--accent)}.contact-form .actions{grid-column:1/-1;margin-top:16px}.contact-form input.hp{opacity:0;width:1px;height:1px;padding:0;position:absolute;left:-9999px}.field-error{color:var(--error);margin-top:4px;font-size:.875rem;line-height:1.25rem}.field-error[hidden]{display:none}.contact-form input[aria-invalid=true]{border-bottom:2px solid var(--error);padding-bottom:calc(.5rem - 1px)}.button{color:#fff;background:var(--green);cursor:pointer;border:2px solid #0000;border-radius:4px;min-height:3rem;padding:.375rem 1.125rem;font:500 1rem/2rem Overpass,sans-serif;display:inline-block}.button:hover{background:var(--green-dark)}.form-note{color:var(--ink-soft);margin-top:12px;font-size:.875rem}.form-status{min-height:1.5rem;margin-top:12px;line-height:1.5rem}.form-status.is-success{color:var(--success)}.form-alert{color:var(--error);margin-top:12px;line-height:1.5rem}.form-alert:empty{margin-top:0}.button:disabled{opacity:.6;cursor:wait}.location{background:var(--paper);padding-bottom:0}.location .heading{padding-bottom:40px}.location hr{background:var(--green);border:0;width:32px;height:4px;margin:0 0 16px}.location-aerial{margin:24px 0 0}.location-aerial img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}.map{background:var(--white)}.map iframe{border:0;width:100%;height:448px;display:block}.map-placeholder{text-align:center;background:var(--paper);flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:448px;padding:24px 15px;display:flex}.map-placeholder address{font-style:normal;line-height:1.5rem}.map-placeholder .map-actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.map-placeholder .map-note{max-width:520px;color:var(--ink-soft);font-size:.875rem;line-height:1.25rem}.map-placeholder .button-outline{color:var(--link);border-color:var(--link);background:0 0;text-decoration:none}.map-placeholder .button-outline:hover{background:var(--accent-soft)}.map-placeholder .button{align-items:center;display:inline-flex}.map-placeholder .button[hidden]{display:none}.notfound{background:var(--paper);align-items:center;min-height:100svh;padding:56px 0;display:flex}@supports not (min-height:100svh){.hero{min-height:clamp(560px,100vh,1092px)}.notfound{min-height:100vh}}.notfound .section-title{margin-bottom:16px;font-size:3rem}.notfound p{max-width:520px;margin-bottom:24px}.notfound .button{align-items:center;text-decoration:none;display:inline-flex}.site-footer{background:var(--white)}.footer-main{padding:24px 0 40px}.footer-top{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:16px;display:flex}.footer-nav{color:var(--ink-soft);margin-top:-12px}.footer-nav a{margin-right:28px;padding:.75rem 0;text-decoration:none;display:inline-block}.footer-logo{font-family:var(--script);text-align:center;font-size:1.25rem;line-height:1.875rem}.footer-cols{grid-template-columns:1fr 1fr;display:grid}.footer-cols h3{font-family:var(--script);margin-bottom:10px;font-size:1.25rem;font-weight:400;line-height:1.75rem}.footer-cols p,.footer-cols .services-list{color:var(--ink-soft)}.footer-cols .email{align-items:center;min-height:44px;margin-top:4px;font-size:.96875rem;line-height:1.4375rem;display:inline-flex}.subfooter{min-height:3.5rem;color:var(--ink-soft);background:#00000021;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.5rem 31px;display:flex}.subfooter-links{flex-wrap:wrap;align-items:center;gap:0 1.5rem;display:flex}.subfooter-text{flex-direction:column;gap:.25rem;display:flex}.footer-credit{margin:0;font-size:.8125rem}.privacy-link{min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:.5rem 0;display:inline-flex}.privacy-link[hidden]{display:none}@media (hover:hover){.privacy-link:hover{color:var(--ink)}}.privacy-link:focus-visible,.privacy-dialog-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.privacy-dialog{background:var(--white);width:min(560px,100% - 2rem);max-width:calc(100% - 2rem);color:var(--ink);border:0;border-radius:8px;margin:auto;padding:0}.privacy-dialog::backdrop{background:#00000073}.privacy-dialog-body{overflow-wrap:break-word;padding:24px}.privacy-dialog h3{font-family:var(--script);margin-bottom:12px;font-size:1.75rem;font-weight:400;line-height:2.25rem}.privacy-dialog p{color:var(--ink-soft);margin-bottom:12px;font-size:1rem;line-height:1.5rem}.privacy-dialog-close{min-width:44px;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:2px solid;border-radius:4px;margin:8px 0 0 auto;padding:0 1rem;display:block}.theme-switch{min-height:44px;color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;padding:.5rem 0;display:inline-flex}.theme-switch[hidden]{display:none}@media (hover:hover){.theme-switch:hover{color:var(--ink)}}.theme-switch:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.theme-switch-track{border:2px solid;border-radius:1.5rem;flex:none;width:2.75rem;height:1.5rem;display:inline-block;position:relative}.theme-switch-knob{background:currentColor;border:2px solid #0000;border-radius:50%;width:1rem;height:1rem;position:absolute;top:2px;left:2px}.theme-switch[aria-pressed=true] .theme-switch-knob{transform:translate(1.25rem)}@media (prefers-reduced-motion:no-preference){.theme-switch-knob{transition:transform .2s}}@media (forced-colors:active){.theme-switch-knob{background:0 0;border-color:canvastext}}@media (width<=767px){.site-header{padding:0 15px}.site-nav{padding:0;position:relative}.nav-button{background:var(--glass);width:3rem;height:3rem;color:var(--ink);cursor:pointer;border:2px solid #0000;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 4px 16px #0000001f}.nav-button svg{width:24px;height:24px}.nav-list{background:var(--glass);border-radius:16px;flex-direction:column;width:12.5rem;min-height:0;padding:8px 0;display:none;position:absolute;top:3.5rem;right:0}.nav-button[aria-expanded=true]~.nav-list{display:flex}.nav-list a{padding:.75rem 1.5rem}.nav-list a:hover:before,.nav-list a:focus-visible:before,.nav-list a[aria-current]:before{width:1.5rem;top:2.25rem;left:1.5rem;right:auto}.hero{min-height:640px;padding-top:120px}.hero:after{background:radial-gradient(120% 46% at 50% 54%,#000000b8,#0000 82%),linear-gradient(#00000057,#0006)}.about .wrap{grid-template-columns:1fr;gap:24px}.about img{width:100%;height:240px}.about .lead{margin-bottom:8px}.gallery{grid-template-columns:repeat(2,1fr)}.contact-form{grid-template-columns:1fr}.contact-form .message{grid-area:auto/1}.contact-form .message .field{margin-bottom:12px}.contact-form textarea{height:6rem}.location .heading{padding-bottom:32px}.location-aerial{margin-top:18px}.footer-top{gap:12px;padding-bottom:24px}.footer-nav{text-align:center;flex:1;margin-top:-6px}.footer-nav a{margin:0 14px}.footer-logo{width:8.1875rem}.footer-cols{grid-template-columns:1fr;gap:14px}.subfooter{padding-left:15px;padding-right:15px}}
