
@font-face{font-family:'Made Canvas Light';src:url('/assets/fonts/made_canvas_light-webfont.woff') format('woff');font-display:swap}
@font-face{font-family:'Newsreader Display Extra Light Italic';src:url('/assets/fonts/newsreaderdisplay-extralightitalic.woff') format('woff');font-display:swap}
@font-face{font-family:'Commuter Sans Regular';src:url('/assets/fonts/commuterssans-regular.woff') format('woff');font-display:swap}
@font-face{font-family:'Commuters Sans Light';src:url('/assets/fonts/commuterssans-light.woff') format('woff');font-display:swap}
@font-face{font-family:'Newsreader Display Light';src:url('/assets/fonts/newsreaderdisplay-light.woff') format('woff');font-display:swap}
@font-face{font-family:'High Summit';src:url('/assets/fonts/highsummit.woff') format('woff');font-display:swap}

*{margin:0;padding:0;box-sizing:border-box}
html{overflow-x:hidden;scroll-behavior:smooth}
body{background:#fff;font-family:'Raleway',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block}
a{color:inherit;text-decoration:none}
button{background:none;border:0;cursor:pointer;font:inherit;color:inherit}

/* canvas layout: sections keep their design aspect ratio; elements are
   absolutely positioned with plain vw units from the per-page stylesheet */
.blk{position:relative;width:100vw;overflow:visible}
.cv{position:absolute;inset:0}
.el{position:absolute}
.el .t{width:100%}
.el .shape,.el .gal{width:100%;height:100%}
.el svg{width:100%;height:100%;fill:#443f3d}
.ph{width:100%;height:100%;object-fit:cover}
.gal{position:relative;overflow:hidden}
.gal .slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.gal .slide.on{opacity:1}
.blk-under,.blk-bg{position:absolute;inset:0}
.blk-bg{background-size:cover;background-position:center}
a.el:hover,button.el:hover{opacity:.85;transition:opacity .3s}

/* carousel */
.rv-view{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease}
.rv-view.on{opacity:1;visibility:visible}

/* fixed chrome */
.chrome{position:fixed;top:0;left:0;right:0;z-index:60;pointer-events:none}
.chrome .blk{background:transparent!important}
.chrome .el{pointer-events:auto}
/* the mobile menu bar slides in only after scrolling (matches Showit) */
.chrome .b-mobile-menu-closed{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.scrolled .chrome .b-mobile-menu-closed{opacity:1;visibility:visible;
  background:#fff!important;height:13.125vw!important;box-shadow:0 1px 8px rgba(0,0,0,.06)}
.hdr{aspect-ratio:auto!important;height:0!important;overflow:visible;z-index:20;background:transparent!important}
.p-home .chrome svg,.p-home .hdr svg{transition:fill .4s}
.p-home:not(.scrolled) .b-slide-out-menu svg{fill:#fff!important}
.scrolled .b-slide-out-menu svg{fill:#443f3d!important}
.chrome .blk{aspect-ratio:auto!important;height:0;overflow:visible}
.menu-overlay{position:fixed;inset:0;z-index:50;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility .5s}
.menu-overlay.open{opacity:1;visibility:visible}
.menu-overlay .blk{min-height:100vh}
body.menu-open{overflow:hidden}

/* instagram strip */
.ig-strip{display:flex;width:100%;height:100%;overflow:hidden}
.ig-strip a{flex:0 0 auto;height:100%;aspect-ratio:1}
.ig-strip img{width:100%;height:100%;object-fit:cover}

/* visibility */
@media (min-width:768px){.v-m,.only-m{display:none!important}}
@media (max-width:767px){.v-d,.only-d{display:none!important}}

/* fade-in on scroll */
.fx{opacity:0;transform:translateY(12px);transition:opacity 1s ease,transform 1s ease}
.fx.seen{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.fx{opacity:1;transform:none;transition:none}}
