    @font-face { font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("fonts/inter-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Lora"; font-style: normal; font-weight: 400 700; font-display: block; src: url("fonts/lora-latin.woff2") format("woff2"); }
    @font-face { font-family: "ISO100 Archive"; font-style: normal; font-weight: 400; font-display: block; src: url("fonts/ibm-plex-mono-latin.woff2") format("woff2"); }
    @font-face { font-family: "ISO100 Archive"; font-style: normal; font-weight: 700; font-display: block; src: url("fonts/ibm-plex-mono-bold-latin.woff2") format("woff2"); }
    @font-face { font-family: "ISO100 Modern"; font-style: normal; font-weight: 400 700; font-display: block; src: url("fonts/raleway-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Elegant"; font-style: italic; font-weight: 400 700; font-display: block; src: url("fonts/cormorant-garamond-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Portrait"; font-style: normal; font-weight: 400; font-display: block; src: url("fonts/instrument-serif-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Editorial"; font-style: normal; font-weight: 400 900; font-display: block; src: url("fonts/bodoni-moda-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Art"; font-style: italic; font-weight: 400; font-display: block; src: url("fonts/instrument-serif-italic-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Documentary"; font-style: normal; font-weight: 200 800; font-display: block; src: url("fonts/newsreader-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Landscape"; font-style: normal; font-weight: 400; font-display: block; src: url("fonts/libre-baskerville-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Commercial"; font-style: normal; font-weight: 400 700; font-display: block; src: url("fonts/manrope-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Lifestyle"; font-style: normal; font-weight: 400 700; font-display: block; src: url("fonts/fraunces-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Sports"; font-style: normal; font-weight: 400; font-display: block; src: url("fonts/ibm-plex-sans-condensed-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    @font-face { font-family: "ISO100 Sports"; font-style: normal; font-weight: 700; font-display: block; src: url("fonts/ibm-plex-sans-condensed-bold-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
    :root { color-scheme: light; --font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; --color-background: #ffffff; --color-foreground: #050505; --color-surface: #f8f8f6; --color-muted-foreground: rgb(0 0 0 / 65%); --color-accent: #050505; --color-border: rgb(0 0 0 / 14%); --color-border-soft: rgb(0 0 0 / 7%); --radius-lg: 0; --radius-md: 0; --radius-sm: 0; --public-background: var(--color-background); --public-surface: var(--color-surface); --public-foreground: var(--color-foreground); --public-muted-foreground: var(--color-muted-foreground); --public-accent: var(--color-accent); --public-border: var(--color-border); --public-border-soft: var(--color-border-soft); --public-image-placeholder: #f1f1ed; --public-page-padding: clamp(24px, 4vw, 64px); --public-hero-scale: 1; --paper: var(--public-background); --ink: var(--public-foreground); --muted: var(--public-muted-foreground); --line: var(--public-border); --line-soft: var(--public-border-soft); --image-placeholder: var(--public-image-placeholder); --accent: var(--public-accent); --hero-scale: var(--public-hero-scale); }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { --gallery-gutter: clamp(4px, .55vw, 8px); --photo-grid-gutter: var(--gallery-gutter); --title-header-page-background: var(--paper); --title-header-page-foreground: var(--ink); margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-sans); letter-spacing: 0; }
    a { color: inherit; text-decoration: none; }
    button { color: inherit; font: inherit; }
    img { display: block; height: auto; width: 100%; }
    img[data-public-image-reveal] { pointer-events: none; }
    .public-image-protector { -webkit-touch-callout: none; -webkit-user-select: none; background: transparent; inset: 0; pointer-events: auto; position: absolute; user-select: none; z-index: 2; }
    h1 { margin: 0; font-size: calc(clamp(42px, 8.5vw, 120px) * var(--hero-scale)); line-height: .9; font-weight: 520; letter-spacing: 0; }
    .photo-page { --photo-viewer-info-gap: 8px; --photo-viewer-inline-padding: 18px; --photo-viewer-toolbar-height: 44px; background: #050505; color: #fff; display: grid; grid-template-rows: var(--photo-viewer-toolbar-height) minmax(0, 1fr) var(--photo-viewer-toolbar-height); isolation: isolate; min-height: 100svh; overflow: hidden; position: relative; }
    .photo-page::before { background: rgba(0, 0, 0, .78); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
    .photo-page-background { inset: -36px; overflow: hidden; pointer-events: none; position: absolute; z-index: 0; }
    .photo-page-background::before { background-image: var(--public-photo-placeholder-image); background-position: var(--public-photo-placeholder-position, center); background-size: cover; content: ""; filter: blur(22px) saturate(.78) contrast(.94); inset: -18px; opacity: 0; position: absolute; transform: scale(1.08); transition: opacity 180ms ease-out; z-index: 0; }
    .photo-page-background[data-public-placeholder="ready"]::before { opacity: .9; }
    .photo-page-background picture { display: block; height: 100%; position: relative; width: 100%; z-index: 1; }
    .photo-page-background-image { filter: blur(16px) saturate(.78) contrast(.94); height: 100%; object-fit: cover; opacity: .9; transform: scale(1.05); width: 100%; }
    .photo-page .photo-viewer-topbar { grid-row: 1; }
    .photo-page .photo-viewer-title { text-align: center; }
    .photo-page-portfolio-link { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
    .photo-page-portfolio-caret { flex: 0 0 auto; margin-left: -3px; }
    .photo-page-portfolio-link .photo-viewer-control-label { overflow: hidden; text-overflow: ellipsis; }
    .photo-page-figure { align-items: center; display: grid; grid-row: 2; justify-items: center; margin: 0; min-height: 0; overflow: hidden; padding: 0 var(--photo-viewer-inline-padding); position: relative; z-index: 2; }
    .photo-page-image-shell { --photo-page-image-aspect-ratio: 1; --photo-page-image-border-width: 8px; align-items: center; aspect-ratio: var(--photo-page-image-aspect-ratio); background: #111; border: var(--photo-page-image-border-width) solid #fff; box-sizing: content-box; display: grid; height: min(calc(100svh - (var(--photo-viewer-toolbar-height) * 2) - (var(--photo-page-image-border-width) * 2)), calc((100vw - (var(--photo-viewer-inline-padding) * 2) - (var(--photo-page-image-border-width) * 2)) / var(--photo-page-image-aspect-ratio))); justify-items: center; max-height: 100%; max-width: 100%; min-height: 0; overflow: hidden; position: relative; width: auto; }
    .photo-page-image-shell::before { background-image: var(--public-photo-placeholder-image); background-position: var(--public-photo-placeholder-position, center); background-repeat: no-repeat; background-size: contain; content: ""; filter: blur(12px) saturate(.86) contrast(.92); inset: -12px; opacity: 0; pointer-events: none; position: absolute; transform: scale(1.03); transition: opacity 180ms ease-out; z-index: 0; }
    .photo-page-image-shell[data-public-placeholder="ready"]::before { opacity: .88; }
    .photo-page-image-shell > picture, .photo-page-image-shell > img, .photo-page-image-shell > .sensitive-photo { height: 100%; position: relative; width: 100%; z-index: 1; }
    .photo-page-image-shell > picture { display: block; }
    .photo-page-image { background: #111; border: 0; height: 100%; max-height: none; max-width: none; object-fit: contain; width: 100%; }
    .photo-page-image-protector { cursor: default; }
    .photo-page-image-shell > .sensitive-photo .photo-page-image { height: 100%; max-height: none; max-width: none; width: 100%; }
    .portfolio-gallery-section { --portfolio-gallery-padding-block-start: clamp(40px, 4.5vw, 64px); padding: var(--portfolio-gallery-padding-block-start) var(--public-page-padding) clamp(22px, 3vw, 44px); scroll-margin-top: clamp(24px, 3vw, 48px); }
    .portfolio-gallery-section--compact-text-surface-match { padding-top: max(0px, calc(var(--portfolio-gallery-padding-block-start) - var(--public-page-padding))); }
    .portfolio-gallery-section--title-surface-match { padding-top: var(--gallery-gutter); }
    .portfolio-gallery-section--title-surface-different { padding-top: clamp(24px, 2vw, 32px); }
    @media (min-width: 761px) {
      .portfolio-gallery-section--inset-surface-match { padding-top: calc(var(--portfolio-gallery-padding-block-start) - var(--public-page-padding)); }
    }
    .portfolio-section-heading { font-family: var(--font-sans); font-size: clamp(20px, 1.8vw, 28px); font-style: normal; font-weight: 460; line-height: 1; margin: 0 0 clamp(22px, 2.6vw, 36px); text-transform: none; }
    .portfolio-gallery-grid { align-items: start; display: grid; gap: var(--portfolio-overview-row-gap, clamp(40px, 5vw, 76px)) var(--portfolio-overview-column-gap, clamp(24px, 3vw, 52px)); grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: start; margin-inline: auto; max-width: var(--portfolio-overview-width, 1500px); opacity: 1; transition: opacity 150ms ease-out; width: 100%; }
    .portfolio-gallery-grid--count-1 { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
    .portfolio-gallery-grid--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portfolio-gallery-grid--count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .portfolio-gallery-grid[data-gallery-pagination-transition="leaving"] { opacity: .16; pointer-events: none; }
    .gallery-card { display: grid; gap: 18px; grid-template-rows: auto auto; min-width: 0; position: relative; }
    .gallery-card-media { aspect-ratio: var(--portfolio-thumbnail-ratio, 4 / 3); background: var(--image-placeholder); display: grid; grid-column: 1; grid-row: 1; min-width: 0; overflow: hidden; position: relative; }
    .gallery-card-media::before { background-image: var(--public-photo-placeholder-image); background-position: var(--public-photo-placeholder-position, center); background-size: cover; content: ""; filter: blur(10px); inset: -10px; opacity: .88; position: absolute; transform: scale(1.04); z-index: 0; }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-media { background: var(--paper); }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-media::before { display: none; }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card { pointer-events: none; }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-photo-area {
      bottom: 0;
      display: block;
      height: min(100%, calc(100% / var(--portfolio-thumbnail-photo-ratio, 1.3333333333) / .75));
      left: 50%;
      overflow: hidden;
      pointer-events: auto;
      position: absolute;
      transform: translateX(-50%);
      width: min(100%, calc(100% * var(--portfolio-thumbnail-photo-ratio, 1.3333333333) * .75));
    }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-photo-area > picture,
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-photo-area > .sensitive-photo,
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-photo-area > .sensitive-photo > picture { display: block; height: 100%; width: 100%; }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-photo { display: block; height: 100%; width: 100%; transition: filter 180ms ease-out, transform 180ms ease-out; }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card:hover .gallery-card-photo { transform: none; }
    @media (hover: hover) {
      .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card .gallery-card-photo-area:hover .gallery-card-photo { transform: scale(1.025); }
    }
    @media (prefers-reduced-motion: reduce) {
      .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-photo { transition-duration: 1ms; }
    }
    .portfolio-gallery-grid[data-image-fit="contained"] .gallery-card-copy {
      justify-self: center;
      pointer-events: auto;
      width: min(100%, calc(100% * var(--portfolio-thumbnail-photo-ratio, 1.3333333333) * .75));
    }
    .portfolio-gallery-grid[data-image-fit="justified"] { display: flex; flex-wrap: wrap; align-items: flex-start; }
    .portfolio-gallery-grid[data-image-fit="justified"] > .gallery-card { --portfolio-thumbnail-ratio: var(--justified-photo-ratio); flex: 0 0 var(--justified-photo-width); min-width: 0; }
    .portfolio-gallery-grid[data-image-fit="justified"] .gallery-card-media { width: 100%; background-color: transparent; }
    .portfolio-gallery-grid[data-image-fit="justified"] .gallery-card-media::before { display: none; }
    .portfolio-gallery-grid[data-image-fit="justified"] .gallery-card-photo { transition: filter 180ms ease-out, transform 180ms ease-out; }
    .portfolio-gallery-grid[data-image-fit="justified"] .gallery-card:hover .gallery-card-photo { transform: none; }
    @media (hover: hover) {
      .portfolio-gallery-grid[data-image-fit="justified"] .gallery-card .gallery-card-media:hover .gallery-card-photo { transform: scale(1.025); }
    }
    @media (prefers-reduced-motion: reduce) {
      .portfolio-gallery-grid[data-image-fit="justified"] .gallery-card-photo { transition-duration: 1ms; }
    }
    .portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="1"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-1); }
.portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="2"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-2); }
.portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="3"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-3); }
    @media (min-width: 761px) and (max-width: 1160px) { .portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="3"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-2); } }
    @media (max-width: 760px) { .portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="1"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-1); }
.portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="2"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-1); }
.portfolio-gallery-grid[data-image-fit="justified"][data-overview-columns="3"] > .gallery-card { --justified-photo-width: var(--justified-photo-width-1); } }
    .gallery-card[hidden] { display: none; }
    .gallery-card:focus-visible { outline: 1px solid var(--ink); outline-offset: 5px; }
    .gallery-card-photo { aspect-ratio: var(--portfolio-thumbnail-ratio, 4 / 3); background: transparent; grid-column: 1; grid-row: 1; height: 100%; object-fit: var(--portfolio-thumbnail-fit, cover); position: relative; transition: filter 180ms ease-out, transform 180ms ease-out; z-index: 1; }
    .gallery-card-empty { aspect-ratio: var(--portfolio-thumbnail-ratio, 4 / 3); background: var(--image-placeholder); border: 1px solid var(--line-soft); grid-column: 1; grid-row: 1; position: relative; z-index: 1; }
    .gallery-card-copy { display: grid; grid-column: 1; grid-row: 2; min-width: 0; }
    .gallery-card-title { color: var(--ink); font-family: var(--font-sans); font-size: clamp(17px, 1.2vw, 20px); font-style: normal; font-weight: 430; line-height: 1.18; overflow-wrap: anywhere; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: .14em; text-transform: none; transition: text-decoration-color 160ms ease-out; }
    .gallery-card-lock { color: var(--muted); font-size: 11px; letter-spacing: 0; line-height: 1.2; text-transform: uppercase; }
    .gallery-card:focus-visible .gallery-card-photo { filter: brightness(.93); }
    .gallery-card:focus-visible .gallery-card-title { text-decoration-line: underline; text-decoration-color: currentColor; }
    .gallery-password-gate { --cover-title-boost: 1.2; align-content: center; align-items: center; background: #050505; color: #fff; display: grid; isolation: isolate; justify-items: center; min-height: 100svh; overflow: hidden; padding: clamp(24px, 4vw, 72px); position: relative; }
    .gallery-password-cover-photo, .gallery-password-cover-empty { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; z-index: -3; }
    .gallery-password-cover-empty { background: var(--image-placeholder); }
    .gallery-password-image-protector { z-index: -1; }
    .gallery-password-scrim { background: radial-gradient(circle at center, rgba(0,0,0,.74) 0%, rgba(0,0,0,.62) 32%, rgba(0,0,0,.44) 68%, rgba(0,0,0,.52) 100%); inset: 0; position: absolute; z-index: -2; }
    .gallery-password-panel { --gallery-password-copy-gap: clamp(8px, 1.2vw, 14px); align-items: center; display: grid; gap: var(--gallery-password-copy-gap); justify-items: center; max-width: min(760px, 100%); text-align: center; width: 100%; }
    .gallery-password-gate-copy { display: contents; }
    .gallery-password-form { display: grid; gap: 10px; margin-top: clamp(10px, 1.2vw, 18px); max-width: 620px; text-align: left; width: min(100%, 620px); }
    .gallery-password-row { align-items: stretch; background: rgba(0,0,0,.54); border: 1px solid rgba(255,255,255,.62); display: grid; grid-template-columns: minmax(0, 1fr) minmax(116px, auto); transition: background-color 160ms ease-out, border-color 160ms ease-out, box-shadow 160ms ease-out, transform 160ms ease-out; }
    .gallery-password-row:focus-within { border-color: #fff; box-shadow: 0 0 0 1px #fff; }
    .gallery-password-row[data-unlock-state="error"] { animation: gallery-password-error 260ms cubic-bezier(.3, .8, .3, 1); border-color: rgba(255,255,255,.96); box-shadow: 0 0 0 1px rgba(255,255,255,.96); }
    .gallery-password-row[data-unlock-state="success"] { animation: gallery-password-success 220ms cubic-bezier(.2, .7, .2, 1) both; background: rgba(255,255,255,.1); border-color: #fff; box-shadow: 0 0 0 1px #fff; }
    .gallery-password-form input { background: transparent; border: 0; color: #fff; font: inherit; min-height: 54px; min-width: 0; outline: 0; padding: 0 18px; width: 100%; }
    .gallery-password-form input::placeholder { color: rgba(255,255,255,.62); }
    .gallery-password-form button { background: #fff; border: 0; color: #050505; cursor: pointer; font: inherit; min-height: 54px; padding: 0 clamp(20px, 2.4vw, 32px); transition: background-color 160ms ease-out, color 160ms ease-out; }
    .gallery-password-form button:disabled { cursor: progress; opacity: .68; }
    .gallery-password-form button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
    .gallery-password-error { color: #fff; font-size: 13px; line-height: 1.4; }
    .gallery-pagination { align-items: center; display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin: 0 auto; max-width: 1500px; padding: clamp(44px, 6vw, 80px) 0 clamp(14px, 2vw, 28px); }
    .gallery-pagination[hidden] { display: none; }
    .gallery-pagination button { align-items: center; background: transparent; background-clip: padding-box; border: 1px solid transparent; box-sizing: border-box; color: var(--muted); cursor: pointer; display: inline-flex; font-size: 14px; font-weight: 400; justify-content: center; line-height: 1; min-height: 42px; min-width: 42px; padding: 0 10px; transition: background-color 160ms ease-out, border-color 160ms ease-out, color 160ms ease-out; }
    .gallery-pagination button[hidden] { display: none; }
    .gallery-pagination button[aria-current="page"] { background: var(--ink); border-color: transparent; color: var(--paper); }
    .gallery-pagination .gallery-pagination-previous, .gallery-pagination .gallery-pagination-next { font-size: 0; line-height: 1; padding: 0; }
    .gallery-pagination .gallery-pagination-previous::before, .gallery-pagination .gallery-pagination-next::before { border: solid currentColor; border-width: 0 1.15px 1.15px 0; content: ""; display: block; height: 7px; width: 7px; }
    .gallery-pagination .gallery-pagination-previous::before { transform: translateX(2px) rotate(135deg); }
    .gallery-pagination .gallery-pagination-next::before { transform: translateX(-2px) rotate(-45deg); }
    .portfolio-details { padding: 0 var(--public-page-padding) clamp(18px, 2.5vw, 36px); }
    .portfolio-details-inner { margin-inline: auto; max-width: 1500px; width: 100%; }
    @media (min-width: 1121px) {
      .portfolio-gallery-section--before-contact { padding-bottom: var(--public-page-padding); }
      .portfolio-gallery-section--before-contact-with-pagination { padding-bottom: 0; }
      .portfolio-gallery-section--before-contact-with-pagination + .gallery-pagination { padding-bottom: clamp(28px, 2.5vw, 36px); }
      .portfolio-details { padding-bottom: var(--public-page-padding); }
    }
    .portfolio-about, .portfolio-gear, .portfolio-contact { --portfolio-content-rail-width: 520px; align-content: start; display: grid; gap: 16px clamp(24px, 3vw, 52px); min-width: 0; padding: clamp(28px, 3.2vw, 46px) 0; }
    .portfolio-about-heading, .portfolio-contact-heading { font-family: var(--font-sans); font-size: clamp(20px, 1.8vw, 28px); font-style: normal; font-weight: 460; line-height: 1; margin: 0; text-transform: none; }
    .portfolio-gear--short { padding-block: clamp(16px, 2vw, 24px); }
    .portfolio-gear-content { min-width: 0; width: min(100%, 660px); }
    .portfolio-gear-toggle { display: block; width: fit-content; margin-top: 20px; padding: 10px 0; border: 0; background: none; color: var(--muted); font: inherit; font-size: 14px; cursor: pointer; text-underline-offset: 4px; }
    .portfolio-gear-toggle:hover { color: var(--ink); text-decoration: underline; }
    .portfolio-gear-toggle:focus-visible { outline: 1px solid var(--ink); outline-offset: 4px; }
    .portfolio-gear-toggle[hidden], .portfolio-gear-list > li[hidden] { display: none; }
    .portfolio-gear-icon { color: var(--muted); display: inline-flex; flex: none; margin-top: 2px; }
    .portfolio-gear-category-icon { width: 18px; height: 18px; flex: none; }
    .portfolio-gear-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 16px 32px; min-width: 0; }
    .portfolio-gear-list li { min-width: 0; overflow-wrap: anywhere; }
    .portfolio-gear-list h3 { display: flex; align-items: flex-start; gap: 10px; font: inherit; font-size: 15px; font-weight: 450; line-height: 1.5; margin: 0; }
    .portfolio-gear-list p { font-size: 14px; line-height: 1.65; margin: 6px 0 0 28px; color: var(--muted); }
    .portfolio-about-body { color: var(--ink); font-size: 15px; line-height: 1.65; margin: 0; max-width: var(--portfolio-content-rail-width); width: min(100%, var(--portfolio-content-rail-width)); white-space: pre-line; }
    .portfolio-contact-copy { align-content: start; display: grid; gap: 16px; }
    .portfolio-contact-introduction { color: var(--muted); font-size: 15px; line-height: 1.55; margin: 0; max-width: 32ch; white-space: pre-line; }
    .contact-form { --contact-form-border: rgb(0 0 0 / 18%); align-content: start; display: grid; max-width: var(--portfolio-content-rail-width); width: min(100%, var(--portfolio-content-rail-width)); }
    body[data-public-theme="dark"] .contact-form { --contact-form-border: rgb(255 255 255 / 18%); }
    .contact-form form { display: grid; gap: 13px; }
    .contact-form label { color: var(--ink); display: grid; gap: 8px; font-size: 13px; font-weight: 450; }
    .contact-form input, .contact-form textarea { background: var(--paper); border: 1px solid var(--contact-form-border); color: var(--ink); font: inherit; padding: 13px 12px; transition: border-color 140ms ease-out; width: 100%; }
    .contact-form textarea { min-height: 132px; resize: vertical; }
    .contact-form input:focus-visible, .contact-form textarea:focus-visible { border-color: var(--ink); outline: 0; }
    .contact-form button:focus-visible { color: var(--paper); outline: 2px solid var(--ink); outline-offset: 3px; }
    .contact-form button:focus-visible::before { transform: translateY(0); }
    .contact-form button { background: transparent; border: 0; color: var(--ink); cursor: pointer; font-size: 14px; font-weight: 420; isolation: isolate; justify-self: start; min-height: 44px; outline: 1px solid var(--contact-form-border); outline-offset: -1px; overflow: hidden; padding: 0 19px; position: relative; transition: color 160ms ease-out; }
    .contact-form button::before { background: var(--ink); content: ""; inset: 0; position: absolute; transform: translateY(100%); transition: transform 180ms ease-out; z-index: -1; }
    .contact-form button:disabled { cursor: progress; opacity: .58; }
    .contact-form-trap { left: -10000px; position: absolute; }
    .contact-form-status { border: 1px solid var(--contact-form-border); border-left: 3px solid var(--ink); color: var(--ink); font-size: 14px; font-weight: 450; line-height: 1.45; margin: 1px 0 0; min-height: 44px; padding: 11px 12px 10px; }
    .contact-form-status[data-contact-status-state="error"] { border-color: var(--ink); }
    .contact-form-status:empty { display: none; }
    .public-brand-footer { background: var(--paper); color: var(--ink); padding: max(0px, calc(clamp(26px, 3vw, 42px) - var(--photo-grid-gutter))) var(--public-page-padding) clamp(26px, 3vw, 42px); }
    .public-brand-footer-inner { align-items: center; display: grid; gap: 10px 18px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); min-width: 0; width: 100%; }
    .public-brand-footer--paid .public-brand-footer-inner { grid-template-columns: 1fr; text-align: center; }
    .public-brand-footer--paid.public-brand-footer--has-links .public-brand-footer-inner { grid-template-columns: minmax(0, 1fr) auto; text-align: left; }
    .public-brand-footer a { align-items: center; color: var(--muted); display: inline-flex; flex: 0 0 auto; }
    .portfolio-footer-links { align-items: center; column-gap: 14px; display: flex; flex-wrap: wrap; grid-column: 2; justify-content: center; justify-self: center; max-width: min(44vw, 528px); min-width: 0; row-gap: 4px; }
    .portfolio-footer-links a { min-height: 40px; transition: color 160ms ease-out; }
    .portfolio-footer-profile-link { justify-content: center; width: 40px; }
    .portfolio-social-icons { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; justify-content: inherit; }
    .portfolio-footer-links svg { display: block; flex: 0 0 auto; height: 20px; width: 20px; }
    .portfolio-social-icon--threads, .portfolio-social-icon--x { transform: scale(1.06); }
    .portfolio-website-link { font-size: 13px; line-height: 1.25; max-width: min(40vw, 320px); padding: 0 4px; text-decoration: none; }
    .portfolio-website-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .public-brand-footer-made { align-items: center; color: var(--muted); display: inline-flex; flex: 0 0 auto; flex-wrap: nowrap; font-size: 12px; font-weight: 400; gap: 10px; grid-column: 3; justify-content: flex-end; justify-self: end; line-height: 1; }
    .public-brand-footer-notice { color: var(--muted); font-size: 12px; font-weight: 400; grid-column: 1; justify-self: start; line-height: 1.35; margin: 0; min-width: 0; overflow-wrap: anywhere; }
    .public-brand-footer--paid .public-brand-footer-notice { justify-self: center; }
    .public-brand-footer--paid.public-brand-footer--has-links .public-brand-footer-notice { justify-self: start; }
    .public-brand-footer--paid .portfolio-footer-links { justify-content: flex-end; justify-self: end; max-width: min(55vw, 640px); }
    .public-brand-logo { color: var(--ink); display: block; flex: 0 0 auto; height: 15.5px; transform: translateY(-0.5px); width: 88px; }
    .gallery-card:focus-visible, .gallery-pagination button:focus-visible, .cover-hero-copy a:focus-visible, .gallery-portfolio-link:focus-visible, .cover-scroll-link:focus-visible, .portfolio-footer-links a:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
    .gallery-card:active .gallery-card-photo { filter: contrast(1.04); }
    @media (hover: hover) and (pointer: fine) {
      .gallery-card:hover .gallery-card-photo { transform: scale(1.025); }
      .gallery-card:hover .gallery-card-title { text-decoration-line: underline; text-decoration-color: currentColor; }
      .gallery-photo-button:hover img { transform: scale(1.025); }
      .gallery-password-row:hover { background: rgba(0,0,0,.66); border-color: rgba(255,255,255,.82); }
      .gallery-password-form button:hover { background: rgba(255,255,255,.9); color: #050505; }
      .gallery-pagination button:not([aria-current="page"]):hover { border-color: var(--line); color: var(--ink); }
      .contact-form button:hover { color: var(--paper); }
      .contact-form button:hover::before { transform: translateY(0); }
      .contact-form button:disabled:hover { color: var(--ink); }
      .contact-form button:disabled:hover::before { transform: translateY(100%); }
      .portfolio-footer-links a:hover { color: var(--ink); }
    }
    html[data-gallery-transition="entering"]:not([data-cover-image="loading"]) .cover-hero-photo { animation: gallery-page-enter 160ms ease-out both; }
    .cover-hero { --cover-button-offset: clamp(4px, .6vw, 10px); --cover-content-min-height: 0px; --cover-identity-gap: clamp(10px, 1vw, 12px); --cover-loading-background: var(--image-placeholder); --cover-padding-block-start: clamp(22px, 4vw, 64px); --cover-padding-block-end: clamp(22px, 4vw, 64px); --cover-padding-inline-end: clamp(22px, 4vw, 64px); --cover-padding-inline-start: clamp(22px, 4vw, 64px); --cover-scroll-hit-slop: 12px; --cover-stack-gap: clamp(14px, 2vw, 24px); --cover-text-gap: clamp(10px, 1.4vw, 18px); --cover-title-boost: 1.2; align-items: end; background: var(--cover-loading-background); color: #ffffff; display: grid; height: max(var(--cover-height, 80svh), var(--cover-content-min-height)); min-height: 0; overflow: hidden; padding: var(--cover-padding-block-start) var(--cover-padding-inline-end) var(--cover-padding-block-end) var(--cover-padding-inline-start); position: relative; text-align: left; }
    .cover-hero--style-full.cover-hero--text-white { --cover-loading-background: #171717; }
    .cover-hero--style-full.cover-hero--text-black { --cover-loading-background: #f1f1ed; }
    .cover-hero--height-30 { height: max(30svh, 240px, var(--cover-content-min-height)); }
    .cover-hero--height-80 { height: max(80svh, 520px, var(--cover-content-min-height)); }
    .cover-hero--height-100 { --cover-button-offset: clamp(8px, .9vw, 14px); --cover-stack-gap: clamp(18px, 2.4vw, 32px); --cover-text-gap: clamp(12px, 1.7vw, 22px); height: max(100svh, 640px, var(--cover-content-min-height)); }
    .cover-hero--height-30 { --cover-button-offset: clamp(2px, .35vw, 6px); --cover-stack-gap: clamp(8px, .8vw, 12px); --cover-text-gap: clamp(6px, .7vw, 10px); }
    .cover-hero--layout-compact { --cover-padding-block-start: clamp(18px, 2.6vw, 34px); height: max(var(--cover-height, 30svh), 240px, var(--cover-content-min-height)); padding-block: var(--cover-padding-block-start); }
    .cover-hero--gallery.cover-hero--layout-compact:not(.cover-hero--style-split) { height: max(var(--cover-height, 30svh), clamp(280px, 38svh, 340px), var(--cover-content-min-height)); }
    .cover-hero--layout-compact.cover-hero--position-center { padding-block: clamp(18px, 2.6vw, 34px); }
    img[data-public-image-reveal][data-image-reveal="delayed"] { opacity: 0; }
    img[data-public-image-reveal][data-image-reveal="ready"] { opacity: 1; transition: opacity 180ms ease-out, transform 180ms ease-out; }
    .cover-hero-placeholder-frame { height: 100%; inset: 0; overflow: hidden; pointer-events: none; position: absolute; width: 100%; z-index: 0; }
    .cover-hero-placeholder-image, .gallery-password-gate::before { background-image: var(--cover-placeholder-image); background-position: var(--cover-placeholder-position, center); background-size: cover; filter: blur(18px); inset: -18px; opacity: .9; pointer-events: none; position: absolute; transform: scale(1.04); transition: opacity 180ms ease-out; }
    .gallery-password-gate::before { content: ""; z-index: -4; }
    html[data-cover-placeholder="loading"] .cover-hero-placeholder-image, html[data-cover-placeholder="loading"] .gallery-password-gate::before { opacity: 0; }
    html[data-cover-image="ready"] .cover-hero-placeholder-image, html[data-cover-image="ready"] .gallery-password-gate::before { opacity: 0; transition: opacity 220ms ease-out; }
    .cover-hero-photo, .cover-hero-empty { background: var(--image-placeholder); height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; z-index: 0; }
    .cover-hero-image-protector { z-index: 1; }
    html[data-cover-image="loading"] .cover-hero-photo, html[data-cover-image="loading"] .gallery-password-cover-photo,
    html[data-cover-image="error"] .cover-hero-photo, html[data-cover-image="error"] .gallery-password-cover-photo { opacity: 0; }
    html[data-cover-image="ready"] .cover-hero-photo, html[data-cover-image="ready"] .gallery-password-cover-photo { opacity: 1; transition: opacity 220ms ease-out; }
    .cover-hero-empty { background: var(--image-placeholder); }
    .cover-hero::after { content: ""; inset: 0; opacity: 1; pointer-events: none; position: absolute; transition: opacity 180ms ease-out; z-index: 1; }
    html[data-cover-visual="loading"] .cover-hero::after { opacity: 0; }
    .cover-hero--dim-gradient-light.cover-hero--scrim-black::after { background: linear-gradient(to top, rgba(0, 0, 0, .58), rgba(0, 0, 0, .22) 30%, rgba(0, 0, 0, 0) 52%); }
    .cover-hero--dim-gradient-light.cover-hero--scrim-white::after { background: linear-gradient(to top, rgba(255, 255, 255, .58), rgba(255, 255, 255, .22) 30%, rgba(255, 255, 255, 0) 52%); }
    .cover-hero--dim-gradient-top-light.cover-hero--scrim-black::after { background: linear-gradient(to bottom, rgba(0, 0, 0, .58), rgba(0, 0, 0, .22) 30%, rgba(0, 0, 0, 0) 52%); }
    .cover-hero--dim-gradient-top-light.cover-hero--scrim-white::after { background: linear-gradient(to bottom, rgba(255, 255, 255, .58), rgba(255, 255, 255, .22) 30%, rgba(255, 255, 255, 0) 52%); }
    .cover-hero--dim-full-light.cover-hero--scrim-black::after { background: rgba(0, 0, 0, .34); }
      .cover-hero--dim-full-light.cover-hero--scrim-white::after { background: rgba(255, 255, 255, .34); }
    .cover-hero--dim-gradient.cover-hero--scrim-black::after, .cover-hero--dim-gradient-strong.cover-hero--scrim-black::after { background: linear-gradient(to top, rgba(0, 0, 0, .82), rgba(0, 0, 0, .46) 32%, rgba(0, 0, 0, 0) 62%); }
    .cover-hero--dim-gradient.cover-hero--scrim-white::after, .cover-hero--dim-gradient-strong.cover-hero--scrim-white::after { background: linear-gradient(to top, rgba(255, 255, 255, .82), rgba(255, 255, 255, .46) 32%, rgba(255, 255, 255, 0) 62%); }
    .cover-hero--dim-gradient-top.cover-hero--scrim-black::after, .cover-hero--dim-gradient-top-strong.cover-hero--scrim-black::after { background: linear-gradient(to bottom, rgba(0, 0, 0, .82), rgba(0, 0, 0, .46) 32%, rgba(0, 0, 0, 0) 62%); }
    .cover-hero--dim-gradient-top.cover-hero--scrim-white::after, .cover-hero--dim-gradient-top-strong.cover-hero--scrim-white::after { background: linear-gradient(to bottom, rgba(255, 255, 255, .82), rgba(255, 255, 255, .46) 32%, rgba(255, 255, 255, 0) 62%); }
    .cover-hero--dim-full.cover-hero--scrim-black::after, .cover-hero--dim-full-strong.cover-hero--scrim-black::after { background: rgba(0, 0, 0, .70); }
      .cover-hero--dim-full.cover-hero--scrim-white::after, .cover-hero--dim-full-strong.cover-hero--scrim-white::after { background: rgba(255, 255, 255, .70); }
      .cover-hero--dim-none::after { content: none; }
      .cover-hero--text-black { color: #050505; }
      .cover-hero--text-white { color: #ffffff; }
      .cover-hero--text-auto { color: #050505; }
      .cover-hero--text-black { --cover-gallery-link-fill: #050505; --cover-gallery-link-hover-color: #ffffff; }
      .cover-hero--text-white { --cover-gallery-link-fill: #ffffff; --cover-gallery-link-hover-color: #050505; }
      .cover-hero--text-auto { --cover-gallery-link-fill: #050505; --cover-gallery-link-hover-color: #ffffff; }
      .cover-hero--style-split { --split-half-gap: calc(var(--public-page-padding) / 2); --split-panel-border: rgb(0 0 0 / 14%); --split-panel-inset: clamp(18px, 2.8vw, 44px); --split-panel-padding: clamp(24px, 4vw, 62px); --split-panel-width: calc(50% + var(--split-half-gap)); --split-image-width: calc(50% - var(--split-half-gap)); background: var(--portfolio-background-light, #ffffff); color: #050505; grid-template-columns: minmax(0, var(--split-panel-width)) minmax(0, 1fr); padding: 0; }
      @media (min-width: 761px) {
        .cover-hero--style-split:not(.cover-hero--layout-compact) { --split-panel-inset: var(--public-page-padding); }
        .cover-hero--style-text:not(.cover-hero--layout-compact) { --text-panel-inset: var(--public-page-padding); --text-panel-padding-block: var(--public-page-padding); --text-panel-padding-inline: var(--public-page-padding); }
      }
      .cover-hero--style-text { --text-panel-border: rgb(0 0 0 / 14%); --text-panel-inset: clamp(18px, 2.8vw, 44px); --text-panel-padding-block: clamp(24px, 4vw, 62px); --text-panel-padding-inline: var(--text-panel-padding-block); background: var(--portfolio-background-light, #ffffff); color: #050505; padding: 0; }
      .cover-hero--style-text.cover-hero--text-white { --text-panel-border: rgb(255 255 255 / 18%); background: var(--portfolio-background-dark, #050505); color: #ffffff; }
      .cover-hero--style-text.cover-hero--text-auto { background: var(--portfolio-background-light, #ffffff); color: #050505; }
      .cover-hero--style-split.cover-hero--text-black { background: var(--portfolio-background-light, #ffffff); color: #050505; }
      .cover-hero--style-split.cover-hero--text-white { --split-panel-border: rgb(255 255 255 / 18%); background: var(--portfolio-background-dark, #050505); color: #ffffff; }
      .cover-hero--style-split.cover-hero--text-auto { background: var(--portfolio-background-light, #ffffff); color: #050505; }
      .cover-hero--height-30.cover-hero--style-text { background: var(--portfolio-background-light, #ffffff); border-bottom: 0; }
      .cover-hero--style-split.cover-hero--layout-compact { background: var(--portfolio-background-light, #ffffff); border-bottom: 0; }
      .cover-hero--style-split.cover-hero--text-black.cover-hero--layout-compact { background: var(--portfolio-background-light, #ffffff); }
      .cover-hero--height-30.cover-hero--text-black.cover-hero--style-text,
      .cover-hero--height-30.cover-hero--text-auto.cover-hero--style-text { background: var(--portfolio-background-light, #ffffff); }
      .cover-hero--height-30.cover-hero--text-white.cover-hero--style-text,
      .cover-hero--style-split.cover-hero--text-white.cover-hero--layout-compact { background: var(--portfolio-background-dark, #050505); }
      .cover-hero--height-30.cover-hero--style-text.cover-hero--text-black.cover-hero--header-surface-match,
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-black.cover-hero--header-surface-match,
      .cover-hero--height-30.cover-hero--style-text.cover-hero--text-auto.cover-hero--header-surface-match,
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-auto.cover-hero--header-surface-match { background: var(--paper); border-bottom: 1px solid var(--line); }
      .cover-hero--height-30.cover-hero--style-text.cover-hero--text-black.cover-hero--header-surface-match,
      .cover-hero--height-30.cover-hero--style-text.cover-hero--text-auto.cover-hero--header-surface-match { background: var(--paper); border-bottom: 0; }
      .cover-hero--height-30.cover-hero--style-text.cover-hero--text-white.cover-hero--header-surface-match,
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-white.cover-hero--header-surface-match { background: var(--paper); border-bottom: 0; }
      .cover-hero--style-split.cover-hero--layout-compact { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; }
      .cover-hero--style-split::after,
      .cover-hero--style-text::after { content: none; }
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-black.cover-hero--header-surface-match,
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-white.cover-hero--header-surface-match,
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-auto.cover-hero--header-surface-match { border-bottom: 0; }
      .cover-hero--style-text .cover-hero-photo,
      .cover-hero--style-text .cover-hero-empty,
      .cover-hero--style-text > .sensitive-photo,
      .cover-hero--style-title .cover-hero-placeholder-frame,
      .cover-hero--style-title .cover-hero-photo,
      .cover-hero--style-title .cover-hero-empty,
      .cover-hero--style-title > .cover-hero-image-protector,
      .cover-hero--style-title > .sensitive-photo { display: none; }
      .cover-hero--style-split .cover-hero-placeholder-frame,
      .cover-hero--style-split .cover-hero-photo,
      .cover-hero--style-split .cover-hero-empty,
      .cover-hero--style-split > .cover-hero-image-protector,
      .cover-hero--style-split > .sensitive-photo { height: calc(100% - (var(--split-panel-inset) * 2)); inset: var(--split-panel-inset) var(--split-panel-inset) var(--split-panel-inset) auto; position: absolute; width: calc(var(--split-image-width) - var(--split-panel-inset)); }
      .cover-hero--style-split.cover-hero--layout-compact .cover-hero-placeholder-frame,
      .cover-hero--style-split.cover-hero--layout-compact .cover-hero-photo,
      .cover-hero--style-split.cover-hero--layout-compact .cover-hero-empty,
      .cover-hero--style-split.cover-hero--layout-compact > .cover-hero-image-protector,
      .cover-hero--style-split.cover-hero--layout-compact > .sensitive-photo { height: 100%; inset: 0 0 0 auto; width: var(--split-image-width); }
      .cover-hero--style-split .cover-hero-copy { align-self: center; grid-column: 1; padding: clamp(28px, 5vw, 86px); width: 100%; }
      .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-copy { align-content: center; align-self: stretch; background: var(--portfolio-background-light, #ffffff); height: calc(100% - (var(--split-panel-inset) * 2)); margin: var(--split-panel-inset); outline: 1px solid var(--split-panel-border); outline-offset: 0; padding: var(--split-panel-padding); width: calc(100% - (var(--split-panel-inset) * 2)); }
      .cover-hero--style-split.cover-hero--text-white:not(.cover-hero--layout-compact) .cover-hero-copy { background: var(--portfolio-background-dark, #050505); }
      .cover-hero--style-split.cover-hero--layout-compact .cover-hero-copy { align-content: center; align-self: stretch; background: var(--portfolio-background-light, #ffffff); height: 100%; justify-self: stretch; max-width: 100%; padding: var(--cover-padding-inline-start); width: 100%; }
      .cover-hero--style-split.cover-hero--text-black.cover-hero--layout-compact .cover-hero-copy { background: var(--portfolio-background-light, #ffffff); }
      .cover-hero--style-split.cover-hero--text-white.cover-hero--layout-compact .cover-hero-copy { background: var(--portfolio-background-dark, #050505); }
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-black.cover-hero--header-surface-match .cover-hero-copy,
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-auto.cover-hero--header-surface-match .cover-hero-copy { background: var(--paper); }
      .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-white.cover-hero--header-surface-match .cover-hero-copy { background: var(--paper); }
      .cover-hero--style-split .cover-hero-text { max-width: min(100%, 620px); }
      .cover-hero--style-split.cover-hero--gallery .cover-hero-text { align-content: center; align-self: center; height: max-content; }
    .cover-hero--style-split .cover-hero-copy h1,
    .cover-hero--style-split .public-cover-title { max-width: min(var(--cover-title-width, 18ch), 100%); }
    .cover-hero-copy { animation: cover-copy-reveal 520ms cubic-bezier(.2, .7, .2, 1) 120ms both; display: grid; gap: var(--cover-stack-gap); min-width: 0; position: relative; width: min(70vw, 900px); max-width: 100%; z-index: 2; }
      html[data-cover-font="loading"] .cover-hero-copy, html[data-cover-image="loading"] .cover-hero-copy { animation: none; opacity: 0; transform: none; }
    .cover-hero[data-cover-fitting="true"] .cover-hero-copy,
    .cover-hero[data-cover-fitting="true"] .cover-hero-text { transform: none !important; }
    .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-copy { animation: none; }
      html[data-cover-font="loading"] .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-copy, html[data-cover-image="loading"] .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-copy { opacity: 1; transform: none; }
	    .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-text { animation: cover-copy-reveal 520ms cubic-bezier(.2, .7, .2, 1) 120ms both; }
	      html[data-cover-font="loading"] .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-text, html[data-cover-image="loading"] .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-text { animation: none; opacity: 0; transform: none; }
    .cover-hero--style-split.cover-hero--layout-compact .cover-hero-copy { animation: none; }
      html[data-cover-font="loading"] .cover-hero--style-split.cover-hero--layout-compact .cover-hero-copy, html[data-cover-image="loading"] .cover-hero--style-split.cover-hero--layout-compact .cover-hero-copy { opacity: 1; transform: none; }
	    .cover-hero--style-split.cover-hero--layout-compact .cover-hero-text { animation: cover-copy-reveal 520ms cubic-bezier(.2, .7, .2, 1) 120ms both; }
	      html[data-cover-font="loading"] .cover-hero--style-split.cover-hero--layout-compact .cover-hero-text, html[data-cover-image="loading"] .cover-hero--style-split.cover-hero--layout-compact .cover-hero-text { animation: none; opacity: 0; transform: none; }
      .cover-hero--style-text .cover-hero-copy { align-self: stretch; animation: none; display: flex; height: 100%; padding: clamp(22px, 4vw, 64px); width: 100%; }
      .cover-hero--style-text:not(.cover-hero--layout-compact) .cover-hero-copy { background: var(--portfolio-background-light, #ffffff); height: calc(100% - (var(--text-panel-inset) * 2)); margin: var(--text-panel-inset); outline: 1px solid var(--text-panel-border); outline-offset: -1px; padding: var(--text-panel-padding-block) var(--text-panel-padding-inline); width: calc(100% - (var(--text-panel-inset) * 2)); }
      .cover-hero--style-text:not(.cover-hero--layout-compact).cover-hero--position-top-left { padding-top: 0; }
      .cover-hero--style-text.cover-hero--text-white:not(.cover-hero--layout-compact) .cover-hero-copy { background: var(--portfolio-background-dark, #050505); }
      .cover-hero--style-text .cover-hero-text { animation: cover-copy-reveal 520ms cubic-bezier(.2, .7, .2, 1) 120ms both; align-self: center; width: min(70vw, 860px, 100%); }
      .cover-hero--style-text.cover-hero--layout-compact .cover-hero-copy { padding: var(--public-page-padding); }
      .cover-hero--style-text.cover-hero--position-top-left .cover-hero-text { align-self: flex-start; }
      .cover-hero--style-text.cover-hero--position-bottom-left .cover-hero-text { align-self: flex-end; }
      .cover-hero--style-text.cover-hero--position-center,
      .cover-hero--style-text.cover-hero--position-center-high,
      .cover-hero--style-text.cover-hero--position-center-low { justify-items: center; text-align: center; }
      .cover-hero--style-text.cover-hero--position-center .cover-hero-copy,
      .cover-hero--style-text.cover-hero--position-center-high .cover-hero-copy,
      .cover-hero--style-text.cover-hero--position-center-low .cover-hero-copy { justify-content: center; }
      .cover-hero--style-text.cover-hero--position-center .cover-hero-text,
      .cover-hero--style-text.cover-hero--position-center-high .cover-hero-text,
      .cover-hero--style-text.cover-hero--position-center-low .cover-hero-text { justify-items: center; }
      .cover-hero--style-text.cover-hero--position-center-high .cover-hero-text,
      .cover-hero--style-text.cover-hero--position-center-low .cover-hero-text { align-self: center; margin: 0; }
      .cover-hero--height-30.cover-hero--style-text.cover-hero--font-minimal.cover-hero--title-medium { --cover-text-gap: clamp(12px, 1vw, 14px); }
      html[data-cover-font="loading"] .cover-hero--style-text .cover-hero-copy, html[data-cover-image="loading"] .cover-hero--style-text .cover-hero-copy { opacity: 1; transform: none; }
      html[data-cover-font="loading"] .cover-hero--style-text .cover-hero-text, html[data-cover-image="loading"] .cover-hero--style-text .cover-hero-text { animation: none; opacity: 0; transform: none; }
	    .cover-hero-text { display: grid; gap: var(--cover-text-gap); min-width: 0; max-width: min(70vw, 860px, 100%); }
    .portfolio-cover-identity { display: grid; gap: var(--cover-identity-gap); justify-items: start; min-width: 0; }
    .public-portfolio-logo { display: block; object-fit: contain; object-position: left center; }
    .cover-hero--style-title .public-portfolio-logo[data-logo-contrast="inverted"],
    .cover-hero--style-text .public-portfolio-logo[data-logo-contrast="inverted"],
    .cover-hero--style-split .public-portfolio-logo[data-logo-contrast="inverted"] { filter: invert(1); }
    .public-portfolio-logo[data-logo-panel-tone="black"] { mix-blend-mode: multiply; }
    .public-portfolio-logo[data-logo-panel-tone="white"] { mix-blend-mode: screen; }
    .portfolio-cover-identity .public-portfolio-logo { height: calc(clamp(42px, 8vw, 92px) * var(--portfolio-logo-scale, 1)); width: calc(clamp(92px, 14vw, 190px) * var(--portfolio-logo-scale, 1)); max-width: 100%; }
    .portfolio-cover-identity--logo_and_name .public-portfolio-logo { width: calc(clamp(72px, 9vw, 132px) * var(--portfolio-logo-scale, 1)); }
    .cover-hero--font-architecture .portfolio-cover-identity--logo_and_name { gap: clamp(12px, 1vw, 14px); }
    .cover-hero--font-documentary .portfolio-cover-identity--logo_and_name { gap: clamp(14px, 1.2vw, 16px); }
    img[data-public-image-reveal], .public-portfolio-logo { -webkit-user-drag: none; -webkit-user-select: none; user-select: none; }
    .cover-hero--font-minimal { --cover-heading-font: Inter, ui-sans-serif, system-ui, sans-serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.1; }
.cover-hero--font-minimal.cover-hero--weight-normal { --cover-heading-weight: 480; }
.cover-hero--font-minimal .public-cover-title, .cover-hero--font-minimal .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: 0em; }
.cover-hero--font-minimal.cover-hero--weight-bold .public-cover-title, .cover-hero--font-minimal.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.015em; }
.cover-hero--font-architecture { --cover-heading-font: "ISO100 Modern", Raleway, sans-serif; --cover-title-scale: 0.86; --cover-title-width: 20ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-architecture .public-cover-title, .cover-hero--font-architecture .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: uppercase; letter-spacing: 0.025em; }
.cover-hero--font-architecture.cover-hero--weight-bold .public-cover-title, .cover-hero--font-architecture.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0.015em; }
.cover-hero--font-commercial { --cover-heading-font: "ISO100 Commercial", Manrope, sans-serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.1; }
.cover-hero--font-commercial .public-cover-title, .cover-hero--font-commercial .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: 0em; }
.cover-hero--font-commercial.cover-hero--weight-bold .public-cover-title, .cover-hero--font-commercial.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.015em; }
.cover-hero--font-portrait { --cover-heading-font: "ISO100 Lora", Lora, Georgia, serif; --cover-title-scale: 1.04; --cover-title-width: 19ch; --cover-heading-line-height: 1.16; }
.cover-hero--font-portrait .public-cover-title, .cover-hero--font-portrait .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: -0.02em; }
.cover-hero--font-portrait.cover-hero--weight-bold .public-cover-title, .cover-hero--font-portrait.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.025em; }
.cover-hero--font-wedding { --cover-heading-font: "ISO100 Elegant", "Cormorant Garamond", Georgia, serif; --cover-title-scale: 1.23; --cover-title-width: 20ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-wedding .public-cover-title, .cover-hero--font-wedding .cover-hero-copy h1 { font-style: italic; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: -0.015em; }
.cover-hero--font-wedding.cover-hero--weight-bold .public-cover-title, .cover-hero--font-wedding.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.02em; }
.cover-hero--font-editorial { --cover-heading-font: "ISO100 Editorial", "Bodoni Moda", Didot, serif; --cover-title-scale: 1.12; --cover-title-width: 18ch; --cover-heading-line-height: 1.1; }
.cover-hero--font-editorial .public-cover-title, .cover-hero--font-editorial .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: "opsz" 11; font-synthesis: none; text-transform: none; letter-spacing: -0.02em; }
.cover-hero--font-editorial.cover-hero--weight-bold .public-cover-title, .cover-hero--font-editorial.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.025em; }
.cover-hero--font-documentary { --cover-heading-font: "ISO100 Documentary", Newsreader, Georgia, serif; --cover-title-scale: 1.2; --cover-title-width: 20ch; --cover-heading-line-height: 1.16; }
.cover-hero--font-documentary .public-cover-title, .cover-hero--font-documentary .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: "opsz" 18; font-synthesis: none; text-transform: none; letter-spacing: -0.015em; }
.cover-hero--font-documentary.cover-hero--weight-bold .public-cover-title, .cover-hero--font-documentary.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.02em; }
.cover-hero--font-lifestyle { --cover-heading-font: "ISO100 Lifestyle", Fraunces, Georgia, serif; --cover-title-scale: 1.1; --cover-title-width: 19ch; --cover-heading-line-height: 1.14; }
.cover-hero--font-lifestyle .public-cover-title, .cover-hero--font-lifestyle .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: "opsz" 24; font-synthesis: none; text-transform: none; letter-spacing: -0.02em; }
.cover-hero--font-lifestyle.cover-hero--weight-bold .public-cover-title, .cover-hero--font-lifestyle.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.025em; }
.cover-hero--font-sports { --cover-heading-font: "ISO100 Sports", "IBM Plex Sans Condensed", "Arial Narrow", sans-serif; --cover-title-scale: 0.9; --cover-title-width: 22ch; --cover-heading-line-height: 1.08; }
.cover-hero--font-sports .public-cover-title, .cover-hero--font-sports .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: uppercase; letter-spacing: 0.015em; }
.cover-hero--font-sports.cover-hero--weight-bold .public-cover-title, .cover-hero--font-sports.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0.005em; }
.cover-hero--font-archive { --cover-heading-font: "ISO100 Archive", "IBM Plex Mono", monospace; --cover-title-scale: 1.02; --cover-title-width: 24ch; --cover-heading-line-height: 1.2; }
.cover-hero--font-archive .public-cover-title, .cover-hero--font-archive .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: -0.04em; }
.cover-hero--font-archive.cover-hero--weight-bold .public-cover-title, .cover-hero--font-archive.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.035em; }
.cover-hero--font-serif { --cover-heading-font: Georgia, "Times New Roman", serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-serif .public-cover-title, .cover-hero--font-serif .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: 0em; }
.cover-hero--font-serif.cover-hero--weight-bold .public-cover-title, .cover-hero--font-serif.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0em; }
.cover-hero--font-landscape { --cover-heading-font: "ISO100 Landscape", "Libre Baskerville", Georgia, serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-landscape .public-cover-title, .cover-hero--font-landscape .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: 0em; }
.cover-hero--font-landscape.cover-hero--weight-bold .public-cover-title, .cover-hero--font-landscape.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0em; }
.cover-hero--font-fashion { --cover-heading-font: "ISO100 Portrait", "Instrument Serif", Georgia, serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-fashion .public-cover-title, .cover-hero--font-fashion .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: uppercase; letter-spacing: 0em; }
.cover-hero--font-fashion.cover-hero--weight-bold .public-cover-title, .cover-hero--font-fashion.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0em; }
.cover-hero--font-art { --cover-heading-font: "ISO100 Art", "Instrument Serif", Georgia, serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-art .public-cover-title, .cover-hero--font-art .cover-hero-copy h1 { font-style: italic; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: 0em; }
.cover-hero--font-art.cover-hero--weight-bold .public-cover-title, .cover-hero--font-art.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0em; }
.cover-hero--font-sans { --cover-heading-font: Inter, ui-sans-serif, system-ui, sans-serif; --cover-title-scale: 1; --cover-title-width: 18ch; --cover-heading-line-height: 1.1; }
.cover-hero--font-sans.cover-hero--weight-normal { --cover-heading-weight: 480; }
.cover-hero--font-sans .public-cover-title, .cover-hero--font-sans .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: 0em; }
.cover-hero--font-sans.cover-hero--weight-bold .public-cover-title, .cover-hero--font-sans.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.015em; }
.cover-hero--font-modern { --cover-heading-font: "ISO100 Modern", Raleway, sans-serif; --cover-title-scale: 0.86; --cover-title-width: 20ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-modern .public-cover-title, .cover-hero--font-modern .cover-hero-copy h1 { font-style: normal; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: uppercase; letter-spacing: 0.025em; }
.cover-hero--font-modern.cover-hero--weight-bold .public-cover-title, .cover-hero--font-modern.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: 0.015em; }
.cover-hero--font-classic { --cover-heading-font: "ISO100 Elegant", "Cormorant Garamond", Georgia, serif; --cover-title-scale: 1.23; --cover-title-width: 20ch; --cover-heading-line-height: 1.12; }
.cover-hero--font-classic .public-cover-title, .cover-hero--font-classic .cover-hero-copy h1 { font-style: italic; font-optical-sizing: none; font-variation-settings: normal; font-synthesis: none; text-transform: none; letter-spacing: -0.015em; }
.cover-hero--font-classic.cover-hero--weight-bold .public-cover-title, .cover-hero--font-classic.cover-hero--weight-bold .cover-hero-copy h1 { letter-spacing: -0.02em; }
.cover-hero--weight-normal { --cover-heading-weight: 400; }
.cover-hero--weight-bold { --cover-heading-weight: 700; }
.cover-hero-copy h1, .public-cover-title { display: block; font-family: var(--cover-heading-font, var(--font-sans)); font-size: calc(clamp(42px, 5vw, 80px) * var(--hero-scale) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); font-weight: var(--cover-heading-weight, 520); line-height: var(--cover-heading-line-height, 1.12); margin: 0; padding-inline: .12em; max-width: min(var(--cover-title-width, 18ch), 70vw); overflow-wrap: normal; text-wrap: balance; word-break: normal; }
.cover-hero:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left) .public-cover-title { position: relative; inset-inline-start: -.12em; }
.public-cover-title[data-cover-title-nowrap="true"] { overflow-wrap: normal; white-space: nowrap; }
.public-cover-title[data-cover-title-emergency-wrap="true"] { overflow-wrap: anywhere; white-space: normal; }
.cover-hero--layout-compact .cover-hero-copy h1, .cover-hero--layout-compact .public-cover-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; }
.cover-hero--layout-compact .cover-hero-copy h1, .cover-hero--layout-compact .public-cover-title { font-size: calc(clamp(28px, 3.6vw, 46px) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); line-height: var(--cover-heading-line-height, 1.12); margin-block-end: -.14em; padding-block-end: .14em; }
.cover-hero--style-split.cover-hero--surface-gallery .public-cover-title, .cover-hero--style-split.cover-hero--gallery .public-cover-title { line-height: var(--cover-heading-line-height, 1.12); }
.cover-hero--layout-immersive .portfolio-hero-copy h1, .cover-hero--layout-immersive.cover-hero--surface-portfolio .public-cover-title, .cover-hero--layout-immersive .cover-hero--surface-portfolio .public-cover-title { font-size: calc(clamp(46px, 5.8vw, 92px) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); }
.cover-hero--layout-immersive .gallery-hero-copy h1, .cover-hero--layout-immersive.cover-hero--surface-gallery .public-cover-title, .cover-hero--layout-immersive .cover-hero--surface-gallery .public-cover-title { font-size: calc(clamp(42px, 5.2vw, 82px) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); }
.gallery-password-title { font-size: calc(clamp(38px, 4.4vw, 72px) * var(--hero-scale) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); }
@media (max-width: 760px) {
  .cover-hero-copy h1, .public-cover-title { font-size: calc(clamp(34px, 9vw, 48px) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); max-width: 100%; }
  .cover-hero--layout-compact .cover-hero-copy h1, .cover-hero--layout-compact .public-cover-title { font-size: calc(clamp(26px, 7.5vw, 36px) * var(--cover-title-scale, 1) * var(--cover-title-user-scale, 1) * var(--cover-title-fit-scale, 1) * var(--cover-title-boost)); }
}
    .cover-hero--title-small { --cover-title-user-scale: 0.64; --cover-subtext-scale: 0.8; }
.cover-hero--title-medium { --cover-title-user-scale: 0.82; --cover-subtext-scale: 0.88; }
.cover-hero--title-large { --cover-title-user-scale: 1.16; --cover-subtext-scale: 1; }
.cover-hero:not(.cover-hero--layout-compact) { --cover-title-description-gap: clamp(12px, .85vw, 14px); }
.cover-hero:not(.cover-hero--layout-compact).cover-hero--title-small { --cover-title-description-gap: clamp(10px, .7vw, 12px); }
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-art,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-classic,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-documentary,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-fashion,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-landscape,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-lifestyle,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-portrait,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-serif,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-wedding { --cover-title-description-gap: clamp(10px, .7vw, 12px); }
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-art.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-classic.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-documentary.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-fashion.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-landscape.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-lifestyle.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-portrait.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-serif.cover-hero--title-small,
.cover-hero:not(.cover-hero--layout-compact).cover-hero--font-wedding.cover-hero--title-small { --cover-title-description-gap: clamp(8px, .55vw, 10px); }
.cover-hero:not(.cover-hero--layout-compact) .cover-hero-text > .portfolio-cover-identity + .public-cover-subtext,
.cover-hero:not(.cover-hero--layout-compact) .cover-hero-text > .public-cover-title + .public-cover-subtext { margin-top: calc(var(--cover-title-description-gap) - var(--cover-text-gap)); }
.cover-hero:is(.cover-hero--style-text, .cover-hero--style-full):is(.cover-hero--position-center, .cover-hero--position-center-high, .cover-hero--position-center-low) .cover-hero-text { max-width: min(860px, calc(100% - (var(--public-page-padding) * 2))); width: min(860px, calc(100% - (var(--public-page-padding) * 2))); }
.cover-hero-copy p, .public-cover-subtext { color: color-mix(in srgb, currentColor 86%, transparent); display: block; font-size: clamp(15px, calc(clamp(15px, .95vw, 18px) * var(--cover-subtext-scale, 1) * var(--cover-subtext-fit-scale, 1)), 19px); font-weight: 380; line-height: 1.58; margin: 0; max-width: min(48ch, 100%); overflow-wrap: break-word; text-align: inherit; text-wrap: balance; }
.cover-hero--style-text .public-cover-subtext,
.cover-hero--style-split .public-cover-subtext { color: var(--cover-panel-muted, rgb(0 0 0 / 65%)); }
.cover-hero--text-white:is(.cover-hero--style-text, .cover-hero--style-split) { --cover-panel-muted: rgb(255 255 255 / 70%); }
.cover-hero--height-30.cover-hero--style-text .public-cover-subtext,
.cover-hero--height-30.cover-hero--style-split .public-cover-subtext { font-size: clamp(15px, calc(clamp(15px, .95vw, 17px) * var(--cover-subtext-scale, 1) * var(--cover-subtext-fit-scale, 1)), 18px); }
.cover-hero--height-30.cover-hero--style-text.cover-hero--font-minimal.cover-hero--title-medium .public-cover-subtext { font-size: clamp(15px, .9vw, 16px); max-width: min(44ch, 100%); }
    .cover-hero--style-title.cover-hero--layout-compact { --title-header-author-max: clamp(180px, 28vw, 360px); --title-header-following-gutter: var(--gallery-gutter); --title-header-link-clearance: clamp(84px, 10vw, 120px); --title-header-link-gap: clamp(12px, 1.4vw, 22px); --title-header-padding-block: clamp(10px, 1vw, 18px); align-items: center; background: var(--title-header-page-background, #ffffff); color: var(--title-header-page-foreground, #050505); column-gap: var(--title-header-link-gap); display: grid; grid-template-columns: minmax(0, 1fr) auto; height: auto !important; min-height: 0; overflow: visible; padding: var(--title-header-padding-block) var(--public-page-padding); }
.cover-hero--style-title.cover-hero--layout-compact.cover-hero--header-surface-match { padding-bottom: max(0px, calc(var(--title-header-padding-block) - var(--title-header-following-gutter))); }
.cover-hero--style-title.cover-hero--text-black { background: var(--portfolio-background-light, #ffffff); color: #050505; }
.cover-hero--style-title.cover-hero--text-white { background: var(--portfolio-background-dark, #050505); color: #ffffff; }
.cover-hero--style-title::after { content: none; }
.cover-hero--style-title.cover-hero--position-top-left { padding-top: var(--title-header-padding-block); }
.cover-hero--style-title:not(.cover-hero--has-contact):not(.cover-hero--gallery) { grid-template-columns: minmax(0, 1fr); }
.cover-hero--style-title.cover-hero--layout-compact .cover-hero-copy { align-content: center; align-self: center; animation: none; display: grid; gap: 0; grid-column: 1; grid-row: 1; height: auto; inset: auto; margin: 0; max-width: none; min-height: 0; padding: 0; place-content: initial; position: relative; width: 100%; }
.cover-hero--style-title.cover-hero--gallery { --title-header-following-gutter: min(var(--photo-grid-gutter), var(--title-header-padding-block)); grid-template-columns: minmax(0, 1fr) auto; }
.cover-hero--style-title.cover-hero--layout-compact.cover-hero--gallery .cover-hero-copy { align-content: center; align-self: center; grid-column: 1; }
.cover-hero--style-title.cover-hero--gallery.cover-hero--position-top-left { padding-top: var(--title-header-padding-block); }
.cover-hero--style-title.cover-hero--layout-compact .cover-hero-text { align-self: center; animation: none; display: grid; gap: 0; inset: auto; left: auto; max-width: 100%; position: relative; top: auto; translate: none; width: 100%; }
.cover-hero--style-title.cover-hero--position-top-left .cover-hero-text { justify-items: start; text-align: left; }
.cover-hero--style-title.cover-hero--position-center.cover-hero--has-contact { grid-template-columns: var(--title-header-link-clearance) minmax(0, 1fr) var(--title-header-link-clearance); }
.cover-hero--style-title.cover-hero--position-center.cover-hero--gallery { grid-template-columns: var(--title-header-author-max) minmax(0, 1fr) var(--title-header-author-max); }
.cover-hero--style-title.cover-hero--position-center.cover-hero--has-contact .cover-hero-copy,
.cover-hero--style-title.cover-hero--position-center.cover-hero--gallery .cover-hero-copy { grid-column: 2; inset: auto; place-content: initial; position: relative; width: 100%; }
.cover-hero--style-title.cover-hero--position-center .cover-hero-text { justify-items: center; left: auto; margin: 0 auto; max-width: min(860px, 100%); position: relative; text-align: center; top: auto; translate: none; width: 100%; }
.cover-hero--style-title .portfolio-cover-identity { align-items: center; display: flex; font-size: var(--title-only-font-size); gap: clamp(8px, .65vw, 12px); justify-content: flex-start; max-width: 100%; width: 100%; }
.cover-hero--style-title.cover-hero--position-center .portfolio-cover-identity { justify-content: center; }
.cover-hero--style-title .public-portfolio-logo { flex: 0 1 auto; height: 1em; max-width: 100%; object-fit: contain; object-position: left center; width: auto; }
.cover-hero--style-title.cover-hero--position-center .public-portfolio-logo { object-position: center; }
.cover-hero--style-title .portfolio-cover-identity--logo_and_name .public-portfolio-logo { max-width: min(35%, 10em); }
.cover-hero--style-title .portfolio-cover-identity--logo_and_name .public-cover-title { flex: 1 1 auto; min-width: 0; width: auto; }
.cover-hero--style-title .public-cover-title { max-width: 100%; }
.cover-hero--style-title.cover-hero--title-small { --title-header-padding-block: clamp(10px, .8vw, 14px); --title-only-user-scale: .44; }
.cover-hero--style-title.cover-hero--title-medium { --title-header-padding-block: clamp(12px, 1vw, 18px); --title-only-user-scale: .55; }
.cover-hero--style-title.cover-hero--title-large { --title-header-padding-block: clamp(14px, 1.25vw, 22px); --title-only-user-scale: .68; }
.cover-hero--style-title.cover-hero--layout-compact { --title-only-font-size: calc(clamp(32px, 3vw, 46px) * var(--cover-title-scale, 1) * var(--title-only-user-scale, 1) * var(--cover-title-fit-scale, 1)); }
.cover-hero--style-title.cover-hero--layout-compact .public-cover-title { display: block; -webkit-line-clamp: unset; font-size: var(--title-only-font-size); line-height: 1.08; overflow: visible; text-overflow: clip; white-space: nowrap; }
.cover-hero--style-title .public-cover-title[data-cover-title-emergency-truncate="true"] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 100%; }
.cover-hero--style-title .portfolio-cover-contact-link { align-self: center; grid-column: 2; grid-row: 1; justify-self: end; position: relative; right: auto; top: auto; }
.cover-hero--style-title.cover-hero--position-center.cover-hero--has-contact .portfolio-cover-contact-link { grid-column: 3; }
.cover-hero--style-title.cover-hero--gallery .gallery-portfolio-link { align-items: center; align-self: center; display: inline-flex; font-size: 14px; grid-column: 2; grid-row: 1; justify-self: end; left: auto; line-height: 1.25; max-width: min(var(--title-header-author-max), 100%); min-height: 44px; overflow-wrap: anywhere; padding: 0; position: relative; right: auto; text-align: right; top: auto; white-space: normal; }
.cover-hero--style-title.cover-hero--position-center.cover-hero--gallery .gallery-portfolio-link { grid-column: 3; }
.cover-hero--style-title.cover-hero--gallery[data-cover-gallery-header-stacked="true"] { grid-template-columns: minmax(0, 1fr); row-gap: 2px; }
.cover-hero--style-title.cover-hero--gallery[data-cover-gallery-header-stacked="true"] .cover-hero-copy { grid-column: 1; grid-row: 2; }
.cover-hero--style-title.cover-hero--gallery[data-cover-gallery-header-stacked="true"] .gallery-portfolio-link { grid-column: 1; grid-row: 1; justify-self: start; max-width: 100%; text-align: left; }
.cover-hero--style-title.cover-hero--position-center.cover-hero--gallery[data-cover-gallery-header-stacked="true"] .gallery-portfolio-link { justify-self: center; text-align: center; }
@media (max-width: 760px) {
  .cover-hero--style-title.cover-hero--layout-compact { --title-header-link-clearance: 72px; --title-header-link-gap: 8px; --title-header-padding-block: 10px; }
  .cover-hero--style-title.cover-hero--title-medium { --title-header-padding-block: 12px; }
  .cover-hero--style-title.cover-hero--title-large { --title-header-padding-block: 14px; }
  .cover-hero--style-title.cover-hero--layout-compact { --title-only-font-size: calc(clamp(28px, 8.5vw, 38px) * var(--cover-title-scale, 1) * var(--title-only-user-scale, 1) * var(--cover-title-fit-scale, 1)); }
  .cover-hero--style-title.cover-hero--position-center.cover-hero--has-contact { grid-template-columns: minmax(0, 1fr); }
  .cover-hero--style-title.cover-hero--position-center.cover-hero--has-contact .cover-hero-copy,
  .cover-hero--style-title.cover-hero--position-center.cover-hero--gallery .cover-hero-copy { grid-column: 1; grid-row: 1; }
  .cover-hero--style-title.cover-hero--position-center.cover-hero--has-contact .portfolio-cover-contact-link { grid-column: 1; grid-row: 2; justify-self: center; max-width: 100%; }
}
    .portfolio-cover-contact-link { align-items: center; color: currentColor; display: inline-flex; font-size: 14px; font-weight: 400; justify-content: center; line-height: 1; min-height: 44px; position: absolute; right: var(--public-page-padding); text-decoration: none; top: calc(var(--public-page-padding) - 13px); z-index: 3; }
.portfolio-cover-contact-link::after { background: color-mix(in srgb, currentColor 56%, transparent); bottom: 8px; content: ""; height: 1px; left: 0; opacity: 0; pointer-events: none; position: absolute; transform: translateY(4px); transition: opacity 160ms ease-out, transform 180ms ease-out; width: 100%; }
.portfolio-cover-contact-link:hover, .portfolio-cover-contact-link:focus-visible { color: currentColor; }
.portfolio-cover-contact-link:hover::after, .portfolio-cover-contact-link:focus-visible::after { opacity: 1; transform: translateY(0); }
.portfolio-cover-contact-link:active::after { opacity: 0; transform: translateY(4px); }
.portfolio-cover-contact-link:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
.cover-hero:not(.cover-hero--dim-none):not(.cover-hero--dim-gradient-top-light):not(.cover-hero--dim-gradient-top):not(.cover-hero--dim-gradient-top-strong).cover-hero--text-white .portfolio-cover-contact-link:not(.portfolio-cover-contact-link--in-panel) { text-shadow: 0 1px 3px rgb(0 0 0 / 48%); }
.cover-hero--style-text:not(.cover-hero--layout-compact) .portfolio-cover-contact-link:not(.portfolio-cover-contact-link--in-panel) { right: calc(var(--text-panel-inset) + var(--text-panel-padding-inline)); top: calc(var(--text-panel-inset) + var(--text-panel-padding-block) - 13px); }
.cover-hero--style-full.cover-hero--position-top-left .portfolio-cover-contact-link:not(.portfolio-cover-contact-link--in-panel) { right: var(--public-page-padding); top: calc(var(--public-page-padding) - 13px); }
.cover-hero--style-split .portfolio-cover-contact-link--in-panel { right: var(--split-panel-padding); top: calc(var(--split-panel-padding) - 13px); }
.cover-hero--style-split.cover-hero--layout-compact .portfolio-cover-contact-link--in-panel { right: var(--public-page-padding); top: calc(var(--public-page-padding) - 13px); }
.cover-hero--style-text .portfolio-cover-contact-link--in-panel { right: var(--text-panel-padding-inline); top: calc(var(--text-panel-padding-block) - 13px); }
.cover-hero--style-text.cover-hero--layout-compact .portfolio-cover-contact-link--in-panel { right: var(--public-page-padding); top: calc(var(--public-page-padding) - 13px); }
@media (min-width: 761px) {
  .cover-hero--has-menu-row .cover-hero-copy { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-menu-row .cover-hero-text { inset: auto; max-width: 100%; position: relative; translate: none; width: 100%; }
  .cover-hero--style-split.cover-hero--layout-compact .portfolio-cover-contact-link[data-cover-menu-row] { inset: auto; justify-content: center; justify-self: stretch; margin-top: 24px; min-width: 0; position: relative; width: 100%; }
  [data-cover-menu-row] [data-cover-menu-links] { flex: none; gap: 24px; max-width: none; width: max-content; }
  [data-cover-menu-row][data-cover-menu-collapsed="true"] [data-cover-menu-links] { pointer-events: none; position: absolute; visibility: hidden; }
  [data-cover-menu-row][data-cover-menu-collapsed="true"] [data-cover-menu-disclosure] { display: inline-flex; }
  .cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left) .portfolio-cover-contact-link[data-cover-menu-row] { inset: calc(var(--public-page-padding) - 13px) var(--public-page-padding) auto auto; justify-content: flex-end; margin: 0; position: absolute; width: calc(100% - (var(--public-page-padding) * 2)); }
}
.cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left) .cover-hero-copy { padding-top: calc(var(--public-page-padding) + 44px); }
.cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left).cover-hero--position-top-left .cover-hero-copy { align-content: start; }
.cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left).cover-hero--position-bottom-left .cover-hero-copy { align-content: end; }
@media (min-width: 761px) {
  .cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left).cover-hero--position-top-left .cover-hero-copy { padding-top: var(--public-page-padding); }
  .cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left).cover-hero--position-top-left .cover-hero-text { max-width: calc(55% - 24px); width: calc(55% - 24px); }
  .cover-hero.cover-hero--style-split.cover-hero--layout-compact.cover-hero--has-contact:is(.cover-hero--position-top-left, .cover-hero--position-bottom-left).cover-hero--position-top-left .portfolio-cover-contact-link[data-cover-menu-row] { width: calc((100% - (var(--public-page-padding) * 2)) * .45); }
}
@media (prefers-reduced-motion: reduce) { .portfolio-cover-contact-link::after { transition-duration: 1ms; } }
    .cover-hero--portfolio.cover-hero--layout-compact { --portfolio-header-inset: max(var(--public-page-padding), calc((100% - 1500px) / 2)); }
.cover-hero--portfolio.cover-hero--layout-compact.cover-hero--style-title { padding-inline: var(--portfolio-header-inset); }
.cover-hero--portfolio.cover-hero--layout-compact.cover-hero--style-text .cover-hero-copy { padding-inline: var(--portfolio-header-inset); }
.cover-hero--portfolio.cover-hero--layout-compact.cover-hero--style-text .portfolio-cover-contact-link--in-panel { right: var(--portfolio-header-inset); }
    .portfolio-cover-menu { white-space: normal; z-index: 10; }
    .portfolio-cover-menu::after { content: none; }
    .portfolio-cover-menu-links { align-items: center; display: flex; gap: clamp(18px, 2vw, 30px); }
    .portfolio-cover-menu-link { align-items: center; color: currentColor; display: inline-flex; font-size: 14px; font-weight: 400; min-height: 44px; position: relative; text-decoration: none; white-space: nowrap; }
    .portfolio-cover-menu-link::after { background: color-mix(in srgb, currentColor 56%, transparent); bottom: 8px; content: ""; height: 1px; left: 0; opacity: 0; pointer-events: none; position: absolute; transform: translateY(4px); transition: opacity 160ms ease-out, transform 180ms ease-out; width: 100%; }
    .portfolio-cover-menu-link:hover::after, .portfolio-cover-menu-link:focus-visible::after { opacity: 1; transform: translateY(0); }
    .portfolio-cover-menu-link:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; }
    .portfolio-cover-menu-mobile { display: none; }
    .portfolio-cover-menu-toggle { align-items: center; color: currentColor; cursor: pointer; display: inline-flex; gap: 9px; list-style: none; min-height: 44px; user-select: none; }
    .portfolio-cover-menu-toggle::-webkit-details-marker { display: none; }
    .portfolio-cover-menu-label { font-size: 14px; font-weight: 400; line-height: 1; }
    .portfolio-cover-menu-label--open { display: none; }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-label--closed { display: none; }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-label--open { display: inline; }
    .portfolio-cover-menu-icon { display: grid; gap: 4px; width: 15px; }
    .portfolio-cover-menu-icon span { background: currentColor; display: block; height: 1px; transform-origin: center; transition: transform 160ms ease-out; width: 15px; }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-icon span:first-child { transform: translateY(2.5px) rotate(45deg); }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-icon span:last-child { transform: translateY(-2.5px) rotate(-45deg); }
    html[data-portfolio-menu-open="true"], html[data-portfolio-menu-open="true"] body { overflow: hidden; }
    html[data-portfolio-menu-open="true"] .cover-scroll-link { opacity: 0 !important; pointer-events: none; visibility: hidden; }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-toggle { color: var(--ink); position: fixed; right: var(--public-page-padding); text-shadow: none; top: calc(var(--public-page-padding) - 13px); z-index: 11; }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-icon { filter: none !important; }
    .portfolio-cover-menu-panel { align-content: start; background: var(--paper); border: 0; color: var(--ink); display: grid; inset: 0; padding: clamp(92px, 14svh, 128px) var(--public-page-padding) var(--public-page-padding); position: fixed; text-align: left; text-shadow: none; transform-origin: top; width: auto; z-index: 5; }
    .portfolio-cover-menu-mobile[open] .portfolio-cover-menu-panel { animation: portfolio-menu-in 160ms cubic-bezier(.2, .7, .2, 1) both; }
    .portfolio-cover-menu-mobile[data-closing="true"] .portfolio-cover-menu-panel { animation: portfolio-menu-out 160ms cubic-bezier(.4, 0, 1, 1) both; pointer-events: none; }
    .cover-hero .portfolio-cover-menu .portfolio-cover-menu-panel-link { align-items: center; color: currentColor; display: flex; font-size: clamp(22px, 6vw, 28px); font-weight: 400; justify-content: flex-start; justify-self: stretch; min-height: 72px; padding: 0; text-align: left; text-decoration: none; width: 100%; }
    .portfolio-cover-menu-panel-link::after { content: none; }
    .portfolio-cover-menu-panel-link:first-child { border-top: 1px solid var(--line); }
    .portfolio-cover-menu-panel-link + .portfolio-cover-menu-panel-link { border-top: 1px solid var(--line); }
    .portfolio-cover-menu-panel-link:last-child { border-bottom: 1px solid var(--line); }
    .portfolio-cover-menu-panel-link:focus-visible { outline: 1px solid var(--ink); outline-offset: -5px; }
    @keyframes portfolio-menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes portfolio-menu-out { from { opacity: 1; transform: translateY(0); } to { opacity: 0; transform: translateY(-8px); } }
    .cover-hero--layout-compact .cover-hero-copy p, .cover-hero--layout-compact .public-cover-subtext { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-overflow: ellipsis; }
    .cover-hero-copy a, .cover-hero-kicker { align-items: center; color: currentColor; display: inline-flex; font-size: 14px; font-weight: 400; gap: 10px; white-space: nowrap; }
    .cover-hero-kicker { -webkit-tap-highlight-color: transparent; border-bottom: 0; padding: 0 0 6px; text-decoration: none; touch-action: manipulation; user-select: none; }
    .cover-hero-kicker::after { background: color-mix(in srgb, currentColor 56%, transparent); bottom: 0; content: ""; height: 1px; left: 0; opacity: 0; pointer-events: none; position: absolute; transform: translateY(4px); transition: opacity 160ms ease-out, transform 180ms ease-out; width: 100%; }
    .cover-hero-kicker:active::after { opacity: 0; transform: translateY(4px); }
    .cover-hero-kicker:focus-visible::after { opacity: 1; transform: translateY(0); }
    .cover-gallery-link { border: 0; font-size: 14px; isolation: isolate; justify-content: center; justify-self: start; line-height: 1; margin-top: var(--cover-button-offset); min-height: 44px; outline: 1px solid color-mix(in srgb, var(--cover-gallery-link-fill) 28%, transparent); outline-offset: -1px; overflow: hidden; padding: 13px 17px; position: relative; transition: color 160ms ease-out; width: max-content; }
    .cover-gallery-link::before { background: var(--cover-gallery-link-fill, currentColor); content: ""; inset: 0; position: absolute; transform: translateY(100%); transition: transform 180ms ease-out; z-index: -1; }
    .cover-hero--position-center .cover-gallery-link,
    .cover-hero--position-center-high .cover-gallery-link,
    .cover-hero--position-center-low .cover-gallery-link { justify-self: center; }
    .cover-hero-copy .cover-gallery-link:focus-visible { color: var(--cover-gallery-link-hover-color, var(--paper)); outline: 2px solid var(--cover-gallery-link-fill); outline-offset: 3px; }
    .cover-gallery-link:focus-visible::before { transform: translateY(0); }
    .cover-scroll-link { align-items: center; bottom: calc(var(--cover-padding-block-end) - var(--cover-scroll-hit-slop)); color: color-mix(in srgb, currentColor 86%, transparent); display: inline-flex; padding: var(--cover-scroll-hit-slop); position: absolute; right: calc(var(--cover-padding-inline-end) - var(--cover-scroll-hit-slop)); transition: color 160ms ease, opacity 180ms ease-out, transform 160ms ease; z-index: 3; }
    .cover-scroll-link svg { display: block; height: clamp(20px, 2vw, 28px); width: clamp(20px, 2vw, 28px); }
    .cover-hero--style-full.cover-hero--text-white .cover-hero-copy { text-shadow: 0 1px 2px rgb(0 0 0 / 45%); }
    .cover-hero--style-full.cover-hero--dim-none.cover-hero--text-white .gallery-portfolio-link,
    .cover-hero--style-full.cover-hero--dim-none.cover-hero--text-white .portfolio-cover-contact-link { text-shadow: 0 1px 2px rgb(0 0 0 / 45%); }
    .cover-hero:not(.cover-hero--dim-none):not(.cover-hero--dim-gradient-top-light):not(.cover-hero--dim-gradient-top):not(.cover-hero--dim-gradient-top-strong).cover-hero--text-white .portfolio-cover-menu:not(.portfolio-cover-contact-link--in-panel) .portfolio-cover-menu-icon { filter: drop-shadow(0 1px 3px rgb(0 0 0 / 35%)); }
    .cover-hero--style-full.cover-hero--dim-none.cover-hero--text-white .portfolio-cover-menu-icon { filter: drop-shadow(0 1px 2px rgb(0 0 0 / 45%)); }
    .cover-hero--style-full.cover-hero--dim-none.cover-hero--text-white .cover-scroll-link svg { filter: drop-shadow(0 1px 2px rgb(0 0 0 / 45%)); }
    .cover-hero--text-white.cover-hero--dim-gradient-top-light .cover-scroll-link svg,
    .cover-hero--text-white.cover-hero--dim-gradient-top .cover-scroll-link svg,
    .cover-hero--text-white.cover-hero--dim-gradient-top-strong .cover-scroll-link svg { filter: drop-shadow(0 1px 2px rgb(0 0 0 / 72%)); }
    .cover-scroll-link:focus-visible { color: currentColor; transform: translateY(4px); }
    @media (hover: hover) and (pointer: fine) {
      .cover-hero-kicker:hover::after { opacity: 1; transform: translateY(0); }
      .cover-gallery-link:hover { color: var(--cover-gallery-link-hover-color, var(--paper)); }
      .cover-gallery-link:hover::before { transform: translateY(0); }
      .cover-hero-copy a:not(.cover-gallery-link):not(.portfolio-cover-contact-link):not(.portfolio-cover-menu-link):not(.portfolio-cover-menu-panel-link):hover { opacity: .72; }
      .cover-scroll-link:hover { color: currentColor; transform: translateY(4px); }
    }
    .cover-hero--position-top-left { align-items: start; justify-items: start; padding-top: clamp(24px, 4vw, 64px); text-align: left; }
    .cover-hero--portfolio.cover-hero--style-text.cover-hero--layout-compact.cover-hero--position-top-left { padding-top: 0; }
    .cover-hero--gallery.cover-hero--position-top-left { padding-top: calc(var(--gallery-author-inset, var(--public-page-padding)) + calc((clamp(15px, 1.4vw, 21px) * 1.08) + 6px) + calc(var(--cover-title-description-gap, var(--cover-text-gap)) + clamp(10px, .8vw, 14px))); }
.cover-hero--gallery.cover-hero--style-text.cover-hero--layout-compact.cover-hero--position-top-left { padding-top: calc(calc((clamp(15px, 1.4vw, 21px) * 1.08) + 6px) + var(--cover-title-description-gap, var(--cover-text-gap))); }
.cover-hero--gallery.cover-hero--style-text.cover-hero--layout-standard.cover-hero--position-top-left { padding-top: 0; }
.cover-hero--gallery.cover-hero--style-text.cover-hero--layout-standard.cover-hero--position-top-left .gallery-hero-copy { padding-top: calc(var(--text-panel-padding-block) + calc((clamp(15px, 1.4vw, 21px) * 1.08) + 6px) + var(--cover-title-description-gap, var(--cover-text-gap))); }
.cover-hero--gallery.cover-hero--style-text.cover-hero--layout-immersive.cover-hero--position-top-left { padding-top: 0; }
.cover-hero--gallery.cover-hero--position-top-left .gallery-hero-copy { align-content: start; align-items: start; align-self: start; }
    .cover-hero--position-bottom-left { align-items: end; justify-items: start; text-align: left; }
    .cover-hero--height-30.cover-hero--style-full.cover-hero--position-bottom-left { padding-bottom: var(--cover-padding-inline-start); }
    .cover-hero--position-center { align-items: center; justify-items: center; text-align: center; }
    .cover-hero--position-center-high { align-items: center; justify-items: center; text-align: center; }
    .cover-hero--position-center-low { align-items: center; justify-items: center; text-align: center; }
    .cover-hero--position-center .cover-hero-copy,
    .cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--position-center-low .cover-hero-copy { justify-items: center; }
    .cover-hero--position-center .cover-hero-text,
    .cover-hero--position-center-high .cover-hero-text,
    .cover-hero--position-center-low .cover-hero-text { justify-items: center; }
    .cover-hero--position-center .portfolio-cover-identity,
    .cover-hero--position-center-high .portfolio-cover-identity,
    .cover-hero--position-center-low .portfolio-cover-identity { justify-items: center; }
    .cover-hero--position-center .public-portfolio-logo,
    .cover-hero--position-center-high .public-portfolio-logo,
    .cover-hero--position-center-low .public-portfolio-logo { object-position: center; }
    .cover-hero--position-center .cover-hero-copy h1,
    .cover-hero--position-center-high .cover-hero-copy h1,
    .cover-hero--position-center-low .cover-hero-copy h1 { justify-self: center; text-align: center; }
    .cover-hero--position-center .cover-hero-copy p,
    .cover-hero--position-center-high .cover-hero-copy p,
    .cover-hero--position-center-low .cover-hero-copy p { justify-self: center; text-align: center; }
    .gallery-portfolio-link { font-size: clamp(15px, 1.4vw, 21px); font-weight: 420; inset: var(--public-page-padding) auto auto var(--public-page-padding); line-height: 1.08; max-width: min(52vw, 520px); overflow-wrap: anywhere; position: absolute; z-index: 3; }
.cover-hero:not(.cover-hero--dim-none):not(.cover-hero--dim-gradient-top-light):not(.cover-hero--dim-gradient-top):not(.cover-hero--dim-gradient-top-strong).cover-hero--text-white .gallery-portfolio-link { text-shadow: 0 1px 3px rgb(0 0 0 / 48%); }
.cover-hero--style-split .gallery-portfolio-link { color: currentColor; left: calc(var(--split-panel-inset) + var(--split-panel-padding)); max-width: min(calc(var(--split-panel-width) - var(--split-panel-inset) - var(--split-panel-padding) - var(--split-panel-inset) - var(--split-panel-padding)), 520px); opacity: 1; right: auto; top: calc(var(--split-panel-inset) + var(--split-panel-padding)); }
.cover-hero--style-split.cover-hero--layout-compact .gallery-portfolio-link { left: var(--split-panel-padding); max-width: calc(50% - (var(--split-panel-padding) * 2)); top: var(--split-panel-padding); }
.cover-hero--style-text:not(.cover-hero--layout-compact) .gallery-portfolio-link { color: currentColor; left: calc(var(--text-panel-inset) + var(--text-panel-padding-inline)); max-width: min(calc(100% - ((var(--text-panel-inset) + var(--text-panel-padding-inline)) * 2)), 520px); opacity: 1; right: auto; top: calc(var(--text-panel-inset) + var(--text-panel-padding-block)); }
.cover-hero--position-top-left .gallery-portfolio-link,
.cover-hero--position-bottom-left .gallery-portfolio-link { left: var(--public-page-padding); right: auto; }
.cover-hero--style-split.cover-hero--position-top-left .gallery-portfolio-link,
.cover-hero--style-split.cover-hero--position-bottom-left .gallery-portfolio-link { left: calc(var(--split-panel-inset) + var(--split-panel-padding)); right: auto; top: calc(var(--split-panel-inset) + var(--split-panel-padding)); }
.cover-hero--style-split:not(.cover-hero--layout-compact) .gallery-portfolio-link--in-panel { left: var(--split-panel-padding); max-width: calc(100% - (var(--split-panel-padding) * 2)); right: auto; top: var(--split-panel-padding); }
.cover-hero--style-split.cover-hero--position-center-high .gallery-portfolio-link--in-panel { justify-content: center; left: 50%; max-width: calc(100% - (var(--split-panel-padding) * 2)); right: auto; text-align: center; transform: translateX(-50%); }
.cover-hero--style-split.cover-hero--position-bottom-left .gallery-portfolio-link--in-panel { display: inline-flex; inset: auto; justify-self: start; max-width: min(52ch, 100%); position: static; }
.cover-hero--style-split .gallery-portfolio-link--in-text, .cover-hero--style-text .gallery-portfolio-link--in-text { display: inline-flex; inset: auto; justify-self: inherit; left: auto; margin-bottom: calc(var(--cover-title-description-gap, var(--cover-text-gap)) - var(--cover-text-gap)); max-width: min(52ch, 100%); position: static; right: auto; top: auto; }
.cover-hero--style-text:not(.cover-hero--layout-compact) .gallery-portfolio-link--in-panel { left: var(--text-panel-padding-inline); max-width: calc(100% - (var(--text-panel-padding-inline) * 2)); right: auto; top: var(--text-panel-padding-block); }
.cover-hero--style-text.cover-hero--position-center-high .gallery-portfolio-link { justify-content: center; left: 50%; max-width: calc(100% - (var(--text-panel-padding-inline) * 2)); right: auto; text-align: center; transform: translateX(-50%); }
.cover-hero--portfolio.cover-hero--style-full,
.cover-hero--gallery.cover-hero--style-full { --cover-frame-block-inset: var(--cover-padding-block-end); --cover-frame-inline-inset: var(--cover-padding-inline-start); --cover-menu-reserved-inline: 96px; --gallery-author-inset: var(--cover-frame-block-inset); }
.cover-hero--gallery.cover-hero--style-full .gallery-portfolio-link { left: var(--cover-frame-inline-inset); top: var(--gallery-author-inset); }
.cover-hero--portfolio.cover-hero--style-full.cover-hero--has-navigation .portfolio-cover-contact-link { right: var(--cover-frame-inline-inset); top: calc(var(--cover-frame-block-inset) - 13px); }
.cover-hero--portfolio.cover-hero--style-full.cover-hero--position-top-left.cover-hero--has-navigation .portfolio-cover-contact-link { top: calc(var(--cover-padding-block-start) - 13px); }
@media (max-width: 760px) {
  .cover-hero--style-text.cover-hero--layout-compact.cover-hero--position-bottom-left .gallery-portfolio-link { max-width: calc(100% - (var(--public-page-padding) * 2)); white-space: normal; }
  .cover-hero--style-split.cover-hero--layout-compact.cover-hero--position-bottom-left .gallery-portfolio-link { font-size: 15px; font-weight: 420; left: calc(var(--public-page-padding) - var(--cover-padding-inline-start)); top: calc(var(--public-page-padding) - var(--cover-padding-inline-start)); right: auto; max-width: calc(100% - ((var(--public-page-padding) - var(--cover-padding-inline-start)) * 2)); position: relative; white-space: normal; }
  .cover-hero--portfolio.cover-hero--style-full,
  .cover-hero--gallery.cover-hero--style-full { --cover-frame-inline-inset: var(--public-page-padding); --cover-padding-inline-end: var(--cover-frame-inline-inset); --cover-padding-inline-start: var(--cover-frame-inline-inset); }
  .cover-hero--portfolio.cover-hero--style-full.cover-hero--layout-compact,
  .cover-hero--gallery.cover-hero--style-full.cover-hero--layout-compact { --cover-padding-block-end: 24px; --cover-padding-block-start: 24px; }
  .cover-hero--portfolio.cover-hero--style-full.cover-hero--position-top-left.cover-hero--has-navigation .cover-hero-text { max-width: calc(100% - var(--cover-menu-reserved-inline)); width: calc(100% - var(--cover-menu-reserved-inline)); }
}
    @media (min-width: 761px) {
      .cover-hero.cover-hero--style-split.cover-hero--portfolio { --split-middle-gap: var(--public-page-padding); --split-half-gap: calc(var(--split-middle-gap) / 2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .cover-hero.cover-hero--style-split.cover-hero--portfolio > :is(.cover-hero-placeholder-frame, .cover-hero-photo, .cover-hero-empty, .cover-hero-image-protector, .sensitive-photo), .cover-hero.cover-hero--style-split.cover-hero--portfolio > picture > .cover-hero-photo { width: calc(50% - var(--split-half-gap) - var(--split-panel-inset)); }
      .cover-hero.cover-hero--style-split.cover-hero--portfolio:not(.cover-hero--layout-compact) .cover-hero-copy { justify-self: start; max-width: none; margin: var(--split-panel-inset) 0 var(--split-panel-inset) var(--split-panel-inset); width: calc(100% - var(--split-half-gap) - var(--split-panel-inset)); }
      .cover-hero.cover-hero--style-split.cover-hero--portfolio.cover-hero--layout-compact > :is(.cover-hero-placeholder-frame, .cover-hero-photo, .cover-hero-empty, .cover-hero-image-protector, .sensitive-photo), .cover-hero.cover-hero--style-split.cover-hero--portfolio.cover-hero--layout-compact > picture > .cover-hero-photo { width: calc(50% - var(--split-half-gap)); }
      .cover-hero.cover-hero--style-split.cover-hero--portfolio.cover-hero--layout-compact .cover-hero-copy { justify-self: start; max-width: none; width: calc(100% + var(--split-half-gap)); }
    }
@media (min-width: 761px) {
      .cover-hero.cover-hero--style-split.cover-hero--gallery { --split-middle-gap: var(--public-page-padding); --split-half-gap: calc(var(--split-middle-gap) / 2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .cover-hero.cover-hero--style-split.cover-hero--gallery > :is(.cover-hero-placeholder-frame, .cover-hero-photo, .cover-hero-empty, .cover-hero-image-protector, .sensitive-photo), .cover-hero.cover-hero--style-split.cover-hero--gallery > picture > .cover-hero-photo { width: calc(50% - var(--split-half-gap) - var(--split-panel-inset)); }
      .cover-hero.cover-hero--style-split.cover-hero--gallery:not(.cover-hero--layout-compact) .cover-hero-copy { justify-self: start; max-width: none; margin: 0; width: calc(50% - var(--split-half-gap) - var(--split-panel-inset)); }
      .cover-hero.cover-hero--style-split.cover-hero--gallery.cover-hero--layout-compact > :is(.cover-hero-placeholder-frame, .cover-hero-photo, .cover-hero-empty, .cover-hero-image-protector, .sensitive-photo), .cover-hero.cover-hero--style-split.cover-hero--gallery.cover-hero--layout-compact > picture > .cover-hero-photo { width: calc(50% - var(--split-half-gap)); }
      .cover-hero.cover-hero--style-split.cover-hero--gallery.cover-hero--layout-compact .cover-hero-copy { justify-self: start; max-width: none; width: calc(100% + var(--split-half-gap)); }
    }
    .cover-hero--style-full .cover-hero-copy,
    .cover-hero--style-full .gallery-portfolio-link,
    .cover-hero--style-full .portfolio-cover-contact-link { transition: opacity 180ms ease-out; }
    html[data-cover-image="loading"] .cover-hero--style-full .cover-hero-copy { animation: none; opacity: 0; transform: none; }
    html[data-cover-image="loading"][data-cover-loading-copy="ready"] .cover-hero--style-full .cover-hero-copy { opacity: .28; text-shadow: none !important; transform: translateY(10px); }
    html[data-cover-title-fit="loading"][data-cover-image="loading"][data-cover-loading-copy="ready"] .cover-hero--style-full .cover-hero-copy { opacity: 0; }
    html[data-cover-font="ready"][data-cover-image="ready"][data-cover-loading-copy="waiting"] .cover-hero--style-full .cover-hero-copy,
    html[data-cover-font="ready"][data-cover-image="error"][data-cover-loading-copy="waiting"] .cover-hero--style-full .cover-hero-copy { animation: cover-copy-reveal 520ms cubic-bezier(.2, .7, .2, 1) 120ms both; }
    html[data-cover-font="ready"][data-cover-image="ready"][data-cover-loading-copy="ready"] .cover-hero--style-full .cover-hero-copy,
    html[data-cover-font="ready"][data-cover-image="error"][data-cover-loading-copy="ready"] .cover-hero--style-full .cover-hero-copy { animation: cover-loading-copy-reveal 520ms cubic-bezier(.2, .7, .2, 1) both; }
    html[data-cover-image="loading"] .cover-hero--style-full .gallery-portfolio-link,
    html[data-cover-image="loading"] .cover-hero--style-full .portfolio-cover-contact-link { opacity: 0; pointer-events: none; visibility: hidden; }
    html[data-cover-image="loading"][data-cover-loading-copy="ready"] .cover-hero--style-full .gallery-portfolio-link,
    html[data-cover-image="loading"][data-cover-loading-copy="ready"] .cover-hero--style-full .portfolio-cover-contact-link { opacity: .35; text-shadow: none !important; visibility: visible; }
    html[data-cover-image="loading"] .cover-hero--style-full .portfolio-cover-menu-icon { filter: none !important; }
    html[data-cover-image="loading"] .cover-hero--style-full .cover-scroll-link { opacity: 0; pointer-events: none; visibility: hidden; }
    .cover-hero--gallery.cover-hero--style-full.cover-hero--dim-gradient-light,
    .cover-hero--gallery.cover-hero--style-full.cover-hero--dim-gradient-top-light,
    .cover-hero--gallery.cover-hero--style-full.cover-hero--dim-full-light { --gallery-author-shadow-opacity: .18; }
    .cover-hero--gallery.cover-hero--style-full.cover-hero--dim-gradient-strong,
    .cover-hero--gallery.cover-hero--style-full.cover-hero--dim-gradient-top-strong,
    .cover-hero--gallery.cover-hero--style-full.cover-hero--dim-full-strong { --gallery-author-shadow-opacity: .28; }
    .cover-hero--style-split:not(.cover-hero--layout-compact) .gallery-portfolio-link--in-panel { left: var(--split-panel-padding); max-width: calc(100% - (var(--split-panel-padding) * 2)); right: auto; top: var(--split-panel-padding); }
    .cover-hero--style-split.cover-hero--position-center-high .gallery-portfolio-link--in-panel { justify-content: center; left: 50%; max-width: calc(100% - (var(--split-panel-padding) * 2)); right: auto; text-align: center; transform: translateX(-50%); }
    .cover-hero--style-split.cover-hero--position-bottom-left .gallery-portfolio-link--in-panel { display: inline-flex; inset: auto; justify-self: start; max-width: min(52ch, 100%); position: static; }
    .cover-hero--style-split .gallery-portfolio-link--stacked { display: inline-flex; inset: auto; justify-self: inherit; left: auto; margin-bottom: clamp(4px, .5vw, 8px); max-width: min(52ch, 100%); position: static; right: auto; top: auto; }
    .cover-hero--style-text.cover-hero--position-center-high .gallery-portfolio-link { justify-content: center; left: 50%; max-width: calc(100% - (var(--text-panel-padding-inline) * 2)); right: auto; text-align: center; transform: translateX(-50%); }
    .gallery-hero-copy { gap: clamp(20px, 3vw, 54px); grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
    .cover-hero--position-center .gallery-hero-copy,
    .cover-hero--position-center-high .gallery-hero-copy,
    .cover-hero--position-center-low .gallery-hero-copy { grid-template-columns: 1fr; }
    .cover-hero--gallery.cover-hero--position-center .gallery-hero-copy,
    .cover-hero--gallery.cover-hero--position-center-high .gallery-hero-copy,
    .cover-hero--gallery.cover-hero--position-center-low .gallery-hero-copy { align-items: center; inset: 0; place-content: center; position: absolute; width: auto; }
    .cover-hero--position-center .cover-hero-copy,
    .cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--position-center-low .cover-hero-copy { inset: 0; place-content: center; position: absolute; width: auto; }
    .cover-hero--position-center .cover-hero-text,
    .cover-hero--position-center-high .cover-hero-text,
    .cover-hero--position-center-low .cover-hero-text { left: 50%; position: absolute; translate: -50% -50%; width: min(860px, calc(100% - clamp(44px, 8vw, 128px))); }
    .cover-hero--position-center .cover-hero-text { top: 50%; }
    .cover-hero--position-center-high .cover-hero-text { top: 33.333%; }
    .cover-hero--position-center-low .cover-hero-text { top: 66.667%; }
    .cover-hero--style-split.cover-hero--position-top-left .cover-hero-copy { align-self: start; }
    .cover-hero--style-split.cover-hero--position-bottom-left .cover-hero-copy { align-self: end; }
    .cover-hero--style-split.cover-hero--position-top-left { padding-top: 0; }
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-top-left .cover-hero-copy,
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-bottom-left .cover-hero-copy { align-self: stretch; }
    .cover-hero--style-split.cover-hero--position-top-left .cover-hero-copy { align-content: start; }
    .cover-hero--style-split.cover-hero--position-bottom-left .cover-hero-copy { align-content: end; }
    .cover-hero--style-split.cover-hero--position-bottom-left .gallery-hero-copy { align-content: space-between; }
    .cover-hero--style-split.cover-hero--position-top-left .cover-hero-text,
    .cover-hero--style-split.cover-hero--position-bottom-left .cover-hero-text { justify-items: start; }
    .cover-hero--style-split.cover-hero--position-center .cover-hero-copy,
    .cover-hero--style-split.cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--style-split.cover-hero--position-center-low .cover-hero-copy { inset: auto; place-content: initial; position: relative; }
    .cover-hero--style-split.cover-hero--position-center .cover-hero-copy { align-self: center; justify-self: center; }
    .cover-hero--style-split.cover-hero--position-center .cover-hero-copy { align-content: center; justify-items: center; }
    .cover-hero--style-split.cover-hero--layout-compact.cover-hero--position-center .cover-hero-copy,
    .cover-hero--style-split.cover-hero--layout-compact.cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--style-split.cover-hero--layout-compact.cover-hero--position-center-low .cover-hero-copy { align-content: center; align-self: stretch; }
    .cover-hero--style-split.cover-hero--position-center .cover-hero-text { justify-items: center; }
    .cover-hero--style-split.cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--style-split.cover-hero--position-center-low .cover-hero-copy { align-content: center; align-self: center; }
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center-low .cover-hero-copy { align-self: stretch; padding: var(--split-panel-padding); }
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center .cover-hero-copy,
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center-low .cover-hero-copy { align-self: stretch; }
    .cover-hero--style-text.cover-hero--position-center-high .cover-hero-copy,
    .cover-hero--style-text.cover-hero--position-center-low .cover-hero-copy { inset: auto; place-content: initial; position: relative; width: 100%; }
    .cover-hero--style-text.cover-hero--position-center-high .cover-hero-text,
    .cover-hero--style-text.cover-hero--position-center-low .cover-hero-text,
    .cover-hero--style-split.cover-hero--position-center-high .cover-hero-text,
    .cover-hero--style-split.cover-hero--position-center-low .cover-hero-text { left: 50%; position: absolute; translate: -50% -50%; }
    .cover-hero--style-text.cover-hero--position-center-high .cover-hero-text,
    .cover-hero--style-text.cover-hero--position-center-low .cover-hero-text { width: min(860px, calc(100% - clamp(44px, 8vw, 128px))); }
    .cover-hero--style-split.cover-hero--position-center-high .cover-hero-text,
    .cover-hero--style-split.cover-hero--position-center-low .cover-hero-text { width: min(620px, calc(100% - (var(--split-panel-padding) * 2))); }
    .cover-hero--style-text.cover-hero--position-center-high .cover-hero-text,
    .cover-hero--style-split.cover-hero--position-center-high .cover-hero-text { top: 33.333%; }
    .cover-hero--style-text.cover-hero--position-center-low .cover-hero-text,
    .cover-hero--style-split.cover-hero--position-center-low .cover-hero-text { top: 66.667%; }
    .cover-hero--style-split .gallery-hero-copy { grid-template-columns: 1fr; }
      .cover-hero--style-split.cover-hero--gallery.cover-hero--position-center .gallery-hero-copy,
      .cover-hero--style-split.cover-hero--gallery.cover-hero--position-center-high .gallery-hero-copy,
      .cover-hero--style-split.cover-hero--gallery.cover-hero--position-center-low .gallery-hero-copy { align-items: initial; inset: auto; align-self: stretch; place-content: initial; position: relative; }
      .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--gallery .gallery-hero-copy { bottom: var(--split-panel-inset); height: auto; left: var(--split-panel-inset); margin: 0; max-width: calc(var(--split-panel-width) - (var(--split-panel-inset) * 2)); position: absolute; right: auto; top: var(--split-panel-inset); width: calc(var(--split-panel-width) - (var(--split-panel-inset) * 2)); }
    .gallery-hero-meta { color: color-mix(in srgb, currentColor 74%, transparent); display: flex; flex-wrap: wrap; font-size: 12px; font-weight: 400; gap: 10px 16px; }
    .public-cover-copy { border-bottom: 1px solid var(--line); display: grid; gap: 18px; padding: clamp(28px, 4vw, 64px) var(--public-page-padding); }
    .public-cover-copy p { color: var(--muted); font-size: clamp(17px, 1.25vw, 22px); line-height: 1.5; margin: 0; max-width: min(62ch, 100%); overflow-wrap: break-word; }
    .gallery-photo-columns { column-count: var(--gallery-grid-columns, 4); column-gap: var(--photo-grid-gutter); padding: var(--photo-grid-gutter); }
    .gallery-photo-columns--cover-surface-merge { padding-top: 0; }
    .gallery-photo-columns--title-surface-match { padding-top: min(var(--photo-grid-gutter), clamp(10px, 1vw, 18px)); }
    .gallery-photo-columns--title-surface-different { padding-top: max(var(--photo-grid-gutter), clamp(24px, 2vw, 32px)); }
    body[data-layout="grid"] .gallery-photo-columns,
    body[data-layout="contained_grid"] .gallery-photo-columns { column-count: auto; display: grid; gap: var(--photo-grid-gutter); grid-template-columns: repeat(var(--gallery-grid-columns, 4), minmax(0, 1fr)); }
    body[data-layout="masonry"] .gallery-photo-columns--sparse { column-count: auto; display: grid; gap: var(--photo-grid-gutter); grid-template-columns: repeat(var(--gallery-grid-columns, 4), minmax(0, 1fr)); }
    body[data-layout="masonry"] .gallery-photo-columns[data-masonry-enhanced="true"] { column-count: auto; display: grid; gap: var(--photo-grid-gutter); grid-template-columns: repeat(var(--gallery-grid-columns, 4), minmax(0, 1fr)); }
    .gallery-photo-stack { align-content: start; display: grid; gap: var(--photo-grid-gutter); min-width: 0; }
    .gallery-photo { break-inside: avoid; display: block; margin: 0 0 var(--photo-grid-gutter); }
    body[data-layout="grid"] .gallery-photo,
    body[data-layout="contained_grid"] .gallery-photo { display: grid; margin: 0; min-width: 0; }
    body[data-layout="masonry"] .gallery-photo-columns[data-masonry-enhanced="true"] .gallery-photo,
    body[data-layout="masonry"] .gallery-photo-columns--sparse .gallery-photo { margin: 0; min-width: 0; }
    .gallery-photo-button { background: var(--image-placeholder); border: 0; cursor: zoom-in; display: block; overflow: hidden; padding: 0; position: relative; text-align: inherit; width: 100%; }
    .gallery-photo-button::before { background-image: var(--public-photo-placeholder-image); background-position: var(--public-photo-placeholder-position, center); background-size: cover; content: ""; filter: blur(10px); inset: -10px; opacity: .88; position: absolute; transform: scale(1.04); z-index: 0; }
    body[data-layout="contained_grid"] .gallery-photo-frame, body[data-layout="contained_grid"] .gallery-photo-button { background: var(--paper); }
    .gallery-photo-columns .gallery-photo-frame { aspect-ratio: 4 / 3; container-type: size; display: grid; place-items: center; width: 100%; }
    .gallery-photo-columns .gallery-photo-hit-area { display: block; height: min(100cqh, calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333))); overflow: hidden; position: relative; width: min(100cqw, calc(100cqh * var(--gallery-photo-aspect-ratio, 1.3333333333))); }
    body[data-layout="contained_grid"] .gallery-photo-button::before { background-repeat: no-repeat; background-size: 100% 100%; clip-path: inset(0); height: min(100cqh, calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333))); inset: 50% auto auto 50%; transform: translate(-50%, -50%); width: min(100cqw, calc(100cqh * var(--gallery-photo-aspect-ratio, 1.3333333333))); }
    .gallery-photo-button[data-photo-transition-target="true"] { background: transparent; }
    body[data-layout="grid"] .gallery-photo-button { aspect-ratio: 4 / 3; display: grid; place-items: center; }
    body[data-layout="grid"] .gallery-photo-button > picture,
    body[data-layout="contained_grid"] .gallery-photo-button > picture { display: block; height: 100%; width: 100%; }
    .gallery-photo-button:focus, .gallery-photo-button:focus-visible, .gallery-photo-button:active { outline: 0; }
    .gallery-photo img { background: transparent; display: block; height: auto; object-fit: contain; position: relative; transition: transform 180ms ease-out; width: 100%; z-index: 1; }
    body[data-layout="grid"] .gallery-photo img,
    body[data-layout="contained_grid"] .gallery-photo img { aspect-ratio: 4 / 3; height: 100%; width: 100%; }
    body[data-layout="grid"] .gallery-photo img { object-fit: cover; }
    body[data-layout="contained_grid"] .gallery-photo img { object-fit: contain; }
    .gallery-photo-columns { --gallery-photo-text-background: var(--paper); --gallery-photo-text-ink: var(--ink); --gallery-photo-text-muted: var(--muted); }
    .gallery-photo-columns .gallery-photo-text-item { align-content: start; align-self: start; position: relative; }
    .gallery-photo-columns .gallery-photo-text-item--contained { container-type: inline-size; }
    .gallery-photo-columns .gallery-photo-text { background: var(--gallery-photo-text-background); box-sizing: border-box; color: var(--gallery-photo-text-ink); display: grid; font-family: var(--font-sans); gap: 3px; margin: 0; min-width: 0; padding: 8px 12px 10px; text-align: left; }
    .gallery-photo-columns .gallery-photo-text-title, .gallery-photo-columns .gallery-photo-text-caption { -webkit-box-orient: vertical; -webkit-line-clamp: var(--gallery-photo-text-lines, 2); display: -webkit-box; overflow: hidden; overflow-wrap: anywhere; }
    .gallery-photo-columns .gallery-photo-text-title { font-size: 14px; font-weight: 500; line-height: 1.4; }
    .gallery-photo-columns .gallery-photo-text-caption { color: var(--gallery-photo-text-muted); font-size: 13px; font-weight: 400; line-height: 1.45; }
    @media (hover: hover) {
    .gallery-photo-columns .gallery-photo-text { --gallery-photo-text-lines: 2; --gallery-photo-text-fade: 48px; background: linear-gradient(transparent, rgba(0, 0, 0, .16) calc(var(--gallery-photo-text-fade) * .45), rgba(0, 0, 0, .44) var(--gallery-photo-text-fade), rgba(0, 0, 0, .48)); bottom: 0; color: #fff; gap: 4px; left: 0; max-height: 100%; opacity: 0; overflow: hidden; padding: var(--gallery-photo-text-fade) 14px 12px; pointer-events: none; position: absolute; right: 0; text-shadow: 0 1px 3px rgba(0, 0, 0, .65); transition: opacity 150ms ease-out; z-index: 4; }
    .gallery-photo-columns .gallery-photo-text-item--contained > .gallery-photo-text {
      --photo-frame-height: var(--gallery-photo-frame-height, 75cqw);
      --photo-visible-width: min(100cqw, calc(var(--photo-frame-height) * var(--gallery-photo-aspect-ratio, 1.3333333333)));
      --photo-visible-height: min(var(--photo-frame-height), calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333)));
      bottom: max(0px, calc((var(--photo-frame-height) - var(--photo-visible-height)) / 2));
      left: max(0px, calc((100cqw - var(--photo-visible-width)) / 2));
      right: max(0px, calc((100cqw - var(--photo-visible-width)) / 2));
      max-height: var(--photo-visible-height);
      --gallery-photo-text-fade: min(48px, calc(var(--photo-visible-height) * .4));
      padding-bottom: min(12px, calc(var(--photo-visible-height) * .1));
    }
    .gallery-photo-columns .gallery-photo-text-caption { color: #fff; }
    .gallery-photo-columns .gallery-photo-text-item:is(:not(.gallery-photo-text-item--contained):hover, :has(.gallery-photo-hit-area:hover), :is(:focus-visible, :has(:focus-visible)):not([data-photo-text-pointer-focus])):not([data-photo-text-dismissed]) > .gallery-photo-text { opacity: 1; }
   }
    @media (prefers-reduced-motion: reduce) { .gallery-photo-columns .gallery-photo-text { transition: none; } }
    body[data-layout="contained_grid"] .gallery-photo-columns { align-items: flex-start; column-count: auto; display: flex; flex-wrap: wrap; gap: calc(var(--photo-grid-gutter) / 2) var(--photo-grid-gutter); justify-content: center; }
    body[data-layout="contained_grid"] .gallery-photo-columns > figure {
      --gallery-photo-width-factor: min(1, calc(var(--gallery-photo-aspect-ratio, 1.3333333333) * .75));
      --gallery-photo-frame-height: calc(75cqw / var(--gallery-photo-width-factor));
      container-type: inline-size; flex: 0 0 auto; grid-template-columns: minmax(0, 1fr); margin: 0; min-width: 0; overflow: hidden;
      width: calc((100% - (var(--contained-columns) - 1) * var(--photo-grid-gutter)) / var(--contained-columns) * var(--gallery-photo-width-factor));
    }
    body[data-layout="contained_grid"] .gallery-photo-columns > figure .gallery-photo-frame { aspect-ratio: calc(4 / 3 * var(--gallery-photo-width-factor)); }
    body[data-layout="contained_grid"] .gallery-photo-columns > .gallery-photo-row-break { flex: 0 0 100%; height: 0; margin: 0; padding: 0; }

      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="1"] { --contained-columns: 1; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="1"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="1"] > .gallery-photo-row-break:nth-of-type(1n) { display: block; }

        body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="1"] > figure { --gallery-photo-width-factor: 1; --gallery-photo-frame-height: min(calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333)), 85svh); }
        body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="1"] > figure .gallery-photo-frame { aspect-ratio: var(--gallery-photo-aspect-ratio, 1.3333333333); max-height: 85svh; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] { --contained-columns: 2; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > .gallery-photo-row-break:nth-of-type(2n) { display: block; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] { --contained-columns: 3; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > .gallery-photo-row-break:nth-of-type(3n) { display: block; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] { --contained-columns: 4; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] > .gallery-photo-row-break:nth-of-type(4n) { display: block; }



      @media (min-width: 761px) and (max-width: 1120px) {

      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] { --contained-columns: 2; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > .gallery-photo-row-break:nth-of-type(2n) { display: block; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] { --contained-columns: 2; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > .gallery-photo-row-break:nth-of-type(2n) { display: block; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] { --contained-columns: 3; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] > .gallery-photo-row-break:nth-of-type(3n) { display: block; }


      }
      @media (max-width: 760px) {

      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] { --contained-columns: 1; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > .gallery-photo-row-break:nth-of-type(1n) { display: block; }

        body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > figure { --gallery-photo-width-factor: 1; --gallery-photo-frame-height: min(calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333)), 85svh); }
        body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="2"] > figure .gallery-photo-frame { aspect-ratio: var(--gallery-photo-aspect-ratio, 1.3333333333); max-height: 85svh; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] { --contained-columns: 1; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > .gallery-photo-row-break:nth-of-type(1n) { display: block; }

        body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > figure { --gallery-photo-width-factor: 1; --gallery-photo-frame-height: min(calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333)), 85svh); }
        body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="3"] > figure .gallery-photo-frame { aspect-ratio: var(--gallery-photo-aspect-ratio, 1.3333333333); max-height: 85svh; }


      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] { --contained-columns: 2; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] > .gallery-photo-row-break:nth-of-type(n) { display: none; }
      body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns="4"] > .gallery-photo-row-break:nth-of-type(2n) { display: block; }


      }

    body[data-layout="contained_grid"] .gallery-photo-columns[data-contained-columns] > .gallery-photo-row-break:last-child { display: none; }
    body[data-layout="justified"] .gallery-photo-columns { column-count: auto; display: flex; flex-wrap: wrap; gap: var(--photo-grid-gutter); align-items: flex-start; }
    body[data-layout="justified"] .gallery-photo-columns > .gallery-justified-photo { flex: 0 0 var(--justified-photo-width); margin: 0; min-width: 0; position: relative; }
    body[data-layout="justified"] .gallery-photo-columns .gallery-justified-media { aspect-ratio: var(--justified-photo-ratio); display: block; overflow: hidden; position: relative; width: 100%; }
    body[data-layout="justified"] .gallery-photo-columns .gallery-justified-media > picture { display: block; height: 100%; width: 100%; }
    body[data-layout="justified"] .gallery-photo-columns .gallery-justified-media img { height: 100%; object-fit: contain; object-position: 50% 50%; width: 100%; }
    body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="1"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-1); }
    body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="2"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-2); }
    body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="3"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-3); }
    body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="4"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-4); }

      @media (min-width: 761px) and (max-width: 1120px) {
        body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="2"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-2); }
body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="3"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-2); }
body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="4"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-3); }
      }
      @media (max-width: 760px) {
        body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="2"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-1); }
body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="3"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-1); }
body[data-layout="justified"] .gallery-photo-columns[data-justified-columns="4"] > .gallery-justified-photo { --justified-photo-width: var(--justified-photo-width-2); }
      }
    .photo-viewer-open, .photo-viewer-open body { overflow: hidden; overscroll-behavior: none; }
    .photo-viewer-open body { touch-action: none; width: 100%; }
    .photo-viewer-open[data-photo-viewer-fixed-scroll] body { position: fixed; }
      .photo-viewer { --photo-viewer-background-opacity: 0; --photo-viewer-info-gap: 8px; --photo-viewer-inline-padding: 18px; --photo-viewer-toolbar-height: 44px; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; background: transparent; color: var(--ink); display: none; font-family: var(--font-sans); inset: 0; touch-action: manipulation; position: fixed; user-select: none; z-index: 40; }
    .photo-viewer[aria-hidden="false"] { display: grid; grid-template-rows: var(--photo-viewer-toolbar-height) minmax(0, 1fr) var(--photo-viewer-toolbar-height); }
    .photo-viewer[data-purchase-open] { pointer-events: none; }
    .photo-viewer[data-purchase-open] > * { visibility: hidden; }
    /* Fade a fixed-radius blur throughout opening and quickly at the start of closing. */
    .photo-viewer::after { -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); content: ""; inset: 0; opacity: 0; pointer-events: none; position: fixed; transition: opacity 100ms ease-out; z-index: -1; }
    .photo-viewer[data-background-visible="true"]:not([data-closing="true"])::after { opacity: 1; transition-duration: 300ms; transition-timing-function: cubic-bezier(.2, .7, .2, 1); }
    .photo-viewer::before { background: var(--paper); content: ""; inset: 0; opacity: var(--photo-viewer-background-opacity); pointer-events: none; position: fixed; transition: opacity 360ms cubic-bezier(.2, .7, .2, 1); z-index: 0; }
    .photo-viewer[data-background-visible="true"] { --photo-viewer-background-opacity: .82; }
    .photo-viewer-frame { align-items: center; display: grid; height: calc(var(--photo-viewer-viewport-height, 100svh) - (var(--photo-viewer-toolbar-height) * 2)); min-height: 0; padding: 0; place-items: center; position: relative; width: 100%; z-index: 1; }
    .photo-viewer-stage { height: 100%; justify-items: center; min-width: 0; pointer-events: none; position: relative; width: 100%; z-index: 2; }
    .photo-viewer-image-shell { --photo-viewer-frame-border-width: 8px; align-items: center; background: var(--image-placeholder); box-shadow: none; display: grid; height: var(--photo-viewer-image-height, 0px); justify-items: center; left: var(--photo-viewer-image-left, 0px); min-height: 0; opacity: 1; overflow: hidden; pointer-events: none; position: fixed; top: var(--photo-viewer-image-top, 0px); touch-action: none; transform-origin: center center; transition: none; width: var(--photo-viewer-image-width, 0px); will-change: transform; z-index: 4; }
    .photo-viewer-image-frame { --photo-viewer-frame-border-width: 8px; --photo-viewer-frame-shadow: 0 0 56px rgba(0, 0, 0, .38); border: var(--photo-viewer-frame-border-width) solid #ffffff; box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-sizing: border-box; height: calc(var(--photo-viewer-image-height, 0px) + (var(--photo-viewer-frame-border-width) * 2)); left: calc(var(--photo-viewer-image-left, 0px) - var(--photo-viewer-frame-border-width)); opacity: 0; pointer-events: none; position: fixed; top: calc(var(--photo-viewer-image-top, 0px) - var(--photo-viewer-frame-border-width)); transform-origin: center center; transition: none; width: calc(var(--photo-viewer-image-width, 0px) + (var(--photo-viewer-frame-border-width) * 2)); will-change: opacity; z-index: 5; }
    .photo-viewer[data-touch-frame-owner="shell"]:not([data-open-morphing="true"]):not([data-closing="true"]) .photo-viewer-image-shell { box-shadow: var(--photo-viewer-frame-shadow, 0 0 56px rgba(0, 0, 0, .38)); outline: var(--photo-viewer-frame-border-width) solid #ffffff; outline-offset: 0; }
    .photo-viewer[data-touch-frame-owner="shell"] .photo-viewer-image-frame { box-shadow: none !important; opacity: 0 !important; }
    .photo-viewer-image-shell > * { grid-area: 1 / 1; }
      .photo-viewer-image-shell > picture { display: block; height: var(--photo-viewer-image-height, auto); width: var(--photo-viewer-image-width, auto); }
      .photo-viewer-image-shell > img,
      .photo-viewer-image-shell > picture > img { -webkit-user-drag: none; -webkit-user-select: none; display: block; height: var(--photo-viewer-image-height, auto); object-fit: fill; pointer-events: none; position: relative; user-select: none; width: var(--photo-viewer-image-width, auto); z-index: 1; }
      .photo-viewer-grid-image { opacity: 0; transition: opacity 160ms ease-out; z-index: 1; }
      .photo-viewer[data-grid-visible="true"] .photo-viewer-grid-image { opacity: 1; }
      .photo-viewer-image-shell > picture > [data-photo-viewer-image] { z-index: 2; }
      .photo-viewer-navigation-underlay-layer { inset: 0; pointer-events: none; position: absolute; z-index: 6; }
      .photo-viewer-navigation-underlay-shell { align-items: center; background: var(--image-placeholder); display: grid; justify-items: center; overflow: hidden; pointer-events: none; position: absolute; z-index: 1; }
      .photo-viewer-navigation-underlay-image { -webkit-user-drag: none; -webkit-user-select: none; display: block; height: 100%; object-fit: fill; pointer-events: none; user-select: none; width: 100%; }
      .photo-viewer-navigation-underlay-frame { border: var(--photo-viewer-frame-border-width, 8px) solid #ffffff; box-shadow: var(--photo-viewer-frame-shadow, 0 0 56px rgba(0, 0, 0, .38)); box-sizing: border-box; pointer-events: none; position: absolute; z-index: 2; }
      .photo-viewer[data-navigation-underlay-visible="true"] .photo-viewer-image-frame { opacity: 0 !important; }
      .photo-viewer-placeholder-image, .photo-viewer-touch-placeholder-image { filter: blur(14px); opacity: .9; transform: scale(1.025); transform-origin: center center; z-index: 0; }
      .photo-viewer-placeholder-image { opacity: 0; transition: opacity 160ms ease-out; }
      .photo-viewer[data-placeholder-visible="true"] .photo-viewer-placeholder-image { opacity: .9; }
      .photo-viewer-loading-indicator { align-self: end; display: block; height: 22px; justify-self: end; margin: 0 12px 12px 0; opacity: 0; pointer-events: none; position: relative; transition: opacity 120ms ease-out; width: 22px; z-index: 3; }
      .photo-viewer-loading-indicator::before { animation: photo-viewer-spinner 900ms linear infinite; border: 2px solid color-mix(in srgb, #ffffff 30%, transparent); border-radius: 999px; border-top-color: color-mix(in srgb, #ffffff 90%, transparent); box-sizing: border-box; content: ""; display: block; height: 18px; inset: 2px; position: absolute; width: 18px; }
      .photo-viewer[data-delayed-image-load="true"]:not([data-open-morphing="true"]):not([data-closing="true"]) .photo-viewer-loading-indicator { opacity: .78; }
      .photo-viewer-side-shell { display: none !important; }
      .photo-viewer[data-frame-visible="true"] .photo-viewer-image-frame { opacity: 1; }
      .photo-viewer[data-frame-depth-visible="true"] .photo-viewer-image-frame { box-shadow: var(--photo-viewer-frame-shadow); }
      .photo-viewer[data-open-morphing="true"] .photo-viewer-image-shell,
      .photo-viewer[data-closing="true"] .photo-viewer-image-shell { background: transparent; box-shadow: none; }
      .photo-viewer[data-open-morphing="true"] .photo-viewer-image-frame,
      .photo-viewer[data-closing="true"] .photo-viewer-image-frame { opacity: 0; }
      .photo-viewer[data-open-morphing="true"] .photo-viewer-image-frame,
      .photo-viewer[data-closing="true"] .photo-viewer-image-frame { box-shadow: 0 0 0 rgba(0, 0, 0, 0); }
      .photo-viewer[data-open-morphing="true"] .photo-viewer-placeholder-image,
      .photo-viewer[data-open-morphing="true"] .photo-viewer-grid-image,
      .photo-viewer[data-closing="true"] .photo-viewer-placeholder-image { opacity: 0 !important; }
      .photo-viewer[data-closing="true"] .photo-viewer-grid-image { opacity: 0 !important; }
      .photo-viewer[data-open-morphing="true"] [data-photo-viewer-image] { opacity: 0 !important; }
      .photo-viewer[data-fade-image-on-close="true"] .photo-viewer-image-shell,
      .photo-viewer[data-fade-image-on-close="true"] .photo-viewer-image-frame { opacity: 0; transition: opacity 360ms cubic-bezier(.2, .7, .2, 1); }
      .photo-viewer-image-shell[data-sensitive-hidden="true"]::before { background: color-mix(in srgb, var(--paper) 22%, transparent); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 3; }
      .photo-viewer-image-shell[data-sensitive-hidden="true"] img { filter: blur(24px) saturate(.75) contrast(.72) brightness(.98); transform: scale(1.14); transform-origin: center center; }
      .photo-viewer[data-placeholder-visible="true"] .photo-viewer-image-shell[data-sensitive-hidden="true"] .photo-viewer-placeholder-image,
      .photo-viewer[data-grid-visible="true"] .photo-viewer-image-shell[data-sensitive-hidden="true"] .photo-viewer-grid-image,
      .photo-viewer-image-shell[data-sensitive-hidden="true"] img:not(.photo-viewer-placeholder-image):not(.photo-viewer-grid-image) { opacity: 1; }
    .photo-viewer-sensitive-reveal { -webkit-tap-highlight-color: transparent; -webkit-user-select: none; align-items: center; align-self: center; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, currentColor 62%, transparent); color: var(--ink); cursor: pointer; display: inline-flex; font: inherit; font-size: 13px; font-weight: 450; gap: 8px; justify-content: center; justify-self: center; line-height: 1; max-width: calc(100% - 32px); min-height: 42px; overflow-wrap: anywhere; padding: 0 2px; pointer-events: auto; position: relative; text-align: center; user-select: none; z-index: 4; }
    .photo-viewer-sensitive-reveal[hidden] { display: none; }
    .photo-viewer-sensitive-reveal:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
    .photo-viewer-topbar { -webkit-user-select: none; align-items: center; background: transparent; border: 0; box-sizing: border-box; display: grid; font-size: 13px; font-weight: 420; gap: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); height: var(--photo-viewer-toolbar-height); padding: 0 var(--photo-viewer-inline-padding); pointer-events: auto; position: relative; user-select: none; z-index: 4; }
    .photo-viewer-bottombar { align-items: center; display: flex; height: var(--photo-viewer-toolbar-height); justify-content: center; padding: 0 var(--photo-viewer-inline-padding); pointer-events: none; position: relative; z-index: 4; }
    .photo-page .photo-viewer-bottombar { display: grid; gap: 12px; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); }
    .photo-page-sequence-link { color: color-mix(in srgb, var(--ink) 76%, transparent); font-size: 12px; line-height: 1; min-height: 40px; padding: 14px 0; pointer-events: auto; text-decoration: none; }
    .photo-page-sequence-link--previous { grid-column: 1; justify-self: start; }
    .photo-page-sequence-link--next { grid-column: 3; justify-self: end; }
    .photo-page .photo-viewer-caption { grid-column: 2; grid-row: 1; justify-self: center; max-width: 100%; }
    .photo-page-sequence-link:focus-visible { color: var(--ink); outline: 1px solid currentColor; outline-offset: 3px; }
    .photo-viewer-caption { -webkit-tap-highlight-color: transparent; background: transparent; border: 0; color: color-mix(in srgb, var(--ink) 68%, transparent); cursor: pointer; display: block; font: inherit; font-size: 12px; line-height: 1.3; max-width: min(70ch, calc(100vw - (var(--photo-viewer-inline-padding) * 2))); overflow: hidden; padding: 0; pointer-events: auto; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
    .photo-viewer-caption[hidden] { display: none; }
    .photo-viewer-caption:focus, .photo-viewer-caption:focus-visible, .photo-viewer-caption:active { outline: 0; }
    .photo-viewer-title { color: color-mix(in srgb, var(--ink) 90%, transparent); font: inherit; font-weight: 500; left: 50%; line-height: 1.25; max-width: min(52vw, 560px); min-width: 0; overflow: hidden; position: absolute; text-align: center; text-overflow: ellipsis; transform: translateX(-50%); white-space: nowrap; width: min(52vw, 560px); z-index: 1; }
    .photo-viewer .photo-viewer-title, .photo-viewer .photo-viewer-info-panel, .photo-viewer .photo-viewer-info-panel * { -webkit-touch-callout: default; -webkit-user-select: text; user-select: text; }
    .photo-viewer-close:focus, .photo-viewer-close:focus-visible, .photo-viewer-close:active, .photo-viewer-info-toggle:focus, .photo-viewer-info-toggle:focus-visible, .photo-viewer-info-toggle:active, .photo-viewer-nav:focus, .photo-viewer-nav:focus-visible, .photo-viewer-nav:active { outline: 0; }
    .photo-viewer-close, .photo-viewer-info-toggle, .photo-viewer-buy { -webkit-tap-highlight-color: transparent; -webkit-user-select: none; align-items: center; background: transparent; border: 0; color: color-mix(in srgb, var(--ink) 76%, transparent); cursor: pointer; display: inline-flex; gap: 6px; height: 44px; justify-content: center; line-height: 1; min-width: 44px; padding: 0; pointer-events: auto; position: relative; text-decoration: none; user-select: none; width: auto; z-index: 2; }
    .photo-purchase-dialog { --paper: #ffffff; --ink: #050505; --line: rgb(0 0 0 / 14%); --muted: rgb(0 0 0 / 65%); color-scheme: light; background: var(--paper); color: var(--ink); border: 0; box-shadow: none; padding: 40px 28px 28px; outline: none; width: min(820px, calc(100vw - 48px)); max-height: calc(100svh - 48px); font: inherit; overflow: auto; }
    /* Keep the viewer veil and blur continuously rendered beneath the native dialog. */
    .photo-purchase-dialog::backdrop { background: transparent; }
    .photo-purchase-dialog[open] { animation: purchase-in 180ms ease-out both; }
    .photo-purchase-dialog[data-closing] { animation: purchase-out 120ms ease-in both; }
    @keyframes purchase-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes purchase-out { from { opacity: 1; } to { opacity: 0; } }
    @media (prefers-reduced-motion: reduce) { .photo-purchase-dialog[open], .photo-purchase-dialog::backdrop { animation: none; } }
    .photo-purchase-layout { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1fr); gap: 28px; align-items: center; }
    .photo-purchase-image { display: flex; align-items: flex-start; justify-content: center; padding: 0; min-width: 0; }
    .photo-purchase-preview { display: block; width: 100%; max-height: min(420px, 58svh); object-fit: contain; }
    [data-purchase-status][aria-busy="true"] { display: flex; align-items: center; gap: 8px; }
    [data-purchase-status][aria-busy="true"]::before { content: ""; display: block; flex: 0 0 14px; width: 14px; height: 14px; border: 1px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: purchase-spin 0.8s linear infinite; }
    @keyframes purchase-spin { to { transform: rotate(360deg); } }
    @media (prefers-reduced-motion: reduce) { [data-purchase-status]::before { animation: none !important; } }
    .photo-purchase-body { position: relative; min-height: 304px; }
    .photo-purchase-skeleton { display: none; position: absolute; top: 33px; left: 0; right: 0; padding-top: 16px; }
    [data-purchase-status][aria-busy="true"] ~ .photo-purchase-skeleton { display: grid; gap: 10px; }
    .photo-purchase-skeleton span { display: block; height: 12px; width: 88%; background: color-mix(in srgb, var(--ink) 7%, var(--paper)); }
    .photo-purchase-skeleton .purchase-skeleton-price { width: 42%; height: 28px; }
    .photo-purchase-skeleton .purchase-skeleton-short { width: 58%; }
    .photo-purchase-skeleton .purchase-skeleton-license { width: 30%; height: 16px; margin-top: 16px; }
    .photo-purchase-skeleton .purchase-skeleton-action { width: 100%; height: 44px; margin-top: 16px; }
    .photo-purchase-dialog [data-purchase-status]:empty { display: none; }
    .photo-purchase-dialog [data-purchase-status] { font-size: 14px; line-height: 1.5; padding-top: 12px; }
    .photo-purchase-dialog [data-purchase-retry] { background: transparent; border: 1px solid var(--line); padding: 8px 12px; margin-top: 16px; cursor: pointer; }
    .photo-purchase-dialog :is(input, button, summary, a):focus:not(:focus-visible) { outline: none; }
    .photo-purchase-dialog h2 { font-size: 22px; line-height: 1.25; margin: 4px 0 8px; overflow-wrap: anywhere; }
    .photo-purchase-layout > section { min-width: 0; }
    .photo-purchase-dialog .photo-purchase-kind { font-size: 12px; color: var(--muted); margin: 0; }
    .photo-purchase-dialog h3 { font-size: 16px; margin: 16px 0 4px; }
    .photo-purchase-dialog p { font-size: 14px; line-height: 1.5; margin: 6px 0; }
    .photo-purchase-price-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 24px 0 16px; }
    .photo-purchase-dialog .photo-purchase-price { font-size: 24px; line-height: 1.25; margin: 0; }
    .photo-purchase-dialog button, .photo-purchase-dialog a { color: inherit; font: inherit; }
    .photo-purchase-close { position: absolute; right: 12px; top: 6px; background: transparent; border: 0; width: 44px; height: 44px; cursor: pointer; }
    .photo-purchase-dialog details { border: 0; padding: 0; font-size: 14px; }
    .photo-purchase-dialog summary { align-items: center; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; list-style: none; min-height: 44px; }
    .photo-purchase-dialog summary::-webkit-details-marker { display: none; }
    .photo-purchase-dialog summary::after { border-bottom: 1.5px solid currentColor; border-right: 1.5px solid currentColor; content: ""; height: 6px; width: 6px; transform: rotate(45deg); margin-right: 3px; flex: none; }
    .photo-purchase-dialog details[open]:not([data-collapsing]) summary::after { transform: rotate(225deg); }
    .photo-purchase-dialog summary::after { transition: transform 180ms ease-out; }
    .photo-purchase-dialog button { transition: background-color 120ms ease-out, border-color 120ms ease-out, color 120ms ease-out; }
    .photo-purchase-accept input { transition: background-color 90ms ease-out, border-color 90ms ease-out; }
    @media (hover: hover) { .photo-purchase-close:hover { background: color-mix(in srgb, var(--ink) 8%, var(--paper)); } .photo-purchase-pay:not(:disabled):hover { background: color-mix(in srgb, var(--ink) 85%, var(--paper)); border-color: color-mix(in srgb, var(--ink) 85%, var(--paper)); } .photo-purchase-accept input:not(:checked):hover { border-color: var(--ink); } }
    .photo-purchase-pay:not(:disabled):active { background: color-mix(in srgb, var(--ink) 75%, var(--paper)); }
    @media (prefers-reduced-motion: reduce) { .photo-purchase-dialog button, .photo-purchase-accept input, .photo-purchase-dialog summary::after { transition: none; } }
    .photo-purchase-dialog .photo-purchase-tax { font-size: 12px; margin: 0; color: var(--muted); }
    .photo-purchase-dialog .photo-purchase-stripe { font-size: 12px; text-align: center; margin: 8px 0 0; opacity: .7; }
    .photo-purchase-dialog [data-purchase-seller], .photo-purchase-dialog [data-purchase-specs], .photo-purchase-dialog .photo-purchase-window { font-size: 12px; color: var(--muted); }
    .photo-purchase-dialog [data-purchase-seller] { margin: 0; overflow-wrap: anywhere; }
    .photo-purchase-dialog .photo-purchase-window { margin: 4px 0 8px; }
    .photo-purchase-dialog [data-purchase-contact]:empty { display: none; }
    .photo-purchase-dialog [data-purchase-license-title] { margin-top: 14px; }
    .photo-purchase-dialog [data-purchase-license-summary] { margin: 0; }
    .photo-purchase-close svg { width: 20px; height: 20px; }
    .photo-purchase-close { display: flex; align-items: center; justify-content: center; }
    .photo-purchase-accept input { appearance: none; width: 18px; height: 18px; border: 1px solid var(--line); border-radius: 0; background: var(--paper); margin: 2px 0 0; flex: none; display: grid; place-content: center; cursor: pointer; }
    .photo-purchase-accept input:checked { background: var(--ink); border-color: var(--ink); }
    .photo-purchase-accept input:checked::after { content: ""; width: 8px; height: 4px; border-left: 2px solid var(--paper); border-bottom: 2px solid var(--paper); transform: translateY(-1px) rotate(-45deg); }
    .photo-purchase-dialog :is(input, button, summary, a):focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
    .photo-purchase-dialog [data-purchase-license] { white-space: pre-wrap; }
    .photo-purchase-accept { display: flex; gap: 10px; align-items: start; font-size: 13px; line-height: 1.5; margin: 12px 0 16px; }
    .photo-purchase-pay { background: var(--ink); color: var(--paper) !important; border: 1px solid var(--ink); min-height: 44px; padding: 10px 18px; cursor: pointer; width: 100%; }
    .photo-purchase-pay:disabled { opacity: .5; }
    .photo-purchase-accept input[aria-invalid="true"] { border-color: #a3212b; outline: 1px solid #a3212b; }
    .photo-purchase-dialog [data-purchase-accept-error] { color: #a3212b; }
    .photo-purchase-dialog [data-purchase-accept-error]:empty { display: none; }
    .photo-purchase-dialog [data-purchase-accept-error] { font-size: 13px; margin: -8px 0 16px; }

    @media (max-width: 760px) { .photo-purchase-dialog { width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: 0; border: 0; box-shadow: none; padding: 52px 20px 24px; } .photo-purchase-layout { grid-template-columns: minmax(0,1fr); gap: 20px; } .photo-purchase-image { padding: 0; } .photo-purchase-preview { max-height: min(160px, 22svh); } }
    .photo-viewer-topbar-actions { align-items: center; display: flex; gap: 12px; justify-self: end; position: relative; z-index: 2; }
    .photo-viewer-buy { border-radius: 0; box-sizing: border-box; flex: none; font: inherit; padding: 0 11px; white-space: nowrap; }
    /* This layer sits over the 82% viewer veil, giving 91% combined opacity. */
    .photo-viewer-buy::before { background: color-mix(in srgb, var(--paper) 50%, transparent); content: ""; inset: 6px 0; pointer-events: none; position: absolute; z-index: -1; }
    .photo-viewer-buy .photo-viewer-control-icon { height: 16px; width: 16px; }
    @media (hover: hover) { .photo-viewer-buy:hover::before { background: color-mix(in srgb, var(--paper) 60%, transparent); } }
    .photo-viewer-buy:active::before { background: color-mix(in srgb, var(--paper) 70%, transparent); }
    .photo-viewer-buy[hidden] { display: none; }
    .photo-viewer-buy:focus-visible { outline: 1px solid currentColor; outline-offset: 3px; }
    .photo-viewer-buy[data-restored-focus]:focus { outline: none; }
    .photo-viewer-buy:hover { color: var(--ink); }
    .photo-viewer:has(.photo-viewer-buy:not([hidden])) .photo-viewer-title { max-width: calc(100% - 440px); }
    .photo-viewer-close { justify-self: start; }
    .photo-viewer-info-toggle { justify-self: end; }
    .photo-viewer-control-label { font: inherit; line-height: 1; white-space: nowrap; }
    .photo-viewer-control-icon { display: block; fill: none; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; width: 18px; }
    .photo-viewer-info-toggle[aria-expanded="true"] { color: var(--ink); }
    .photo-viewer-close:focus-visible, .photo-viewer-info-toggle:focus-visible, .photo-viewer-caption:focus-visible { color: var(--ink); }
    @media (hover: hover) and (pointer: fine) {
      .photo-viewer-close:hover, .photo-viewer-info-toggle:hover, .photo-viewer-caption:hover { color: var(--ink); }
    }
    .photo-viewer-nav { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; background: transparent; border: 0; bottom: var(--photo-viewer-toolbar-height); opacity: 0; padding: 0; pointer-events: none; position: absolute; top: var(--photo-viewer-toolbar-height); user-select: none; width: 50%; z-index: 3; }
    .photo-viewer-nav--previous { left: 0; }
    .photo-viewer-nav--next { right: 0; }
    @media (hover: hover) and (pointer: fine) {
      .photo-viewer-image-shell::after { background-position: center; background-repeat: no-repeat; background-size: 32px 32px; content: ""; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .78)); height: 44px; opacity: 0; pointer-events: none; position: absolute; top: 50%; transform: translate3d(0, -50%, 0); width: 44px; z-index: 5; }
      .photo-viewer[data-navigation-direction="previous"] .photo-viewer-image-shell::after { animation: photo-viewer-chevron-in-previous 120ms cubic-bezier(.2, .7, .2, 1) both; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='m20 9-7 7 7 7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); left: 14px; }
      .photo-viewer[data-navigation-direction="next"] .photo-viewer-image-shell::after { animation: photo-viewer-chevron-in-next 120ms cubic-bezier(.2, .7, .2, 1) both; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='m12 9 7 7-7 7' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); right: 14px; }
      .photo-viewer[data-navigation-direction] .photo-viewer-image-protector { cursor: pointer; }
    }
    .photo-viewer-nav[hidden] { display: none; }
    .photo-viewer-info-panel { background: var(--paper); border: 1px solid var(--line); color: var(--ink); display: grid; font-size: 12px; gap: 14px; inset: calc(var(--photo-viewer-toolbar-height) + var(--photo-viewer-info-gap)) var(--photo-viewer-inline-padding) auto auto; line-height: 1.45; max-height: calc(100svh - var(--photo-viewer-toolbar-height) - var(--photo-viewer-info-gap) - var(--photo-viewer-inline-padding)); max-width: calc(100vw - (var(--photo-viewer-inline-padding) * 2)); opacity: 0; overflow: auto; padding: 16px; pointer-events: none; position: absolute; transform: translateY(-6px); transition: opacity 160ms ease-out, transform 160ms ease-out; width: 340px; z-index: 5; }
      .photo-viewer[data-closing="true"] .photo-viewer-topbar, .photo-viewer[data-closing="true"] .photo-viewer-bottombar, .photo-viewer[data-closing="true"] .photo-viewer-nav, .photo-viewer[data-closing="true"] .photo-viewer-info-panel { opacity: 0; pointer-events: none; transition-duration: 80ms; }
    .photo-viewer-info-panel[data-open="true"] { opacity: 1; pointer-events: auto; transform: translateY(0); }
    .photo-viewer-info-panel[hidden] { display: none; }
    .photo-viewer-info-title { color: var(--ink); font-size: 14px; font-weight: 420; line-height: 1.25; margin: 0; overflow-wrap: anywhere; }
    .photo-viewer-info-title[hidden] { display: none; }
    .photo-viewer-info-caption { color: color-mix(in srgb, var(--ink) 78%, transparent); overflow-wrap: anywhere; }
    .photo-viewer-info-caption[hidden] { display: none; }
    .photo-viewer-info-panel p { margin: 0; }
    .photo-viewer-info-gear { border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); color: var(--ink); display: flex; gap: 20px; justify-content: flex-start; padding-top: 10px; }
    .photo-viewer-info-gear[hidden] { display: none; }
    .photo-viewer-info-gear-item { align-items: center; display: flex; flex: 0 1 var(--gear-artwork-width, 115.2px); justify-content: center; min-width: 0; }
    .photo-viewer-info-gear-item svg { display: block; height: 72px; max-width: 100%; width: 100%; }
    .photo-viewer-info-panel dl { display: grid; gap: 8px; grid-template-columns: auto minmax(0, 1fr); margin: 0; }
    .photo-viewer-info-panel dt { color: var(--muted); font-weight: 400; }
    .photo-viewer-info-panel dd { margin: 0; overflow-wrap: anywhere; }
    .photo-viewer-info-attribution { align-items: center; border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent); color: color-mix(in srgb, var(--ink) 48%, transparent); display: inline-flex; font-size: 12px; gap: 8px; justify-content: flex-start; line-height: 1; margin-top: 1px; padding-top: 14px; width: 100%; }
    .public-brand-logo-dark { display: none; }
    :is(body, .photo-viewer)[data-public-theme="dark"] .public-brand-logo { display: none; }
    :is(body, .photo-viewer)[data-public-theme="dark"] .public-brand-logo-dark { display: block; }
    @media (prefers-color-scheme: dark) {
      :is(body, .photo-viewer)[data-public-theme="system"] .public-brand-logo { display: none; }
      :is(body, .photo-viewer)[data-public-theme="system"] .public-brand-logo-dark { display: block; }
    }
    .photo-viewer-info-attribution .public-brand-logo { color: var(--ink); height: 11px; width: 62px; }
    .photo-viewer-info-actions { display: flex; flex-wrap: wrap; gap: 8px; }
    .photo-viewer-info-action { align-items: center; background: transparent; border: 1px solid color-mix(in srgb, var(--ink) 18%, transparent); color: var(--ink); cursor: pointer; display: inline-flex; font: inherit; height: 30px; justify-content: center; line-height: 1; padding: 0 10px; text-decoration: none; white-space: nowrap; }
    .photo-viewer-share-button { gap: 6px; }
    .photo-viewer-share-icon { display: block; fill: none; height: 14px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.65; width: 14px; }
    .photo-viewer .photo-viewer-info-panel button, .photo-viewer .photo-viewer-info-panel button *, .photo-viewer .photo-viewer-info-panel svg { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
    .photo-viewer .photo-viewer-info-panel .photo-viewer-info-action, .photo-viewer .photo-viewer-info-panel .photo-viewer-info-action * { -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
    .photo-viewer-info-action[hidden] { display: none; }
    .photo-viewer-info-action:focus-visible { border-color: var(--ink); outline: 1px solid var(--ink); outline-offset: 2px; }
    @media (hover: hover) and (pointer: fine) { .photo-viewer-info-action:hover { border-color: color-mix(in srgb, var(--ink) 34%, transparent); } }
    .sensitive-photo { cursor: pointer; display: grid; overflow: hidden; position: relative; }
    .sensitive-photo img { filter: blur(16px) saturate(.75) contrast(.72) brightness(.98); opacity: .96; transform: scale(1.04); transition: filter .18s ease, opacity .18s ease, transform .18s ease; }
    .sensitive-photo::before { background: color-mix(in srgb, var(--paper) 22%, transparent); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 2; }
      .sensitive-photo-reveal { align-items: center; align-self: center; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, currentColor 62%, transparent); color: var(--ink); display: inline-flex; font-size: 13px; font-weight: 450; gap: 8px; justify-content: center; justify-self: center; line-height: 1; max-width: calc(100% - 32px); min-height: 42px; overflow-wrap: anywhere; padding: 0 2px; pointer-events: none; position: absolute; text-align: center; z-index: 3; }
      .sensitive-reveal-icon { display: block; fill: none; height: 18px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75; width: 18px; }
      .photo-viewer-sensitive-reveal .sensitive-reveal-icon { height: 22px; width: 22px; }
      .sensitive-photo--standalone img { filter: blur(clamp(26px, 3.5vw, 44px)) saturate(.7) contrast(.74) brightness(.96); transform: scale(1.14); }
      .sensitive-photo--standalone::before { content: none; }
      .sensitive-photo-reveal--standalone { align-items: center; background: transparent; border: 0; border-bottom: 1px solid color-mix(in srgb, currentColor 62%, transparent); color: inherit; cursor: pointer; display: inline-flex; font: inherit; font-size: 13px; font-weight: 450; gap: 8px; justify-content: center; line-height: 1; max-width: calc(100% - 32px); min-height: 42px; overflow-wrap: anywhere; padding: 0 2px; pointer-events: auto; user-select: none; }
      .sensitive-photo-reveal--standalone:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
      .cover-hero > .sensitive-photo { height: 100%; inset: 0; position: absolute; width: 100%; }
	      .cover-hero--position-center > .sensitive-photo--standalone .sensitive-photo-reveal--standalone,
	      .cover-hero--position-center-high > .sensitive-photo--standalone .sensitive-photo-reveal--standalone { bottom: clamp(72px, 10svh, 112px); top: auto; }
	      .cover-hero--position-center-low > .sensitive-photo--standalone .sensitive-photo-reveal--standalone { bottom: auto; top: clamp(72px, 10svh, 112px); }
	      .cover-hero--style-split > .sensitive-photo { height: calc(100% - (var(--split-panel-inset) * 2)); inset: var(--split-panel-inset) var(--split-panel-inset) var(--split-panel-inset) auto; width: calc(var(--split-image-width) - var(--split-panel-inset)); }
        .cover-hero--style-text > .sensitive-photo,
        .cover-hero--style-title > .sensitive-photo { display: none; }
      .gallery-photo-button:focus-visible .sensitive-photo { outline: 1px solid rgba(255, 255, 255, .72); outline-offset: -4px; }
    .show-sensitive-content .sensitive-photo img { filter: none; transform: none; }
    .show-sensitive-content .sensitive-photo img { opacity: 1; }
    .show-sensitive-content .sensitive-photo::before { content: none; }
    .show-sensitive-content .sensitive-photo-reveal { display: none; }
    .show-sensitive-content .sensitive-photo { cursor: inherit; }
    .sr-only { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px; }
    @keyframes cover-copy-reveal { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes cover-loading-copy-reveal { from { opacity: .28; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes gallery-page-enter { from { opacity: .84; } to { opacity: 1; } }
    @keyframes gallery-password-error { 0%, 100% { transform: translateX(0); } 22% { transform: translateX(-8px); } 44% { transform: translateX(7px); } 66% { transform: translateX(-5px); } 82% { transform: translateX(3px); } }
    @keyframes gallery-password-success { 0% { transform: scale(1); } 52% { transform: scale(1.018); } 100% { transform: scale(1); } }
    @keyframes photo-viewer-spinner { to { transform: rotate(360deg); } }
    @keyframes photo-viewer-chevron-in-previous { from { opacity: 0; transform: translate3d(4px, -50%, 0); } to { opacity: 1; transform: translate3d(0, -50%, 0); } }
    @keyframes photo-viewer-chevron-in-next { from { opacity: 0; transform: translate3d(-4px, -50%, 0); } to { opacity: 1; transform: translate3d(0, -50%, 0); } }
    @media (prefers-color-scheme: dark) {
      body[data-public-theme="system"] { --public-background: var(--portfolio-background-dark, #050505); --public-surface: #101010; --public-foreground: #ffffff; --public-muted-foreground: rgb(255 255 255 / 70%); --public-border: rgb(255 255 255 / 18%); --public-border-soft: rgb(255 255 255 / 9%); --public-image-placeholder: #171717; --paper: var(--public-background); --ink: var(--public-foreground); --muted: var(--public-muted-foreground); --line: var(--public-border); --line-soft: var(--public-border-soft); --image-placeholder: var(--public-image-placeholder); }
      body[data-public-theme="system"] .contact-form { --contact-form-border: rgb(255 255 255 / 18%); }
      body[data-public-theme="system"] .cover-hero--text-auto { --cover-gallery-link-fill: #ffffff; --cover-gallery-link-hover-color: #050505; color: #ffffff; }
      body[data-public-theme="system"] .cover-hero--style-text.cover-hero--text-auto,
      body[data-public-theme="system"] .cover-hero--style-split.cover-hero--text-auto { --cover-panel-muted: rgb(255 255 255 / 70%); background: var(--portfolio-background-dark, #050505); color: #ffffff; }
      body[data-public-theme="system"] .cover-hero--style-text.cover-hero--text-auto { --text-panel-border: rgb(255 255 255 / 18%); }
      body[data-public-theme="system"] .cover-hero--style-split.cover-hero--text-auto { --split-panel-border: rgb(255 255 255 / 18%); }
      body[data-public-theme="system"] .cover-hero--text-auto:is(.cover-hero--style-text, .cover-hero--style-split) .cover-hero-copy { background: var(--paper); }
      body[data-public-theme="system"] .cover-hero.cover-hero--text-black:is(.cover-hero--style-text, .cover-hero--style-split),
      body[data-public-theme="system"] .cover-hero.cover-hero--text-black:is(.cover-hero--style-text, .cover-hero--style-split) .cover-hero-copy { background: var(--portfolio-background-light, #ffffff); }
      body[data-public-theme="system"] .cover-hero--height-30.cover-hero--style-text.cover-hero--text-auto.cover-hero--header-surface-match { background: var(--paper); border-bottom: 0; }
      body[data-public-theme="system"] .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-auto.cover-hero--header-surface-match { background: var(--paper); border-bottom: 0; }
      body[data-public-theme="system"] .cover-hero--style-split.cover-hero--layout-compact.cover-hero--text-auto.cover-hero--header-surface-match .cover-hero-copy { background: var(--paper); }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .cover-hero-copy, .cover-hero-text, html[data-gallery-transition="entering"]:not([data-cover-image="loading"]) .cover-hero-photo, .gallery-password-row[data-unlock-state], .portfolio-cover-menu-panel { animation-duration: 1ms; transition-duration: 1ms; } .cover-hero-placeholder-image, .cover-hero::after, .cover-scroll-link, .gallery-portfolio-link, .portfolio-cover-contact-link, .portfolio-cover-menu-icon span, .cover-gallery-link::before, .portfolio-gallery-grid, .gallery-card-photo, .gallery-card-title, .gallery-photo img, .gallery-pagination button, .gallery-password-row, .gallery-password-form button, .contact-form input, .contact-form textarea, .contact-form button, .contact-form button::before, img[data-public-image-reveal], .photo-viewer-image-shell, .photo-viewer-info-panel, .photo-viewer-nav { transition-duration: 1ms; } }
    @media (prefers-reduced-motion: reduce) { .photo-viewer-loading-indicator::before { animation: none; } .photo-viewer[data-navigation-direction] .photo-viewer-image-shell::after { animation-duration: 1ms; } .photo-viewer::after, .photo-viewer[data-background-visible="true"]:not([data-closing="true"])::after { transition-duration: 1ms; transition-delay: 0ms; } }
      @media (min-width: 761px) {
      .portfolio-about, .portfolio-gear, .portfolio-contact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .portfolio-about-heading, .portfolio-contact-copy { grid-column: 1; grid-row: 1; }
      .portfolio-about-body, .portfolio-gear-content, .contact-form { grid-column: 2; grid-row: 1; }
      .contact-form { justify-self: start; }
    }
      @media (max-width: 760px) {
      h1 { font-size: 48px; line-height: .94; }
      .portfolio-cover-menu-links { display: none; }
      .portfolio-cover-menu-mobile { display: block; }
      .photo-page { --photo-viewer-inline-padding: 14px; --photo-viewer-toolbar-height: 52px; }
      .photo-page .photo-viewer-topbar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
      .photo-page .photo-viewer-close, .photo-page .photo-viewer-info-toggle { height: 44px; width: auto; }
      .photo-page-portfolio-caret { margin-left: -2px; }
      .photo-page .photo-viewer-control-label { display: inline; }
      .photo-page-image-shell { --photo-page-image-border-width: 6px; }
      .portfolio-gallery-grid { grid-template-columns: 1fr; }
      .gallery-password-gate { padding: 24px 18px; }
      .gallery-password-row { grid-template-columns: 1fr; }
      .gallery-password-form button { min-height: 52px; }
      .gallery-pagination { gap: 10px; padding-left: 18px; padding-right: 18px; }
      .gallery-pagination button { font-size: 16px; min-height: 48px; min-width: 48px; padding: 0 12px; }
      .cover-hero { --cover-padding-block-start: 92px; --cover-padding-block-end: 42px; --cover-padding-inline-end: 18px; --cover-padding-inline-start: 18px; padding: var(--cover-padding-block-start) var(--cover-padding-inline-end) var(--cover-padding-block-end) var(--cover-padding-inline-start); }
      .cover-hero--portfolio.cover-hero--style-full.cover-hero--position-top-left { --cover-padding-block-start: 24px; }
      .cover-hero--height-30 { height: max(30svh, 240px, var(--cover-content-min-height)); }
      .cover-hero--height-80 { height: max(80svh, 520px, var(--cover-content-min-height)); }
      .cover-hero--height-100 { height: max(100svh, 640px, var(--cover-content-min-height)); }
      .cover-hero--layout-compact { height: max(var(--cover-height, 30svh), 240px, var(--cover-content-min-height)); }
      .cover-hero--gallery.cover-hero--layout-compact:not(.cover-hero--style-split) { height: max(var(--cover-height, 30svh), 300px, var(--cover-content-min-height)); }
      .cover-hero--layout-compact.cover-hero--position-center { padding-block: 28px; }
        .cover-hero-copy, .cover-hero-text { width: 100%; max-width: 100%; }
        .cover-hero--style-split { display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); height: max(var(--cover-height, 80svh), 520px, var(--cover-content-min-height)); min-height: 0; padding: 0; }
        .cover-hero--style-text { --text-panel-padding-block: clamp(28px, 5vw, 62px); --text-panel-padding-inline: 18px; padding: 0; }
        .cover-hero--style-text:not(.cover-hero--layout-compact).cover-hero--position-top-left { --text-panel-padding-block: 18px; --text-panel-padding-inline: 18px; }
        .cover-hero--style-text:not(.cover-hero--layout-compact) .cover-hero-copy { margin: var(--text-panel-inset); padding: var(--text-panel-padding-block) var(--text-panel-padding-inline); width: calc(100% - (var(--text-panel-inset) * 2)); }
        .cover-hero--style-text.cover-hero--layout-compact .cover-hero-copy { padding: var(--cover-padding-inline-start); }
        .cover-hero--style-text.cover-hero--layout-compact.cover-hero--position-bottom-left .cover-hero-copy { padding-bottom: 40px; }
        .cover-hero--position-bottom-left + main .portfolio-gallery-section--compact-text-surface-match { padding-top: 0; }
        .cover-hero--style-split .cover-hero-placeholder-frame,
        .cover-hero--style-split .cover-hero-photo,
        .cover-hero--style-split .cover-hero-empty,
        .cover-hero--style-split > .cover-hero-image-protector,
        .cover-hero--style-split > .sensitive-photo { display: block; grid-column: 1; grid-row: 2; height: 100%; inset: auto; order: initial; position: relative; width: 100%; }
        .cover-hero--style-split .cover-hero-copy { grid-column: 1; grid-row: 1; height: 100%; inset: auto; margin: 0; max-width: 100%; order: initial; place-content: initial; position: relative; padding: 34px 18px 42px; width: 100%; }
        .cover-hero--style-split.cover-hero--position-center .cover-hero-copy,
        .cover-hero--style-split.cover-hero--position-center-high .cover-hero-copy,
        .cover-hero--style-split.cover-hero--position-center-low .cover-hero-copy,
        .cover-hero--style-split.cover-hero--gallery.cover-hero--position-center .gallery-hero-copy,
        .cover-hero--style-split.cover-hero--gallery.cover-hero--position-center-high .gallery-hero-copy,
        .cover-hero--style-split.cover-hero--gallery.cover-hero--position-center-low .gallery-hero-copy { align-self: stretch; grid-column: 1; grid-row: 1; height: 100%; inset: auto; margin: 0; max-width: 100%; order: initial; place-content: initial; position: relative; width: 100%; }
        .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--gallery .gallery-hero-copy,
        .cover-hero--style-split.cover-hero--gallery .gallery-hero-copy { bottom: auto; grid-column: 1; grid-row: 1; height: 100%; inset: auto; left: auto; margin: 0; max-width: 100%; position: relative; right: auto; top: auto; width: 100%; }
        .cover-hero--style-split:not(.cover-hero--layout-compact) .cover-hero-copy { height: 100%; margin: 0; max-width: 100%; outline: none; padding: var(--split-panel-padding); width: 100%; }
        .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center .cover-hero-copy,
        .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center-high .cover-hero-copy,
        .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-center-low .cover-hero-copy { justify-self: stretch; margin: 0; max-width: 100%; width: 100%; }
        .cover-hero--style-split.cover-hero--text-white:not(.cover-hero--layout-compact) .cover-hero-copy { outline: none; }
        .cover-hero--style-split .cover-hero-text,
        .cover-hero--style-split.cover-hero--position-center .cover-hero-text,
        .cover-hero--style-split.cover-hero--position-center-high .cover-hero-text,
        .cover-hero--style-split.cover-hero--position-center-low .cover-hero-text { left: auto; max-width: 100%; position: relative; top: auto; translate: none; width: 100%; }
        .cover-hero--style-split.cover-hero--position-center .cover-hero-text,
        .cover-hero--style-split.cover-hero--position-center-high .cover-hero-text,
        .cover-hero--style-split.cover-hero--position-center-low .cover-hero-text { left: 50%; max-width: calc(100% - (var(--split-panel-padding) * 2)); position: absolute; translate: -50% -50%; width: min(620px, calc(100% - (var(--split-panel-padding) * 2))); }
        .cover-hero--style-split.cover-hero--position-center .cover-hero-text { top: 50%; }
        .cover-hero--style-split.cover-hero--position-center-high .cover-hero-text { top: 33.333%; }
        .cover-hero--style-split.cover-hero--position-center-low .cover-hero-text { top: 66.667%; }
        .cover-hero--style-split .gallery-portfolio-link { left: calc(var(--split-panel-inset) + var(--split-panel-padding)); max-width: calc(100% - var(--split-panel-inset) - var(--split-panel-padding) - var(--split-panel-inset) - var(--split-panel-padding)); right: auto; top: calc(var(--split-panel-inset) + var(--split-panel-padding)); }
        .cover-hero--style-split .gallery-portfolio-link--in-panel { left: var(--split-panel-padding); max-width: calc(100% - (var(--split-panel-padding) * 2)); top: var(--split-panel-padding); }
        .cover-hero--style-split.cover-hero--position-center-high .gallery-portfolio-link--in-panel { justify-content: center; left: 50%; max-width: calc(100% - (var(--split-panel-padding) * 2)); right: auto; text-align: center; transform: translateX(-50%); }
        .cover-hero--style-split.cover-hero--position-bottom-left .gallery-portfolio-link--in-panel { inset: auto; max-width: min(52ch, 100%); position: static; }
        .cover-hero--style-split .gallery-portfolio-link--in-text, .cover-hero--style-text .gallery-portfolio-link--in-text { inset: auto; max-width: min(52ch, 100%); position: static; }
        .cover-hero--style-text.cover-hero--position-center-high .gallery-portfolio-link { justify-content: center; left: 50%; max-width: calc(100% - (var(--text-panel-padding-inline) * 2)); right: auto; text-align: center; transform: translateX(-50%); }
        .cover-hero--style-split.cover-hero--layout-compact { display: grid; grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); height: max(calc(var(--cover-height, 30svh) + var(--cover-height, 30svh)), 480px, var(--cover-content-min-height)); min-height: 0; padding: 0; }
        .cover-hero--style-split.cover-hero--layout-compact::before,
        .cover-hero--style-split.cover-hero--layout-compact .cover-hero-photo,
        .cover-hero--style-split.cover-hero--layout-compact .cover-hero-empty,
        .cover-hero--style-split.cover-hero--layout-compact > .cover-hero-image-protector,
        .cover-hero--style-split.cover-hero--layout-compact > .sensitive-photo { display: block; grid-row: 2; height: 100%; inset: auto; order: initial; position: relative; width: 100%; }
        .cover-hero--style-split.cover-hero--layout-compact .cover-hero-copy { height: 100%; margin: 0; max-width: 100%; order: initial; padding: var(--cover-padding-inline-start); width: 100%; }
        .cover-hero--style-split.cover-hero--layout-compact.cover-hero--position-bottom-left .cover-hero-copy,
        .cover-hero--style-split:not(.cover-hero--layout-compact).cover-hero--position-bottom-left .cover-hero-copy { padding-bottom: 40px; }
        .cover-hero--style-split.cover-hero--layout-compact.cover-hero--position-bottom-left .cover-hero-text { width: min(70vw, 860px, 100%); }
        .cover-hero--height-30.cover-hero--style-split.cover-hero--font-minimal.cover-hero--title-medium { --cover-text-gap: clamp(12px, 1vw, 14px); }
        .cover-hero--height-30.cover-hero--style-split.cover-hero--font-minimal.cover-hero--title-medium .public-cover-subtext { font-size: clamp(15px, .9vw, 16px); max-width: min(44ch, 100%); }
        .cover-hero--style-full.cover-hero--layout-compact.cover-hero--position-bottom-left { --cover-frame-block-inset: 24px; --cover-padding-block-end: 40px; padding-bottom: 40px; }
        .cover-hero--style-full.cover-hero--layout-compact.cover-hero--position-bottom-left .cover-hero-text { width: min(70vw, 860px, 100%); }
        .cover-hero--height-30.cover-hero--style-full.cover-hero--position-bottom-left.cover-hero--font-minimal.cover-hero--title-medium { --cover-text-gap: clamp(12px, 1vw, 14px); }
        .cover-hero--height-30.cover-hero--style-full.cover-hero--position-bottom-left.cover-hero--font-minimal.cover-hero--title-medium .public-cover-subtext { font-size: clamp(15px, .9vw, 16px); max-width: min(44ch, 100%); }
      .cover-hero--height-100.cover-hero--position-bottom-left:not(.cover-hero--style-split):not(.cover-hero--style-text) .cover-hero-text { max-width: calc(100% - 88px); }
      .gallery-portfolio-link { max-width: calc(100% - 36px); }
      .gallery-hero-copy { gap: 18px; grid-template-columns: 1fr; }
      .cover-hero-copy a { justify-self: start; }
      .cover-hero--position-center .cover-hero-copy a,
      .cover-hero--position-center-high .cover-hero-copy a,
      .cover-hero--position-center-low .cover-hero-copy a { justify-self: center; }
      .gallery-photo-columns { --gallery-grid-columns: 1 !important; column-count: 1; padding-inline: 0; }
      .gallery-photo-columns--columns-4 { --gallery-grid-columns: 2 !important; --gallery-photo-text-lines: 1; column-count: 2; }
      body[data-layout="grid"] .gallery-photo-columns,
      body[data-layout="contained_grid"] .gallery-photo-columns,
      body[data-layout="masonry"] .gallery-photo-columns--sparse { grid-template-columns: repeat(var(--gallery-grid-columns), minmax(0, 1fr)); }
      body[data-layout="contained_grid"] .gallery-photo-columns:not(.gallery-photo-columns--columns-4) .gallery-photo-frame { aspect-ratio: var(--gallery-photo-aspect-ratio, 4 / 3); max-height: 85svh; }
      body[data-layout="contained_grid"] .gallery-photo-columns:not(.gallery-photo-columns--columns-4) .gallery-photo img { aspect-ratio: auto; }
      body[data-layout="contained_grid"] .gallery-photo-columns:not(.gallery-photo-columns--columns-4) .gallery-photo-text-item--contained { --gallery-photo-frame-height: min(calc(100cqw / var(--gallery-photo-aspect-ratio, 1.3333333333)), 85svh); }
      .photo-viewer { --photo-viewer-inline-padding: 14px; --photo-viewer-toolbar-height: 52px; }
      .photo-viewer-nav { pointer-events: none; }
      .photo-viewer-stage { height: 100%; }
      .photo-viewer-side-shell { display: none !important; }
      .photo-viewer-topbar { gap: 0; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
      .photo-viewer-title { max-width: calc(100% - 132px); width: calc(100% - 132px); }
      .photo-viewer-close, .photo-viewer-info-toggle { height: 44px; width: 44px; }
      .photo-viewer-control-label { display: none; }
      .photo-viewer-buy-long-label { display: none; }
      .photo-viewer-topbar-actions { gap: 8px; }
      .photo-viewer:has(.photo-viewer-buy:not([hidden])) .photo-viewer-topbar { gap: 8px; grid-template-columns: 44px minmax(0, 1fr) auto; }
      .photo-viewer:has(.photo-viewer-buy:not([hidden])) .photo-viewer-title { left: auto; max-width: 100%; position: relative; transform: none; width: 100%; }
      .public-brand-footer-inner, .public-brand-footer--paid.public-brand-footer--has-links .public-brand-footer-inner { align-items: center; display: flex; flex-direction: column; gap: 8px; justify-content: center; text-align: center; }
      .portfolio-footer-links, .public-brand-footer--paid .portfolio-footer-links { justify-content: center; justify-self: auto; max-width: 100%; order: 1; }
      .public-brand-footer-notice, .public-brand-footer--paid.public-brand-footer--has-links .public-brand-footer-notice { justify-self: auto; order: 2; }
      .public-brand-footer-made { justify-content: center; justify-self: auto; order: 3; }
      .portfolio-website-link { max-width: min(78vw, 320px); }
    }
    @media (min-width: 1161px) {
      .portfolio-about, .portfolio-gear, .portfolio-contact { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .portfolio-about-body, .portfolio-gear-content, .contact-form { grid-column: 2 / span 2; }
      .portfolio-gear-list--columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (min-width: 761px) and (max-width: 1160px) {
      .portfolio-gallery-grid--count-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (min-width: 761px) and (max-width: 1120px) {
      .gallery-photo-columns { column-count: var(--gallery-grid-columns, 2); }
      .gallery-photo-columns--columns-3 { --gallery-grid-columns: 2 !important; }
      .gallery-photo-columns--columns-4 { --gallery-grid-columns: 3 !important; }
      body[data-layout="grid"] .gallery-photo-columns,
      body[data-layout="contained_grid"] .gallery-photo-columns,
      body[data-layout="masonry"] .gallery-photo-columns--sparse { grid-template-columns: repeat(var(--gallery-grid-columns), minmax(0, 1fr)); }
    }
