:root{--ink:#242620;--paper:#f0ede3;--muted:#767a6e;--line:#c8c8bd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #7f6346;outline-offset:4px}.skip{position:absolute;top:-100px;left:16px;background:white;padding:12px;z-index:10}.skip:focus{top:16px}.page-header{padding:24px 6%;display:flex;justify-content:space-between;align-items:center;background:#181818;color:#f2efe7}.page-logo{font-size:14px;font-weight:700;letter-spacing:.08em;line-height:1}.page-logo span{display:block;margin-top:8px;font-size:9px;letter-spacing:.2em;color:#b7b6ad}.page-back{font-size:13px;font-weight:600}.page-nav{display:flex;gap:24px;overflow-x:auto;white-space:nowrap;padding:16px 6%;border-bottom:1px solid var(--line);font-size:13px}.page-nav a[aria-current=page]{border-bottom:1px solid #242620;font-weight:700}.page-nav a:hover{opacity:.6}main{max-width:1240px;margin:0 auto;padding:80px 6% 120px}.page-kicker{color:var(--muted);font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:32px}.page-content h2{font-weight:500;letter-spacing:-.06em;line-height:1.08;font-size:clamp(40px,6vw,72px);margin:0 0 32px;text-wrap:balance}.page-content p{font-size:16px;max-width:680px;color:#575b51;margin:0 0 24px;text-wrap:pretty}.page-content h3{font-size:20px}.about-portrait{display:block;max-width:570px;width:100%;height:auto;margin-top:48px}.book-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:48px}.book-gallery a{display:block;overflow:hidden;background:#ddd}.book-gallery img{display:block;width:100%;height:100%;aspect-ratio:3/4;object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}.book-gallery a:hover img{transform:scale(1.03)}.book-form{display:flex;flex-direction:column;max-width:560px;margin-top:40px;gap:8px}.book-form label{font-size:13px;font-weight:700;margin-top:16px}.book-form input,.book-form select,.book-form textarea{background:transparent;border:0;border-bottom:1px solid #a5a69c;border-radius:0;padding:12px 0;color:var(--ink);width:100%}.book-form textarea{resize:vertical}.book-form button,.page-button{border:0;background:#242620;color:#fff;padding:16px 24px;text-align:left;font-size:14px;font-weight:700;margin-top:24px;cursor:pointer;display:inline-block}.book-form small{color:#66695f;font-size:12px}.book-contact{margin-top:32px!important}.book-contact a{text-decoration:underline}.page-pricing p{max-width:740px}.page-services p,.page-process p{max-width:700px}footer{background:#181818;color:#f1f0eb;display:flex;justify-content:space-between;gap:16px;padding:32px 6%;font-size:13px}@media(max-width:700px){.page-header{padding:24px 5%}.page-nav{padding:16px 5%;gap:16px}main{padding:64px 5% 80px}.book-gallery{grid-template-columns:1fr;gap:16px}.book-gallery img{aspect-ratio:4/5}.page-content h2{font-size:40px}.page-content p{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.book-gallery img{transition:none}}

/* Portfolio directions */
.portfolio-nav{display:flex;flex-wrap:wrap;gap:8px;margin:40px 0 0}.portfolio-nav a{padding:8px 16px;border:1px solid #aaa99e;font-size:13px;font-weight:600;transition:background .3s cubic-bezier(.22,1,.36,1),color .3s cubic-bezier(.22,1,.36,1)}.portfolio-nav a:hover,.portfolio-nav a:focus-visible{background:#242620;color:#fff}.portfolio-section{padding-top:80px;scroll-margin-top:24px}.portfolio-section-heading{border-top:1px solid var(--line);padding-top:24px}.page-content .portfolio-section h3{font-size:clamp(24px,3vw,36px);line-height:1.2;font-weight:500;letter-spacing:-.03em;margin:0 0 12px}.page-content .portfolio-section p{margin-bottom:0}.portfolio-section .book-gallery{margin-top:32px}@media(max-width:700px){.portfolio-section{padding-top:64px}.portfolio-section .book-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.portfolio-nav a{font-size:12px;padding:8px 12px}}

/* Full-size portfolio viewer */
html.viewer-open{overflow:hidden}.photo-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:16px 24px 12px;border:0;background:rgba(19,19,19,.98);color:#f5f2eb;overflow:hidden}.photo-viewer::backdrop{background:rgba(0,0,0,.85)}.photo-viewer-bar{height:48px;display:flex;justify-content:space-between;align-items:center;font-size:13px;letter-spacing:.08em}.photo-viewer button{border:0;background:transparent;color:inherit;cursor:pointer}.photo-viewer-close{font-size:36px;line-height:1;width:48px;height:48px}.photo-viewer-stage{height:calc(100% - 84px);display:grid;grid-template-columns:56px minmax(0,1fr) 56px;align-items:center}.photo-viewer-image{display:block;width:100%;height:100%;object-fit:contain;touch-action:pan-y}.photo-viewer-prev,.photo-viewer-next{font-size:48px;line-height:1;height:64px}.photo-viewer button:hover{color:#d6ba93}.photo-viewer-hint{text-align:center;margin:8px 0 0;color:#b8b7af;font-size:12px}.photo-viewer button:focus-visible{outline:2px solid #f5f2eb;outline-offset:2px}@media(max-width:700px){.photo-viewer{padding:8px}.photo-viewer-stage{grid-template-columns:40px minmax(0,1fr) 40px}.photo-viewer-prev,.photo-viewer-next{font-size:40px}.photo-viewer-hint{font-size:11px}}

/* A continuous photographic atmosphere across the inner pages. */
:root{--ink:#f1eee5;--paper:#151710;--muted:#b9b9a9;--line:rgba(238,237,222,.22)}
body{position:relative;isolation:isolate;background:#151710;color:var(--ink);min-height:100vh}body::before{content:"";position:fixed;inset:-8%;z-index:-2;background:url("assets/imported/olga-b84c6b01d094c9d2.webp") center 30%/cover no-repeat;filter:blur(30px) brightness(.30) saturate(.7);transform:scale(1.1);pointer-events:none}.page-header{background:rgba(15,18,14,.58);border-bottom:1px solid rgba(238,237,222,.12)}.page-nav{background:rgba(15,18,14,.38);border-color:var(--line);color:#e1e0d8}.page-nav a[aria-current=page]{border-color:#f2eee4}.page-content p{color:#d4d2c6}.page-kicker{color:#bbbbae}.book-form input,.book-form select,.book-form textarea{color:#f1eee5;border-color:rgba(240,238,225,.48)}.book-form select option{background:#242620;color:#fff}.book-form small{color:#c2c0b3}.book-form button,.page-button{background:#eee9dc;color:#22241d}.book-form button:hover,.page-button:hover{background:#d4c4ac}.skip{background:#f0ede3;color:#242620}footer{background:rgba(15,18,14,.65);border-top:1px solid var(--line)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#ede4d2}
/* One continuous gallery, with large and intimate frames. */
.page-portfolio .book-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(160px,19vw,260px);gap:12px;margin-top:48px}.page-portfolio .book-gallery a{min-height:0;background:#272a24}.page-portfolio .book-gallery a:nth-child(9n + 1),.page-portfolio .book-gallery a:nth-child(9n + 6){grid-column:span 2;grid-row:span 2}.page-portfolio .book-gallery img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover}.page-portfolio .book-gallery a:focus-visible{outline-offset:-4px;position:relative;z-index:1}@media(max-width:700px){.page-portfolio .book-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(160px,48vw,260px);gap:8px}.page-portfolio .book-gallery a:nth-child(9n + 1),.page-portfolio .book-gallery a:nth-child(9n + 6){grid-column:span 2;grid-row:span 2}}

/* Compact camera navigation for the inner pages. */
.camera-menu-toggle{position:fixed;top:24px;right:32px;z-index:20;display:grid;place-items:center;width:56px;height:48px;padding:8px;border:1px solid rgba(239,235,222,.45);background:rgba(18,21,16,.88);color:#f1eee5;cursor:pointer;transition:background .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1),transform .3s cubic-bezier(.22,1,.36,1)}.camera-menu-toggle svg{width:38px;height:32px}.camera-menu-toggle:hover,.camera-menu-toggle[aria-expanded=true]{background:#3a3b31;border-color:#f1eee5}.camera-menu-toggle:active{transform:scale(.96)}.page-nav[hidden]{display:none}.page-nav:not([hidden]){position:fixed;z-index:19;top:80px;right:32px;display:flex;flex-direction:column;gap:0;width:min(280px,calc(100vw - 32px));max-height:calc(100dvh - 100px);overflow:auto;padding:8px;background:rgba(19,22,17,.97);border:1px solid rgba(239,235,222,.26);box-shadow:0 16px 40px rgba(0,0,0,.35);white-space:normal;animation:camera-menu-arrive .3s cubic-bezier(.22,1,.36,1) both}.page-nav a{display:block;padding:12px 16px;border:0!important;font-size:14px}.page-nav a:hover,.page-nav a:focus-visible{background:#37392f;opacity:1}.page-nav a[aria-current=page]{color:#e6ca9c}.page-content{padding-top:8px}@keyframes camera-menu-arrive{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.camera-menu-toggle{top:16px;right:16px}.page-nav:not([hidden]){top:72px;right:16px}main{padding-top:88px}}@media(prefers-reduced-motion:reduce){.page-nav:not([hidden]){animation:none}.camera-menu-toggle{transition:none}}

/* The same camera as on the opening scene, with a slide-out menu. */
.camera-menu-toggle{width:112px;height:72px;padding:0;border:0;background:transparent;filter:drop-shadow(0 4px 8px rgba(0,0,0,.6))}.camera-menu-toggle:hover,.camera-menu-toggle[aria-expanded=true]{background:transparent;border:0;filter:drop-shadow(0 4px 9px rgba(0,0,0,.6)) brightness(1.2)}.camera-menu-image{position:relative;display:block;width:100%;height:100%;background:url("camera-marble.png") center/100% 100% no-repeat;clip-path:polygon(2% 21%,5% 20%,5% 16%,10% 15%,10% 13%,23% 13%,24% 18%,26% 17%,26% 7%,28% 1%,30% 0,48% 0,52% 7%,53% 16%,54% 16%,54% 13%,66% 13%,67% 16%,77% 16%,77% 11%,85% 11%,86% 16%,93% 17%,95% 19%,98% 24%,97% 97%,4% 97%,2% 94%)}.camera-menu-image::after{content:"";position:absolute;left:14%;top:36.5%;width:50%;height:50%;background:url("assets/imported/olga-b84c6b01d094c9d2.webp") center 30%/cover no-repeat}.page-nav:not([hidden]){top:104px;animation:none;opacity:0;transform:translateY(-16px);pointer-events:none;transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1)}.page-nav.is-open:not([hidden]){opacity:1;transform:translateY(0);pointer-events:auto}@media(max-width:700px){.camera-menu-toggle{width:96px;height:62px}.page-nav:not([hidden]){top:88px}}@media(prefers-reduced-motion:reduce){.page-nav:not([hidden]){transition:none}}

/* Restore the previous camera icon, retaining the menu motion. */
.camera-menu-toggle{width:56px;height:48px;padding:8px;border:1px solid rgba(239,235,222,.45);background:rgba(18,21,16,.88);filter:none}.camera-menu-toggle:hover,.camera-menu-toggle[aria-expanded=true]{background:#3a3b31;border:1px solid #f1eee5;filter:none}.page-nav:not([hidden]){top:80px}@media(max-width:700px){.camera-menu-toggle{width:56px;height:48px}.page-nav:not([hidden]){top:72px}}


/* The photographer’s signature follows visitors throughout the site. */
.page-brand{position:absolute;top:40px;left:48px;z-index:6;display:flex;align-items:center;gap:12px;color:#f5f1e7;font-size:10px;font-weight:600;letter-spacing:.17em;line-height:1.3;text-shadow:0 2px 10px #000}.page-brand-symbol{font-size:31px;font-weight:400;line-height:1}.page-brand small{display:block;margin-top:5px;font-size:8px;font-weight:400;letter-spacing:.27em}body>main{padding-top:136px}@media(max-width:700px){.page-brand{top:24px;left:24px}body>main{padding-top:112px}}

/* Keep every full-size photo within the visible viewer, including tall portraits. */
.photo-viewer{height:100dvh}
.photo-viewer-stage{height:calc(100% - 48px);min-height:0;grid-template-rows:minmax(0,1fr)}
.photo-viewer-image{min-width:0;min-height:0;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}

/* Constrain the photo to the visible space between the controls. */
.photo-viewer-stage{position:absolute;top:64px;right:24px;bottom:16px;left:24px;display:block;height:auto;min-height:0}
.photo-viewer-image{position:absolute;top:0;left:56px;width:calc(100% - 112px);height:100%;max-width:none;max-height:none;object-fit:contain}
.photo-viewer-prev,.photo-viewer-next{position:absolute;top:50%;transform:translateY(-50%);width:56px;z-index:1}.photo-viewer-prev{left:0}.photo-viewer-next{right:0}
@media(max-width:700px){.photo-viewer-stage{top:56px;right:8px;bottom:8px;left:8px}.photo-viewer-image{left:40px;width:calc(100% - 80px)}.photo-viewer-prev,.photo-viewer-next{width:40px}}

/* Quiet chapter markers sit within the same continuous gallery. */
.page-portfolio .book-gallery .gallery-chapter{grid-column:1/-1;display:flex;align-items:center;gap:24px;align-self:end;min-width:0;padding:32px 0 16px;border-top:1px solid rgba(238,237,222,.32);color:#f1eee5}.page-portfolio .book-gallery .gallery-chapter:first-child{padding-top:16px}.gallery-chapter-mark{font-size:26px;line-height:1;color:#d9cbb3}.page-content .gallery-chapter h3{margin:0;font-size:24px;line-height:1.25;font-weight:500;letter-spacing:-.02em}.page-content .gallery-chapter p{margin:4px 0 0;font-size:13px;line-height:1.4;color:#c2c0b3}.gallery-chapter-number{margin-left:auto;align-self:flex-start;font-size:11px;letter-spacing:.12em;color:#aaa99e}.page-portfolio .book-gallery a:nth-child(9n + 1),.page-portfolio .book-gallery a:nth-child(9n + 6){grid-column:auto;grid-row:auto}.page-portfolio .book-gallery a:nth-of-type(9n + 1),.page-portfolio .book-gallery a:nth-of-type(9n + 6){grid-column:span 2;grid-row:span 2}@media(max-width:700px){.page-portfolio .book-gallery .gallery-chapter{gap:12px;padding:24px 0 12px}.page-content .gallery-chapter h3{font-size:20px}.page-content .gallery-chapter p{font-size:12px}}

.gallery-group{margin-top:80px}.gallery-group:first-of-type{margin-top:48px}.page-portfolio .gallery-chapter{display:flex;align-items:center;gap:24px;min-width:0;padding:24px 0 16px;border-top:1px solid rgba(238,237,222,.32);color:#f1eee5}.page-portfolio .gallery-group .book-gallery{margin-top:8px}@media(max-width:700px){.gallery-group{margin-top:64px}.gallery-group:first-of-type{margin-top:40px}.page-portfolio .gallery-chapter{gap:12px;padding:24px 0 12px}}

/* The same navigation as the opening screen, fixed during scrolling. */
body{padding-bottom:88px}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 24px);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding:2px}.bottom-nav a{display:inline-flex;flex:none;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid rgba(255,255,255,.42);background:#181818;color:#fff;font:600 13px/1.4 Manrope,sans-serif;white-space:nowrap;transition:background .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1)}.bottom-nav a:hover,.bottom-nav a:focus-visible{background:#313131;border-color:#fff}.bottom-nav a[aria-current=page]{border-color:#e4cfad;background:#36362e}@media(max-width:700px){body{padding-bottom:80px}.bottom-nav{bottom:max(8px,env(safe-area-inset-bottom));gap:6px}.bottom-nav a{font-size:12px;padding:8px}}@media(prefers-reduced-motion:reduce){.bottom-nav a{transition:none}}
@media(max-width:420px){body{padding-bottom:120px}.bottom-nav{width:min(360px,calc(100vw - 24px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible}.bottom-nav a{width:100%}}
