@font-face {
  font-family: 'Raleway';
  font-style: italic;
  font-weight: 400;
  src: url(/assets/raleway-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Raleway';
  font-style: normal;
  font-weight: 400;
  src: url(/assets/raleway-1.ttf) format('truetype');
}

*{box-sizing:border-box}html{background:#fff}body{margin:0;color:#444;font:13px Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover,button:hover{color:#81bbaa}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;background:none;border:0;padding:0}button:focus-visible,a:focus-visible{outline:2px solid #81bbaa;outline-offset:5px}.sidebar{position:fixed;left:5.65vw;top:48px;width:170px;z-index:10}.logo{display:block;color:#2e2e2e;font-family:'Arial Black',Arial,sans-serif;font-weight:900;font-size:24px;letter-spacing:4.2px;line-height:1.2;width:max-content}nav{margin-top:43px;display:flex;flex-direction:column;gap:0}nav a{font-size:13px;line-height:28px;color:#6c6767}nav a.active{color:#81bbaa}.social{display:flex;align-items:center;gap:13px;margin-top:56px;color:#555}.social a{font-weight:bold;font-size:14px}.social svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.4;display:block}.menu-toggle{display:none}main{margin:76px 5.65vw 60px calc(5.65vw + 198px);min-height:80vh}.toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;height:17px}.gallery-nav{display:flex;gap:3px;font-size:13px}.grid-toggle{width:16px;height:16px;display:grid;grid-template-columns:repeat(3,3px);gap:2px;align-content:center;justify-content:center}.grid-toggle i{width:3px;height:3px;background:currentColor}figure{margin:0}.photo-button{display:block;text-align:left;width:100%;cursor:e-resize}.hero-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 260px);object-fit:contain;object-position:left top}.caption{margin-top:15px;font-size:10px;line-height:17px;min-height:17px;color:#333}.thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.thumb{display:block;text-align:left}.thumb img{display:block;width:100%;aspect-ratio:1.4;object-fit:cover}.thumb span{display:block;font-size:10px;margin-top:8px}.page-copy{font-family:Raleway,Arial,sans-serif;font-size:15px;line-height:1.7;max-width:960px;padding:35px 30px}.page-copy h2{font-size:24px;font-weight:400;color:#000}.page-copy p{margin:0 0 14px}.page-copy a{color:#000}.page-copy a:hover{color:#81bbaa}.page-copy.about{text-align:center}.page-copy.about .bio{margin:45px auto;max-width:780px}.page-copy.features{text-align:center;font-size:24px;padding-top:60px}.page-copy.features p{margin-bottom:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:70px}.contact-details{text-align:center;padding-top:40px}.contact label{display:block;margin-bottom:8px}.contact input,.contact textarea{width:100%;border:1px solid #aaa;border-radius:0;padding:12px;margin-bottom:22px;color:#444;background:#fff}.contact textarea{resize:vertical;min-height:160px}.outline-button{display:inline-block;padding:12px 22px;border:1px solid #444}.form-note{font-size:12px;margin-top:14px!important;color:#777}.shop{text-align:center;padding-top:70px}.shop h1{font-weight:400;font-size:24px;margin-bottom:28px}.shop .outline-button{margin-top:20px}.loading{font-size:12px;color:#888}.empty{padding:50px 0}@media(min-width:1500px){.hero-image{max-height:calc(100vh - 200px)}}@media(max-width:1000px) and (min-width:701px){.sidebar{left:35px;width:160px}main{margin-left:235px;margin-right:35px}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.contact{gap:30px}}@media(max-width:700px){.sidebar{position:relative;left:auto;top:auto;width:auto;padding:25px 24px 22px;background:#fff}.logo{font-size:20px;letter-spacing:3.5px}.menu-toggle{display:block;position:absolute;right:26px;top:34px;font-size:22px}nav{display:none;margin-top:27px}nav.open{display:flex}nav a{font-size:15px;line-height:33px}.social{display:none;margin-top:25px}.sidebar:has(nav.open) .social{display:flex}main{margin:15px 24px 40px;min-height:65vh}.toolbar{margin-bottom:15px}.hero-image{width:100%;max-height:calc(100svh - 230px)}.caption{margin-top:12px}.thumbs{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}.page-copy{padding:20px 0}.page-copy.features{font-size:20px}.contact{display:flex;flex-direction:column;gap:25px;padding-top:10px}.contact-details{padding-top:0}.contact form{order:2}.shop{padding-top:25px}}
.admin-entry{display:block;margin-top:30px;color:#81bbaa;font-size:11px}@media(max-width:700px){.admin-entry{display:none}.sidebar:has(nav.open) .admin-entry{display:block}}

.social svg{width:14px;height:14px}.contact.no-form{display:block;max-width:780px}.contact.no-form .contact-details{padding-top:0}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portfolio-announcement{border:0;padding:44px 40px 36px;width:500px;max-width:calc(100vw - 36px);max-height:85vh;overflow:auto;box-shadow:0 25px 100px #0003;font:15px/1.7 Arial,sans-serif}.portfolio-announcement::backdrop{background:#0006}.portfolio-announcement h2{font-size:25px;line-height:1.3;margin:0 30px 18px 0;font-weight:500}.portfolio-announcement p{white-space:pre-line;margin:0 0 22px}.announcement-close{position:absolute;top:12px;right:16px;font-size:28px;line-height:1;padding:5px;color:inherit}.announcement-button{display:inline-block;padding:11px 22px;background:var(--announcement-button);color:var(--announcement-button-text)}.announcement-button:hover{color:var(--announcement-button-text);opacity:.85}.announcement-banner{margin:auto auto 20px;width:800px}.announcement-banner::backdrop{background:#0002}@media(max-width:700px){.portfolio-announcement{padding:38px 24px 26px}.portfolio-announcement h2{font-size:22px}.announcement-banner{margin:auto auto 12px}}
.analytics-consent{position:fixed;bottom:22px;left:22px;z-index:100;width:450px;max-width:calc(100vw - 44px);background:#fff;color:#333;border:1px solid #ddd;padding:24px;box-shadow:0 8px 35px #0002;font:13px/1.65 Arial,sans-serif}.analytics-consent h2{font-size:18px;font-weight:500;line-height:1.4;margin:0 0 12px}.analytics-consent p{margin:0 0 14px}.analytics-consent>a{text-decoration:underline;font-size:12px;color:#333}.analytics-consent-actions{display:flex;gap:12px;margin-top:20px}.analytics-consent-actions button{flex:1;padding:11px 16px;border:1px solid #333;background:#fff;color:#333;font-size:13px;text-align:center;cursor:pointer}.analytics-consent-actions button:hover{background:#eee;color:#111}.analytics-preferences{position:fixed;right:16px;bottom:12px;z-index:99;background:#fff;color:#555;border:1px solid #ddd;padding:7px 11px;font:10px Arial,sans-serif;cursor:pointer}@media(max-width:600px){.analytics-consent{bottom:45px;left:14px;max-width:calc(100vw - 28px);padding:20px}.analytics-preferences{bottom:9px;right:14px}}
.skip-link{position:fixed;left:15px;top:-80px;padding:12px;background:#fff;color:#222;border:2px solid #444;z-index:1000}.skip-link:focus{top:15px}.mobile-contact{display:none}.toolbar{height:auto;min-height:44px}.gallery-nav button{min-height:44px;padding:8px 3px}.grid-toggle{width:44px;height:44px}.photo-button:focus-visible,.thumb:focus-visible{outline:2px solid #81bbaa;outline-offset:5px}.thumb img{height:auto}.thumbs figure .hero-image{width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}.gallery-heading{font:400 22px Raleway,Arial,sans-serif;margin:0 0 15px}.gallery-description{white-space:pre-line;max-width:750px;font:14px/1.8 Raleway,Arial,sans-serif;margin:0 0 25px}.page-copy h1{font-size:24px;font-weight:400}.language-switch{display:flex;gap:14px;justify-content:center;margin-bottom:30px}.language-switch button{font-size:12px;padding:8px 10px;border-bottom:1px solid transparent}.language-switch button[aria-pressed=true]{border-color:currentColor}.contact-honeypot{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.contact-status{line-height:1.6;font-size:13px;margin-top:18px;min-height:20px}.contact form button{min-height:44px}.contact form button:disabled{opacity:.5;cursor:wait}.contact input,.contact textarea{font-size:16px}.contact-details a{overflow-wrap:anywhere}@media(max-width:700px){.mobile-contact{display:block;position:absolute;right:72px;top:32px;padding:8px 4px;font-size:12px}.menu-toggle{min-width:44px;min-height:44px;right:16px;top:25px}.toolbar{margin-bottom:10px}.gallery-heading{font-size:19px}.gallery-description{font-size:13px}.thumbs{gap:20px 14px}.gallery-nav button{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.gallery-nav{align-items:center}.sidebar{max-height:calc(100dvh - 80px);overflow:auto;overscroll-behavior:contain}@media(max-width:700px){.sidebar{max-height:none;overflow:visible}}
