:root{--bg:#f7f5f0;--bg-elevated:#fdfcfa;--ink:#1b1917;--ink-soft:#55504a;--muted:#8d867c;--hairline:#e5e1d8;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--gutter:clamp(1.25rem, 4vw, 3.5rem);--stream-max:90rem;--text-max:42rem;--reveal-duration:.8s;--reveal-ease:cubic-bezier(.22, 1, .36, 1);--ease-out-strong:cubic-bezier(.23, 1, .32, 1);--ease-in-out-strong:cubic-bezier(.77, 0, .175, 1)}@view-transition{navigation:auto}img[data-vt-detail-id]{view-transition-name:active-photo}::view-transition-old(root){animation-duration:.22s}::view-transition-new(root){animation-duration:.22s}::view-transition-group(active-photo){animation-duration:.4s;animation-timing-function:var(--ease-in-out-strong)}::view-transition-old(active-photo){object-fit:cover;width:100%;height:100%}::view-transition-new(active-photo){object-fit:cover;width:100%;height:100%}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}*{box-sizing:border-box}html{background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}body{font-family:var(--font-sans);color:var(--ink);flex-direction:column;min-height:100vh;margin:0;font-size:1rem;line-height:1.6;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}main img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}a{color:currentColor;text-decoration:none}a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{padding:clamp(1.25rem, 3vw, 2.25rem) var(--gutter);justify-content:space-between;align-items:baseline;gap:1.5rem;display:flex}.site-header .wordmark{letter-spacing:.16em;text-transform:uppercase;font-size:.95rem;font-weight:600}.site-nav{gap:clamp(1rem,2.5vw,2rem);display:flex}.site-nav a{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem;transition:color .25s}.site-nav a:hover{color:var(--ink)}.stream{flex-direction:column;gap:clamp(3rem,8vw,7rem);padding:clamp(1.5rem,4vw,3rem) 0 clamp(4rem,8vw,7rem);display:flex}.stream figure{margin:0}.stream-masonry{grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;max-width:var(--stream-max);padding:0 var(--gutter);align-items:start;gap:clamp(1.25rem,3vw,2.5rem) clamp(1.5rem,4vw,3.5rem);margin:0 auto;display:grid}.stream-item--hero{grid-column:1/-1;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}.stream-item--hero img{width:100%;height:auto}.stream-item--large{grid-column:span 8}.stream-item--medium{grid-column:span 6}.stream-item--small{grid-column:span 4}.stream-item--hero figcaption{padding:0 var(--gutter)}@media (max-width:900px){.stream-item--large{grid-column:span 12}.stream-item--medium,.stream-item--small{grid-column:span 6}}@media (max-width:640px){.stream-masonry{grid-template-columns:1fr;gap:clamp(1.5rem,4vw,2.5rem)}.stream-item--hero,.stream-item--large,.stream-item--medium,.stream-item--small{grid-column:1/-1}}.stream a.photo-link{display:block}.stream figcaption{letter-spacing:.06em;color:var(--muted);margin-top:.75rem;font-size:.78rem}.stream-empty{max-width:var(--text-max);padding:0 var(--gutter);text-align:center;color:var(--muted);letter-spacing:.04em;margin:20vh auto}.photo-detail{flex-direction:column;min-height:calc(100vh - 6rem);padding-bottom:clamp(2.5rem,6vw,5rem);display:flex}.detail-layout{align-items:flex-start;gap:clamp(1.5rem,3vw,2.5rem);margin-top:clamp(1.5rem,3.5vw,2.5rem);padding-right:clamp(1.5rem,3vw,2.5rem);display:flex}.detail-stage{flex-direction:column;flex:1 0 0;gap:1.1rem;min-width:0;display:flex}.detail-stage-inner{position:relative}.detail-figure{width:100%;transition:width .5s var(--ease-in-out-strong);justify-content:center;margin:0;display:flex}.detail-figure img{width:auto;max-width:100%;max-height:calc(100dvh - 15rem)}.is-room .detail-stage-inner{overflow:hidden}.room-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.is-room .detail-figure{position:absolute;transform:translate(-50%)}.is-room .detail-figure img{width:100%;max-height:none;box-shadow:0 3px 8px #14100a38,0 16px 32px -12px #14100a59}.is-room .detail-figure[data-frame] img{border-width:clamp(3px,.45vw,6px);padding:clamp(4px,.6vw,10px)}.room-hint{white-space:nowrap;letter-spacing:.06em;color:var(--ink-soft);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#f7f5f0d1;border-radius:999px;margin:0;padding:.35rem .9rem;font-size:.7rem;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.detail-figure img{height:auto;transition:border-width .35s var(--ease-out-strong), border-color .35s var(--ease-out-strong), padding .35s var(--ease-out-strong), background-color .35s var(--ease-out-strong), box-shadow .35s var(--ease-out-strong);border:0 solid #0000;box-shadow:0 24px 60px -32px #1b191759}.detail-figure[data-frame] img{background-color:#fdfcfa;border-width:clamp(10px,1.1vw,15px);border-color:#17140f;padding:clamp(12px,1.8vw,26px);box-shadow:0 32px 70px -30px #1b191780}.detail-figure[data-frame=oak] img{border-color:#ab8759}.detail-panel{flex-direction:column;flex-shrink:0;width:clamp(20rem,28vw,25.5rem);padding-top:1.5rem;display:flex}@media (max-width:900px){.detail-layout{flex-direction:column;padding-right:0}.detail-panel{width:100%;padding:.5rem var(--gutter) 0}}.photo-detail h1{letter-spacing:.012em;margin:0 0 2rem;font-size:clamp(2rem,3.8vw,3.5rem);font-weight:700;line-height:1.05}.photo-detail .caption{color:var(--ink-soft);margin:-1.4rem 0 2rem;font-size:.95rem}.photo-detail .themes{flex-wrap:wrap;gap:.4rem 1rem;margin:-1.4rem 0 2rem;padding:0;list-style:none;display:flex}.photo-detail .themes li{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.68rem}.detail-topbar{padding:.75rem var(--gutter) 0;justify-content:space-between;align-items:center;display:flex}.detail-back{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem;transition:color .2s}.detail-back:hover{color:var(--ink)}.photo-detail nav.pager{gap:.5rem;display:flex}.photo-detail nav.pager a,.photo-detail nav.pager span{border:1px solid var(--hairline);width:2.4rem;height:2.4rem;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.photo-detail nav.pager a:hover{border-color:var(--ink);color:var(--ink);background:var(--bg-elevated)}.photo-detail nav.pager span[aria-disabled=true]{color:var(--hairline)}.photo-link,.event-card .event-cover{display:block;overflow:hidden}.photo-link img,.event-card img{transition:transform .6s var(--ease-out-strong)}@media (hover:hover) and (pointer:fine){.photo-link:hover img,.event-card:hover img{transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.photo-link img,.event-card img{transition:none}}@media (prefers-reduced-motion:no-preference){html.js .stream-item{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.detail-panel>*{animation:panel-in .5s var(--ease-out-strong) both}.detail-panel>:first-child{animation-delay:.32s}.detail-panel>:nth-child(2){animation-delay:.38s}.detail-panel>:nth-child(3){animation-delay:.44s}.detail-panel>:nth-child(4){animation-delay:.5s}@media (prefers-reduced-motion:reduce){.stream-item,.detail-panel>*{animation:none}}.detail-sections{max-width:68rem;padding:0 var(--gutter);flex-direction:column;gap:clamp(3.5rem,7vw,6rem);margin:clamp(4rem,9vw,7rem) auto 0;display:flex}.ds-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4.5rem);display:grid}.ds-row-reverse .ds-text{order:2}@media (max-width:760px){.ds-row{grid-template-columns:1fr}.ds-row-reverse .ds-text{order:0}}.ds-text h2{letter-spacing:.01em;margin:0 0 .8rem;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;line-height:1.3}.ds-text p{color:var(--ink-soft);max-width:32rem;margin:0;font-size:.95rem}.ds-visual{margin:0}.ds-crop{flex-direction:column;gap:.6rem;display:flex}.ds-crop-inner{aspect-ratio:4/3;background-position:55% 38%;background-size:280%;box-shadow:0 20px 50px -28px #1b191766}.ds-crop figcaption,.ds-frame-card figcaption{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;font-size:.7rem}.ds-frames{justify-content:center;gap:clamp(1.25rem,3vw,2rem);display:flex}.ds-frame-card{flex-direction:column;flex:1;gap:.6rem;max-width:15rem;margin:0;display:flex}.ds-frame-corner{aspect-ratio:1;background:#fdfcfa;border:0 solid #17140f;border-width:14px 0 0 14px;padding:18px 0 0 18px;position:relative;overflow:hidden;box-shadow:0 18px 40px -24px #1b191773}.ds-frame-corner:after{content:"";background:linear-gradient(135deg,#8a9a8b,#55504a);position:absolute;inset:34px 0 0 34px}.ds-frame-corner[data-tone=oak]{border-color:#ab8759}.ds-trust{border-top:1px solid var(--hairline);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,4vw,3rem);padding-top:clamp(2rem,4vw,3rem);display:grid}@media (max-width:760px){.ds-trust{grid-template-columns:1fr}}.ds-icon{width:1.8rem;height:1.8rem;color:var(--ink-soft);margin-bottom:.7rem}.ds-trust h3{letter-spacing:.04em;margin:0 0 .3rem;font-size:.85rem;font-weight:600}.ds-trust p{color:var(--muted);max-width:18rem;margin:0;font-size:.85rem}.reco{max-width:68rem;padding:0 var(--gutter);margin:clamp(4rem,9vw,7rem) auto 0}.reco-head{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.reco-head h2{letter-spacing:.01em;margin:.3rem 0 0;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;line-height:1.3}.reco-arrows{gap:.5rem;display:flex}.reco-arrows button{border:1px solid var(--hairline);width:2.4rem;height:2.4rem;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:1rem;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.reco-arrows button:hover:not(:disabled){border-color:var(--ink);color:var(--ink);background:var(--bg-elevated)}.reco-arrows button:disabled{color:var(--hairline);cursor:default}.reco-track{--reco-height:clamp(200px, 24vw, 300px);overscroll-behavior-x:contain;scrollbar-width:none;gap:16px;display:flex;position:relative;overflow-x:auto}.reco-track::-webkit-scrollbar{display:none}.reco-item{flex:none}.reco-item img{height:var(--reco-height);width:auto;max-width:none}.reco-title{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:.5rem;font-size:.7rem;display:block}.cart-link{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:.8rem}.purchase-panel{flex-direction:column;gap:1.4rem;display:flex}.purchase-label{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.55rem;font-size:.68rem;display:block}.segment{border:1px solid var(--hairline);background:var(--bg-elevated);border-radius:999px;gap:.2rem;padding:.2rem;display:inline-flex}.segment button{appearance:none;font:inherit;letter-spacing:.03em;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.45rem 1.1rem;font-size:.82rem;transition:background .2s,color .2s}.segment button:hover{color:var(--ink)}.segment button.is-active{background:var(--ink);color:var(--bg)}.size-rows{flex-direction:column;gap:.25rem;display:flex}.size-rows button{appearance:none;font:inherit;text-align:left;border:1px solid var(--hairline);background:var(--bg-elevated);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.76rem .9rem;transition:border-color .2s,box-shadow .2s;display:flex}.size-rows button:hover{border-color:var(--ink-soft)}.size-rows button.is-active{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.size-rows .size-name{align-items:baseline;gap:.5rem;display:flex}.size-rows strong{letter-spacing:.1em;font-size:.8rem}.size-rows .size-name>span{color:var(--ink-soft);font-size:.82rem}.size-rows em{font-variant-numeric:tabular-nums;font-size:.88rem;font-style:normal}.purchase-note,.purchase-soldout{color:var(--muted);margin:0;font-size:.8rem}.file-price{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem}.detail-count{color:var(--muted);font-size:.6em;font-weight:400}.purchase-soldout{letter-spacing:.06em;margin-top:1.25rem}.purchase-cta{flex-direction:column;gap:.55rem;display:flex}.purchase-fulfillment{max-width:22rem;color:var(--muted);margin:0;font-size:.72rem;line-height:1.45}.purchase-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.purchase-add{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:999px;padding:.8rem 1.7rem;font-size:.8rem;transition:opacity .2s}.purchase-add:disabled{opacity:.35;cursor:not-allowed}.purchase-goto{text-underline-offset:3px;font-size:.85rem;text-decoration:underline}.page-narrow{max-width:var(--text-max);padding:clamp(1.5rem, 4vw, 3rem) var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.page-narrow h1{letter-spacing:.06em;font-size:1.3rem;font-weight:600}.cart-lines{flex-direction:column;margin:2rem 0 0;padding:0;list-style:none;display:flex}.cart-lines li{border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;gap:1.5rem;padding:1rem 0;display:flex}.cart-line-info{flex-direction:column;gap:.2rem;display:flex}.cart-line-info a{font-weight:600}.cart-line-info small{color:var(--muted)}.cart-line-controls{align-items:center;gap:1rem;display:flex}.cart-line-controls label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;font-size:.75rem;display:flex}.cart-line-controls input{width:3.2rem;font:inherit;border:1px solid var(--hairline);background:var(--bg-elevated);padding:.3rem .4rem}.cart-line-controls button{appearance:none;font:inherit;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.75rem}.cart-line-controls button:hover{color:var(--ink)}.cart-line-price{text-align:right;font-variant-numeric:tabular-nums;min-width:6rem}.cart-totals{flex-direction:column;gap:.4rem;margin:1.5rem 0 0;display:flex}.cart-totals div{justify-content:space-between;display:flex}.cart-totals dt{color:var(--muted)}.cart-totals dd{font-variant-numeric:tabular-nums;margin:0}.cart-totals .cart-total{border-top:1px solid var(--ink);margin-top:.4rem;padding-top:.6rem;font-weight:600}.cart-totals .cart-total dt{color:var(--ink)}.cart-note{color:var(--muted);font-size:.78rem}.cart-error{color:#8a2f22;font-size:.9rem}.cart-empty{color:var(--muted);margin-top:2rem}.cart-actions{flex-wrap:wrap;gap:1rem;margin-top:1.5rem;display:flex}.cart-actions button{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:.75rem 1.6rem;font-size:.8rem}.cart-actions button:nth-child(2){color:var(--ink);background:0 0}.cart-actions button:disabled{opacity:.45;cursor:wait}.thanks p{max-width:34rem}.cart-waiver{color:var(--ink-soft);cursor:pointer;align-items:flex-start;gap:.6rem;max-width:34rem;margin-top:1.25rem;font-size:.82rem;display:flex}.cart-waiver input{margin-top:.2rem}.events-feed{max-width:var(--stream-max);padding:clamp(1.5rem, 4vw, 3rem) var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.events-feed h1,.event-gallery h1{letter-spacing:.06em;font-size:1.3rem;font-weight:600}.events-feed ul{grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:clamp(1.5rem,3vw,2.5rem);margin:2rem 0 0;padding:0;list-style:none;display:grid}.event-card{display:block}.event-card img{aspect-ratio:3/2;object-fit:cover;width:100%}.event-card-meta h2{margin:.75rem 0 0;font-size:1rem;font-weight:600}.event-card-meta p{color:var(--muted);margin:.2rem 0 0;font-size:.8rem}.event-gallery{max-width:var(--stream-max);padding:clamp(1.5rem, 4vw, 3rem) var(--gutter) clamp(3rem, 6vw, 5rem);margin:0 auto}.event-header a{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:.8rem}.event-header p{color:var(--muted);font-size:.85rem}.event-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:clamp(1rem,2.5vw,2rem);margin-top:2rem;display:grid}.event-grid figure{margin:0}.event-grid figcaption{margin-top:.5rem}.file-add{appearance:none;border:1px solid var(--hairline);color:var(--ink-soft);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.45rem .9rem;font-size:.75rem;transition:border-color .25s,color .25s}.file-add:hover{border-color:var(--ink);color:var(--ink)}.file-in-cart{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.75rem}.event-note{margin-top:2rem}.contact-form{flex-direction:column;gap:1rem;max-width:30rem;margin-top:2rem;display:flex}.contact-form label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:.35rem;font-size:.75rem;display:flex}.contact-form input,.contact-form textarea{font:inherit;color:var(--ink);border:1px solid var(--hairline);background:var(--bg-elevated);padding:.6rem .7rem;font-size:.95rem}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink);outline:none}.contact-form .hp{width:1px;height:1px;position:absolute;left:-9999px}.contact-form button{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);font:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;align-self:flex-start;padding:.7rem 1.5rem;font-size:.8rem}.contact-sent{color:var(--ink-soft);margin-top:2rem}.cms-page :is(h2,h3){margin-top:2rem;font-size:1.05rem;font-weight:600}.cms-page p,.cms-page li{color:var(--ink-soft);font-size:.95rem}.site-footer .legal{flex-wrap:wrap;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-footer{border-top:1px solid var(--hairline);padding:clamp(1.5rem, 3vw, 2.5rem) var(--gutter);letter-spacing:.06em;color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:auto;font-size:.78rem;display:flex}.site-footer a{color:var(--ink-soft)}.site-footer a:hover{color:var(--ink)}.site-footer .social{gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}
