.photo-root{--photo-bg:var(--lw-bg);--photo-surface:var(--lw-deep);--photo-ink:var(--lw-ink);--photo-ink-dim:var(--lw-ink-dim);--photo-rule:rgba(255,255,255,0.2);--photo-accent:var(--lw-photo);--photo-accent-bright:var(--lw-photo-bright);background:var(--photo-bg);background-image:radial-gradient(70% 40% at 20% 0,color-mix(in srgb,var(--photo-accent) 15%,transparent),transparent 70%);color:var(--photo-ink);min-height:100vh;font-family:var(--font-dm-mono),monospace;color-scheme:dark}.photo-serif{font-family:var(--font-pp-formula),sans-serif;font-weight:900;text-transform:uppercase;line-height:.95;letter-spacing:-.01em}.photo-italic,.photo-serif em{font-style:normal;color:var(--photo-accent-bright)}.photo-caps{font-family:var(--font-dm-mono),monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;line-height:1.7}.photo-dim{color:var(--photo-ink-dim)}.photo-rule{border:0;border-top:1px solid var(--photo-rule);margin:0}.photo-container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:1.25rem}.photo-root .photo-work-strips{display:grid;align-items:start;gap:.5rem}.photo-root .photo-work-strip{display:flex;flex-direction:column;min-width:0}.photo-root .photo-work-strip-frame{position:relative}.photo-root .photo-work-strip-frame:empty{aspect-ratio:4/5}.photo-root .photo-work-strip-image{display:block;width:100%;height:auto}@media (min-width:640px){.photo-root .photo-work-strips{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:800px){.photo-container{padding-inline:3rem}}.photo-link{font-family:var(--font-dm-mono),monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--photo-ink-dim);border-bottom:1px solid transparent;padding-bottom:.3rem;transition:color .2s ease,border-color .2s ease}.photo-link:hover,.photo-link[data-active=true]{color:var(--photo-accent-bright);border-bottom-color:var(--photo-accent)}.photo-link--underlined{color:var(--photo-ink);border-bottom-color:var(--photo-rule)}.photo-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;padding:.95rem 1.6rem;border:1px solid var(--photo-rule);font-family:var(--font-dm-mono),monospace;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--photo-ink);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.photo-button:hover{border-color:var(--photo-ink)}.photo-button{position:relative;transition:background-color .2s ease,color .2s ease,border-color .2s ease,padding .3s cubic-bezier(.34,1.56,.64,1),transform .15s ease}.photo-button:active{transform:scale(.95)}.photo-button--arrow:after{content:"→";content:"→"/"";position:absolute;right:1.2rem;opacity:0;transform:translateX(.75rem);transition:opacity .2s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.photo-button--arrow:focus-visible,.photo-button--arrow:hover{padding-right:3rem}.photo-button--arrow:focus-visible:after,.photo-button--arrow:hover:after{opacity:1;transform:translateX(0)}.photo-button--solid{background:var(--photo-accent);border-color:var(--photo-accent);color:var(--photo-ink)}.photo-button--solid:hover{background:var(--photo-accent-bright);border-color:var(--photo-accent-bright);color:var(--photo-bg)}.photo-panels{display:flex;flex-direction:column;gap:8px}@media (min-width:768px){.photo-panels{display:grid;grid-template-columns:1fr 1fr}}.photo-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;padding:1.5rem 1.4rem;background:var(--panel);border-left:8px solid var(--panel);color:var(--photo-ink)}.photo-panel--photo:after{content:"";position:absolute;inset:auto 0 0;height:70%;background:linear-gradient(transparent,rgba(12,9,7,.8))}.photo-panel>:not(.photo-panel-image){position:relative;z-index:1}@media (min-width:768px) and (hover:hover){.photo-panels{display:flex;flex-direction:row;gap:6px;height:460px}.photo-panel{flex:1;min-height:0;border-left:0;transition:flex .6s cubic-bezier(.16,1,.3,1)}.photo-panel-image{mix-blend-mode:multiply;filter:grayscale(1) contrast(1.1);opacity:.55;transition:opacity .6s ease,filter .6s ease}.photo-panel--photo:after{height:55%;background:linear-gradient(transparent,rgba(12,9,7,.55));opacity:0;transition:opacity .5s ease}.photo-panel-more{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease,opacity .4s ease}.photo-panel:focus-visible,.photo-panel:hover{flex:2.4}.photo-panel:focus-visible .photo-panel-image,.photo-panel:hover .photo-panel-image{opacity:1;mix-blend-mode:normal;filter:none}.photo-panel:focus-visible:after,.photo-panel:hover:after{opacity:1}.photo-panel:focus-visible .photo-panel-more,.photo-panel:hover .photo-panel-more{max-height:8rem;opacity:1}}.photo-price{color:var(--photo-accent-bright)}.photo-button:disabled{opacity:.5;cursor:wait}.photo-field{width:100%;background:transparent;border:0;border-bottom:1px solid var(--photo-rule);padding:.7rem 0;color:var(--photo-ink);font-family:var(--font-dm-mono),monospace;font-size:.9rem;outline:none;border-radius:0}.photo-field:focus{border-bottom-color:var(--photo-accent-bright);box-shadow:0 1px 0 0 var(--photo-accent-bright)}.photo-root a:focus-visible,.photo-root button:focus-visible,.photo-root input[type=checkbox]:focus-visible{outline:2px solid var(--photo-accent-bright);outline-offset:3px}.photo-field--box{border:1px solid var(--photo-rule);padding:.8rem}.photo-field--box:focus{border-color:var(--photo-accent-bright);box-shadow:0 0 0 1px var(--photo-accent-bright)}.photo-root input[type=checkbox]{accent-color:var(--photo-accent)}select.photo-field option{background:var(--photo-surface);color:var(--photo-ink)}.photo-reel{position:relative;overflow:hidden;margin-inline:-1.25rem;padding-block:1.5rem;background:var(--lw-deep);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}@media (min-width:800px){.photo-reel{margin-inline:-3rem}}.photo-reel:after,.photo-reel:before{content:"";position:absolute;left:0;right:0;z-index:1;height:8px;background:repeating-linear-gradient(90deg,transparent 0 9px,#1c2b3a 9px 19px)}.photo-reel:before{top:8px}.photo-reel:after{bottom:8px}.photo-reel-track{display:flex;gap:8px;width:max-content}.photo-reel-frame{position:relative;flex:0 0 clamp(132px,15vw,200px);aspect-ratio:3/2}.photo-reel-frame span{position:absolute;left:6px;bottom:4px;font-family:var(--font-dm-mono),monospace;font-size:9px;letter-spacing:.1em;color:rgba(255,249,245,.55)}@media (prefers-reduced-motion:no-preference){.photo-reel-track{animation:photo-reel-wind 70s linear infinite}.photo-reel:hover .photo-reel-track{animation-play-state:paused}}@keyframes photo-reel-wind{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.photo-reel{overflow-x:auto}.photo-reel-track{animation:none!important}}.photo-button--light{background:var(--photo-ink);border-color:var(--photo-ink);color:var(--photo-bg)}.photo-button--light:hover{background:var(--photo-bg);border-color:var(--photo-bg);color:var(--photo-ink)}.photo-paper{background:#eaf1f4;color:var(--lw-bg);color-scheme:light;--photo-ink-dim:color-mix(in srgb,var(--lw-bg) 68%,transparent);--photo-rule:color-mix(in srgb,var(--lw-bg) 30%,transparent)}.photo-paper .photo-field{color:var(--lw-bg)}.photo-paper .photo-field:focus{border-bottom-color:var(--lw-bg);box-shadow:0 1px 0 0 var(--lw-bg)}.photo-paper .photo-field--box:focus{border-color:var(--lw-bg);box-shadow:0 0 0 1px var(--lw-bg)}.photo-paper select.photo-field option{background:#ffffff;color:var(--lw-bg)}.photo-paper .photo-price{color:var(--lw-photo)}.photo-root .photo-paper a:focus-visible,.photo-root .photo-paper button:focus-visible,.photo-root .photo-paper input[type=checkbox]:focus-visible{outline-color:var(--lw-bg)}.photo-error{color:#e8a08a}.photo-paper .photo-error{color:#9a2f1b}.photo-work-title{container-type:inline-size;min-width:0}.photo-work-heading{font-size:clamp(2.5rem,26cqw,6.2rem);line-height:.82}.photo-rise{animation:photo-rise .7s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(50ms + var(--rise, 0) * 80ms)}@keyframes photo-rise{0%{transform:translateY(24px) scale(.96)}}@media (prefers-reduced-motion:reduce){.photo-rise{animation:none!important}.photo-root *,.photo-root :after,.photo-root :before{transition-duration:.01ms!important;animation-duration:.01ms!important}}.photo-choices{display:flex;flex-wrap:wrap;gap:8px}.photo-choice{min-height:44px;padding:8px 14px;border:1px solid var(--photo-rule);font-family:var(--font-dm-mono),monospace;font-size:.8rem;text-align:left;transition:background-color .2s,color .2s,border-color .2s}.photo-choice:hover{border-color:currentColor}.photo-choice[aria-pressed=true]{background:var(--choice);border-color:var(--choice);color:#fff9f5}.photo-choice:focus-visible{outline:2px solid var(--choice);outline-offset:2px}@media (prefers-reduced-motion:reduce){.photo-choice{transition:none}}.enquiry-slide{opacity:0;transition:opacity 1.4s cubic-bezier(.77,0,.175,1)}.enquiry-slide.is-showing{opacity:1}.enquiry-slide-pause{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--lw-ink) 35%,transparent);background:color-mix(in srgb,var(--lw-bg) 72%,transparent);color:var(--lw-ink)}.enquiry-slide-pause:focus-visible{outline:2px solid var(--lw-photo-bright);outline-offset:2px}@media (prefers-reduced-motion:reduce){.enquiry-slide{transition:none}}.package-preview{--pv-ink:var(--lw-ink);--pv-dim:var(--lw-ink-dim);--pv-rule:rgba(255,255,255,0.2);color:var(--pv-ink)}.package-preview[data-tone=paper]{--pv-ink:var(--lw-bg);--pv-dim:color-mix(in srgb,var(--lw-bg) 68%,transparent);--pv-rule:color-mix(in srgb,var(--lw-bg) 30%,transparent)}.package-preview .package-scroll:focus-visible,.package-preview button:focus-visible{outline:2px solid var(--pv-ink);outline-offset:3px}.package-preview .package-scroll:focus-visible{outline-offset:-3px}.package-more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s cubic-bezier(.16,1,.3,1)}.package-more[data-open=true]{grid-template-rows:1fr}.package-more>div{min-height:0;overflow:hidden}.package-fade{animation:package-fade .25s ease-out both}@keyframes package-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.package-more{transition:none}.package-fade{animation:none}}