/* Living Journal: an editorial composition around the client's approved reference. */
body { background: var(--paper); }
button,a,input,select,textarea { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
button:disabled { cursor: default; opacity: .4; }
img { height: auto; }
a,button,input,select,textarea { touch-action: manipulation; }
.button { max-width: 100%; border: 0; }
.button-outline { border: 1px solid var(--ink); }
.button span { flex-shrink: 0; }
.section { max-width: 1720px; }
.section-heading h2 { margin-top: 20px; }
.site-header { background: var(--paper); }
.header-inner { height: 96px; gap: 45px; justify-content: space-between; }
.desktop-nav { flex: 1; justify-content: space-evenly; gap: 25px; }
.desktop-nav a[aria-current] { border-bottom: 1px solid var(--ink); }
.language { gap: 9px; }
.language a,.language>span { color: var(--ink); }
.language a { display: flex; min-width: 24px; min-height: 44px; align-items: center; justify-content: center; }
.language a[aria-current] { text-decoration: underline; text-underline-offset: 5px; }
.home-page .site-header { position: absolute; top: 0; left: 36%; right: 0; background: transparent; border: 0; z-index: 10; }
.home-page .header-inner { padding: 0 5%; gap: 35px; }
.home-page .desktop-nav { gap: 24px; }
.mobile-nav { max-height: calc(100dvh - 76px); overflow-y: auto; overscroll-behavior: contain; }
.menu-toggle { min-width: 44px; min-height: 44px; }
.editorial-hero { position: relative; max-width: 1720px; min-height: 650px; height: min(47vw,790px); margin: auto; background: var(--paper); isolation: isolate; }
.hero-wash { position: absolute; left: 0; top: 0; bottom: 0; width: 38%; background: linear-gradient(110deg,var(--lilac),var(--wash) 95%); clip-path: polygon(0 0,94% 0,94% 3%,98% 3%,97% 10%,95% 19%,98% 28%,96% 42%,99% 43%,98% 52%,100% 56%,98% 65%,99% 76%,97% 86%,98% 100%,0 100%); }
.editorial-rail { position: absolute; left: 2.2%; top: 25%; bottom: 18%; display: flex; flex-direction: column; justify-content: space-between; color: var(--plum); width: 60px; }
.editorial-rail i { display: block; height: 65px; border-left: 1px solid var(--muted); }
.editorial-portrait { position: absolute; left: 7.4%; top: 0; bottom: 4%; width: 27%; overflow: hidden; clip-path: polygon(0 0,100% 0,100% 100%,0 96%); z-index: 2; background: var(--plum); }
.editorial-portrait>img { width: 100%; height: 100%; object-fit: cover; object-position: 46% 67%; transform: scale(1.65); transform-origin: 46% 66%; }
.paper-edge { position: absolute; inset: 0 0 0 auto; width: 4px; background: var(--paper); opacity: .25; }
.editorial-headline { position: absolute; z-index: 4; left: 43.5%; top: 19%; width: 24.5%; padding-bottom: 28px; }
.editorial-headline h1 em { display: block; white-space: nowrap; color: var(--ink); }
.editorial-headline p { padding-top: 20px; margin: 25px 0 20px; border-top: 1px solid var(--muted); }
.editorial-headline .button { min-height: 48px; padding: 10px 22px; gap: 35px; }
.chapter-marker { position: absolute; left: -70px; top: -25px; height: 75px; padding: 0 25px 0 0; border-right: 1px solid var(--line); }
.editorial-aside { position: absolute; z-index: 3; right: 10.5%; top: 14%; width: 17.5%; transform: rotate(-1.1deg); }
.paper-frame { position: relative; padding: 10px 10px 18px; background: var(--tape); box-shadow: 0 3px 12px #211d2108; }
.paper-frame::before,.paper-frame::after { content: ""; position: absolute; z-index: 2; width: 42%; height: 22px; background: var(--tape); opacity: .65; transform: rotate(-6deg); }
.paper-frame::before { top: -8px; left: -12%; }
.paper-frame::after { bottom: -5px; right: -14%; transform: rotate(7deg); }
.paper-frame img { height: clamp(300px,24vw,430px); object-fit: cover; object-position: 50% 40%; }
.editorial-aside figcaption { position: relative; margin-top: 20px; max-width: 170px; margin-left: auto; transform: rotate(-7deg); padding: 15px; background: var(--ivory); }
.handwritten { transform: rotate(-10deg); color: var(--plum); }
.hero-signature { position: absolute; z-index: 5; left: 4%; bottom: 1.8%; text-align: center; }
.architectural-scene { position: absolute; bottom: 0; left: 34%; right: 0; height: 43%; background: url("images/hero-architecture.webp") center bottom/cover no-repeat; mask-image: linear-gradient(transparent,black 36%); z-index: 1; }
.editorial-notes { max-width: 1720px; margin: auto; display: grid; grid-template-columns: 44% 18% 18% 20%; gap: 0; padding: 24px 3.5% 35px; border-bottom: 1px solid var(--line); position: relative; background: var(--paper); z-index: 5; }
.notes-heading { padding-left: 34px; padding-right: 45px; position: relative; }
.notes-heading>.chapter-kicker { position: absolute; left: 0; top: 0; display: block; }
.notes-heading .chapter-kicker>span:not(.chapter-number) { display: none; }
.notes-heading .chapter-rule { width: 1px; height: 55px; display: block; margin-top: 6px; }
.notes-heading h2 { margin: 15px 0; }
.notes-heading p { max-width: 400px; }
.notes-photo { position: relative; overflow: hidden; height: 180px; }
.notes-photo img { height: 100%; object-fit: cover; object-position: 50% 42%; transform: none; }
.notes-photo .play-disc { width: 38px; height: 38px; bottom: 10px; right: 10px; }
.notes-copy { padding: 0 22px; }
.notes-copy h3 { margin: 12px 0; }
.notes-copy p { margin: 0 0 12px; }
.notes-architecture { padding-left: 20px; height: 180px; }
.notes-architecture img { height: 100%; object-fit: cover; }
.cities-preview { padding-top: 80px; }
.cities-preview .section-heading { align-items: center; }
.cities-preview .section-heading p { max-width: 370px; }
.city-artwork { margin-top: 42px; }
.project-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 44px; row-gap: 72px; }
.project-card-image { display: block; position: relative; overflow: hidden; }
.project-card-image img { width: 100%; height: auto; }
.project-counter { position: absolute; bottom: 15px; left: 15px; background: var(--paper); padding: 6px 12px; }
.project-card-title { padding-top: 24px; }
.project-card-title h3 { margin: 12px 0 18px; }
.project-card>p { color: var(--muted); max-width: 540px; margin-bottom: 24px; }
.project-card>small { display: block; color: var(--muted); margin-top: 15px; }
.collection-heading { padding-bottom: 20px; }
.collection-heading h1 { max-width: 1100px; margin: 35px 0; }
.collection-heading>p { max-width: 560px; }
.collection-body { padding-top: 45px; }
.project-filters { display: flex; flex-wrap: wrap; gap: 12px; border-bottom: 1px solid var(--line); padding-bottom: 25px; margin-bottom: 45px; }
.project-filters>button { border: 1px solid var(--line); padding: 12px 20px; min-height: 44px; background: transparent; color: var(--ink); }
.project-filters>button[aria-pressed=true] { background: var(--ink); color: var(--paper); }
.empty-selection { padding: 40px; }
.project-opening { padding-top: 45px; padding-bottom: 30px; }
.back-link { display: inline-flex; gap: 20px; border-bottom: 1px solid var(--line); padding-bottom: 8px; }
.project-title { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; align-items: end; margin: 55px 0 45px; }
.project-title h1 { margin-top: 25px; }
.project-title>p { max-width: 320px; padding-bottom: 10px; }
.project-cover img { max-height: 850px; object-fit: contain; }
.project-cover figcaption,.gallery-item figcaption { margin-top: 12px; color: var(--muted); }
.image-button { padding: 0; display: block; border: 0; background: transparent; color: inherit; width: 100%; cursor: zoom-in; }
.project-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 65px; }
.project-summary h2 { max-width: 600px; }
.project-summary p { margin-bottom: 30px; }
.project-summary dl { margin: 0 0 30px; }
.project-summary dl>div { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-top: 1px solid var(--line); }
.project-summary dd { margin: 0; text-align: right; }
.official-link { display: block; width: fit-content; margin-top: 20px; border-bottom: 1px solid var(--line); padding-bottom: 5px; }
.official-link span { margin-left: 20px; }
.gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 42px; align-items: start; }
.project-gallery>.eyebrow { display: block; margin-bottom: 30px; }
.gallery-grid .gallery-item:nth-child(even) { padding-top: 90px; }
.gallery-grid img { width: 100%; height: auto; }
.gallery-source { color: var(--muted); margin-top: 35px; }
.project-gallery { padding-top: 30px; }
.gallery-grid.single-image { display: block; max-width: 900px; margin: auto; }
.single-image img { max-height: 1000px; object-fit: contain; }
.story-opening { max-width: 1250px; padding-bottom: 35px; }
.story-opening>.eyebrow { display: block; margin-top: 55px; }
.story-opening h1 { margin: 30px 0; max-width: 1100px; }
.story-intro { max-width: 750px; margin-bottom: 30px; }
.story-gallery { padding-top: 20px; }
.story-gallery .gallery-grid { max-width: 1100px; margin: auto; }
.story-gallery .gallery-grid>figure:nth-child(even) { padding-top: 100px; }
.enquiry-section { display: grid; grid-template-columns: 1fr 1.2fr; gap: 90px; background: var(--ivory); }
.enquiry-section h2 { margin: 28px 0; }
.enquiry-section>div>p { max-width: 360px; }
.enquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.enquiry-form label { display: block; margin-bottom: 12px; }
.enquiry-form label>span { color: var(--muted); }
.enquiry-form input,.enquiry-form select,.enquiry-form textarea { border: 0; border-bottom: 1px solid var(--muted); border-radius: 0; background: transparent; padding: 12px 5px; color: var(--ink); width: 100%; min-height: 48px; }
.enquiry-form textarea { resize: vertical; }
.form-message,.form-note,.form-error { grid-column: 1/-1; }
.enquiry-form .button { grid-column: 1/-1; width: fit-content; }
.form-note { color: var(--muted); }
.form-note a { border-bottom: 1px solid; }
.form-error { color: var(--plum); }
.footer-top { grid-template-columns: minmax(0,1fr) minmax(0,.8fr) minmax(0,1.4fr); gap: 40px; }
.footer-top .footer-person { color: var(--ink); }
.footer-contact .contact-channels { gap: 9px; }
.footer-contact .contact-channel-link { padding: 12px; }
.footer-link span { display: none; }
.footer-privacy { min-height: 32px; display: inline-flex; align-items: center; }
.text-page { min-height: 70vh; max-width: 1150px; }
.text-page h1 { margin: 35px 0; }
.text-page>p { margin: 25px 0; max-width: 850px; }
.gallery-open { overflow: hidden; }
.lightbox { border: 0; background: var(--ink); color: var(--paper); padding: 20px; width: min(1450px,96vw); max-width: 96vw; height: 94dvh; max-height: 94dvh; overflow: hidden; }
.lightbox::backdrop { background: #211d21e6; }
.lightbox-toolbar { display: flex; align-items: center; justify-content: space-between; height: 40px; }
.lightbox-toolbar>button,.lightbox-controls>button { border: 1px solid var(--muted); background: transparent; color: var(--paper); min-width: 48px; min-height: 44px; }
.lightbox-stage { display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); place-items: center; height: calc(100% - 105px); min-height: 0; }
.lightbox-stage > * { grid-area: 1 / 1; }
.lightbox-image { display: block; height: 100%; width: 100%; min-width: 0; min-height: 0; object-fit: contain; padding: 10px 0; }
.lightbox-image[hidden], .lightbox-retry[hidden] { display: none; }
.lightbox-feedback { text-align: center; max-width: 36rem; }
.lightbox-status { color: var(--paper); margin: 0 0 20px; }
.lightbox-status:empty { display: none; }
.lightbox-retry { font: inherit; color: var(--paper); background: transparent; border: 1px solid var(--muted); border-radius: var(--radius-control); padding: 12px 20px; min-height: 48px; cursor: pointer; }
.lightbox-controls { display: flex; justify-content: center; gap: 15px; height: 50px; }
.lightbox :focus-visible { outline-color: var(--paper); }
@media (min-width:1721px) {
  .home-page .site-header { left: calc(50% - 860px + 619px); right: calc(50% - 860px); }
}
@media (max-width:1400px) {
  .home-page .header-inner { gap: 25px; }
  .home-page .desktop-nav { gap: 20px; }
  .home-page .language { gap: 5px; }
  .editorial-headline { left: 42%; width: 27%; top: 20%; }
  .chapter-marker { left: -45px; padding-right: 14px; }
  .editorial-aside { right: 6%; width: 20%; top: 16%; }
  .notes-heading { padding-right: 25px; }
  .notes-copy { padding: 0 18px; }
}
@media (max-width:1100px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: flex; }
  .home-page .site-header { left: 36%; right: 0; }
  .home-page .header-inner { padding: 0 25px; }
  .header-actions { margin-left: auto; }
  .editorial-hero { height: 720px; }
  .editorial-headline { left: 43%; width: 49%; top: 22%; padding-right: 30%; }
  .editorial-aside { top: auto; bottom: 5%; right: 5%; width: 21%; }
  .paper-frame img { height: 240px; }
  .editorial-aside figcaption { display: none; }
  .architectural-scene { height: 33%; }
  .editorial-notes { grid-template-columns: 45% 25% 30%; padding: 28px 4%; }
  .notes-architecture { display: none; }
  .notes-photo { height: 200px; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-contact { grid-column: 1/-1; }
  .project-title { grid-template-columns: 1.5fr 1fr; }
  .enquiry-section { gap: 45px; }
  .project-grid { gap: 55px 30px; }
}
@media (max-width:760px) {
  .home-page .site-header { position: relative; left: auto; right: auto; background: var(--paper); }
  .header-inner,.home-page .header-inner { height: 76px; padding: 0 22px; gap: 12px; }
  .language,.home-page .language { gap: 3px; }
  .language a { min-width: 22px; }
  .header-actions { gap: 10px; }
  .editorial-hero { min-height: 0; height: auto; display: grid; grid-template-columns: 43% 57%; padding: 28px 24px 155px; gap: 0; }
  .hero-wash { width: 47%; bottom: 28%; top: 0; }
  .editorial-portrait { position: relative; left: auto; top: auto; bottom: auto; width: 100%; height: 480px; grid-column: 1; grid-row: 1; clip-path: polygon(0 0,100% 0,100% 100%,0 97%); }
  .editorial-portrait>img { transform: scale(1.55); transform-origin: 46% 66%; }
  .editorial-headline { position: relative; left: auto; top: auto; width: auto; padding: 22px 0 0 20px; grid-column: 2; grid-row: 1; align-self: start; }
  .editorial-headline h1 em { white-space: normal; }
  .editorial-headline p { margin-top: 20px; padding-top: 17px; }
  .editorial-headline .button { gap: 15px; min-height: 48px; padding: 10px 14px; }
  .chapter-marker { display: none; }
  .editorial-rail { display: none; }
  .editorial-aside { position: relative; grid-column: 2; grid-row: 1; top: auto; bottom: auto; right: auto; width: 70%; justify-self: end; align-self: end; transform: rotate(2deg); margin-right: 6px; margin-bottom: -80px; }
  .paper-frame { padding: 7px 7px 11px; }
  .paper-frame img { height: 220px; object-position: center 40%; }
  .architectural-scene { left: 0; right: 0; height: 210px; bottom: 0; opacity: .85; }
  .hero-signature { left: 25px; bottom: 55px; max-width: 160px; text-align: left; }
  .editorial-notes { grid-template-columns: 1fr 1fr; padding: 30px 24px 35px; gap: 20px; }
  .notes-heading { grid-column: 1/-1; padding: 0 0 15px; }
  .notes-heading>.chapter-kicker { position: relative; display: flex; margin-bottom: 15px; }
  .notes-heading .chapter-rule { display: none; }
  .notes-heading h2 { margin: 0 0 13px; }
  .notes-heading p { max-width: 400px; }
  .notes-photo { height: 220px; }
  .notes-copy { padding: 0 0 0 3px; align-self: center; }
  .section { padding-left: 24px; padding-right: 24px; }
  .cities-preview { padding-top: 60px; }
  .cities-preview .section-heading>p { margin-top: 22px; }
  .project-grid { grid-template-columns: 1fr; gap: 48px; }
  .project-filters { gap: 8px; }
  .project-filters>button { padding: 10px 14px; }
  .project-title { display: block; margin: 40px 0 25px; }
  .project-title h1 { overflow-wrap: anywhere; }
  .project-title>p { margin: 25px 0; max-width: 100%; }
  .project-summary { display: block; margin-top: 40px; }
  .project-summary h2 { margin-bottom: 30px; }
  .gallery-grid { grid-template-columns: 1fr; gap: 30px; }
  .gallery-grid .gallery-item:nth-child(even) { padding: 0; }
  .story-gallery .gallery-grid>figure:nth-child(even) { padding: 0; }
  .enquiry-section { grid-template-columns: 1fr; gap: 35px; }
  .enquiry-section>div>p { max-width: 100%; }
  .enquiry-form { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 35px; }
  .footer-contact .contact-channel-link { flex-basis: auto; flex-grow: 0; }
  .lightbox { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; padding: 16px; }
}
@media (max-width:440px) {
  .editorial-hero { padding: 20px 18px 130px; grid-template-columns: 42% 58%; }
  .editorial-portrait { height: 420px; }
  .editorial-headline { padding: 15px 0 0 17px; }
  .editorial-headline p { margin: 18px 0 16px; }
  .editorial-headline .button { gap: 10px; min-height: 46px; padding: 10px 12px; }
  .editorial-aside { width: 78%; margin-bottom: -55px; }
  .paper-frame img { height: 180px; }
  .hero-signature { bottom: 40px; }
  .architectural-scene { height: 160px; }
  .header-inner,.home-page .header-inner { padding: 0 16px; }
  .header-actions { gap: 5px; }
  .language a { min-width: 20px; }
  .notes-photo { height: 200px; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-contact { grid-column: auto; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { transition: none !important; animation: none !important; }
}
@media (max-width:760px) {
  .editorial-aside { grid-row: 2; margin-top: 15px; margin-bottom: -85px; }
  .editorial-headline { align-self: center; }
  .hero-signature { max-width: 150px; }
}
@media (min-width:761px) and (max-width:1100px) {
  .home-page .mobile-nav { position: fixed; top: 96px; left: 0; right: 0; max-height: calc(100dvh - 96px); }
}
.project-article { padding-top: 55px; padding-bottom: 55px; border-top: 1px solid var(--line); }
.project-article>div { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; margin-top: 25px; }
.project-article p { max-width: 620px; }
@media (max-width:760px) {
  .project-article>div { grid-template-columns: 1fr; gap: 25px; }
}
/* Long-form editorial pages follow the established Living Journal typography. */
.career-practice { display: grid; grid-template-columns: 1.1fr .9fr; gap: 9%; background: var(--lilac); }
.career-practice-heading h2 { margin: 30px 0; }
.career-practice-heading>p { max-width: 660px; }
.career-result { align-self: center; border-top: 1px solid var(--muted); border-bottom: 1px solid var(--muted); padding: 40px 0; }
.career-result>strong { display: block; }
.career-result>p { max-width: 450px; margin-top: 22px; }
.career-result>small { display: block; color: var(--muted); margin-top: 22px; }
.career-context { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; }
.career-context h3 { margin-bottom: 25px; }
.career-context p { color: var(--muted); }
.career-languages { padding-top: 22px; margin-top: 22px; border-top: 1px solid var(--line); }
@media (max-width:760px) {
  .career-practice,.career-context { grid-template-columns: 1fr; gap: 35px; }
  .career-context article+article { border-top: 1px solid var(--line); padding-top: 35px; }
}
.project-at-a-glance { padding-top: 0; padding-bottom: 45px; }
.project-at-a-glance dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 35px; border-top: 1px solid var(--line); padding-top: 30px; margin: 0; }
.project-at-a-glance dt { text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.project-at-a-glance dd { margin: 0; max-width: 350px; }
.project-at-a-glance dd a { border-bottom: 1px solid var(--line); }
.project-story { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 9%; border-top: 1px solid var(--line); }
.project-story h2,.project-consider h2,.project-questions h2 { max-width: 570px; }
.project-story-heading .chapter-kicker { margin-bottom: 32px; }
.project-story-copy { max-width: 750px; }
.project-story-copy .editorial-lead { margin-bottom: 48px; }
.project-story-copy h3 { margin-bottom: 20px; }
.project-story-copy>p:last-child { color: var(--muted); }
.project-consider { background: var(--lilac); display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: 9%; }
.project-consider > * { min-width: 0; }
.project-consider .eyebrow { display: block; margin-bottom: 32px; }
.project-consider ol { list-style: none; margin: 0; padding: 0; }
.project-consider li { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 18px; padding: 22px 0; border-top: 1px solid var(--muted); }
.project-consider li>p { max-width: 620px; }
.project-consider li:first-child { padding-top: 0; border-top: 0; }
.project-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; padding-top: 90px; padding-bottom: 65px; }
.project-questions .eyebrow { display: block; margin-bottom: 28px; }
.project-questions>div>p { color: var(--muted); margin: 26px 0; max-width: 500px; }
.editorial-faq details { border-top: 1px solid var(--line); }
.editorial-faq details:last-child { border-bottom: 1px solid var(--line); }
.editorial-faq summary { cursor: pointer; padding: 24px 32px 24px 0; position: relative; list-style: none; }
.editorial-faq summary::-webkit-details-marker { display: none; }
.editorial-faq summary::after { content: "+"; position: absolute; right: 2px; top: 23px; }
.editorial-faq details[open]>summary::after { content: "−"; }
.editorial-faq details>p { color: var(--muted); padding: 0 20px 28px 0; }
.project-references { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9%; padding-top: 25px; padding-bottom: 55px; }
.reference-link { display: flex; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); padding: 13px 0; max-width: 650px; }
.reference-link>span { flex-shrink: 0; }
.project-references p { color: var(--muted); max-width: 650px; margin: 20px 0 10px; }
.project-references small { color: var(--muted); }
.about-journey { border-top: 1px solid var(--line); }
.about-journey>h2,.about-services h2 { max-width: 850px; }
.about-journey>div,.about-services>div:last-child { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 45px; margin-top: 48px; }
.about-journey article,.about-services article { border-top: 1px solid var(--line); padding-top: 25px; }
.about-journey h3,.about-services h3 { margin: 30px 0 22px; }
.about-journey article>p,.about-services article>p { color: var(--muted); }
.about-services { background: var(--ivory); }
.about-field-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; }
.about-field-notes img { height: 470px; object-fit: cover; }
.about-field-notes>a:first-child img { object-position: 50% 30%; }
.about-field-notes>a:last-child img { object-position: 50% 60%; }
.about-field-notes a>span { display: block; margin-top: 18px; }
.developer-opening { padding-bottom: 0; }
.developer-title { display: grid; grid-template-columns: 1.2fr .8fr; gap: 10%; align-items: end; margin: 40px 0 65px; }
.developer-title>p { max-width: 500px; padding-bottom: 9px; }
.developer-cover { margin: 0; }
.developer-cover img { max-height: 720px; object-fit: cover; aspect-ratio: 1.9; object-position: center; }
.developer-cover figcaption { color: var(--muted); margin-top: 12px; }
.developer-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; padding: 60px 0; border-bottom: 1px solid var(--line); }
.developer-metrics>a { display: block; border-left: 1px solid var(--line); padding-left: 30px; }
.developer-metrics strong { display: block; white-space: nowrap; }
.developer-metrics span { color: var(--muted); display: block; margin-top: 15px; max-width: 250px; }
.developer-essays { padding-top: 15px; }
.developer-essays>article { display: grid; grid-template-columns: .9fr 1.1fr; gap: 10%; border-bottom: 1px solid var(--line); padding: 65px 0; }
.developer-essays h2 { max-width: 550px; margin-top: 30px; }
.developer-essays article>div:last-child { padding-top: 25px; }
.developer-essays p { max-width: 680px; margin-bottom: 25px; }
.developer-detail { display: grid; grid-template-columns: 1fr 1fr; background: var(--lilac); }
.developer-detail>div:first-child img { height: 100%; min-height: 720px; object-fit: cover; }
.developer-detail>div:last-child { padding: 70px clamp(25px,5vw,80px); }
.developer-detail h2 { margin: 30px 0; }
.developer-detail ul { padding-left: 18px; margin: 25px 0 35px; }
.developer-detail li { padding: 9px 0; }
.developer-bridge { display: flex; gap: 50px; justify-content: space-between; align-items: end; border-bottom: 1px solid var(--line); }
.developer-bridge p { max-width: 700px; }
@media (min-width:1101px) {
  .home-page .desktop-nav { gap: clamp(12px,1.3vw,25px); }
  .home-page .header-inner { gap: clamp(18px,2vw,35px); }
}
@media (max-width:1000px) {
  .developer-detail { grid-template-columns: 1fr; }
  .developer-detail>div:first-child img { min-height: 0; height: 440px; }
  .about-field-notes img { height: 370px; }
  .about-journey>div,.about-services>div:last-child { gap: 25px; }
  .developer-metrics { gap: 20px; }
  .developer-metrics>a { padding-left: 18px; }
}
@media (max-width:760px) {
  .project-at-a-glance dl { grid-template-columns: 1fr; gap: 25px; }
  .project-story,.project-consider,.project-questions,.project-references,.developer-title,.developer-essays>article { grid-template-columns: 1fr; gap: 35px; }
  .project-story-copy .editorial-lead { margin-bottom: 35px; }
  .project-consider li:first-child { padding-top: 20px; border-top: 1px solid var(--muted); }
  .project-questions { padding-top: 60px; }
  .project-references { gap: 15px; }
  .about-journey>div,.about-services>div:last-child { grid-template-columns: 1fr; gap: 30px; }
  .about-journey article,.about-services article { padding-top: 20px; }
  .about-journey h3,.about-services h3 { margin-top: 20px; }
  .about-field-notes { gap: 25px; grid-template-columns: 1fr; }
  .about-field-notes img { height: 460px; }
  .developer-title { margin: 30px 0 35px; }
  .developer-cover img { aspect-ratio: 1.2; }
  .developer-metrics { grid-template-columns: 1fr; padding: 35px 0; gap: 25px; }
  .developer-metrics span { max-width: none; margin-top: 8px; }
  .developer-essays>article { padding: 45px 0; gap: 20px; }
  .developer-essays article>div:last-child { padding-top: 0; }
  .developer-detail>div:last-child { padding: 55px 24px; }
  .developer-bridge { display: block; }
  .developer-bridge .text-link { margin-top: 25px; }
}
.career-practice { grid-template-columns: 1fr; }
.career-practice-heading { max-width: 1050px; }
.career-practice-heading>p { max-width: 900px; }
/* Keep editorial text on paper and show the complete full-length portrait. */
.editorial-headline::before { content: ""; position: absolute; inset: -16px -18px 0; background: var(--paper); box-shadow: 0 12px 26px 15px var(--paper); z-index: -1; pointer-events: none; }
.editorial-headline p { position: relative; background: var(--paper); }
.person-preview .person-image { height: auto; align-self: stretch; }
.person-preview .person-image img { height: auto; width: 100%; object-fit: contain; object-position: center; transform: none; }
@media (min-width:1101px) {
  body[data-lang="ru"] .editorial-hero,body[data-lang="ua"] .editorial-hero,body[data-lang="de"] .editorial-hero { min-height: 830px; }
  body[data-lang="ru"] .editorial-headline,body[data-lang="ua"] .editorial-headline,body[data-lang="de"] .editorial-headline { top: 16%; }
}
@media (min-width:761px) and (max-width:1100px) {
  .editorial-headline { left: 43%; width: 49%; padding-right: 0; top: 17%; }
  .editorial-aside { display: none; }
  .editorial-hero { min-height: 790px; }
  .editorial-headline p { max-width: 390px; }
}
@media (max-width:760px) {
  .editorial-headline::before { inset: -12px -12px -15px; box-shadow: 0 8px 18px 8px var(--paper); }
  .editorial-headline { align-self: start; }
  .person-preview .person-image { width: 100%; height: auto; }
  .person-preview .person-image img { height: auto; max-height: none; }
  .person-preview .person-copy { padding: 38px 24px; }
}
.longform-article { padding-top: 20px; padding-bottom: 90px; display: grid; grid-template-columns: 1fr 3fr; gap: 60px; }
.article-meta { display: flex; flex-direction: column; gap: 12px; color: var(--plum); }
.article-reading { max-width: 850px; }
.article-reading section+section { margin-top: 52px; }
.article-reading h2 { margin: 0 0 22px; }
.article-reading p { margin: 0 0 20px; }
.article-citations { display: flex; flex-wrap: wrap; gap: 10px 25px; margin-top: 22px; }
.article-source { display: inline-flex; gap: 12px; align-items: center; border-bottom: 1px solid var(--line); padding: 5px 0; color: var(--plum); text-decoration: none; }
.article-closing { border-top: 1px solid var(--line); margin-top: 55px; padding-top: 35px; }
.story-opening .story-intro { max-width: 960px; }
.city-essay { padding-top: 80px; padding-bottom: 80px; border-bottom: 1px solid var(--line); }
@media (max-width:760px) {
  .longform-article { display: block; padding-bottom: 60px; }
  .article-meta { flex-direction: row; flex-wrap: wrap; margin-bottom: 30px; }
  .article-reading section+section { margin-top: 38px; }
  .city-essay { padding-top: 50px; }
}
.article-reading h3 { margin: 0 0 18px; }
.article-reading>h2 { margin-bottom: 36px; }
.project-story-copy h3 { margin-top: 35px; }
.story-gallery .image-button img { object-fit: contain; object-position: center; transform: none; }
.city-podcast .podcast-frame img { object-fit: contain; object-position: center; transform: none; }
@media (min-width:1101px) and (max-width:1400px) {
  body[data-lang="ru"] .editorial-headline,body[data-lang="ua"] .editorial-headline,body[data-lang="de"] .editorial-headline { width: 33%; left: 40%; }
  body[data-lang="ru"] .editorial-aside,body[data-lang="ua"] .editorial-aside,body[data-lang="de"] .editorial-aside { right: 4%; width: 18%; }
}
@media (max-width:760px) {
  .editorial-headline h1 { overflow-wrap: anywhere; }
  .editorial-headline h1 em { white-space: normal; }
  .editorial-hero { padding-bottom: 170px; }
  .editorial-headline::before { background: var(--paper); box-shadow: none; inset: -8px -8px -12px; }
}
