body.view-photography{background:#101312;color:#f0efe9;color-scheme:dark}
#fotografia[hidden],#fotografia [hidden]{display:none!important}
body.view-photography #fotografia{display:block;padding:0 34px 70px;min-height:calc(100svh - 130px)}
.photo-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:90px;padding-top:18px;color:#f0efe9}
.photo-header .navigation,.photo-header .profile-navigation{display:flex;gap:26px}
.photo-header .navigation .pill,.photo-header .profile-navigation .pill{position:relative;border:0;background:none!important;color:inherit!important;padding:12px 0;border-radius:0;font:10px 'Courier New',monospace}
.photo-header .pill.is-active::after{content:'';position:absolute;left:0;right:0;bottom:3px;height:1px;background:currentColor}
.photo-header>.brand{position:absolute!important;left:50%!important;transform:translateX(-50%)!important;font-size:28px!important}
.photo-overview-title{display:flex;justify-content:space-between;gap:25px;font:700 clamp(60px,7.2vw,130px)/1.12 Oswald,sans-serif;letter-spacing:-.045em;margin:25px 0 50px}
.photo-overview-summary{display:flex;justify-content:space-between;gap:35px;padding:0 0 24px;margin:0 0 22px;border-bottom:1px solid #ffffff30}
.photo-overview-summary p{max-width:440px;font:13px/1.65 'Courier New',monospace;color:#babeb8}
.photo-overview-summary>span{font:10px/1.6 'Courier New',monospace;align-self:end;white-space:nowrap}
.photo-overview-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 50px}
.photo-overview-filters button{border:1px solid #ffffff50;border-radius:40px;padding:11px 17px;font:10px 'Courier New',monospace;background:none;color:#d9dcd5;cursor:pointer;transition:background .2s,color .2s}
.photo-overview-filters button[aria-pressed=true],.photo-overview-filters button:hover{background:#eaece5;color:#151a16;border-color:#eaece5}
.photo-session-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:90px 30px;align-items:start;max-width:1700px;margin:auto}
.photo-session-card{grid-column:span 6;display:block;min-width:0;color:inherit;text-decoration:none}
.photo-session-card:nth-child(4n+1){grid-column:span 7}.photo-session-card:nth-child(4n+2){grid-column:span 5;margin-top:150px}.photo-session-card:nth-child(4n+3){grid-column:span 5}.photo-session-card:nth-child(4n+4){grid-column:span 7;margin-top:100px}
.photo-session-media{position:relative;overflow:hidden;background:#222824}
.photo-session-media img{display:block;width:100%;height:clamp(340px,42vw,700px);object-fit:cover;object-position:center;transition:transform .8s cubic-bezier(.2,.75,.2,1),filter .6s}
.photo-session-card:nth-child(4n+2) img,.photo-session-card:nth-child(4n+3) img{height:clamp(340px,36vw,610px)}
.photo-session-card:hover img{transform:scale(1.035);filter:brightness(.87)}
.photo-session-action{position:absolute;right:20px;bottom:20px;padding:14px 18px;border:1px solid #ffffffb0;border-radius:40px;background:#10131266;backdrop-filter:blur(8px);color:#fff;font:9px/1.2 'Courier New',monospace;transition:transform .3s,background .3s}
.photo-session-card:hover .photo-session-action{background:#f0efe9;color:#101312;transform:translateY(-3px)}
.photo-session-caption{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:12px;align-items:baseline;padding-top:18px}
.photo-session-caption>span{font:9px 'Courier New',monospace;color:#c1c6bf;white-space:nowrap}
.photo-session-caption h2{font:500 clamp(23px,2.4vw,37px)/1.1 Oswald,sans-serif;letter-spacing:-.025em}
.photo-session-description{font:11px/1.7 'Courier New',monospace;color:#a4ada3;max-width:430px;margin:14px 0 0 37px}
.photo-gallery-toolbar{display:flex;justify-content:space-between;gap:20px;padding:22px 0;margin:22px 0 50px;border-block:1px solid #ffffff30;font:10px/1.5 'Courier New',monospace}
.photo-gallery-toolbar a:hover{opacity:.6}
.view-photography .imported-gallery{margin-top:0!important;padding-top:0!important;border:0!important;min-width:0}
.view-photography .gallery-heading h2{font-size:clamp(48px,7vw,115px);overflow-wrap:anywhere}
.view-photography .gallery-heading{margin-bottom:35px}
.view-photography footer{border-top:1px solid #ffffff20;margin:0 34px;padding:30px 0}
@media(max-width:1100px){.photo-header{display:grid;grid-template-columns:1fr auto;row-gap:12px}.photo-header>.brand{position:relative!important;left:auto!important;transform:none!important;grid-row:1;grid-column:2;font-size:23px!important}.photo-header .profile-navigation{grid-column:1/-1;justify-content:flex-end}.photo-session-grid{gap:65px 20px}.photo-session-card:nth-child(4n+2){margin-top:80px}.photo-session-card:nth-child(4n+4){margin-top:60px}.photo-session-description{margin-left:0}.photo-overview-title{font-size:7.5vw}}
@media(max-width:700px){body.view-photography #fotografia{padding:0 18px 45px}.photo-header{min-height:100px}.photo-header .navigation{gap:20px}.photo-header .navigation .pill,.photo-header .profile-navigation .pill{font-size:9px}.photo-header>.brand{font-size:20px!important}.photo-overview-title{display:block;font-size:15vw;margin:34px 0}.photo-overview-title>span{display:block}.photo-overview-title>span:last-child{text-align:right;color:#687269}.photo-overview-summary{margin-bottom:20px;gap:25px}.photo-overview-summary p{font-size:10px;max-width:250px}.photo-overview-summary>span{font-size:8px}.photo-overview-filters{margin-bottom:28px;gap:6px}.photo-overview-filters button{font-size:9px;padding:10px 12px}.photo-session-grid{display:block}.photo-session-card:nth-child(n){margin:0 0 42px}.photo-session-card:nth-child(n) img{height:auto;max-height:80svh;aspect-ratio:4/5;object-fit:cover}.photo-session-card:nth-child(even) img{aspect-ratio:1.15}.photo-session-caption h2{font-size:28px}.photo-session-caption>span{font-size:8px}.photo-session-caption{gap:8px;grid-template-columns:20px minmax(0,1fr) auto}.photo-session-description{font-size:10px;max-width:100%}.photo-session-action{right:14px;bottom:14px;padding:12px 15px;font-size:8px}.photo-gallery-toolbar{font-size:8px;gap:10px;margin-bottom:35px}.photo-gallery-toolbar>span{display:none}.view-photography footer{margin-inline:18px}.view-photography .gallery-heading h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.photo-session-media img,.photo-session-action{transition:none}.photo-session-card:hover img{transform:none}}
/* Fullscreen session opener, matching the home film navigator. */
body.photo-has-hero #fotografia{position:relative}
.photo-has-hero .photo-header{position:absolute;top:0;left:34px;right:34px;z-index:4}
.photo-featured{position:relative;height:100svh;min-height:650px;margin:0 -34px 75px;isolation:isolate;background:#17221b;overflow:hidden;color:#fff}
.photo-featured-image,.photo-featured-shade{position:absolute;inset:0;z-index:-2}
.photo-featured-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;animation:photo-featured-in .5s ease both}
.photo-featured-shade{z-index:-1;background:linear-gradient(180deg,#0005,transparent 35%,#0005 80%,#0008)}
.photo-featured-heading{display:flex;justify-content:space-between;gap:20px;padding:120px 34px 0;font:700 clamp(44px,4.1vw,78px)/1.05 Oswald,sans-serif;letter-spacing:-.035em;pointer-events:none}
.photo-featured-rail{position:absolute;left:40px;right:40px;top:64%;display:grid;grid-template-columns:1fr 220px 1fr;gap:35px;align-items:start}
.photo-featured-intro{font:10px/1.6 'Courier New',monospace;letter-spacing:.025em}
.photo-featured-open{display:grid;place-items:center;justify-self:center;min-height:54px;border:1px solid #ffffffa0;border-radius:50px;padding:16px 25px;font:9px/1 'Courier New',monospace;backdrop-filter:blur(5px);background:#0001;transition:background .2s}
.photo-featured-open:hover{background:#ffffff28}
.photo-featured-nav{max-width:350px;justify-self:end;width:100%}
.photo-featured-top{display:grid;grid-template-columns:50px minmax(0,1fr);gap:15px;font:10px/1.4 'Courier New',monospace}
.photo-featured-top h3{font:inherit;text-transform:uppercase;margin:0}
.photo-featured-counter{white-space:nowrap}
.photo-featured-controls{display:flex;align-items:center;gap:9px;margin:23px 0 16px}
.photo-featured-controls>.photo-featured-prev,.photo-featured-controls>.photo-featured-next{display:grid;place-items:center;background:#efefe9;color:#282e27;border:0;border-radius:50%;width:30px;height:30px;flex:none;font:17px Arial,sans-serif;cursor:pointer}
.photo-featured-progress{display:flex;flex:1;gap:4px;margin-right:9px}
.photo-featured-progress button{position:relative;flex:1;height:26px;border:0;background:none;padding:0;cursor:pointer}
.photo-featured-progress button::after{content:'';position:absolute;left:0;right:0;top:12px;height:2px;background:#ffffff55}
.photo-featured-progress button[aria-pressed=true]::after{background:#fff}
.photo-featured-caption{font:10px/1.6 'Courier New',monospace;max-width:350px}
.photo-featured-scroll{position:absolute;right:40px;bottom:28px;font:9px/1.5 'Courier New',monospace}
.photo-featured a:focus-visible,.photo-featured button:focus-visible{outline:2px solid white;outline-offset:5px}
#photo-overview{scroll-margin-top:30px}
@keyframes photo-featured-in{from{opacity:.3}to{opacity:1}}
@media(max-width:1100px){.photo-featured-heading{padding-top:145px}.photo-featured-rail{grid-template-columns:1fr 180px 1fr;gap:22px}.photo-featured-top{grid-template-columns:42px minmax(0,1fr);gap:9px;font-size:9px}.photo-featured-caption{font-size:9px}}
@media(max-width:700px){.photo-has-hero .photo-header{left:18px;right:18px}.photo-featured{margin-inline:-18px;margin-bottom:45px;min-height:700px}.photo-featured-heading{padding:145px 18px 0;font-size:10vw;gap:12px}.photo-featured-rail{top:auto;bottom:100px;left:22px;right:22px;grid-template-columns:1fr;gap:26px}.photo-featured-intro{display:none}.photo-featured-open{grid-row:1;min-height:48px;font-size:9px}.photo-featured-nav{max-width:none}.photo-featured-top{grid-template-columns:55px 1fr;font-size:10px}.photo-featured-controls{margin:15px 0 9px}.photo-featured-caption{font-size:9px;max-width:90%}.photo-featured-scroll{right:22px;bottom:25px;font-size:8px}.photo-featured-progress button{height:30px}.photo-featured-progress button::after{top:14px}}
@media(prefers-reduced-motion:reduce){.photo-featured-image img{animation:none}.photo-featured-open{transition:none}}
/* Fine arrow controls and an image-led gallery without editorial captions. */
.photo-featured-controls>.photo-featured-prev,.photo-featured-controls>.photo-featured-next{width:38px;height:38px;border:1px solid #ffffff90;background:#10131220;color:#fff;backdrop-filter:blur(6px);padding:9px;transition:background .2s,color .2s,transform .2s;cursor:pointer}
.photo-featured-controls>.photo-featured-prev svg,.photo-featured-controls>.photo-featured-next svg{width:19px;height:19px;display:block}
.photo-featured-controls>.photo-featured-prev svg{transform:rotate(180deg)}
.photo-featured-controls>.photo-featured-prev:hover,.photo-featured-controls>.photo-featured-next:hover{background:#f0efe9;color:#101312;transform:scale(1.06)}
.view-photography #fotografia .imported-gallery .gallery-heading,.view-photography #fotografia .photo-collection .gallery-heading{display:block;margin:0 0 28px}
.view-photography #fotografia .imported-gallery .gallery-heading h2,.view-photography #fotografia .photo-collection .gallery-heading h2{font:700 clamp(34px,3.3vw,58px)/1.1 Oswald,sans-serif;letter-spacing:-.025em;margin:0;max-width:none}
.view-photography #fotografia .imported-gallery .gallery-heading .eyebrow,.view-photography #fotografia .photo-collection .gallery-heading .eyebrow,.view-photography #fotografia .imported-gallery .gallery-intro,.view-photography #fotografia .photo-collection .gallery-intro,.view-photography #fotografia .gallery-details,.view-photography #fotografia .photo-collection>p,.view-photography #fotografia .gallery .photo figcaption{display:none}
.view-photography #fotografia .imported-gallery .gallery,.view-photography #fotografia .photo-collection .gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;align-items:start}
.view-photography #fotografia .gallery .photo:nth-child(n){grid-column:span 4;min-width:0;margin:0}
.view-photography #fotografia .gallery .photo:first-child{grid-column:1/-1;margin-bottom:8px}
.view-photography #fotografia .gallery .photo button{background:transparent}
.view-photography #fotografia .gallery .photo img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.view-photography #fotografia .gallery .photo:first-child img{max-height:85svh;object-fit:contain}
.view-photography #fotografia .gallery .photo-affordance{width:30px;height:30px;font-size:17px;right:12px;bottom:12px;opacity:0;transition:opacity .2s}
.view-photography #fotografia .gallery .photo button:hover .photo-affordance,.view-photography #fotografia .gallery .photo button:focus-visible .photo-affordance{opacity:1}
.view-photography .photo-gallery-toolbar{margin:18px 0 30px;padding:18px 0}
@media(max-width:1000px){.view-photography #fotografia .gallery .photo:nth-child(n){grid-column:span 6}.view-photography #fotografia .gallery .photo:first-child{grid-column:1/-1}.view-photography #fotografia .imported-gallery .gallery,.view-photography #fotografia .photo-collection .gallery{gap:16px}}
@media(max-width:600px){.view-photography #fotografia .imported-gallery .gallery-heading h2,.view-photography #fotografia .photo-collection .gallery-heading h2{font-size:34px}.view-photography #fotografia .imported-gallery .gallery,.view-photography #fotografia .photo-collection .gallery{gap:10px}.view-photography #fotografia .gallery .photo:first-child img{max-height:none}.photo-featured-controls>.photo-featured-prev,.photo-featured-controls>.photo-featured-next{width:36px;height:36px;padding:8px}.view-photography #fotografia .gallery .photo-affordance{display:none}}
@media(prefers-reduced-motion:reduce){.photo-featured-controls>.photo-featured-prev,.photo-featured-controls>.photo-featured-next{transition:none}}
/* Reference grid: two frames, one full-width frame, repeated. */
body.view-photography:not(.photo-has-hero){background:#000}
body.view-photography:not(.photo-has-hero) #fotografia{padding-inline:10px;background:#000}
.view-photography:not(.photo-has-hero) #fotografia .imported-gallery .gallery,.view-photography:not(.photo-has-hero) #fotografia .photo-collection .gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.view-photography:not(.photo-has-hero) #fotografia .gallery .photo:nth-child(n){grid-column:auto;margin:0;min-width:0}
.view-photography:not(.photo-has-hero) #fotografia .gallery .photo:nth-child(3n){grid-column:1/-1}
.view-photography:not(.photo-has-hero) #fotografia .gallery .photo img,.view-photography:not(.photo-has-hero) #fotografia .gallery .photo:first-child img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.view-photography:not(.photo-has-hero) #fotografia .gallery .photo button{background:#000}
.view-photography:not(.photo-has-hero) #fotografia .gallery .photo button:hover img{transform:none;filter:brightness(.94)}
.view-photography:not(.photo-has-hero) .gallery-heading{padding-inline:0}
.view-photography:not(.photo-has-hero) footer{background:#000;margin-inline:10px}
@media(max-width:600px){body.view-photography:not(.photo-has-hero) #fotografia{padding-inline:6px}.view-photography:not(.photo-has-hero) #fotografia .imported-gallery .gallery,.view-photography:not(.photo-has-hero) #fotografia .photo-collection .gallery{gap:6px}.view-photography:not(.photo-has-hero) .photo-gallery-toolbar{font-size:8px;padding-inline:6px}.view-photography:not(.photo-has-hero) #fotografia .gallery-heading{padding-inline:6px}.view-photography:not(.photo-has-hero) .photo-header{padding-inline:6px}}
#fotografia .gallery-auto-load{display:block;margin:0;padding:28px 0;width:100%;border:0;border-radius:0;background:none;color:#8b9584;font:9px/1.5 'Courier New',monospace;text-align:center;letter-spacing:.06em;pointer-events:none}
#fotografia .gallery-auto-load[hidden]{display:none!important}

/* ASCII title sits in the open landscape beside the featured portrait. */
.photo-featured-title{position:absolute;top:auto;bottom:28px;left:40px;margin:0;z-index:1;color:#f0efe9;pointer-events:auto;text-shadow:0 1px 12px #0007}
.photo-ascii{margin:0;padding:8px 0;font:clamp(7px,.55vw,10px)/1.08 'Courier New',monospace;letter-spacing:0;font-weight:400;white-space:pre}
@media(max-width:700px){.photo-featured-title{left:22px;top:auto;bottom:24px}.photo-ascii{font-size:clamp(6px,1.6vw,8px)}}


/* Featured session navigation follows the home film navigator. */
.photo-featured-nav .photo-featured-top{grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:baseline}
.photo-featured-nav .photo-featured-counter{font:700 10px 'Courier New',monospace}
.photo-featured-nav .photo-featured-top h3{font:11px/1.4 'Courier New',monospace;letter-spacing:0}
.photo-featured-nav .photo-featured-controls{gap:10px;margin:16px 0 0}
.photo-featured-nav .photo-featured-progress{gap:3px;margin-right:10px;align-items:center;min-width:0}
.photo-featured-nav .photo-featured-progress button{height:25px}
.photo-featured-nav .photo-featured-progress button::after{top:50%;height:3px;border-radius:5px;background:#ffffff55;transition:background .3s}
.photo-featured-nav .photo-featured-progress button[aria-pressed=true]::after{background:#fff}
.photo-featured-nav .photo-featured-controls>button{width:30px;height:30px;padding:7px;border:0;background:#eee;color:#262925;backdrop-filter:none;transition:background .2s,transform .2s}
.photo-featured-nav .photo-featured-controls>button svg{width:16px;height:16px}
.photo-featured-nav .photo-featured-controls>button:hover{background:#fff;transform:scale(1.08)}
.photo-featured-nav .photo-featured-caption{font:10px/1.5 'Courier New',monospace;color:#e2e7e7;margin:13px 0 0;max-width:350px}
@media(max-width:1000px) and (min-width:601px){.photo-featured-nav{max-width:270px}.photo-featured-nav .photo-featured-top{grid-template-columns:48px 1fr;gap:10px}}
@media(max-width:600px){.photo-featured-nav .photo-featured-top{grid-template-columns:48px 1fr;gap:14px}.photo-featured-nav .photo-featured-counter{font-size:9px}.photo-featured-nav .photo-featured-controls{gap:8px;margin-top:8px}.photo-featured-nav .photo-featured-progress{margin-right:12px}.photo-featured-nav .photo-featured-progress button{height:44px}.photo-featured-nav .photo-featured-controls>button{width:44px;height:44px}.photo-featured-nav .photo-featured-caption{font-size:9px;line-height:1.4;margin-top:9px}}
@media(prefers-reduced-motion:reduce){.photo-featured-nav .photo-featured-controls>button,.photo-featured-nav .photo-featured-progress button::after{transition:none}}

/* The session link shares the home play button's animated contours. */
.photo-featured-open.kinetic-play{position:relative;display:grid;place-items:center;width:164px;height:64px;min-height:64px;padding:0;border:0;border-radius:0;background:none!important;backdrop-filter:none;overflow:visible;text-decoration:none;isolation:isolate}
@media(max-width:600px){.photo-featured-open.kinetic-play{width:146px;height:58px;min-height:58px}}

/* Photography stays in one viewport, with images and projects switched in place. */
body.photo-has-hero{overflow:hidden}
body.photo-has-hero #fotografia{height:100svh;min-height:0;padding-bottom:0}
body.photo-has-hero .photo-featured{height:100svh;min-height:0;margin-bottom:0}
body.photo-has-hero>footer{display:none}
.photo-has-hero .photo-featured-image img{object-fit:cover;object-position:center}
.photo-has-hero .photo-featured{background:#000}
.photo-featured-rail>.photo-featured-nav{grid-column:3}
.photo-image-progress{display:block;position:relative;width:100%;height:3px;border-radius:5px;background:#ffffff55;overflow:hidden}
.photo-image-progress::after{content:'';display:block;width:100%;height:100%;background:#fff;transform:scaleX(var(--photo-progress,0));transform-origin:left;transition:transform .25s ease}

/* Project names stay directly on the photograph, alongside one another. */
.photo-project-list{position:absolute;right:40px;bottom:28px;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 22px;max-width:calc(100% - 400px);padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}
.photo-project-choice{display:inline-block;flex:none;width:auto;min-height:30px;padding:8px 0;border:0;border-radius:0;background:none;color:#fff;font:9px/1.5 'Courier New',monospace;letter-spacing:.025em;text-align:left;white-space:nowrap;text-shadow:none;cursor:pointer;opacity:.75;transition:opacity .2s}
.photo-project-choice[aria-pressed=true],.photo-project-choice:hover{opacity:1;background:none;color:#fff}
.photo-project-choice[aria-pressed=true]{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.photo-session-title{bottom:34px;max-width:320px;font:400 clamp(13px,1.15vw,20px)/1.3 'Courier New',monospace;letter-spacing:.035em;text-transform:uppercase;color:#fff}
@media(max-width:1100px){.photo-project-list{left:40px;max-width:none;justify-content:flex-start;gap:2px 18px}.photo-session-title{bottom:94px}}
@media(max-width:700px){.photo-featured-rail>.photo-featured-nav{grid-column:1}.photo-has-hero .photo-featured-rail{bottom:190px;gap:0}.photo-project-list{left:22px;right:22px;bottom:20px;gap:0 16px}.photo-project-choice{font-size:8px;min-height:28px;padding:6px 0}.photo-session-title{left:22px;bottom:128px;max-width:calc(100% - 44px);font-size:14px}.photo-has-hero .photo-featured-shade{background:linear-gradient(#0005,transparent 25%,transparent 55%,#0009)}}
@media(prefers-reduced-motion:reduce){.photo-image-progress::after,.photo-project-choice{transition:none}}

/* Session identity uses smaller ASCII lettering than the main brand. */
.photo-session-title{max-width:260px;line-height:1;letter-spacing:0}
.photo-session-ascii{margin:0;padding:0;font:var(--session-ascii-size,5px)/1.08 'Courier New',monospace;white-space:pre;letter-spacing:0;font-weight:400;color:#fff}
@media(max-width:700px){.photo-session-title{max-width:250px}.photo-session-ascii{font-size:min(var(--session-ascii-size,5px),4px)}}

/* Enlarge the session ASCII title by exactly fifty percent. */
.photo-session-title{max-width:390px}
.photo-session-ascii{font-size:calc(var(--session-ascii-size,5px)*1.5)}
@media(max-width:700px){.photo-session-title{max-width:375px}.photo-session-ascii{font-size:calc(min(var(--session-ascii-size,5px),4px)*1.5)}}

@media(max-width:600px){
  #fotografia .photo-featured>.photo-session-title{left:18px;right:18px;top:auto;bottom:calc(var(--photo-project-list-height,44px) + 26px + env(safe-area-inset-bottom));width:auto;max-width:none;margin:0;padding:0;pointer-events:none}
}

/* Selected photography collections fill the viewport without letterboxing. */
#fotografia .photo-featured:is([data-session-id="embassy"],[data-session-id="4089"]) .photo-featured-image{inset:0;display:block;padding:0;border:0;overflow:hidden}
#fotografia .photo-featured:is([data-session-id="embassy"],[data-session-id="4089"]) .photo-featured-image>img{display:block;width:100%;height:100%;max-width:none;max-height:none;padding:0;border:0;object-fit:cover!important}
@media(max-width:700px){#fotografia .photo-featured:is([data-session-id="embassy"],[data-session-id="4089"]) .photo-featured-image>img{object-position:var(--photo-mobile-position,center)!important}}

/* Photography uses the Start navigator: ASCII above counter, controls and description. */
#fotografia .photo-featured-nav{position:relative;width:350px;max-width:100%}
#fotografia .photo-featured-nav>.photo-session-title{position:absolute;left:0;right:auto;top:auto;bottom:calc(100% + 20px);width:100%;max-width:100%;margin:0;padding:0;pointer-events:auto;filter:drop-shadow(0 1px 3px #0009);text-shadow:0 1px 12px #0009}
#fotografia .photo-featured-nav>.photo-session-title .photo-session-ascii{margin:0;padding:0;font:var(--session-panel-ascii-size,7px)/1.16 'Courier New',monospace;white-space:pre;letter-spacing:0;color:#fff}
#fotografia .photo-featured-nav>.photo-session-title .ascii-brand-line{display:block;white-space:pre;animation:none;opacity:1;transform:none;clip-path:none}
#fotografia .photo-featured-nav::before{content:'';position:absolute;inset:-115px -24px -28px;background:radial-gradient(ellipse at 65% 55%,#0004,transparent 73%);pointer-events:none;z-index:-1}
@media(min-width:1001px){#fotografia .photo-featured-rail{top:51%;bottom:auto;left:var(--pad);right:var(--pad);grid-template-columns:1fr 230px 1fr;gap:40px}}
@media(min-width:601px){#fotografia .photo-project-list{left:var(--pad);right:var(--pad);max-width:none}}
@media(min-width:601px) and (max-width:1000px){#fotografia .photo-featured-nav{width:270px}}
@media(max-width:600px){
  #fotografia .photo-featured-nav{width:100%;max-width:none}
  #fotografia .photo-featured-nav>.photo-session-title{bottom:calc(100% + 16px)}
  #fotografia .photo-featured-nav>.photo-session-title .photo-session-ascii{line-height:1.13}
  #fotografia .photo-featured-nav::before{inset:-110px -20px -25px;background:linear-gradient(0deg,#0004,transparent)}
}

/* Four category buttons keep the gallery menu short and readable. */
#fotografia .photo-project-list{display:flex;flex-direction:column;align-items:flex-end;gap:9px}
.photo-menu-categories,.photo-menu-sessions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:2px 22px;max-width:100%}
.photo-menu-categories{gap:4px 26px}
.photo-menu-category{min-height:32px;padding:6px 0;border:0;border-radius:0;background:none;color:#ffffffa8;font:10px/1.5 'Courier New',monospace;text-transform:uppercase;letter-spacing:.05em;text-shadow:none;cursor:pointer}
.photo-menu-category[aria-pressed=true]{color:#fff;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.photo-menu-category:hover{color:#fff}
.photo-menu-category:focus-visible,.photo-project-choice:focus-visible{outline:1px solid #fff;outline-offset:4px}
.photo-menu-sessions .photo-project-choice[hidden]{display:none}
@media(max-width:600px){
  #fotografia .photo-project-list{gap:5px}
  .photo-menu-categories{justify-content:flex-start;gap:0 15px;width:100%}
  .photo-menu-sessions{justify-content:flex-start;gap:0 15px;width:100%}
  .photo-menu-category{min-height:34px;font-size:9px;letter-spacing:0}
  .photo-menu-sessions .photo-project-choice{min-height:28px;font-size:8px}
}

/* Keep the photo controls clear of the gallery menu on short landscape screens. */
@media(min-width:601px) and (max-height:500px){
  body.photo-has-hero #fotografia .photo-featured[data-session-id] .photo-featured-rail{top:auto;bottom:calc(var(--photo-project-list-height,71px) + 40px);gap:20px}
  #fotografia .photo-featured-nav>.photo-session-title{bottom:calc(100% + 10px)}
  #fotografia .photo-featured-nav>.photo-session-title .photo-session-ascii{font-size:min(var(--session-panel-ascii-size,7px),3px);line-height:1.05}
  #fotografia .photo-featured-nav .photo-featured-caption{display:none}
  #fotografia .photo-featured-nav .photo-featured-controls{margin:8px 0 0}
  #fotografia .photo-featured-nav .photo-featured-controls>button{width:40px;height:40px;min-height:40px}
}
@media(max-width:600px) and (max-height:500px) and (orientation:landscape){
  body.photo-has-hero #fotografia .photo-featured[data-session-id] .photo-featured-rail{bottom:calc(var(--photo-project-list-height,67px) + 16px + env(safe-area-inset-bottom))}
  #fotografia .photo-featured-nav>.photo-session-title{bottom:calc(100% + 8px)}
  #fotografia .photo-featured-nav>.photo-session-title .photo-session-ascii{font-size:min(var(--session-panel-ascii-size,7px),2.6px);line-height:1.05}
}

/* Keep the Sicily foosball portrait below the desktop header. */
@media(min-width:701px){#fotografia .photo-featured[data-session-id="4089"] .photo-featured-image>img[data-photo-id="sicily-2018-dsc07242"]{margin-top:7svh;height:93svh;object-position:center top!important}}
