/*
Theme Name: Seki Portfolio
Theme URI: https://example.com/
Author: Yasutaka Seki
Description: A quiet, editorial photography portfolio using WordPress core features and optional Polylang multilingual support.
Version: 3.27.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: seki-portfolio
*/

:root { --ink:#111; --paper:#f8f8f6; --line:#d9d9d4; --muted:#666; --content:1440px; --reading:880px; --serif:'Baskerville','Baskerville Old Face','Hiragino Mincho ProN','Yu Mincho',serif; --jp-serif:'Hiragino Mincho ProN','Yu Mincho','YuMincho','Hiragino Mincho Pro',serif; --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--serif); font-size:16px; line-height:1.65; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
img { display:block; width:100%; height:auto; }
.site-header { position:absolute; z-index:20; top:0; left:0; width:100%; color:#fff; }
.site-header__inner,.wrap { max-width:var(--content); margin:0 auto; padding-left:28px; padding-right:28px; }
.site-header__inner { min-height:76px; display:flex; align-items:center; justify-content:space-between; }
.site-branding { font-size:15px; font-weight:300; letter-spacing:5px; }
.site-menu { display:flex; align-items:center; }
.site-menu-toggle { display:none; }
.site-navigation ul,.site-navigation a,.language-switcher,.project-book__year,.project-book__back,.project-book__nav,.project-book__nav a,.project-book__view,.project-thumbnails__toggle,.project-content > h2,.about-book__title,.about-book__nav,.about-book__nav a,.about-content > h2,.information-book__archive-title,.information-book__back,.information-book__date,.information-book__type,.information-book__year,.information-book__list,.information-book__list a,.information-book__entry-title,.information-content > h2,.information-book__all,.portfolio-viewer-list__title,.contact-book__title,.contact-content > h2,.contact-form label,.contact-form button { font-family:var(--sans); font-synthesis:none; }
.site-navigation ul { display:flex; list-style:none; gap:38px; padding:0; margin:0; font:300 10px/18px var(--sans); letter-spacing:3px; text-transform:none; }
.hero { min-height:100svh; background:#222 center/cover no-repeat; color:#fff; position:relative; display:flex; align-items:center; overflow:hidden; }
.hero:before,.project-card:before { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.1)); }
.hero__slides,.hero__slide { position:absolute; inset:0; }
.hero__slide { opacity:0; transition:opacity 1.8s ease; background:center/cover no-repeat; }
.hero__slide.is-active { opacity:1; }
.hero__slides:after { content:''; position:absolute; inset:0; background:rgba(0,0,0,.28); }
.hero__content { z-index:1; position:relative; width:100%; margin:auto; padding:110px 28px 70px; text-align:center; }
.eyebrow { font-size:13px; letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px; }
.hero h1 { font-weight:normal; font-size:clamp(38px,4.2vw,60px); line-height:1.08; letter-spacing:.055em; margin:0; }
.hero__text { max-width:390px; margin:0 0 27px; }
.button { display:inline-block; padding:10px 26px; border:1px solid currentColor; font-size:12px; letter-spacing:.08em; }
.button:hover { background:#fff; color:#111; }
.section { padding:72px 0; }
.section--white { background:#fff; }
.section-title { font-size:20px; font-weight:300; letter-spacing:5px; margin:0 0 32px; text-align:center; }
.projects { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.project-card { position:relative; aspect-ratio:1.15; overflow:hidden; background:#222; color:#fff; display:flex; align-items:flex-end; padding:20px; }
.project-card:before { background:linear-gradient(0deg,rgba(0,0,0,.62),rgba(0,0,0,.03) 70%); }
.project-card img { position:absolute; inset:0; height:100%; object-fit:cover; transition:transform .5s ease; }
.project-card:hover img { transform:scale(1.04); }
.project-card span { position:relative; font-size:13px; font-weight:300; letter-spacing:3px; line-height:1.5; }
.link-rows { border-top:1px solid var(--line); }
.link-row { border-bottom:1px solid var(--line); display:flex; justify-content:space-between; padding:20px 0; font-size:18px; }
.latest-list { list-style:none; max-width:760px; margin:0 auto; padding:0; }
.latest-list li { display:grid; grid-template-columns:120px 120px 1fr; column-gap:18px; padding:9px 0; font:13px/1.55 Arial,sans-serif; }
.latest-list time { color:var(--muted); }
.latest-list + .link-rows { max-width:760px; margin:22px auto 0; }
.site-footer { background:var(--paper); color:var(--ink); padding:25px 0; }
.site-footer__inner { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; }
.site-footer__credits { font:300 10px/17px var(--sans); letter-spacing:1px; }
.site-footer__credits p { margin:0; }
.site-footer__credits p + p { margin-top:2px; }
.social-links { display:flex; align-items:center; justify-content:flex-end; gap:13px; list-style:none; margin:0; padding:0; }
.social-links a { display:block; width:13px; height:13px; color:var(--ink); opacity:.72; }
.social-links a:hover { opacity:.45; }
.social-links svg { display:block; width:100%; height:100%; fill:currentColor; }
.page-header { background:#1d1d1d; color:#fff; padding:140px 0 60px; }
.page-header h1 { font-size:20px; font-weight:300; letter-spacing:5px; margin:0; }
.archive-projects { width:min(1120px,calc(100% - 56px)); margin:0 auto; padding:150px 0 90px; display:grid; grid-template-columns:repeat(2,1fr); gap:7px; }
.archive-projects .project-card { aspect-ratio:1.45; align-items:center; justify-content:center; padding:28px; text-align:center; }
.archive-projects .project-card:before { background:rgba(0,0,0,.39); }
.archive-projects .project-card span { font-size:13px; font-weight:300; letter-spacing:3px; line-height:1.5; text-shadow:0 1px 12px rgba(0,0,0,.55); }
.entry { max-width:var(--reading); padding-top:55px; padding-bottom:80px; }
.entry h1 { font-size:20px; font-weight:300; letter-spacing:5px; line-height:1.8; }
.entry h2 { font-size:15px; font-weight:300; letter-spacing:3px; line-height:1.5; }
.entry .wp-post-image { margin:30px 0; }
.entry-meta { font-size:13px; color:var(--muted); }
.pagination { padding:10px 0 60px; }
.language-switcher { display:flex; gap:10px; list-style:none; margin:0 0 0 18px; padding:0; font:300 10px/18px var(--sans); letter-spacing:3px; }
.language-switcher .current-lang { text-decoration:underline; text-underline-offset:4px; }
.current-project { display:grid; grid-template-columns:1.1fr .9fr; min-height:580px; background:#191919; color:white; }
.current-project__image { min-height:360px; background:center/cover no-repeat; }
.current-project__text { padding:clamp(40px,8vw,130px); display:flex; flex-direction:column; justify-content:center; }
.current-project h2 { font-size:15px; font-weight:300; letter-spacing:3px; line-height:1.5; margin:0 0 17px; }
.project-book { width:min(1016px,100%); margin:0 auto; padding:150px 28px 100px; display:grid; grid-template-columns:190px minmax(0,700px); gap:70px; align-items:start; }
.project-book__aside { position:sticky; top:38px; }
.project-book__title { font-family:var(--serif); font-size:15px; font-weight:300; letter-spacing:3px; line-height:19.5px; margin:0 0 22px; font-synthesis:none; }
.project-book__year { color:var(--muted); font:300 10px/18px var(--sans); letter-spacing:3px; margin:0 0 30px; }
.project-book__nav { list-style:none; margin:0; padding:0; font:300 10px/18px var(--sans); letter-spacing:3px; }
.project-book__nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.project-book__back { margin:0 0 24px; font:300 10px/18px var(--sans); letter-spacing:3px; text-transform:none; }
.project-book__back a:before { content:'← '; }
.project-book__main > .wp-post-image { margin:0 0 38px; }
.project-statement { padding:16px 0 26px; font:300 10px/18px var(--jp-serif); letter-spacing:3px; text-align:left; }
.project-statement + .project-content > :first-child { margin-top:0; }
.project-thumbnails { margin:30px 0 54px; }
.project-statement + .project-thumbnails { margin-top:-24px; }
.project-thumbnails__toggle { display:block; margin:0 0 16px auto; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; font:300 10px/18px var(--sans); letter-spacing:1px; }
.project-thumbnails__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; }
.project-thumbnails__grid[hidden] { display:none; }
.project-thumbnails__item { display:block; overflow:hidden; width:100%; aspect-ratio:1.499 / 1; padding:0; border:0; background:#222; cursor:pointer; }
.project-thumbnails__item img { width:100%; height:100%; object-fit:cover; transition:opacity .25s ease; }
.project-thumbnails__item:hover img { opacity:.78; }
.project-content { max-width:100%; font:300 10px/18px var(--jp-serif); letter-spacing:3px; text-align:left; }
.project-content > h2 { font-family:var(--sans); font-size:15px; font-weight:300; letter-spacing:3px; line-height:19.5px; margin:75px 0 24px; scroll-margin-top:35px; }
.project-content .wp-block-gallery { margin:0 0 42px; }
.project-content .wp-block-image { margin:0 0 42px; }
.single-portfolio .project-content .wp-block-image,.single-portfolio .project-content .wp-block-gallery { display:none; }
.project-meta { border-top:1px solid var(--line); margin:80px 0 0; padding:26px 0 0; font:300 10px/18px var(--sans); letter-spacing:3px; text-align:center; }
.info-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.info-list li { display:grid; grid-template-columns:100px 130px 1fr; gap:18px; border-bottom:1px solid var(--line); padding:18px 0; font:14px Arial,sans-serif; }
.info-type { text-transform:uppercase; font-size:11px; letter-spacing:.08em; }
.information-archive { min-height:65vh; padding:155px 28px 90px; }
.information-archive__panel { width:min(760px,100%); margin:0 auto; padding:34px 58px 36px; border:1px solid var(--line); }
.information-archive__panel h1 { margin:0 0 16px; font:300 20px/27px var(--serif); letter-spacing:5px; text-transform:none; }
.information-archive__panel h2 { margin:0 0 6px; font:300 15px/19.5px var(--serif); letter-spacing:3px; }
.information-archive__panel .info-list { margin:0 0 22px; border:0; }
.information-archive__panel .info-list li { grid-template-columns:66px 112px 1fr; gap:8px; padding:5px 0; border:0; font-size:13px; }
.contact-book { width:min(1016px,100%); margin:0 auto; padding:150px 28px 100px; display:grid; grid-template-columns:190px minmax(0,700px); gap:70px; align-items:start; }
.contact-book__aside { position:sticky; top:38px; }
.contact-book__title { margin:0; font:300 15px/19.5px var(--sans); letter-spacing:3px; }
.contact-book__main { width:min(700px,100%); }
.contact-content { font:300 10px/18px var(--jp-serif); letter-spacing:3px; text-align:left; }
.contact-content > h2 { margin:75px 0 24px; font:300 15px/19.5px var(--sans); letter-spacing:3px; scroll-margin-top:35px; }
.contact-content > h2:first-child { margin-top:0; }
.contact-content a { color:var(--muted); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.contact-content a:hover { color:var(--ink); }
.contact-form { margin-top:46px; }
.contact-form label { display:block; margin:22px 0 7px; font:300 10px/18px var(--sans); letter-spacing:3px; }
.contact-form input,.contact-form textarea { width:100%; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:9px 0; background:transparent; color:inherit; font:300 10px/18px var(--jp-serif); letter-spacing:3px; }
.contact-form textarea { min-height:160px; resize:vertical; border:1px solid var(--line); padding:12px; }
.contact-form button { margin-top:22px; padding:0; background:transparent; color:inherit; border:0; cursor:pointer; font:300 10px/18px var(--sans); letter-spacing:3px; }
.contact-form button:after { content:' →'; margin-left:8px; font-size:15px; }
.contact-form__status { margin:32px 0 0; color:var(--muted); font:300 10px/18px var(--sans); letter-spacing:3px; }
.screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .hero__slide { transition:none; } .project-card img { transition:none; } }
.home .hero h1 { margin:0 0 24px; font-size:20px; font-weight:300; letter-spacing:5px; line-height:27px; }
.hero-links { display:flex; justify-content:center; gap:34px; font:300 10px/18px var(--sans); letter-spacing:3px; }
.hero__credits { position:absolute; z-index:1; right:28px; bottom:25px; left:28px; display:block; margin:0; color:#fff; font:300 10px/17px var(--sans); letter-spacing:1px; text-align:center; text-shadow:0 1px 6px rgba(0,0,0,.45); pointer-events:none; }
.hero__credits p { margin:0; }
.hero__credits p + p { margin-top:2px; }
.single-portfolio .site-header,.page .site-header { position:fixed; color:var(--ink); background:rgba(248,248,246,.94); border-bottom:0; backdrop-filter:blur(10px); }
.post-type-archive-portfolio .site-header { position:fixed; color:var(--ink); background:rgba(248,248,246,.94); border-bottom:0; backdrop-filter:blur(10px); }
.portfolio-viewer-list { width:min(960px,calc(100% - 56px)); margin:0 auto; padding:150px 0 100px; }
.portfolio-viewer-list__title { margin:0 0 24px; font:300 15px/19.5px var(--sans); letter-spacing:3px; }
.portfolio-viewer-item { display:grid; grid-template-columns:190px minmax(0,700px); gap:70px; align-items:center; min-height:515px; padding:24px 0; }
.portfolio-viewer-item__info h2 { margin:0 0 22px; font-size:15px; font-weight:300; letter-spacing:3px; line-height:19.5px; }
.portfolio-viewer-item__link,.project-book__view { padding:0; border:0; background:transparent; color:inherit; cursor:pointer; font:300 10px/15px var(--sans); letter-spacing:3px; text-transform:none; }
.portfolio-viewer-item__link span { margin-left:8px; font-size:15px; }
.portfolio-viewer-item__details { display:block; width:max-content; margin-top:13px; font:300 10px/15px var(--sans); color:var(--muted); letter-spacing:1px; }
.portfolio-viewer-item__image { display:block; overflow:hidden; aspect-ratio:1.499 / 1; padding:0; border:0; background:#222; cursor:pointer; }
.portfolio-viewer-item__image img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.portfolio-viewer-item__image:hover img { transform:scale(1.025); }
.portfolio-image-viewer { position:fixed; z-index:100; inset:0; display:grid; grid-template-columns:70px minmax(0,1fr) 70px; align-items:center; background:rgba(16,16,16,.98); color:#fff; }
.portfolio-image-viewer[hidden] { display:none; }
.portfolio-image-viewer__stage { display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:0; padding:48px 22px; }
.portfolio-image-viewer__stage img { display:block; width:auto; max-width:100%; height:auto; max-height:calc(100svh - 96px); object-fit:contain; }
.portfolio-image-viewer__close,.portfolio-image-viewer__previous,.portfolio-image-viewer__next { border:0; background:transparent; color:#fff; cursor:pointer; font:34px/1 Arial,sans-serif; opacity:.8; }
.portfolio-image-viewer__previous:disabled,.portfolio-image-viewer__next:disabled { cursor:default; opacity:.18; }
.portfolio-image-viewer__close { position:absolute; top:25px; right:25px; font-size:32px; }
.portfolio-image-viewer__count { position:absolute; right:26px; bottom:22px; margin:0; font:11px Arial,sans-serif; letter-spacing:.08em; opacity:.7; }
.portfolio-image-viewer__mobile-controls { display:none; }
body.viewer-open { overflow:hidden; }
.project-book__view { display:block; margin:0 0 20px; }
.project-book__main { width:min(700px,100%); }
.project-book__main > .wp-post-image { width:100%; aspect-ratio:1.499 / 1; height:467px; object-fit:cover; }
.about-book { width:min(1016px,100%); margin:0 auto; padding:150px 28px 100px; display:grid; grid-template-columns:190px minmax(0,700px); gap:70px; align-items:start; }
.about-book__aside { position:sticky; top:38px; }
.about-book__title { margin:0 0 22px; font-family:var(--sans); font-size:15px; font-weight:300; letter-spacing:3px; line-height:19.5px; }
.about-book__nav { list-style:none; margin:0; padding:0; font:300 10px/18px var(--sans); letter-spacing:3px; }
.about-book__nav a:hover { text-decoration:underline; text-underline-offset:4px; }
.about-book__main { width:min(700px,100%); }
.about-book__portrait { width:min(250px,100%); height:auto; margin:0 0 42px; object-fit:cover; }
.about-content { font:300 10px/18px var(--jp-serif); letter-spacing:3px; text-align:left; }
.project-content .wp-block-code,.about-content .wp-block-code { margin:0 0 18px; padding:0; border:0; background:transparent; color:inherit; font:300 10px/18px var(--jp-serif); letter-spacing:3px; white-space:pre-wrap; }
.project-content .wp-block-code code,.about-content .wp-block-code code { font:inherit; }
.about-content > h2 { margin:75px 0 24px; font-family:var(--sans); font-size:15px; font-weight:300; letter-spacing:3px; line-height:19.5px; scroll-margin-top:35px; }
.about-content > h2:first-child { margin-top:0; }
.about-content .wp-block-image { margin:0 0 42px; }
.about-content .wp-block-image img { width:min(250px,100%); height:auto; }
.information-book { width:min(1016px,100%); margin:0 auto; padding:150px 28px 100px; display:grid; grid-template-columns:190px minmax(0,700px); gap:70px; align-items:start; }
.information-book__aside { position:sticky; top:38px; }
.information-book__archive-title { margin:0; font:300 15px/19.5px var(--sans); letter-spacing:3px; }
.information-book__back,.information-book__date,.information-book__type { margin:0 0 12px; font:300 10px/18px var(--sans); letter-spacing:3px; }
.information-book__back a:before { content:'← '; }
.information-book__type { color:var(--muted); }
.information-book__main { width:min(700px,100%); }
.information-book__year { margin:0 0 16px; font:300 15px/19.5px var(--sans); letter-spacing:3px; }
.information-book__list { list-style:none; margin:0 0 50px; padding:0; }
.information-book__list li { display:grid; grid-template-columns:66px 112px minmax(0,1fr); gap:8px; padding:5px 0; font:300 10px/18px var(--sans); letter-spacing:3px; }
.information-book__list li a:hover { text-decoration:underline; text-underline-offset:4px; }
.information-book__entry-title { margin:0 0 35px; font:300 15px/19.5px var(--sans); letter-spacing:3px; }
.information-book__image { width:100%; height:auto; margin:0 0 38px; }
.information-content { font:300 10px/18px var(--jp-serif); letter-spacing:3px; text-align:left; }
.information-content > h2 { margin:75px 0 24px; font:300 15px/19.5px var(--sans); letter-spacing:3px; scroll-margin-top:35px; }
.information-content .wp-block-image,.information-content .wp-block-gallery { margin:0 0 42px; }
.information-content a { color:var(--muted); text-decoration:underline; text-underline-offset:4px; text-decoration-thickness:1px; }
.information-content a:hover { color:var(--ink); }
.information-book__all { border-top:1px solid var(--line); margin:80px 0 0; padding:26px 0 0; font:300 10px/18px var(--sans); letter-spacing:3px; text-align:center; }
.single-information .site-header { position:fixed; color:var(--ink); background:rgba(248,248,246,.94); border-bottom:0; backdrop-filter:blur(10px); }
.post-type-archive-information .site-header { position:fixed; color:var(--ink); background:rgba(248,248,246,.94); border-bottom:0; backdrop-filter:blur(10px); }
@media (max-width:800px) { .site-header__inner { min-height:58px; padding-left:17px; padding-right:17px; position:relative; } .site-menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; width:40px; height:40px; margin-right:-9px; padding:0 9px; border:0; background:transparent; color:inherit; cursor:pointer; } .site-menu-toggle > span[aria-hidden] { display:block; width:100%; height:1px; background:currentColor; transition:transform .2s ease; } .site-menu-toggle[aria-expanded="true"] > span[aria-hidden]:first-of-type { transform:translateY(3.5px) rotate(45deg); } .site-menu-toggle[aria-expanded="true"] > span[aria-hidden]:last-of-type { transform:translateY(-3.5px) rotate(-45deg); } .site-menu { position:absolute; top:58px; right:17px; display:block; width:min(250px,calc(100vw - 34px)); padding:18px 20px; color:var(--ink); background:rgba(248,248,246,.98); box-shadow:0 8px 24px rgba(0,0,0,.08); opacity:0; visibility:hidden; transform:translateY(-6px); transition:opacity .2s ease,transform .2s ease,visibility .2s; } .site-menu.is-open { opacity:1; visibility:visible; transform:translateY(0); } .site-navigation ul { display:block; padding:0; margin:0; font-size:10px; } .site-navigation li:nth-child(n+5) { display:list-item; } .site-navigation a { display:block; padding:8px 0; } .language-switcher { margin:13px 0 0; padding-top:12px; border-top:1px solid var(--line); gap:14px; } .site-branding { font-size:15px; } .hero__content { padding-left:22px; padding-right:22px; } .hero__credits { right:17px; bottom:18px; left:17px; font-size:10px; line-height:17px; text-align:left; } .site-footer { padding:21px 0; } .site-footer .wrap { padding-left:17px; padding-right:17px; } .site-footer__inner { gap:16px; } .projects { grid-template-columns:repeat(2,1fr); } .section { padding:48px 0; } .archive-projects { width:calc(100% - 34px); padding:91px 0 55px; grid-template-columns:1fr; gap:6px; } .portfolio-viewer-list { width:calc(100% - 34px); padding:105px 0 55px; } .portfolio-viewer-item { display:flex; flex-direction:column; align-items:stretch; gap:20px; min-height:0; padding:0 0 52px; } .portfolio-viewer-item__info { order:2; } .portfolio-viewer-item__image { order:1; } .portfolio-viewer-item__image img { height:65vw; min-height:250px; } .portfolio-image-viewer { grid-template-columns:44px minmax(0,1fr) 44px; } .portfolio-image-viewer__stage { padding:46px 4px; } .portfolio-image-viewer__close { top:17px; right:16px; } .portfolio-image-viewer__count { right:17px; bottom:15px; } .current-project { grid-template-columns:1fr; } .current-project__text { padding:54px 28px; } .project-book,.about-book,.information-book,.contact-book { display:block; padding-top:105px; } .project-book__aside,.about-book__aside,.information-book__aside,.contact-book__aside { position:static; margin-bottom:42px; } .project-book__nav,.about-book__nav { display:flex; flex-wrap:wrap; column-gap:18px; row-gap:1px; font-size:10px; } .information-book__list li { grid-template-columns:57px 1fr; gap:7px; } .information-book__list li span { grid-column:2; grid-row:1; } .latest-list li { grid-template-columns:90px 1fr; gap:7px; } .latest-list .info-type { grid-column:2; grid-row:1; } .information-archive { padding:94px 17px 55px; } .information-archive__panel { padding:27px 20px; } .information-archive__panel .info-list li { grid-template-columns:57px 1fr; gap:7px; } .information-archive__panel .info-type { grid-column:2; grid-row:1; } .info-list li { grid-template-columns:80px 1fr; gap:8px; } .info-list .info-type { grid-column:2; grid-row:1; } }

@media (max-width:800px) {
  .portfolio-viewer-item__link,
  .project-book__view { display:none; }
  .information-book__list li > a,
  .information-archive__panel .info-list li > a,
  .info-list li > a,
  .latest-list li > a { grid-column:1 / -1; grid-row:2; min-width:0; overflow-wrap:anywhere; }
  .portfolio-image-viewer { display:block; }
  .portfolio-image-viewer > .portfolio-image-viewer__previous,
  .portfolio-image-viewer > .portfolio-image-viewer__next { display:none; }
  .portfolio-image-viewer__stage { width:100%; height:calc(100svh - 76px); padding:42px 8px 4px; }
  .portfolio-image-viewer__stage img { max-width:calc(100vw - 16px); max-height:calc(100svh - 122px); }
  .portfolio-image-viewer__close { z-index:2; top:14px; right:15px; width:38px; height:38px; font-size:30px; opacity:.9; }
  .portfolio-image-viewer__mobile-controls { position:absolute; right:0; bottom:calc(10px + env(safe-area-inset-bottom)); left:0; display:grid; grid-template-columns:48px 48px 48px; justify-content:center; gap:22px; }
  .portfolio-image-viewer__mobile-controls button { display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:0; background:transparent; color:#fff; cursor:pointer; font:28px/1 Arial,sans-serif; opacity:.88; }
  .portfolio-image-viewer__mobile-controls button:disabled { cursor:default; opacity:.18; }
  .portfolio-image-viewer__play { font-size:16px !important; }
  .portfolio-image-viewer__play[aria-pressed="true"] { font-size:15px !important; }
  .portfolio-image-viewer__count { display:none; }
}
@media (max-width:800px) { .portfolio-viewer-item__image img { height:100%; min-height:0; } .project-book__main > .wp-post-image { height:auto; } .project-thumbnails__grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
