@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');

:root {
    --paper: #f1efee;
    --ink: #282722;
    --muted: #85847b;
    --line: #d2d0c7;
    --accent: #827c63;
    --gutter: clamp(20px, 3.35vw, 64px);
}

.portfolio-page *, .portfolio-page *::before, .portfolio-page *::after { box-sizing: border-box; }
html:has(.portfolio-page) { background: var(--paper); scroll-padding-top: 28px; }
.portfolio-page { margin: 0; background: var(--paper); color: var(--ink); font-family: 'DM Sans', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
.portfolio-page ::selection { background: #aaa28b; color: var(--paper); }
.portfolio-page button, .portfolio-page a { -webkit-tap-highlight-color: transparent; }
.portfolio-page button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }
.portfolio-page a { color: inherit; text-decoration: none; }
.portfolio-page img { display: block; max-width: 100%; }
.portfolio-page svg { display: block; }
.portfolio-page h1, .portfolio-page h2, .portfolio-page p { margin: 0; }
.portfolio-page button:focus-visible, .portfolio-page a:focus-visible { outline: 2px solid var(--accent); outline-offset: 7px; }
.portfolio-page [hidden] { display: none !important; }
.screen-reader-only, .skip-link:not(:focus) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link:focus { position: fixed; z-index: 1200; top: 20px; left: 20px; padding: 15px 25px; background: var(--ink); color: var(--paper); }
.portfolio-header { position: relative; z-index: 20; display: flex; align-items: center; justify-content: space-between; min-height: 112px; margin: 0 var(--gutter); border-bottom: 1px solid var(--line); }
.brand { display: flex; flex-direction: column; gap: 9px; }
.brand img { width: 171px; height: auto; filter: brightness(0); }
.brand > span { font-size: 8px; letter-spacing: .25em; padding-left: 2px; }
.desktop-nav { display: flex; gap: 38px; align-items: center; padding-right: 25px; }
.desktop-nav a { font-size: 10px; font-weight: 550; letter-spacing: .065em; padding: 12px 0; position: relative; }
.desktop-nav a::after { content: ''; position: absolute; left: 0; right: 0; bottom: 3px; height: 1px; background: var(--ink); transform: scaleX(0); transform-origin: left; transition: transform .3s; }
.desktop-nav a:hover::after, .desktop-nav .nav-current::after { transform: scaleX(1); }
.desktop-nav span { font-size: 8px; margin-left: 4px; vertical-align: super; }
.heading-index i { width: 5px; height: 5px; background: #7b7b61; border-radius: 50%; }
.header-tools { display: flex; gap: 20px; align-items: center; }
.menu-toggle { display: none; width: 35px; height: 40px; padding: 10px 2px; }
.menu-toggle span { display: block; height: 1px; background: var(--ink); margin: 6px 0; transition: transform .3s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-menu { position: absolute; top: 100%; left: calc(-1 * var(--gutter)); right: calc(-1 * var(--gutter)); padding: 30px var(--gutter) 45px; background: var(--paper); border-bottom: 1px solid var(--line); }
.mobile-menu a { display: block; padding: 12px 0; font-size: 32px; letter-spacing: -.04em; }
.mobile-menu sup { font-size: 12px; }
.portfolio-film { position: relative; height: calc(100svh - 112px); min-height: 480px; overflow: hidden; background: #242320; color: #fff; }
.portfolio-film-video, .portfolio-film-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.portfolio-film-video { object-fit: cover; }
.portfolio-film-frames { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; pointer-events: none; }
.portfolio-film-frames.is-ready { opacity: 1; }

.portfolio-film-shade { background: linear-gradient(180deg, rgb(0 0 0 / .22), transparent 30%, rgb(0 0 0 / .5)); pointer-events: none; }
.portfolio-manifesto { position: relative; z-index: 2; background: var(--paper); }
.portfolio-manifesto-stage { position: relative; padding: 100px var(--gutter); overflow: hidden; }
.manifesto-frame { position: absolute; inset: 30px var(--gutter); border: 1px solid #c8c4bb; pointer-events: none; }
.manifesto-frame > i { position: absolute; width: 13px; height: 13px; border-color: #777264; border-style: solid; border-width: 0; }
.manifesto-frame > i:nth-child(1) { top: -1px; left: -1px; border-top-width: 1px; border-left-width: 1px; }
.manifesto-frame > i:nth-child(2) { top: -1px; right: -1px; border-top-width: 1px; border-right-width: 1px; }
.manifesto-frame > i:nth-child(3) { bottom: -1px; left: -1px; border-bottom-width: 1px; border-left-width: 1px; }
.manifesto-frame > i:nth-child(4) { bottom: -1px; right: -1px; border-bottom-width: 1px; border-right-width: 1px; }
.manifesto-top, .manifesto-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 9px; letter-spacing: .1em; }
.manifesto-top { margin: -35px 26px 65px; }
.manifesto-top > span:last-child { color: var(--muted); }
.manifesto-message { padding: 35px 25px; text-align: center; }
.manifesto-index { display: block; margin-bottom: 26px; font-size: 10px; letter-spacing: .14em; color: var(--accent); }
.manifesto-message p { font-size: clamp(37px, 6.5vw, 104px); font-weight: 550; line-height: 1.02; letter-spacing: -.065em; }
.manifesto-row { display: block; overflow: hidden; padding-block: .2em; margin-block: -.2em; }
.manifesto-row > span { display: block; }
.manifesto-soft { color: #999385; }
.manifesto-bottom { margin: 65px 26px -35px; }
.manifesto-bottom a { display: flex; align-items: center; gap: 26px; }
.manifesto-bottom a > span { font-size: 23px; }
.manifesto-progress { width: clamp(70px, 17vw, 260px); height: 1px; background: #d6d2c9; overflow: hidden; }
.manifesto-progress i { display: block; height: 100%; background: var(--ink); transform-origin: left; }
.portfolio-manifesto.is-motion-ready { height: 200svh; }
.is-motion-ready .portfolio-manifesto-stage { position: sticky; top: 0; height: 100svh; padding: 0; }
.is-motion-ready .manifesto-message { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; }
.is-motion-ready .manifesto-top, .is-motion-ready .manifesto-bottom { position: absolute; left: calc(var(--gutter) + 26px); right: calc(var(--gutter) + 26px); margin: 0; }
.is-motion-ready .manifesto-top { top: 58px; }
.is-motion-ready .manifesto-bottom { bottom: 54px; }
@media (max-width: 640px) {
    .manifesto-frame { inset: 22px 16px; }
    .manifesto-message { padding: 30px 20px; }
    .manifesto-message p { font-size: clamp(29px, 7.4vw, 48px); }
    .manifesto-top, .manifesto-bottom { font-size: 7px; letter-spacing: .04em; }
    .manifesto-top > span:last-child { display: none; }
    .is-motion-ready .manifesto-top, .is-motion-ready .manifesto-bottom { left: 32px; right: 32px; }
    .is-motion-ready .manifesto-top { top: 44px; }
    .is-motion-ready .manifesto-bottom { bottom: 40px; }
    .manifesto-bottom > span:first-child { display: none; }
}
@media (max-width: 640px) { .portfolio-film { height: calc(100svh - 82px); } }
@media (prefers-reduced-motion: reduce) { .portfolio-film-video { visibility: hidden; } .portfolio-film { background: #242320 url('../images/studio-opening-poster.jpg') center / cover; } }
.projects-heading { min-height:100svh; padding:80px var(--gutter); display:flex; align-items:center; justify-content:center; scroll-margin-top:0; }
.portfolio-categories { text-align: center; }
.projects-heading.is-category-motion { height:160svh; padding:0; display:block; }
.is-category-motion .portfolio-categories { position:sticky; top:0; height:100svh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 var(--gutter); }
.portfolio-categories h1 { font-size: inherit; line-height: 1.1; }
.portfolio-categories h1 span { display: inline-block; }
.portfolio-categories button { font-size: clamp(32px, 3.8vw, 68px); font-weight: 650; letter-spacing: -.055em; line-height: 1.15; color: #d9d7d5; padding: 0; transition: color .3s; }
.portfolio-categories button[aria-pressed="true"], .portfolio-categories button:hover { color: #292825; }
.category-line { display: flex; align-items: center; justify-content: center; gap: 10px; color: #d9d7d5; margin-top: 6px; }
.category-line > span { font-size: clamp(32px, 3.8vw, 68px); font-weight: 650; }
@media (max-width: 640px) {
    .projects-heading { min-height:100svh; padding:65px var(--gutter); }
    .portfolio-categories button, .category-line > span { font-size:clamp(24px,6vw,36px); }
}
.heading-eyebrow, .section-eyebrow, .heading-index, .discover-link, .gallery-end, .footer-top, .footer-bottom, .intro-top, .intro-bottom, .dialog-top { font-size: 9px; font-weight: 500; letter-spacing: 0.085em; }
.heading-eyebrow { display: flex; justify-content: space-between; }
.eyebrow-right { color: rgb(121, 120, 111); }
.title-line { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin: 28px 0px 20px; }
.title-line h1 { font-size: clamp(75px, 18.2vw, 350px); font-weight: 500; letter-spacing: -0.083em; line-height: 0.9; margin-left: -0.06em; overflow: hidden; padding: 0px 0.07em 0.06em 0.04em; }
.title-line h1 span { display: block; }
.title-line sup { font-size: 15px; padding-top: 12px; }
.heading-bottom { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; padding: 6px 0px 49px; }
.heading-index { display: flex; align-items: center; gap: 10px; }
.heading-bottom p { font-size: clamp(19px, 1.8vw, 31px); font-weight: 400; letter-spacing: -0.045em; line-height: 1.25; padding-left: 7px; }
.heading-bottom p span { color: rgb(133, 132, 124); }
.discover-link { display: flex; align-items: center; gap: 31px; }
.discover-link > span { font-size: 26px; transition: transform 0.3s; }
.discover-link:hover > span { transform: translateY(5px); }
.projects-section { padding: 0px 20px; }
.gallery-toolbar { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid rgb(222, 219, 217); min-height: 82px; gap: 20px; scroll-margin-top: 20px; padding: 0px 1px; }
.gallery-selection { display: flex; gap: 28px; align-items: center; font-size: 10px; letter-spacing: -0.02em; }
.gallery-selection > span:last-child { color: rgb(151, 147, 143); }
.immersive-toggle { display: flex; align-items: center; gap: 9px; padding: 8px 0px; font-size: 9px !important; }
.immersive-toggle i { display: block; position: relative; width: 25px; height: 10px; border: 1px solid rgb(141, 137, 133); border-radius: 8px; }
.immersive-toggle i::before { content: ""; position: absolute; width: 5px; height: 5px; top: 1.5px; left: 2px; background: rgb(41, 40, 37); border-radius: 50%; transition: transform 0.25s; }
.immersive-toggle[aria-pressed="true"] i::before { transform: translateX(14px); }
.project-filters { display: flex; gap: clamp(22px, 3vw, 46px); }
.project-filters button { position: relative; padding: 20px 0px; font-size: 12px; letter-spacing: -0.02em; color: var(--muted); white-space: nowrap; transition: color 0.25s; }
.project-filters button[aria-pressed="true"], .project-filters button:hover { color: var(--ink); }
.project-filters button::after { content: ""; position: absolute; left: 0px; bottom: 11px; height: 1px; width: calc(100% - 17px); background: currentcolor; transform: scaleX(0); transform-origin: left center; transition: transform 0.3s; }
.project-filters button[aria-pressed="true"]::after { transform: scaleX(1); }
.project-filters sup { font-size: 8px; padding-left: 5px; }
.gallery-options { display: flex; align-items: center; gap: 22px; }
.view-label { font-size: 8px; color: var(--muted); letter-spacing: 0.09em; }
.view-switch { display: flex; gap: 14px; }
.view-switch button { padding: 8px 0px 8px 8px; opacity: 0.3; transition: opacity 0.25s; font-size: 13px; }
.view-switch button[aria-pressed="true"], .view-switch button:hover { opacity: 1; }
.project-grid { display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 14px; position: relative; --gallery-columns: 4; --gallery-gap: 14; }
.project-grid[data-layout="two"] { grid-template-columns: repeat(2, minmax(0px, 1fr)); --gallery-columns: 2; }
.project-grid[data-immersive="true"] { grid-template-columns: minmax(0px, 1fr); --gallery-columns: 1; }
.project-grid.masonry-ready { display: block; }
.project-grid.masonry-ready .project-card { position: absolute; }
.project-card { min-width: 0px; position: relative; }
.project-image-link { display: block; position: relative; overflow: hidden; aspect-ratio: 0.72 / 1; background: rgb(211, 208, 197); isolation: isolate; width: 100%; height: 100%; }
.project-image-link::after { content: ""; position: absolute; inset: 0px; background: linear-gradient(transparent 40%, rgba(28, 27, 30, 0.18) 65%, rgba(28, 27, 30, 0.55) 100%); pointer-events: none; z-index: 2; opacity: 0; transition: opacity 0.5s; }
.project-image-link::before { content: ""; position: absolute; inset: 42% 0px 0px; backdrop-filter: blur(12px); mask-image: linear-gradient(transparent, rgb(0, 0, 0) 80%); z-index: 2; pointer-events: none; opacity: 0; transition: opacity 0.5s; }
.project-image-link:hover::before, .project-image-link:hover::after, .project-card:focus-within .project-image-link::before, .project-card:focus-within .project-image-link::after { opacity: 1; }
.project-image-wrap { width: 100%; height: 100%; overflow: hidden; }
.project-image { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1); }
.project-video { display: block; position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 0.5s; z-index: 1; pointer-events: none; }
.project-image-link.is-video-playing .project-video { opacity: 1; }
.video-preview-control { position: absolute; z-index: 5; top: 16px; right: 16px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; opacity: 0; transition: opacity 0.25s; border: 1px solid rgba(255, 255, 255, 0.5) !important; background: rgba(0, 0, 0, 0.133) !important; color: rgb(255, 255, 255) !important; }
.video-preview-control span { font-size: 10px; }
.video-preview-control .video-pause-icon { display: none; }
.video-preview-control[aria-pressed="true"] .video-pause-icon { display: inline; }
.video-preview-control[aria-pressed="true"] .video-play-icon { display: none; }
.project-card:hover .video-preview-control, .project-card:focus-within .video-preview-control { opacity: 1; }
.project-image-link:hover .project-image { transform: scale(1.045); }
.project-number { position: absolute; top: 24px; left: 24px; font-size: 9px; color: white; letter-spacing: 0.12em; z-index: 2; }
.project-image-arrow { position: absolute; top: 17px; right: 22px; color: rgb(255, 255, 255); font-size: 26px; line-height: 1; z-index: 2; transition: transform 0.4s; }
.project-image-link:hover .project-image-arrow { transform: translate(3px, -3px); }
.project-image-label { position: absolute; bottom: 23px; left: 24px; color: white; font-size: 8px; letter-spacing: 0.1em; z-index: 2; }
.project-caption { position: absolute; bottom: 32px; left: 16px; right: 16px; z-index: 3; text-align: center; color: rgb(255, 255, 255); opacity: 0; transform: translateY(14px); transition: opacity 0.45s, transform 0.55s cubic-bezier(0.2, 0.7, 0.2, 1); pointer-events: none; }
.project-caption h2 { font-size: clamp(18px, 1.65vw, 36px); font-weight: 650; letter-spacing: -0.055em; text-transform: uppercase; line-height: 1.05; }
.project-caption p { font-size: clamp(8px, 0.67vw, 12px); line-height: 1.5; margin-top: 12px; font-weight: 400; }
.project-card:hover .project-caption, .project-card:focus-within .project-caption { opacity: 1; transform: translateY(0px); }
.project-grid[data-layout="two"] .project-caption h2 { font-size: clamp(24px, 2.6vw, 46px); }
.project-grid[data-immersive="true"] .project-caption h2 { font-size: clamp(30px, 4vw, 66px); }
.gallery-end { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); padding: 35px 0px 29px; font-size: 8px; color: rgb(119, 118, 110); }
.gallery-end a { color: var(--ink); }
.gallery-end a span { font-size: 15px; margin-left: 20px; }
.studio-feature { padding: clamp(65px, 7vw, 110px) var(--gutter) 0; }
.studio-feature-top { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 21px; color: rgb(119, 116, 110); font-size: 9px; letter-spacing: 0.08em; }
.studio-feature-grid { display: grid; grid-template-columns: 1.16fr 1fr; background: rgb(228, 225, 218); }
.studio-feature-visual { position: relative; margin: 0px; overflow: hidden; min-height: 600px; background: rgb(204, 200, 189); }
.studio-feature-visual::after { content: ""; position: absolute; inset: 55% 0px 0px; background: linear-gradient(transparent, rgba(21, 24, 21, 0.48)); pointer-events: none; }
.studio-feature-visual img { width: 100%; height: 100%; position: absolute; inset: 0px; object-fit: cover; }
.studio-feature-visual figcaption { position: absolute; z-index: 1; bottom: 24px; left: 26px; right: 26px; display: flex; justify-content: space-between; gap: 14px; color: white; font-size: 9px; letter-spacing: 0.07em; }
.studio-feature-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(45px, 5vw, 95px); }
.studio-feature-label { font-size: 9px; color: rgb(121, 118, 110); letter-spacing: 0.1em; }
.studio-feature-copy h2 { margin: 42px 0px 28px; font-size: clamp(42px, 4.5vw, 76px); line-height: 1.02; font-weight: 450; letter-spacing: -0.065em; }
.studio-feature-copy h2 span { font-family: Georgia, serif; font-style: italic; font-weight: 400; color: rgb(139, 137, 127); }
.studio-feature-copy p { max-width: 360px; color: rgb(111, 109, 102); font-size: 13px; line-height: 1.8; }
.studio-feature-services { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 35px; }
.studio-feature-services span { border: 1px solid rgb(189, 185, 175); border-radius: 100px; padding: 9px 12px; color: rgb(104, 102, 95); font-size: 8px; letter-spacing: 0.04em; }
.studio-feature-copy > a { display: inline-flex; align-items: center; gap: 35px; margin-top: 45px; padding-bottom: 9px; border-bottom: 1px solid rgb(141, 138, 128); font-size: 9px; letter-spacing: 0.06em; }
.studio-feature-copy > a span { font-size: 18px; transition: transform 0.3s; }
.studio-feature-copy > a:hover span { transform: translate(3px, -3px); }
.studio-signature { display: flex; align-items: end; justify-content: space-between; gap: 20px; padding: 38px 0px 34px; border-bottom: 1px solid var(--line); }
.studio-signature-word { display: flex; flex-wrap: wrap; gap: 0.22em; overflow: hidden; font-size: clamp(42px, 7.4vw, 126px); font-weight: 500; line-height: 0.9; letter-spacing: -0.075em; }
.studio-signature-word > span { display: inline-flex; }
.studio-signature-word [data-brand-letter] { display: inline-block; }
.studio-signature-note { flex: 0 0 auto; text-align: right; color: rgb(129, 126, 118); font-size: 8px; letter-spacing: 0.08em; line-height: 1.6; }
.portfolio-footer { position: relative; overflow: hidden; padding: 0 var(--gutter) 26px; background: var(--paper); color: rgb(41, 40, 37); }
.footer-invitation { position: relative; display: grid; place-items: center; min-height: clamp(500px, 65vh, 760px); isolation: isolate; }
.footer-background-word { position: absolute; top: 50%; z-index: -1; color: rgb(222, 220, 219); font-size: clamp(110px, 19vw, 340px); font-weight: 650; letter-spacing: -0.075em; line-height: 0.85; white-space: nowrap; pointer-events: none; }
.footer-background-left { right: calc(50% + clamp(180px, 17vw, 320px)); translate: 0px -50%; }
.footer-background-right { left: calc(50% + clamp(180px, 17vw, 320px)); translate: 0px -50%; }
.footer-invitation-content { text-align: center; padding: 30px 0px; }
.footer-kicker { display: block; margin-bottom: 30px; color: rgb(142, 139, 134); font-size: 9px; letter-spacing: 0.12em; }
.footer-invitation h2 { font-size: clamp(40px, 5.1vw, 90px); font-weight: 650; letter-spacing: -0.075em; line-height: 0.9; }
.footer-invitation h2 span { color: rgb(140, 133, 111); }
.footer-cta { display: inline-flex; align-items: center; gap: 20px; margin-top: 35px; padding: 7px 8px 7px 22px; border-radius: 100px; background: rgb(41, 40, 37); font-size: 10px; letter-spacing: 0.03em; color: rgb(255, 255, 255) !important; }
.footer-cta > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: rgb(85, 83, 78); font-size: 18px; transition: transform 0.3s, background 0.3s; }
.footer-cta:hover > span { transform: rotate(45deg); background: rgb(119, 115, 105); }
.footer-contact { text-align: center; padding: 12px 0px 58px; }
.footer-contact p { color: rgb(104, 102, 96); font-size: 12px; line-height: 1.65; }
.footer-contact-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 26px; margin-top: 25px; font-size: 11px; }
.footer-contact-links a { border-bottom: 1px solid rgb(193, 190, 185); padding-bottom: 5px; }
.footer-contact-links a:hover { border-color: rgb(41, 40, 37); }
.footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 25px; padding-top: 24px; border-top: 1px solid rgb(212, 209, 204); font-size: 8px; color: rgb(119, 116, 111); }
.footer-bottom button { padding: 4px 0px; font-size: 8px; letter-spacing: 0.08em; }
.footer-bottom button span { display: inline-block; margin-right: 7px; font-size: 14px; }
.project-cursor { display: none; position: fixed; top: 0px; left: 0px; z-index: 50; width: 48px; height: 48px; border: 1px solid rgba(255, 255, 255, 0.6); border-radius: 50%; pointer-events: none; opacity: 0; transform: translate(-50%, -50%); mix-blend-mode: difference; }
.project-cursor span { display: none; }
.project-cursor span:last-child { font-size: 16px; }
.project-dialog { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: var(--paper); color: var(--ink); overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.project-dialog::backdrop { background: #171615e8; }
.project-dialog.is-detail-loading { overflow-y: hidden; }
.detail-loading { display: none; position: absolute; bottom: 35px; right: var(--gutter); z-index: 10; color: white; font-size: 9px; letter-spacing: .1em; }
.is-detail-loading .detail-loading { display: block; }
.dialog-top { position: fixed; top: 20px; left: 18px; right: 18px; z-index: 30; display: flex; align-items: center; justify-content: space-between; color: #fff; mix-blend-mode: difference; pointer-events: none; }
.dialog-top a, .dialog-close { pointer-events: auto; font-size: 10px !important; font-weight: 700 !important; letter-spacing: -.02em; }
.dialog-top .dialog-close { color: inherit; }
.dialog-top a span { margin-left: 4px; }
.detail-cinema { position: relative; }
.detail-cinema-stage { position: relative; }
.detail-hero { position: relative; height: 100svh; min-height: 540px; overflow: hidden; color: white; background: #292722; }
.detail-hero-image, .detail-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.detail-hero-image { object-fit: cover; }
.detail-hero-shade { background: linear-gradient(180deg, #0003, #0002 50%, #0006); }
.detail-hero-content { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 80px var(--gutter); text-align: center; }
.detail-hero-content > span { font-size: 9px; letter-spacing: .12em; }
.detail-hero-content h2 { max-width: 80%; margin: 16px 0; font-size: clamp(48px, 6vw, 110px); font-weight: 700; letter-spacing: -.065em; line-height: .94; text-transform: uppercase; overflow-wrap: anywhere; }
.detail-hero-meta { display: flex; justify-content: center; gap: 15px; font-size: 8px; letter-spacing: .08em; }
.detail-reveal { position:relative; background:#f1f0ee; }
.detail-reveal-background, .detail-finish-copy { display:none; }
.detail-reveal-stack { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:65px var(--gutter); }
.detail-reveal-layer { overflow:hidden; }
.detail-reveal-layer img { display:block; width:100%; height:42svh; object-fit:cover; }
.detail-cinema-dot { position:absolute; z-index:8; top:10px; left:50%; width:4px; height:4px; border-radius:50%; background:#fff; }
.detail-cinema.is-motion-ready { height:var(--detail-cinema-height, 650svh); }
.is-motion-ready .detail-cinema-stage { position:sticky; top:0; height:100svh; overflow:hidden; }
.is-motion-ready .detail-hero { position:absolute; inset:0; min-height:0; }
.is-motion-ready .detail-reveal { position:absolute; inset:0; background:transparent; pointer-events:none; }
.is-motion-ready .detail-reveal-background { display:block; position:absolute; inset:0; background:#f1f0ee; visibility:hidden; }
.is-motion-ready .detail-reveal-stack { position:absolute; z-index:1; inset:18svh 4vw 12svh; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); grid-template-rows:repeat(3,minmax(0,1fr)); gap:14px; padding:0; }
.is-motion-ready .detail-reveal-layer { position:relative; min-width:0; min-height:0; visibility:hidden; }
.is-motion-ready .detail-reveal-layer:nth-child(1) { grid-column:1 / 7; grid-row:1 / 3; }
.is-motion-ready .detail-reveal-layer:nth-child(2) { grid-column:7 / 10; grid-row:1; }
.is-motion-ready .detail-reveal-layer:nth-child(3) { grid-column:10 / 13; grid-row:1 / 3; }
.is-motion-ready .detail-reveal-layer:nth-child(4) { grid-column:7 / 10; grid-row:2 / 4; }
.is-motion-ready .detail-reveal-layer:nth-child(5) { grid-column:1 / 4; grid-row:3; }
.is-motion-ready .detail-reveal-layer:nth-child(6) { grid-column:4 / 7; grid-row:3; }
.is-motion-ready .detail-reveal-layer:nth-child(7) { grid-column:10 / 13; grid-row:3; }
.is-motion-ready .detail-reveal-stack[data-layer-count="1"] .detail-reveal-layer { grid-column:1 / -1; grid-row:1 / -1; }
.is-motion-ready .detail-reveal-layer img { width:100%; height:100%; object-fit:cover; }
.is-motion-ready .detail-finish-copy { position:absolute; z-index:3; top:7svh; left:4vw; right:4vw; display:flex; align-items:end; justify-content:space-between; gap:24px; color:#292927; visibility:hidden; }
.detail-finish-copy > div > span, .detail-finish-copy > span { font-size:9px; letter-spacing:.1em; }
.detail-finish-copy h3 { margin:10px 0 0; font-size:clamp(25px,3vw,48px); font-weight:500; letter-spacing:-.04em; line-height:1; }

.detail-facts, .detail-gallery { background:#f1f0ee; color:#292927; }
.detail-facts { padding:80px max(5vw, calc((100% - 1480px) / 2)) 55px; }
.detail-facts-heading { display:flex; justify-content:space-between; gap:25px; padding-bottom:24px; margin-bottom:50px; border-bottom:1px solid #d4d2ca; font-size:10px; letter-spacing:.08em; color:#87867e; }
.detail-project-summary { display:grid; grid-template-columns:.9fr 1.65fr .6fr; align-items:center; gap:clamp(30px,4vw,65px); min-height:360px; font-size:14px; line-height:1.5; }
.detail-summary-label { display:block; color:#86857f; font-size:10px; letter-spacing:.09em; }
.detail-summary-category { max-width:340px; margin:22px 0; font-size:clamp(24px,2.2vw,37px); line-height:1.15; letter-spacing:-.035em; font-weight:500; }
.detail-summary-type p { margin:0; color:#77766e; font-size:15px; }
.detail-summary-location { position:relative; }
.detail-summary-location[hidden] { display:none; }
.detail-map-trigger { display:flex; flex-direction:column; gap:20px; align-items:stretch; width:100%; padding:0; color:inherit; font:inherit; text-align:left; }
.detail-map-eyebrow { display:flex; align-items:center; justify-content:space-between; color:#86857f; font-size:10px; letter-spacing:.08em; }
.detail-map-eyebrow > span { color:#292927; font-size:24px; }
.detail-map-surface { display:block; padding:18px 12px; background-image:linear-gradient(#d5d3cb50 1px,transparent 1px),linear-gradient(90deg,#d5d3cb50 1px,transparent 1px); background-size:35px 35px; }
.detail-map-trigger > [data-dialog-map-location] { font-size:clamp(20px,1.85vw,30px); line-height:1.2; letter-spacing:-.025em; }
.detail-map-trigger:focus-visible { outline:1px solid #777671; outline-offset:8px; }
.detail-live-map { margin-top:35px; }
.detail-live-map[hidden] { display:none; }
.detail-live-map-heading, .detail-live-map-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; font-size:12px; color:#777671; }
.detail-live-map-heading button { font:inherit; color:inherit; padding:8px 0 8px 12px; }
.detail-live-map iframe { display:block; width:100%; height:clamp(420px,68svh,680px); border:0; background:#e5e4df; }
.detail-live-map-footer > span { color:#92918b; }
.detail-outline { position:relative; display:block; width:100%; height:auto; aspect-ratio:516 / 226.396665; }
.detail-outline img { width:100%; height:100%; object-fit:contain; }
.detail-outline i { position:absolute; width:8px; height:8px; transform:translate(-50%,-50%); border-radius:50%; background:#292927; box-shadow:0 0 0 6px #29292712,0 0 0 13px #29292706; transition:box-shadow .3s ease; }
.detail-map-trigger:hover .detail-outline i { box-shadow:0 0 0 8px #29292718,0 0 0 20px #29292708; }
.detail-outline i[hidden] { display:none; }
.detail-outline.is-global { width:210px; height:210px; aspect-ratio:1; margin:0 auto; border:1px solid #aaa9a3; border-radius:50%; }
.detail-outline.is-global img { display:none; }
.detail-outline.is-global::after { content:''; position:absolute; inset:0 25%; border:1px solid #aaa9a3; border-radius:50%; }
.detail-location-note { display:block; margin-top:14px; font-size:9px; letter-spacing:.04em; color:#93928c; }
.detail-summary-date { display:flex; flex-direction:column; gap:38px; padding:0; }
.detail-summary-date > div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.detail-summary-date > div[hidden] { display:none; }
.detail-summary-date strong { font-size:clamp(40px,4vw,70px); font-weight:400; line-height:1.1; letter-spacing:-.055em; white-space:nowrap; }
.detail-summary-date [data-dialog-summary-area] { font-size:clamp(30px,2.7vw,47px); }
.detail-summary-date [data-dialog-summary-discipline] { color:#77766e; font-size:13px; }
.detail-project-credentials { max-width:1320px; margin:65px auto 0; }
.detail-credentials-heading { padding:0 0 30px; border-bottom:1px solid #cbc8bf; }
.detail-credentials-heading h3 { margin:0; font-size:32px; font-weight:500; letter-spacing:-.035em; }
.detail-credentials-layout { display:grid; grid-template-columns:.9fr 1.15fr; gap:clamp(45px,7vw,110px); padding-top:35px; }
.detail-credentials-story { max-width:485px; }
.detail-credentials-overview { margin:0 0 32px; font-size:clamp(17px,1.35vw,21px); line-height:1.65; color:#4f4e48; }
.detail-credentials-scope { margin:28px 0; }
.detail-credentials-scope > span:first-child, .detail-credentials-services > span { display:block; margin-bottom:12px; color:#88857c; font-size:11px; letter-spacing:.07em; }
.detail-credentials-scope p { margin:0 0 6px; font-size:15px; line-height:1.6; text-transform:none; }
.detail-credentials-scope > span:last-child { display:block; margin-top:8px; color:#88857c; font-size:13px; }
.detail-credentials-services ul { margin:0; padding:0; list-style:none; }
.detail-credentials-services li { position:relative; padding-left:16px; color:#55534c; font-size:15px; line-height:1.65; }
.detail-credentials-services li::before { content:'—'; position:absolute; left:0; color:#9b978a; }
.detail-credentials-services li + li { margin-top:6px; }
.detail-facts-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:0; padding:0; align-content:start; }
.detail-facts-list > div { display:flex; flex-direction:column; gap:12px; padding:0 0 27px; margin-bottom:26px; border-bottom:1px solid #d5d2c8; }
.detail-facts-list > div[hidden] { display:none; }
.detail-facts-list dt { color:#88857c; font-size:11px; letter-spacing:.06em; }
.detail-facts-list dd { margin:0; font-size:clamp(17px,1.35vw,21px); line-height:1.45; }
.detail-facts-list [data-dialog-fact-area], .detail-facts-list [data-dialog-fact-year] { font-size:27px; letter-spacing:-.03em; }

.detail-gallery { padding:30px 0 clamp(65px,7vw,115px); }
.dialog-images { display:flex; flex-direction:column; gap:clamp(65px,7vw,115px); }
.dialog-images figure, .dialog-images figure:first-child, .dialog-images figure:nth-child(3n + 2), .dialog-images figure:nth-child(3n) { width:calc(100% - 6vw); max-width:1800px; margin:0 auto; }
.detail-gallery-image-button { position:relative; display:block; width:100%; padding:0; overflow:hidden; background:transparent; cursor:zoom-in; }
.dialog-images img, .dialog-images figure:first-child img { display:block; width:100%; height:auto; max-height:88svh; aspect-ratio:auto; object-fit:contain; }
.detail-gallery-image-button::after { content:'+'; position:absolute; bottom:22px; right:22px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#ffffff80; color:#292927; font-size:22px; font-weight:300; opacity:0; transition:opacity .25s ease; }
.detail-gallery-image-button:hover::after, .detail-gallery-image-button:focus-visible::after { opacity:1; }
.dialog-images figcaption { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.detail-gallery-note { display:block; padding:clamp(20px,4vw,65px) 10.5vw clamp(20px,4vw,65px) 50vw; background:#f1f0ee; }
.detail-gallery-note h3 { margin:0 0 28px; color:#292927; font-size:clamp(34px,3.55vw,64px); font-weight:500; line-height:.95; letter-spacing:-.05em; }
.detail-gallery-note p { max-width:650px; margin:0; color:#55544e; font-size:clamp(14px,1.12vw,19px); line-height:1.55; }
.detail-gallery-pair { display:grid; grid-template-columns:.7fr 1.15fr; align-items:center; gap:clamp(35px,6vw,105px); width:88%; max-width:1480px; margin:0 auto; }
.dialog-images .detail-gallery-pair figure { width:100%; max-width:none; margin:0; }
.dialog-images .detail-gallery-pair figure img { max-height:78svh; }
.detail-gallery-companion { display:flex; flex-direction:column; gap:36px; }
.detail-gallery-companion .detail-gallery-note { padding:0; }
.detail-gallery-companion .detail-gallery-note h3 { margin-bottom:20px; font-size:clamp(26px,2.4vw,38px); }
.detail-gallery-companion .detail-gallery-note p { max-width:500px; }
.dialog-bottom { overflow:hidden; background:#f1f0ee; color:#292927; padding:0 2vw 28px; }
.detail-footer-heading { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:75svh; gap:42px; text-align:center; }
.detail-footer-heading h3 { position:relative; z-index:1; margin:0; font-size:clamp(44px,5vw,80px); font-weight:600; line-height:.95; letter-spacing:-.055em; }
.detail-footer-word { position:absolute; top:50%; transform:translateY(-50%); font-size:23vw; line-height:1; letter-spacing:-.08em; font-weight:600; color:#e3e2df; pointer-events:none; white-space:nowrap; }
.detail-footer-word-left { right:calc(50% + 290px); }
.detail-footer-word-right { left:calc(50% + 290px); }
.project-dialog .detail-footer-cta { position:relative; z-index:1; display:flex; gap:25px; align-items:center; padding:12px 18px; border-radius:30px; background:#292927; color:#fff; font-size:12px; }
.detail-footer-cta span { display:grid; place-items:center; width:25px; height:25px; border-radius:50%; background:#ffffff25; font-size:18px; }
.detail-footer-information { display:flex; justify-content:space-between; gap:35px; padding-top:10px; }
.detail-footer-nav, .detail-footer-contact { display:flex; flex-direction:column; align-items:start; gap:12px; }
.detail-footer-nav > span { font-size:9px; color:#92918b; }
.detail-footer-nav .dialog-close, .detail-footer-nav a, .detail-footer-contact a { color:#777671; font-size:10px; }
.detail-footer-contact > span { font-size:13px; margin-bottom:8px; }
.detail-footer-contact p { font-size:9px; color:#92918b; }
.detail-footer-signature { display:flex; align-items:end; justify-content:space-between; gap:20px; padding-top:40px; font-size:8px; color:#92918b; }
.detail-footer-signature img { width:180px; filter:brightness(0); opacity:.75; }

.detail-viewer { position:fixed; inset:0; z-index:80; display:flex; flex-direction:column; align-items:center; justify-content:space-between; gap:18px; padding:24px; background:#111510fa; color:#eeeee2; }
.detail-viewer[hidden] { display:none; }
.detail-viewer-top, .detail-viewer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; font-size:10px; letter-spacing:.08em; }
.detail-viewer button { color:inherit; padding:12px; font-size:10px; }
.detail-viewer > img { width:100%; min-height:0; flex:1; object-fit:contain; }
.detail-viewer-bottom { justify-content:center; }
.detail-viewer [data-viewer-previous], .detail-viewer [data-viewer-next] { position:absolute; top:50%; z-index:2; display:grid; place-items:center; width:48px; height:48px; padding:0; transform:translateY(-50%); border:1px solid #ffffff80; border-radius:50%; background:#171a1699; backdrop-filter:blur(8px); font-size:26px; transition:background .25s; }
.detail-viewer [data-viewer-previous] { left:24px; }
.detail-viewer [data-viewer-next] { right:24px; }
.detail-viewer [data-viewer-previous]:hover, .detail-viewer [data-viewer-next]:hover { background:#171a16ee; }
.detail-viewer button:focus-visible { outline:2px solid #eeeee2; outline-offset:4px; }

.project-dialog.is-viewing-image { overflow:hidden; }

.portfolio-opening { position: relative; background: #242320; }
.portfolio-opening.is-scroll-ready { height: 4200svh; }
.portfolio-opening.is-scroll-ready .portfolio-film { position: sticky; top: 0; }
.opening-wordmark { display: none; position: absolute; z-index: 25; left: 50%; top: 50%; width: clamp(250px, 50vw, 760px); transform: translate(-50%, -50%); transform-origin: center; pointer-events: none; }
.is-scroll-ready .opening-wordmark { display: block; }
.opening-wordmark img { width: 100%; height: auto; filter: brightness(0) invert(1); }
.opening-wordmark > span { position: absolute; top: 100%; left: -10%; width: 120%; margin-top: 16px; text-align: center; color: #fff; font-size: clamp(9px, 1.2vw, 19px); font-weight: 400; letter-spacing: .01em; }

@media (hover: hover) and (pointer: fine) { .project-cursor { display: flex; } }
@media (min-width: 1800px) { .title-line { margin: 40px 0 32px; } .heading-bottom { padding-bottom: 60px; } }
@media (max-width: 1000px) {
    .project-grid { --gallery-columns: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portfolio-header { min-height: 98px; }
    .desktop-nav { padding-right: 0; gap: 25px; }
    .heading-bottom { padding-bottom: 36px; }
    .title-line { margin-top: 35px; }
    .studio-feature-visual { min-height: 520px; }
}
@media (max-width: 640px) {
    .studio-feature { padding-top: 55px; }
    .studio-feature-top { font-size: 7px; }
    .studio-feature-grid { grid-template-columns: 1fr; }
    .studio-feature-visual { min-height: 0; aspect-ratio: 1 / 1.05; }
    .studio-feature-visual figcaption { left: 18px; right: 18px; bottom: 18px; font-size: 7px; }
    .studio-feature-copy { padding: 38px 25px 43px; }
    .studio-feature-copy h2 { font-size: clamp(39px, 10vw, 56px); margin: 28px 0 22px; }
    .studio-feature-copy p { font-size: 12px; }
    .studio-feature-services { margin-top: 25px; }
    .studio-feature-copy > a { margin-top: 32px; }
    .studio-signature { padding: 30px 0; align-items: center; }
    .studio-signature-word { font-size: clamp(34px, 9vw, 54px); }
    .studio-signature-note { font-size: 6px; }
    .portfolio-header { min-height: 87px; }
    .brand img { width: 147px; }
    .brand > span { font-size: 6px; }
    .desktop-nav { display: none; }
    .menu-toggle { display: block; }
    .header-tools { gap: 15px; }
    .projects-heading { padding: 48px 20px 45px; }
    .portfolio-categories button { font-size: 26px; }
    .category-line { gap: 8px; }
    .category-line button, .category-line > span { font-size: 24px; }
    .heading-eyebrow { font-size: 7px; letter-spacing: .04em; }
    .eyebrow-right { display: none; }
    .title-line { margin: 33px 0 21px; gap: 5px; }
    .title-line h1 { font-size: 18vw; }
    .title-line sup { font-size: 10px; padding-top: 3px; }
    .heading-bottom { grid-template-columns: 1fr auto; row-gap: 20px; padding: 0 0 30px; }
    .heading-index { display: none; }
    .heading-bottom p { padding-left: 0; font-size: 22px; }
    .discover-link { font-size: 8px; gap: 20px; }
    .projects-section { padding: 0 12px; }
    .gallery-toolbar { min-height: 70px; gap: 8px; }
    .gallery-selection { font-size: 8px; }
    .gallery-selection > span:last-child { display: none; }
    .gallery-options { gap: 15px; }
    .immersive-toggle { font-size: 7px !important; gap: 6px; }
    .project-filters { gap: 17px; }
    .project-filters button { font-size: 10px; padding: 18px 0; }
    .project-filters sup { font-size: 7px; padding-left: 2px; }
    .project-filters button::after { width: calc(100% - 10px); }
    .view-label { display: none; }
    .view-switch { gap: 5px; }
    .view-switch svg { width: 12px; height: 12px; }
    .view-switch button { padding-left: 5px; }
    .project-grid, .project-grid[data-layout="two"] { grid-template-columns: minmax(0, 1fr); --gallery-columns: 1; --gallery-gap: 12; gap: 12px; }
    .project-image-link { aspect-ratio: .8; }
    .project-image-label { bottom: 20px; left: 20px; font-size: 7px; }
    .project-number { top: 20px; left: 20px; }
    .project-image-arrow { top: 14px; right: 18px; }
    .project-caption { bottom: 28px; opacity: 1; transform: none; }
    .project-caption h2 { font-size: 29px; }
    .project-caption p { font-size: 9px; margin-top: 9px; }
    .project-image-link::before, .project-image-link::after { opacity: 1; }
    .video-preview-control { opacity: 1; }
    .gallery-end { font-size: 7px; padding: 28px 0; }
    .gallery-end > span:nth-child(2) { display: none; }
    .footer-invitation { min-height: 430px; }
    .footer-background-word { font-size: 29vw; }
    .footer-background-left { right: calc(50% + 90px); }
    .footer-background-right { left: calc(50% + 90px); }
    .footer-kicker { font-size: 7px; margin-bottom: 25px; }
    .footer-invitation h2 { font-size: clamp(36px, 10vw, 54px); }
    .footer-cta { margin-top: 30px; font-size: 9px; }
    .footer-contact { padding-bottom: 44px; }
    .footer-contact p { font-size: 11px; }
    .footer-contact-links { gap: 18px; font-size: 10px; }
    .footer-bottom { flex-wrap: wrap; font-size: 7px; gap: 23px 15px; }
    .footer-bottom > span { width: 100%; }
    .footer-bottom button { font-size: 7px; }
    .footer-bottom > a { margin-left: auto; }
    .dialog-top { left: 10px; right: 10px; }
    .dialog-top a, .dialog-top .dialog-close { font-size: 8px !important; }
    .detail-hero { min-height: 480px; }
    .detail-hero-content h2 { font-size: clamp(50px, 13vw, 90px); }
    .is-motion-ready .detail-reveal-stack { inset:18svh 5vw 12svh; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:repeat(4,minmax(0,1fr)); gap:8px; }
    .is-motion-ready .detail-reveal-layer:nth-child(1) { grid-column:1 / -1; grid-row:1; }
    .is-motion-ready .detail-reveal-layer:nth-child(2) { grid-column:1; grid-row:2; }
    .is-motion-ready .detail-reveal-layer:nth-child(3) { grid-column:2; grid-row:2; }
    .is-motion-ready .detail-reveal-layer:nth-child(4) { grid-column:1; grid-row:3; }
    .is-motion-ready .detail-reveal-layer:nth-child(5) { grid-column:2; grid-row:3; }
    .is-motion-ready .detail-reveal-layer:nth-child(6) { grid-column:1; grid-row:4; }
    .is-motion-ready .detail-reveal-layer:nth-child(7) { grid-column:2; grid-row:4; }
    .is-motion-ready .detail-finish-copy { left:5vw; right:5vw; top:7svh; }
    .detail-finish-copy > span { font-size:8px; }
    .detail-facts { padding:55px var(--gutter) 35px; }
    .detail-facts-heading { margin-bottom:35px; font-size:8px; }
    .detail-project-summary { grid-template-columns:1fr 1fr; align-items:start; gap:40px 22px; min-height:0; }
    .detail-summary-type { grid-column:1; grid-row:1; }
    .detail-summary-category { font-size:23px; }
    .detail-summary-location { grid-column:1 / -1; grid-row:2; }
    .detail-outline { width:100%; height:auto; }
    .detail-summary-date { grid-column:2; grid-row:1; gap:24px; padding:0; }
    .detail-summary-date strong { font-size:44px; }
    .detail-summary-date [data-dialog-summary-area] { font-size:31px; }
    .detail-live-map iframe { height:440px; }
    .detail-project-credentials { margin-top:45px; }
    .detail-credentials-heading h3 { font-size:28px; }
    .detail-credentials-layout { grid-template-columns:1fr; gap:35px; }
    .detail-credentials-overview { font-size:17px; }
    .detail-facts-list { gap:0 22px; }
    .detail-facts-list dd { font-size:17px; }
    .dialog-images { gap:48px; }
    .dialog-images figure, .dialog-images figure:first-child, .dialog-images figure:nth-child(3n + 2), .dialog-images figure:nth-child(3n) { width:calc(100% - 8vw); }
    .detail-gallery-note { padding:15px 8vw 15px 18vw; }
    .detail-gallery-pair { grid-template-columns:1fr; gap:32px; width:88%; }
    .dialog-images .detail-gallery-pair > figure img { max-height:60svh; }
    .detail-gallery-companion { gap:25px; }
    .detail-gallery-note h3 { font-size:34px; }
    .dialog-images img, .dialog-images figure:first-child img { max-height:76svh; }
    .detail-footer-heading { min-height:60svh; }
    .detail-footer-word { font-size:45vw; }
    .detail-footer-word-left { right:calc(50% + 130px); }
    .detail-footer-word-right { left:calc(50% + 130px); }
    .dialog-bottom { padding:0 var(--gutter) 25px; }
    .detail-footer-signature { flex-wrap:wrap; }
    .detail-footer-signature img { order:-1; width:100%; max-width:180px; margin-bottom:18px; }
    .detail-viewer { padding:12px; }
    .detail-viewer [data-viewer-previous] { left:12px; }
    .detail-viewer [data-viewer-next] { right:12px; }
    .detail-viewer-bottom > span { display:none; }

}
@media (prefers-reduced-motion: reduce) {
    .portfolio-page *, .portfolio-page *::before, .portfolio-page *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
    .opening-wordmark, .project-cursor { display: none !important; }
}

.portfolio-header { position: absolute; top: 0; left: 0; right: 0; color: #fff; border-bottom-color: transparent; }
.portfolio-header .brand img { filter: brightness(0) invert(1); }
.portfolio-header .desktop-nav a::after, .portfolio-header .menu-toggle span { background: #fff; }
.portfolio-header .mobile-menu { color: var(--ink); }
.portfolio-film { height: 100svh; }

/* Alternate project collection. */
.portfolio-page--alternate .portfolio-header { position: relative; color: var(--ink); border-bottom: 1px solid var(--line); min-height: 100px; }
.portfolio-page--alternate .brand img { filter: brightness(0); }
.portfolio-page--alternate .desktop-nav a::after,
.portfolio-page--alternate .menu-toggle span { background: var(--ink); }
.alternate-intro { padding: 48px var(--gutter) 0; }
.alternate-intro-top, .alternate-intro-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 9px; letter-spacing: .12em; }
.alternate-intro-top { color: var(--muted); }
.alternate-intro-title { display: flex; justify-content: space-between; align-items: end; gap: 36px; margin: 40px 0 44px; }
.alternate-intro-title h1 { font-size: clamp(72px, 12vw, 200px); font-weight: 450; letter-spacing: -.075em; line-height: 1; }
.alternate-intro-title h1 em { font-family: Georgia, serif; font-weight: 400; color: var(--accent); }
.alternate-intro-title p { padding-bottom: 10px; font-size: clamp(15px, 1.4vw, 22px); line-height: 1.5; letter-spacing: -.025em; }
.alternate-feature { position: relative; display: block; height: clamp(320px, 43vw, 680px); overflow: hidden; }
.alternate-feature > img { width: 100%; height: 100%; object-fit: cover; object-position: center 43%; transition: transform 1.2s; }
.alternate-feature:hover > img { transform: scale(1.025); }
.alternate-feature-note { position: absolute; left: 0; bottom: 0; display: flex; align-items: center; gap: 60px; padding: 25px 32px; background: var(--paper); font-size: 9px; line-height: 2; letter-spacing: .08em; }
.alternate-feature-note strong { font-size: 20px; font-weight: 500; letter-spacing: -.035em; }
.alternate-feature-note > span:last-child { font-size: 30px; }
.alternate-intro-bottom { padding: 26px 0; border-bottom: 1px solid var(--line); }
.portfolio-page--alternate .projects-heading { padding: 70px var(--gutter) 26px; }
.portfolio-page--alternate .portfolio-categories { display: flex; align-items: center; gap: 32px; text-align: left; }
.portfolio-page--alternate .portfolio-categories button { font-size: 13px; letter-spacing: .015em; font-weight: 500; }
.portfolio-page--alternate .category-line { margin: 0; gap: 24px; }
.portfolio-page--alternate .category-line > span { font-size: 14px; }
.portfolio-page--alternate .projects-section { padding: 0 var(--gutter) 70px; }
.portfolio-page--alternate .gallery-toolbar { min-height: 66px; }
.portfolio-page--alternate .project-grid { --gallery-gap: 38; gap: 38px; }
.portfolio-page--alternate .project-image-link { background: var(--paper); }
.portfolio-page--alternate .project-image-wrap,
.portfolio-page--alternate .project-video { height: calc(100% - 76px); }
.portfolio-page--alternate .project-image-link::before,
.portfolio-page--alternate .project-image-link::after { display: none; }
.portfolio-page--alternate .project-caption { left: 0; right: 0; bottom: 0; height: 76px; display: flex; align-items: start; justify-content: space-between; gap: 18px; padding-top: 20px; opacity: 1; transform: none; color: var(--ink); text-align: left; }
.portfolio-page--alternate .project-caption h2 { font-size: clamp(18px, 1.6vw, 28px); font-weight: 500; letter-spacing: -.035em; text-transform: none; }
.portfolio-page--alternate .project-caption p { max-width: 45%; margin-top: 4px; font-size: 9px; text-align: right; color: var(--muted); }
@media (max-width: 640px) {
    .portfolio-page--alternate .portfolio-header { min-height: 82px; }
    .alternate-intro { padding-top: 30px; }
    .alternate-intro-top > span:last-child { display: none; }
    .alternate-intro-title { display: block; margin: 34px 0 28px; }
    .alternate-intro-title h1 { font-size: clamp(58px, 15vw, 90px); }
    .alternate-intro-title p { margin-top: 24px; }
    .alternate-feature { height: 370px; }
    .alternate-feature-note { padding: 15px 20px; gap: 24px; }
    .alternate-intro-bottom { font-size: 7px; letter-spacing: .02em; }
    .portfolio-page--alternate .projects-heading { padding-top: 45px; }
    .portfolio-page--alternate .portfolio-categories { gap: 20px; }
    .portfolio-page--alternate .category-line { gap: 12px; }
    .portfolio-page--alternate .portfolio-categories button { font-size: 11px; }
    .portfolio-page--alternate .project-grid { --gallery-gap: 24; gap: 24px; }
    .portfolio-page--alternate .project-caption p { font-size: 8px; }
}

/* Original project detail: layered photographic opening and credentials reveal. */
.project-dialog .detail-cinema.is-motion-ready .detail-reveal-stack { inset:0; display:block; padding:0; gap:0; transform-origin:center; }
.project-dialog .detail-cinema.is-motion-ready .detail-reveal-layer { position:absolute; left:50%; top:50%; width:100%; height:100%; min-height:0; overflow:hidden; border:0; transform-origin:center; will-change:transform; }
.project-dialog .detail-cinema.is-motion-ready .detail-reveal-layer img { display:block; width:100%; height:100%; object-fit:cover; }
.project-dialog .detail-cinema.is-motion-ready .detail-reveal-background { z-index:5; background:#f1f0ee; will-change:transform; }
.project-dialog .detail-cinema.is-motion-ready .detail-finish-copy { z-index:8; inset:0; padding:8vw; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:25px; }
.project-dialog .detail-finish-copy > div > span { font-size:9px; letter-spacing:.15em; color:#8a8d80; }
.project-dialog .detail-finish-copy h3 { font-size:clamp(40px,7vw,110px); max-width:1000px; line-height:1.05; letter-spacing:-.055em; font-weight:400; margin:22px 0 0; text-wrap:balance; }
.project-dialog .detail-finish-copy > span { font-size:10px; color:#7d8273; letter-spacing:.09em; }

/* Project information and location */
.project-dialog .detail-project-summary { grid-template-columns:1fr 1fr; align-items:start; gap:clamp(42px,5vw,75px); min-height:0; }
.project-dialog .detail-summary-date { flex-direction:row; justify-content:flex-end; gap:clamp(35px,5vw,80px); }
.project-dialog .detail-summary-location { grid-column:1 / -1; display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:clamp(30px,5vw,75px); align-items:center; padding-top:clamp(35px,4vw,60px); border-top:1px solid #d4d2ca; }
.project-dialog .detail-summary-location[hidden] { display:none; }
.project-dialog .detail-location-copy h3 { max-width:450px; margin:22px 0 0; font-size:clamp(28px,3vw,46px); line-height:1.13; letter-spacing:-.04em; font-weight:400; }
.project-dialog .detail-location-note { margin-top:18px; font-size:12px; letter-spacing:0; }
.project-dialog .detail-location-copy a { display:inline-flex; align-items:center; justify-content:space-between; gap:35px; margin-top:32px; padding:0 0 12px; min-width:170px; border-bottom:1px solid #a9a79e; font-size:10px; letter-spacing:.04em; color:inherit; text-decoration:none; }
.project-dialog .detail-location-copy a span { font-size:20px; transition:transform .3s ease; }
.project-dialog .detail-location-copy a:hover span { transform:translate(3px,-3px); }
.project-dialog .detail-location-copy a:focus-visible { outline:1px solid #777671; outline-offset:6px; }
.project-dialog .detail-live-map { margin:0; overflow:hidden; background:#e5e4df; }
.project-dialog .detail-live-map iframe { width:100%; height:clamp(280px,29vw,420px); }

/* Project dossier, horizontal gallery and editorial views. */
.project-dialog .detail-facts { display:block; padding:0; overflow:visible; background:#eeede7; color:#30372e; }
.project-dialog .detail-project-credentials { position:relative; width:100%; max-width:none; margin:0; padding:90px 5vw 50px; }
.credential-header { display:flex; justify-content:space-between; align-items:baseline; gap:24px; position:relative; z-index:5; margin-bottom:40px; }
.credential-header h2 { margin:0; font-size:10px; font-weight:400; line-height:1.5; letter-spacing:.15em; text-transform:uppercase; }
.credential-header > span { color:#777c70; font-size:8px; line-height:1.7; letter-spacing:.13em; text-align:right; }
.credential-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:7vw; }
.credential-visual { position:relative; min-height:650px; }
.credential-scene { position:absolute; inset:0; }
.credential-scene:not(:first-child) { visibility:hidden; }
.credential-image-layer, .credential-detail-layer { position:absolute; overflow:hidden; background:#d9dacf; box-shadow:0 24px 55px -25px #30372e45; }
.credential-image-layer { left:12%; top:3%; width:85%; height:82%; }
.credential-detail-layer { left:0; top:61%; width:43%; height:30%; }
.credential-image-layer > img, .credential-detail-layer > img { display:block; width:100%; height:100%; object-fit:cover; }
.credential-scene-number { position:absolute; left:3%; top:4%; font-size:clamp(100px,24vw,460px); line-height:1; font-weight:400; letter-spacing:-.1em; color:#77836812; pointer-events:none; }
.credential-panels { position:relative; min-width:0; align-self:center; }
.credential-panel { min-width:0; padding:32px 0; border-bottom:1px solid #d4d6cb; }
.credential-panel:first-child { padding-top:0; }
.credential-panel:last-child { border-bottom:0; }
.credential-panel-heading { display:flex; gap:18px; align-items:baseline; margin-bottom:26px; color:#626d59; }
.credential-panel-heading > span { font-size:clamp(13px,1vw,16px); font-variant-numeric:tabular-nums; }
.credential-panel-heading h3 { margin:0; font-size:clamp(15px,1.15vw,18px); font-weight:400; letter-spacing:.05em; }
.credential-content { width:100%; }
.credential-content h4 { margin:0 0 26px; font-size:clamp(36px,4.6vw,82px); line-height:1.03; font-weight:400; letter-spacing:-.055em; overflow-wrap:break-word; text-wrap:balance; }
.credential-panel:first-child .credential-content h4 { max-width:6em; font-size:clamp(48px,5.4vw,94px); }
.credential-content p, .credential-content li { margin:0; font-size:clamp(14px,1.1vw,18px); line-height:1.7; color:#5d6856; }
.credential-content > span { display:block; margin-top:18px; color:#5d6856; font-size:clamp(14px,1.1vw,18px); line-height:1.6; }
.credential-content .credential-location-description { max-width:38em; font-size:clamp(12px,1vw,16px); line-height:1.8; color:#606955; }
.credential-content ul { display:grid; gap:0; padding:0; margin:0; list-style:none; }
.credential-content li { padding:15px 0; border-bottom:1px solid #cbd0c0; color:#40493b; font-size:clamp(22px,2.3vw,38px); line-height:1.3; letter-spacing:-.035em; }
.credential-content li:first-child { padding-top:0; }
.credential-content li:last-child { border-bottom:0; }
.credential-measures { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.credential-measures > div { min-width:0; }
.credential-measures > div > span { display:block; margin-bottom:16px; font-size:clamp(12px,.9vw,15px); color:#626d59; letter-spacing:.08em; }
.credential-measures h4 { margin:0; font-size:clamp(36px,4.2vw,72px); }
.credential-content .credential-year { color:#30372e; font-size:clamp(36px,4.2vw,72px); line-height:1.03; letter-spacing:-.055em; }
.credential-navigation { display:none; }
.credential-navigation button { position:relative; display:flex; align-items:baseline; gap:12px; padding:14px 0 0; border:0; background:none; color:#929783; font:inherit; font-size:11px; text-align:left; cursor:pointer; }
.credential-navigation button::before { position:absolute; content:''; top:0; left:0; width:100%; height:1px; background:#58664b; transform:scaleX(var(--credential-progress,0)); transform-origin:left; }
.credential-step-number { font-size:10px; font-variant-numeric:tabular-nums; }
.credential-step-arrow { margin-left:auto; opacity:0; }
.credential-navigation button[aria-current="step"], .credential-navigation button:hover { color:#303c29; }
.credential-navigation button[aria-current="step"] .credential-step-arrow { opacity:1; }
.credential-navigation button:focus-visible { outline:1px solid #58664b; outline-offset:7px; }
.project-dialog .detail-facts.is-credential-motion { height:660svh; }
.is-credential-motion .detail-project-credentials { position:sticky; top:0; height:100svh; padding:0; overflow:hidden; isolation:isolate; }
.is-credential-motion .credential-header { position:absolute; top:74px; left:5vw; right:5vw; margin:0; }
.is-credential-motion .credential-layout, .is-credential-motion .credential-visual, .is-credential-motion .credential-panels { position:absolute; inset:0; display:block; min-height:0; }
.is-credential-motion .credential-visual { z-index:1; }
.is-credential-motion .credential-panels { height:100%; align-self:stretch; z-index:2; pointer-events:none; }
.is-credential-motion .credential-panel { position:absolute; left:6%; top:34%; width:32%; padding:0; border:0; }
.is-credential-motion .credential-panel:not(:first-child) { visibility:hidden; }
.is-credential-motion .credential-panel:nth-child(2), .is-credential-motion .credential-panel:nth-child(5) { left:64%; top:31%; width:30%; }
.is-credential-motion .credential-panel:nth-child(3) { top:30%; width:30%; }
.is-credential-motion .credential-panel:nth-child(4) { top:38%; width:38%; }
.is-credential-motion .credential-image-layer { left:52%; top:17%; width:43%; height:66%; }
.is-credential-motion .credential-detail-layer { left:38%; top:57%; width:20%; height:27%; z-index:1; }
.is-credential-motion .credential-scene:nth-child(2) .credential-image-layer { left:5%; top:17%; width:41%; height:64%; }
.is-credential-motion .credential-scene:nth-child(2) .credential-detail-layer { left:38%; top:56%; width:20%; height:29%; }
.is-credential-motion .credential-scene:nth-child(3) .credential-image-layer { left:45%; top:29%; width:50%; height:50%; }
.is-credential-motion .credential-scene:nth-child(3) .credential-detail-layer { left:65%; top:15%; width:19%; height:25%; }
.is-credential-motion .credential-scene:nth-child(4) .credential-image-layer { left:56%; top:16%; width:39%; height:67%; }
.is-credential-motion .credential-scene:nth-child(4) .credential-detail-layer { left:45%; top:57%; width:18%; height:28%; }
.is-credential-motion .credential-scene:nth-child(5) .credential-image-layer { left:5%; top:22%; width:48%; height:54%; }
.is-credential-motion .credential-scene:nth-child(5) .credential-detail-layer { left:38%; top:55%; width:20%; height:29%; }
.is-credential-motion .credential-scene:nth-child(2) .credential-scene-number { left:auto; right:5%; top:16%; }
.is-credential-motion .credential-navigation { position:absolute; z-index:5; bottom:30px; left:6%; right:6%; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(16px,4vw,80px); }
@media(max-width:700px) {
    .project-dialog .detail-project-credentials { padding:72px 22px 24px; }
    .credential-header { margin-bottom:22px; }
    .credential-header > span { display:none; }
    .credential-layout { grid-template-columns:minmax(0,1fr); gap:30px; }
    .credential-visual { min-height:360px; }
    .credential-panel-heading { gap:12px; margin-bottom:18px; }
    .credential-content h4 { font-size:clamp(30px,8vw,44px); margin-bottom:16px; }
    .credential-panel:first-child .credential-content h4 { font-size:clamp(32px,9vw,44px); }
    .credential-content p, .credential-content > span { font-size:14px; }
    .credential-content li { font-size:23px; padding:10px 0; }
    .credential-measures { gap:20px; }
    .credential-measures h4, .credential-content .credential-year { font-size:clamp(28px,8vw,40px); }
    .credential-measures > div > span { font-size:12px; }
    .is-credential-motion .credential-header { top:72px; left:6%; right:6%; }
    .is-credential-motion .credential-image-layer, .is-credential-motion .credential-scene:nth-child(n) .credential-image-layer { left:25%; top:18%; width:69%; height:40%; }
    .is-credential-motion .credential-detail-layer, .is-credential-motion .credential-scene:nth-child(n) .credential-detail-layer { left:4%; top:39%; width:35%; height:20%; }
    .is-credential-motion .credential-scene:nth-child(even) .credential-image-layer { left:6%; width:70%; }
    .is-credential-motion .credential-scene:nth-child(even) .credential-detail-layer { left:60%; }
    .is-credential-motion .credential-scene:nth-child(3) .credential-image-layer { left:6%; top:23%; width:88%; height:32%; }
    .is-credential-motion .credential-scene:nth-child(3) .credential-detail-layer { left:62%; top:14%; width:30%; height:19%; }
    .is-credential-motion .credential-panel:nth-child(n) { left:6%; top:65%; width:88%; }
    .is-credential-motion .credential-location-panel:nth-child(3) { top:59%; }
    .credential-location-panel .credential-content h4 { font-size:clamp(26px,7vw,34px); margin-bottom:14px; }
    .credential-content .credential-location-description { font-size:11px; line-height:1.65; }
    .is-credential-motion .credential-scene-number, .is-credential-motion .credential-scene:nth-child(even) .credential-scene-number { left:1%; right:auto; top:59%; font-size:50vw; }
    .is-credential-motion .credential-navigation { gap:12px; bottom:26px; }
    .credential-navigation button { font-size:9px; gap:0; }
    .credential-step-number, .credential-step-arrow { display:none; }
    .project-dialog .detail-facts.is-credential-motion { height:600svh; }
}
@media(max-height:600px) and (min-width:701px) {
    .is-credential-motion .credential-header { top:55px; }
    .credential-content h4 { font-size:36px; }
    .credential-content li { font-size:22px; }
    .credential-panel-heading { margin-bottom:18px; }
    .credential-measures h4, .credential-content .credential-year { font-size:36px; }
    .is-credential-motion .credential-navigation { bottom:22px; }
}
/* Project description stays in view while its text is revealed. */
.detail-about { position:relative; background:#f1f0ee; color:#292927; }
.detail-about[hidden] { display:none; }
.detail-about-stage { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:36px; min-height:100svh; padding:90px 8vw; }
.detail-about-stage > h2 { margin:0; color:#68675f; font-size:clamp(18px,1.5vw,26px); line-height:1.4; letter-spacing:.1em; font-weight:500; text-transform:uppercase; }
.detail-about-text { width:100%; max-width:1480px; margin:0; text-align:center; text-transform:uppercase; font-size:clamp(30px,4.1vw,70px); line-height:1.08; letter-spacing:-.045em; font-weight:600; text-wrap:balance; }
.detail-about-word { display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.12em; margin-bottom:-.12em; }
.detail-about-word > span { display:inline-block; }
.detail-about.is-about-motion { height:180svh; }
.detail-about.is-about-motion .detail-about-stage { position:sticky; top:0; height:100svh; overflow:hidden; }
@media(max-width:700px) {
    .detail-about-stage { padding:80px 7vw; gap:28px; }
    .detail-about-text { font-size:clamp(25px,6.4vw,38px); line-height:1.14; }
}
/* Full-screen project photography with a scroll-driven horizontal exhibition. */
.project-dialog .detail-gallery { position:relative; padding:0; background:#f1f0ee; color:#292927; }
.detail-gallery-layout { position:relative; display:grid; grid-template-rows:auto minmax(0,1fr) auto; gap:26px; height:100svh; padding:70px 0 26px; overflow:hidden; }
.detail-gallery.is-horizontal-motion { height:var(--gallery-scroll-height,400svh); }
.detail-gallery.is-horizontal-motion .detail-gallery-layout { position:sticky; top:0; }
.detail-gallery-intro { display:none; position:absolute; inset:0; z-index:5; overflow:hidden; color:#f8f6ee; pointer-events:none; }
.is-horizontal-motion .detail-gallery-intro { display:block; }
.detail-gallery-intro-backdrop { position:absolute; inset:0; background:#252b24; }
.detail-gallery-intro-wall { position:absolute; inset:10% 3vw 8%; }
.detail-gallery-intro-panel { position:absolute; top:0; bottom:0; left:calc(var(--panel-index) * 20%); width:20.05%; overflow:hidden; will-change:transform; }
.detail-gallery-intro-panel img { position:absolute; top:0; left:calc(var(--panel-index) * -100%); width:500%; max-width:none; height:100%; object-fit:cover; }
.detail-gallery-intro-title { position:absolute; left:7vw; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; font-size:clamp(58px,9vw,160px); font-weight:400; line-height:.88; letter-spacing:-.065em; text-shadow:0 2px 35px #0003; }
.detail-gallery-intro-title > span { display:block; }
.detail-gallery-intro-footer { position:absolute; left:3vw; right:3vw; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:9px; line-height:1.4; letter-spacing:.12em; }
.detail-gallery-intro-footer { bottom:28px; }
.detail-gallery-intro-footer > span:first-child { font-size:13px; letter-spacing:-.01em; }
@media(max-width:700px) {
 .detail-gallery-intro-wall { inset:12% 5vw 12%; }
 .detail-gallery-intro-footer { left:5vw; right:5vw; font-size:7px; gap:15px; }
 .detail-gallery-intro-footer > span:first-child { max-width:160px; font-size:11px; }
}
.detail-gallery-story { display:flex; justify-content:space-between; align-items:end; gap:35px; padding:0 3vw; }
.detail-gallery-eyebrow { display:block; margin-bottom:14px; font-size:9px; letter-spacing:.14em; color:#797c72; }
.detail-gallery-story .detail-gallery-project { margin:0; max-width:760px; font-size:clamp(30px,3.3vw,54px); line-height:1.05; letter-spacing:-.045em; font-weight:400; text-wrap:balance; }
.detail-gallery-viewport { min-width:0; min-height:0; overflow:hidden; }
.detail-gallery-frame { position:relative; display:flex; gap:clamp(24px,4vw,76px); width:max-content; height:100%; padding:0 3vw; will-change:transform; }
.detail-gallery-frame figure { position:relative; display:grid; grid-template-rows:minmax(0,1fr); flex:0 0 var(--gallery-width,44vw); width:var(--gallery-width,44vw); min-width:0; height:var(--gallery-height,100%); align-self:center; margin:0; }
.detail-gallery-frame figure:nth-child(6n+1) { --gallery-width:76vw; --gallery-height:100%; }
.detail-gallery-frame figure:nth-child(6n+2) { --gallery-width:27vw; --gallery-height:84%; align-self:center; }
.detail-gallery-frame figure:nth-child(6n+3) { --gallery-width:62vw; --gallery-height:92%; align-self:end; }
.detail-gallery-frame figure:nth-child(6n+4) { --gallery-width:36vw; --gallery-height:66%; align-self:center; }
.detail-gallery-frame figure:nth-child(6n+5) { --gallery-width:46vw; --gallery-height:100%; align-self:start; }
.detail-gallery-frame figure:nth-child(6n+6) { --gallery-width:30vw; --gallery-height:76%; align-self:start; }
.detail-gallery-frame figure:only-child { --gallery-width:94vw; --gallery-height:100%; }
.detail-gallery-frame .detail-gallery-image-button { min-height:0; height:100%; overflow:hidden; background:#d8d7cd; }
.detail-gallery-frame img { display:block; width:100%; height:100%; object-fit:cover; }
.detail-gallery-frame .detail-gallery-image-button::after { top:16px; right:16px; bottom:auto; width:30px; height:30px; background:#f1f0eedd; }
.detail-gallery-controls { position:relative; display:flex; align-items:center; justify-content:space-between; gap:30px; min-height:44px; padding:0 3vw; }
.detail-gallery-summary { display:flex; align-items:center; flex:1; min-width:0; min-height:5.1em; max-width:680px; margin:0; font-size:clamp(14px,1.05vw,18px); line-height:1.7; color:#454c41; }
.detail-gallery-summary > span { display:block; width:100%; }
.detail-gallery-progress { width:min(24vw,260px); height:2px; background:#30382e20; }
.detail-gallery-progress > span { display:block; width:100%; height:100%; background:#536251; transform:scaleX(var(--gallery-progress,0)); transform-origin:left center; }
.detail-gallery-arrows { display:flex; gap:10px; }
.detail-gallery-controls button { position:static; display:grid; place-items:center; width:44px; height:44px; padding:0; border:1px solid #bcbdb3; border-radius:50%; font-size:23px; color:#30382e; background:transparent; cursor:pointer; transition:background .25s,color .25s,opacity .25s; }
.detail-gallery-controls button:hover:enabled { background:#30382e; color:#f1f0ee; }
.detail-gallery-controls button:disabled { opacity:.25; cursor:default; }
.detail-gallery-controls button:focus-visible,.detail-gallery-image-button:focus-visible { outline:2px solid #62685a; outline-offset:4px; }
@media(max-width:700px) {
 .detail-gallery-layout { gap:20px; padding:60px 0 20px; }
 .detail-gallery-story { display:block; padding:0 5vw; }
 .detail-gallery-eyebrow { font-size:8px; margin-bottom:10px; }
 .detail-gallery-story .detail-gallery-project { font-size:30px; }
 .detail-gallery-frame { gap:12px; padding:0 5vw; }
 .detail-gallery-frame figure:nth-child(n) { --gallery-width:86vw; }
 .detail-gallery-frame figure:nth-child(3n+2) { --gallery-width:66vw; }
 .detail-gallery-frame figure:only-child { --gallery-width:90vw; }
 .detail-gallery-controls { flex-wrap:wrap; gap:16px; padding:0 5vw; }
 .detail-gallery-summary { flex-basis:100%; min-height:8.25em; max-width:none; font-size:13px; line-height:1.65; }
 .detail-gallery-progress { flex:1; max-width:140px; }
 .detail-gallery-controls button { width:38px; height:38px; font-size:20px; }
}
@media(prefers-reduced-motion:reduce) {
 .detail-gallery-viewport { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
 .detail-gallery-viewport::-webkit-scrollbar { display:none; }
 .detail-gallery-frame figure { scroll-snap-align:start; }
 .detail-gallery-controls button { transition:none; }
}
.project-dialog .detail-project-location { display:flex; align-items:center; min-height:100svh; box-sizing:border-box; padding:clamp(70px,8vh,110px) 3vw; background:#f1f0ee; }
.project-dialog .detail-project-summary { display:block; min-height:0; width:100%; max-width:none; margin:0 auto; }
.project-dialog .detail-summary-type, .project-dialog .detail-summary-date { display:none; }
.project-dialog .detail-summary-location { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); }
@media (max-width:700px) {
    .project-dialog .detail-summary-location { grid-template-columns:1fr; gap:28px; padding-top:32px; }
    .project-dialog .detail-live-map iframe { height:300px; }
}
.project-dialog .detail-cinema-skip { position:absolute; z-index:12; right:25px; bottom:25px; display:flex; align-items:center; gap:28px; padding:12px 17px; border:1px solid #d0d5c7; background:#f1f0eeeb; color:#343a2e; border-radius:30px; font-size:9px; letter-spacing:.06em; min-height:44px; transition:background .25s; }
.project-dialog .detail-cinema-skip span { font-size:20px; }.project-dialog .detail-cinema-skip:hover { background:#fff; }
.project-dialog .detail-facts-heading { position:relative; border-bottom:0; }
.project-dialog .detail-facts-rule { position:absolute; bottom:0; left:0; right:0; height:1px; background:#bfc4b5; transform-origin:left center; }
@media(max-width:640px) {
 .project-dialog .detail-finish-copy h3 { font-size:clamp(38px,10vw,62px); }
 .project-dialog .detail-cinema-skip { bottom:18px; right:18px; font-size:8px; gap:15px; padding:9px 13px; }
}
@media(prefers-reduced-motion:reduce) { .project-dialog .detail-cinema-skip { display:none; } }

/* Proje ekibi kapanış jeneriği */
.detail-team { position:relative; color:#29322b; background:#e7e1d5; }
.detail-team-stage { position:relative; }
.detail-team-roll { position:relative; width:100%; max-width:1300px; margin:0 auto; padding:0 8vw; text-align:center; }
.detail-team-intro { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; min-height:130px; padding:24px 0; }
.detail-team-intro > span { font-family:ui-monospace,'Courier New',monospace; font-size:10px; letter-spacing:.16em; color:#73766c; }
.detail-team-intro h2 { margin:0; font-family:'DM Sans',Arial,sans-serif; font-style:normal; font-size:clamp(28px,3.2vw,48px); font-weight:500; letter-spacing:-.04em; text-transform:uppercase; }
.detail-team-credits { margin:0; }
.detail-team-credits > div { padding:22px 0; transform-origin:center; }
.detail-team-credits dt { margin:0 0 6px; font-family:ui-monospace,'Courier New',monospace; font-size:10px; font-weight:400; text-transform:uppercase; letter-spacing:.16em; color:#73766c; }
.detail-team-credits dd { margin:0; padding:.12em .08em; overflow:hidden; font-family:'DM Sans',Arial,sans-serif; font-size:clamp(34px,5.2vw,80px); line-height:1.06; font-weight:500; letter-spacing:-.055em; text-transform:uppercase; }
.detail-team-name-button { display:inline-block; padding:0; color:inherit; font:inherit; line-height:inherit; letter-spacing:inherit; text-transform:inherit; border:0; background:none; cursor:pointer; transition:color .25s; }
.detail-team-name-button:hover,.detail-team-name-button[aria-expanded='true'] { color:#53624d; }
.is-team-autoplay .detail-team-name-button[aria-expanded='true'] { color:#29322b; }
.detail-team-name-button:focus-visible { outline:1px solid #53624d; outline-offset:5px; }
.detail-team-portrait-preview { position:absolute; top:25%; width:clamp(200px,21vw,300px); aspect-ratio:3 / 4; z-index:4; pointer-events:none; opacity:0; visibility:hidden; background-size:cover; background-position:center; box-shadow:0 14px 36px #29322b18; }
.detail-team-credit-word { display:inline-block; white-space:nowrap; }
.detail-team-credit-word + .detail-team-credit-word { margin-left:.12em; }
.detail-team-credit-letter { display:inline-block; transform-origin:50% 100%; }
.detail-team.is-team-motion { height:var(--team-scroll-height, 400svh); }
.is-team-motion .detail-team-stage { position:sticky; top:0; height:var(--team-viewport-height, 100svh); overflow:hidden; isolation:isolate; }
.is-team-motion .detail-team-roll { display:flex; flex-direction:column; will-change:transform; }
.is-team-motion .detail-team-credits { display:flex; flex-direction:column; }
.is-team-motion .detail-team-stage::before,.is-team-motion .detail-team-stage::after { content:""; position:absolute; left:0; right:0; height:16svh; z-index:2; pointer-events:none; }
.is-team-motion .detail-team-stage::before { top:0; background:linear-gradient(#e7e1d5, #e7e1d500); }
.is-team-motion .detail-team-stage::after { bottom:0; background:linear-gradient(#e7e1d500, #e7e1d5); }
@media(max-width:700px) {
    .detail-team-roll { padding:0 7vw; }
    .detail-team-intro { min-height:110px; gap:8px; }
    .detail-team-intro h2 { font-size:30px; }
    .detail-team-credits > div { padding:18px 0; }
    .detail-team-credits dt { font-size:9px; margin-bottom:6px; }
    .detail-team-credits dd { font-size:clamp(28px,8vw,40px); }
    .detail-team-portrait-preview { top:auto; bottom:6svh; right:6vw; width:min(44vw,180px); }
}

/* Draw the country first; reveal the project coordinates after the outline. */
.project-dialog .detail-summary-location { padding-block:clamp(55px,9vh,110px); }
.project-dialog .detail-location-atlas { overflow:visible; background:transparent; }
.detail-turkey-map { display:block; width:100%; height:auto; overflow:visible; }
.turkey-border { stroke:#a8aaa0; stroke-width:1.2; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:var(--border-length, 5000); stroke-dashoffset:var(--border-length, 5000); }
.is-map-visible .turkey-border { animation:turkey-outline-draw 5s linear forwards; }
.turkey-marker { opacity:0; }
.is-map-visible .turkey-marker { animation:turkey-marker-reveal .6s ease 5.1s forwards; }
.turkey-dot { fill:#38483c; }
.turkey-dot-core { fill:#f1f0ee; }
.turkey-wave { fill:none; stroke:#536651; stroke-width:1; transform-box:fill-box; transform-origin:center; opacity:0; }
.is-map-visible .turkey-wave { animation:turkey-location-wave 2.8s ease-out 5.4s infinite; animation-play-state:paused; }
.is-map-visible .turkey-wave-two { animation-delay:6.8s; }
.is-map-in-view .turkey-wave { animation-play-state:running; }
.detail-summary-location:has(.is-map-visible) .detail-location-coordinates { animation:turkey-coordinate-reveal .7s ease 5.1s both; }
@keyframes turkey-coordinate-reveal { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
.detail-location-coordinates { display:block; margin-top:24px; font-size:12px; letter-spacing:.09em; color:#536251; font-variant-numeric:tabular-nums; }
.detail-atlas-caption { display:flex; justify-content:space-between; margin-top:18px; border-top:1px solid #d4d2ca; padding-top:14px; font-size:9px; letter-spacing:.14em; color:#777a70; }
.detail-atlas-caption span { opacity:.6; }
@keyframes turkey-outline-draw { from { stroke-dashoffset:var(--border-length, 5000); } to { stroke-dashoffset:0; } }
@keyframes turkey-marker-reveal { to { opacity:1; } }
@keyframes turkey-location-wave { 0% { transform:scale(1); opacity:.65; } 100% { transform:scale(5); opacity:0; } }
@media (prefers-reduced-motion:reduce) {
    .turkey-border { stroke-dashoffset:0; animation:none !important; }
    .turkey-marker { opacity:1; animation:none !important; }
    .turkey-wave, .detail-location-coordinates { animation:none !important; }
}

.project-dialog .detail-location-copy { position:relative; }
.project-dialog .detail-location-copy h3 { font-size:clamp(36px,3vw,52px); line-height:1.08; letter-spacing:-.035em; max-width:400px; margin:16px 0 0; text-wrap:balance; }
.detail-location-name { padding:0; border:0; background:none; color:inherit; font:inherit; text-align:left; text-transform:uppercase; cursor:pointer; }
.detail-location-name:focus-visible { outline:1px solid #536251; outline-offset:7px; }
.detail-location-name:hover { color:#536251; }
.detail-location-preview { position:absolute; z-index:5; left:calc(100% + 24px); top:0; width:min(300px,75vw); padding:10px; background:#e7e1d5; box-shadow:0 16px 40px #29322b18; opacity:0; visibility:hidden; transform:translateY(12px); transition:opacity .35s,transform .45s,visibility .35s; pointer-events:none; }
.is-preview-open .detail-location-preview { opacity:1; visibility:visible; transform:translateY(0); }
.detail-location-preview img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; }
.detail-location-preview > div { display:flex; flex-direction:column; gap:6px; padding:14px 4px 6px; }
.detail-location-preview strong { font-size:15px; font-weight:500; }
.detail-location-preview span { font-size:11px; color:#73766c; }
@media(prefers-reduced-motion:reduce) { .detail-location-preview { transition:none; } }

@media(max-width:700px) { .detail-location-preview { left:auto; right:0; top:48px; width:min(220px,60vw); } }

.istanbul-detail, .istanbul-marker { opacity:0; }
.istanbul-border { stroke:#8c9689; stroke-width:1.5; stroke-linejoin:round; stroke-linecap:round; stroke-dasharray:var(--border-length,5000); stroke-dashoffset:var(--border-length,5000); }
.istanbul-map-label { fill:#737c70; font-size:13px; letter-spacing:4px; }
.has-city-map.is-map-visible .turkey-borders { animation:country-map-exit .8s ease 5.4s forwards; }
.has-city-map.is-map-visible .detail-turkey-map > .turkey-marker { animation:none; }
.has-city-map.is-map-visible .istanbul-detail { animation:turkey-marker-reveal .8s ease 5.8s forwards; }
.has-city-map.is-map-visible .istanbul-border { animation:turkey-outline-draw 4s linear 6s forwards; }
.has-city-map.is-map-visible .istanbul-marker { animation:turkey-marker-reveal .6s ease 10.1s forwards; }
.has-city-map.is-map-visible .istanbul-marker .turkey-wave { animation-delay:10.4s; }
.has-city-map.is-map-visible .istanbul-marker .turkey-wave-two { animation-delay:11.8s; }
@keyframes country-map-exit { to { opacity:0; } }
@media(prefers-reduced-motion:reduce) {
 .has-city-map .turkey-borders, .has-city-map .detail-turkey-map > .turkey-marker { opacity:0; animation:none !important; }
 .has-city-map .istanbul-detail, .has-city-map .istanbul-marker { opacity:1; animation:none !important; }
 .istanbul-border { stroke-dashoffset:0; animation:none !important; }
}

.project-dialog .detail-location-copy h3 .detail-location-name { display:inline; margin:0; padding:0; min-width:0; border:0; font:inherit; letter-spacing:inherit; text-decoration:none; }
.detail-atlas-link { display:block; color:inherit; text-decoration:none; cursor:pointer; }
.detail-atlas-link:focus-visible { outline:1px solid #536251; outline-offset:8px; }

@media(min-width:701px) {
    .project-dialog .detail-summary-location { column-gap:24px; }
    .project-dialog .detail-location-copy { justify-self:center; width:min(100%,380px); }
}

.project-dialog .detail-location-copy > .detail-summary-label { display:block; font-size:11px; line-height:1.4; letter-spacing:.09em; }
.project-dialog .detail-location-copy > a[data-dialog-map] { margin-top:26px; min-width:0; width:210px; padding-bottom:12px; font-size:11px; }
@media(max-width:700px) {
    .project-dialog .detail-location-copy h3 { font-size:34px; max-width:360px; }
}

/* A bound architectural catalogue with two-sided turning sheets. */
.detail-catalog { position:relative; padding:60px 3vw 42px; background:#f1f0ee; color:#30382e; overflow:hidden; perspective:1600px; }
.detail-catalog-heading,.detail-catalog-grid,.detail-catalog-navigation { width:100%; max-width:none; margin-inline:auto; }
.detail-catalog-heading { position:relative; margin-bottom:36px; }
.detail-catalog-kicker { display:flex; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.16em; color:#7a8074; }
.detail-catalog-heading h2 { overflow:visible; margin:24px 0 0; font-family:inherit; font-size:clamp(42px,4.3vw,72px); line-height:1.15; letter-spacing:-.055em; font-weight:400; }
.detail-catalog-heading h2 > span { display:block; }
.detail-catalog-heading p { position:absolute; right:0; bottom:3px; margin:0; max-width:310px; text-align:right; font-size:12px; line-height:1.6; color:#7a8074; }
.detail-catalog-grid { position:relative; background:#fbfaf6; color:#30382e; box-shadow:0 18px 40px #30382e15,0 2px 0 #c9c8bd,0 4px 0 #fbfaf6,0 6px 0 #d3d1c6,0 8px 0 #eeece4,0 10px 0 1px #bcbeb2; transform-origin:center bottom; perspective:2200px; }
.detail-catalog-spread { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
.detail-catalog-spread[hidden] { display:none; }
.detail-catalog-spread::after { content:''; position:absolute; z-index:2; top:0; bottom:0; left:50%; width:42px; transform:translateX(-50%); background:linear-gradient(90deg,transparent,#373c2912 40%,#373c2940 49%,#ffffff65 53%,transparent); pointer-events:none; }
.detail-catalog-card { position:relative; display:flex; flex-direction:column; min-width:0; padding:24px clamp(22px,2.3vw,56px); background:#fbfaf6; color:inherit; text-decoration:none; }
.detail-catalog-card::before { content:'BUSE DASTAN  /  MİMARLIK & İÇ MİMARLIK'; display:block; margin-bottom:18px; padding-bottom:12px; border-bottom:1px solid #bfc1b5; font-size:8px; letter-spacing:.13em; color:#757d6f; }
.detail-catalog-image { overflow:hidden; aspect-ratio:1.5; max-height:36svh; background:#d9d9cf; }
.detail-catalog-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s cubic-bezier(.2,.7,.2,1); }
.detail-catalog-card:hover img,.detail-catalog-card:focus-visible img { transform:scale(1.035); }
.detail-catalog-card:focus-visible { outline:2px solid #536251; outline-offset:-5px; }
.detail-catalog-caption { display:flex; align-items:baseline; gap:18px; padding:20px 0 16px; }
.detail-catalog-caption > span:first-child { font-size:clamp(23px,2.6vw,38px); font-weight:300; letter-spacing:-.06em; font-variant-numeric:tabular-nums; color:#a1a694; }
.detail-catalog-caption strong { flex:1; min-height:1.15em; font-size:clamp(22px,2.1vw,33px); line-height:1.15; font-weight:400; letter-spacing:-.035em; }
.detail-catalog-caption > span:last-child { font-size:22px; color:#72786b; }
.detail-catalog-metadata { display:grid; grid-template-columns:1fr auto; gap:7px; margin-top:auto; padding-top:13px; border-top:1px solid #bfc1b5; font-size:10px; line-height:1.4; color:#73796c; }
.detail-catalog-place { grid-column:1/-1; }
.detail-catalog-navigation { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-top:32px; font-size:10px; letter-spacing:.09em; }
.detail-catalog-navigation button { display:flex; align-items:center; gap:14px; padding:12px 0; border:0; background:none; color:inherit; font:inherit; cursor:pointer; transition:opacity .25s; }
.detail-catalog-navigation button:hover:not(:disabled) { color:#536251; }
.detail-catalog-navigation button:disabled { opacity:.25; cursor:default; }
.detail-catalog-navigation button:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
.detail-catalog-status { display:flex; flex-direction:column; align-items:center; gap:12px; font-variant-numeric:tabular-nums; color:#73796c; }
.detail-catalog-progress { display:flex; gap:5px; }
.detail-catalog-progress span { width:25px; height:2px; background:#30382e25; transition:background .3s; }
.detail-catalog-progress span.is-active { background:#536251; }
.detail-catalog-turn,.detail-catalog-stationary { position:absolute; z-index:4; top:0; bottom:0; width:50%; pointer-events:none; }
.detail-catalog-stationary.is-left { left:0; }
.detail-catalog-stationary.is-right { right:0; }
.detail-catalog-turn { z-index:5; transform-style:preserve-3d; }
.detail-catalog-turn.is-forward { left:50%; transform-origin:left center; }
.detail-catalog-turn.is-backward { left:0; transform-origin:right center; }
.detail-catalog-turn-face { position:absolute; inset:0; backface-visibility:hidden; -webkit-backface-visibility:hidden; background:#fbfaf6; }
.detail-catalog-turn-face.is-back { transform:rotateY(180deg); }
.detail-catalog-turn-face::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#101a10,transparent 85%); opacity:var(--page-shade,0); pointer-events:none; }
.detail-catalog-turn-face.is-back::after { background:linear-gradient(270deg,#101a10,transparent 85%); }
.detail-catalog-turn-face > .detail-catalog-card,.detail-catalog-stationary > .detail-catalog-card { height:100%; box-sizing:border-box; }
@media(max-width:700px) {
 .detail-catalog { padding:60px 4vw 36px; }
 .detail-catalog-kicker { font-size:8px; letter-spacing:.08em; }
 .detail-catalog-heading { margin-bottom:28px; }
 .detail-catalog-heading p { position:static; margin-top:14px; text-align:left; font-size:12px; }
 .detail-catalog-card { padding:20px 18px; }
 .detail-catalog-spread { grid-template-columns:1fr; }
 .detail-catalog-spread::after { display:none; }
 .detail-catalog-card + .detail-catalog-card { border-top:1px solid #bfc1b5; }
 .detail-catalog-caption strong { min-height:0; }
 .detail-catalog-image { max-height:none; }
 .detail-catalog-navigation { gap:10px; font-size:10px; }
 .detail-catalog-navigation button span { display:none; }
 .detail-catalog-navigation button { font-size:24px; }
}
@media(prefers-reduced-motion:reduce) { .detail-catalog-image img,.detail-catalog-progress span { transition:none; } }

/* Legible secondary text throughout the project detail. */
.project-dialog .dialog-top a, .project-dialog .dialog-top .dialog-close { font-size:12px !important; }
.project-dialog .detail-loading, .project-dialog .detail-hero-content > span, .project-dialog .detail-hero-meta { font-size:12px; line-height:1.5; }
.project-dialog .detail-finish-copy > div > span, .project-dialog .detail-finish-copy > span { font-size:13px; line-height:1.5; color:#596354; }
.project-dialog .detail-cinema-skip { font-size:12px; }
.project-dialog .credential-header h2, .project-dialog .detail-gallery-eyebrow { font-size:12px; color:#626c5d; }
.project-dialog .credential-navigation button { font-size:13px; color:#626c5d; }
.project-dialog .credential-step-number { font-size:12px; }
.project-dialog .detail-gallery-intro-footer { font-size:12px; }
.project-dialog .detail-team-intro > span, .project-dialog .detail-team-credits dt { font-size:13px; color:#626c5d; }
.project-dialog .detail-location-copy > .detail-summary-label, .project-dialog .detail-location-copy > a[data-dialog-map] { font-size:13px; }
.project-dialog .detail-atlas-caption { font-size:12px; color:#626c5d; }
.project-dialog .detail-atlas-caption span { opacity:1; }
.project-dialog .detail-catalog-kicker { font-size:12px; color:#626c5d; }
.project-dialog .detail-catalog-heading p { font-size:14px; color:#626c5d; }
.project-dialog .detail-catalog-card::before { font-size:11px; color:#626c5d; }
.project-dialog .detail-catalog-metadata, .project-dialog .detail-catalog-navigation { font-size:13px; color:#626c5d; }
.project-dialog .detail-footer-nav > span, .project-dialog .detail-footer-contact p, .project-dialog .detail-footer-signature { font-size:12px; color:#696f63; }
.project-dialog .detail-footer-nav .dialog-close, .project-dialog .detail-footer-nav a, .project-dialog .detail-footer-contact a { font-size:13px !important; color:#555e52; }
.project-dialog .detail-viewer-top, .project-dialog .detail-viewer-bottom, .project-dialog .detail-viewer button { font-size:13px; }
.project-dialog .detail-viewer [data-viewer-previous], .project-dialog .detail-viewer [data-viewer-next] { font-size:26px; }
@media(max-width:700px) {
    .project-dialog .dialog-top a, .project-dialog .dialog-top .dialog-close { font-size:11px !important; }
    .project-dialog .credential-navigation { grid-template-columns:repeat(5,max-content); justify-content:space-between; gap:5px; }
    .project-dialog .credential-navigation button { font-size:11px; }
    .project-dialog .credential-content .credential-location-description { font-size:13px; line-height:1.6; }
    .project-dialog .detail-gallery-summary { font-size:14px; min-height:8.25em; }
    .project-dialog .detail-gallery-intro-footer { font-size:10px; }
    .project-dialog .detail-catalog-heading p { font-size:14px; }
    .project-dialog .detail-catalog-navigation button { font-size:24px; }
    .project-dialog .detail-footer-information { flex-wrap:wrap; }
}
