*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f6f2ea;--bg2:#f1eadc;--bg3:#efe8da;--paper:#fff;--sand:#e4d9c4;--line:#ded5c4;--line2:#c9bda6;--ink:#1e1b16;--ink2:#3b352c;--dim:#6b6355;--accent:#7a3e1d;--accent-lt:#c58a5a;--dark-text:#f1eadc;--dark-dim:#c6bca9;--display:"Bricolage Grotesque", Archivo, sans-serif;--font:Archivo, Helvetica, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--gutter:clamp(16px, 5vw, 60px);--section-y:clamp(56px, 8vw, 120px);--ease:cubic-bezier(.22, 1, .36, 1)}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow-x:hidden}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}input,textarea,select,button{font:inherit;color:inherit}input::placeholder,textarea::placeholder{color:#9a8f7c}::selection{background:var(--sand)}section[id]{scroll-margin-top:72px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}body:after{content:"";pointer-events:none;z-index:100;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.btn-dark{background:var(--ink);color:var(--bg);transition:background .3s var(--ease)}.btn-dark:hover{background:var(--accent);color:var(--bg)}.btn-line{border:1px solid var(--line2);color:var(--ink);transition:border-color .3s var(--ease), background .3s var(--ease)}.btn-line:hover{border-color:var(--ink);color:var(--ink);background:#1e1b1608}.nav-link{color:var(--ink);padding:4px 0;position:relative}.nav-link:after{content:"";transform-origin:100%;height:1px;transition:transform .4s var(--ease);background:currentColor;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.nav-link:hover:after,.nav-link.active:after{transform-origin:0;transform:scaleX(1)}.nav-link:hover{color:var(--ink)}.contact-row{background:var(--bg);color:var(--ink);transition:background .25s var(--ease)}.contact-row:hover{background:var(--bg3);color:var(--ink)}.contact-row .arrow{transition:transform .3s var(--ease)}.contact-row:hover .arrow{transform:translate(4px)}.chip{border:1px solid var(--line2);color:var(--ink2);cursor:pointer;transition:all .25s var(--ease);background:0 0}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}.field{border:1px solid var(--line2);background:var(--paper);appearance:none;border-radius:0;width:100%;min-height:50px;padding:13px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #7a3e1d24}select.field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%237A3E1D' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px}.shot img{transition:transform .9s var(--ease), filter .6s var(--ease)}.shot:hover img{transform:scale(1.06)}.shot .zoom{opacity:0;transition:all .35s var(--ease);transform:translateY(6px)}.shot:hover .zoom,.shot:focus-visible .zoom{opacity:1;transform:none}.service-item{transition:color .25s, transform .35s var(--ease)}.service-item:hover{color:#fff;transform:translate(6px)}.scroller::-webkit-scrollbar{height:3px}.scroller::-webkit-scrollbar-thumb{background:var(--line2)}.chips::-webkit-scrollbar{display:none}@media (width<=760px){.desktop-nav{display:none!important}.menu-btn{display:inline-flex!important}.scroller{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:0 calc(var(--gutter) * -1);padding:0 var(--gutter) 14px;scroll-padding:0 var(--gutter);overflow-x:auto;grid-template-columns:none!important;display:flex!important}.scroller>*{scroll-snap-align:start;flex:0 0 74%}.scroller.reviews>*{flex:0 0 86%}.pad-bottom{padding-bottom:104px!important}.shot .zoom{opacity:1;transform:none}}@media (width>=761px){.menu-btn,.mobile-only{display:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}
