/* Photography — category landing and filterable gallery. */
.photography-page main {
  position: relative;
}

.photography-page .photography-category-section,
.photography-page .photography-gallery-section {
  background: #000000;
}

.photography-page .photography-category-section {
  padding: 40px 0 64px;
}

.photography-page .photography-gallery-section {
  padding: 40px 0 110px;
}

.photography-page .photography-category-section[hidden],
.photography-page .photography-gallery-section[hidden] {
  display: none;
}

/* The Photography title belongs to the category landing only. */
.photography-page.photography-gallery-open .page-section {
  display: none !important;
}

/* Desktop title and first-content rhythm matches the other service pages. */
@media (min-width: 951px) {
  .photography-page .photography-category-card,
  .photography-page .photography-category-card img {
    border-radius: 0 !important;
  }

  .photography-page .page-section {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 20 !important;
    padding: 22px 0 0 !important;
    pointer-events: none !important;
  }

  .photography-page .page-section .page-title {
    margin: 0 0 18px !important;
  }

  .photography-page .page-section .section-divider {
    margin: 0 !important;
  }

  .photography-page .photography-category-section,
  .photography-page .photography-gallery-section {
    padding-top: 86px;
  }

  .photography-page.photography-gallery-open .photography-gallery-section {
    padding-top: 40px;
  }

}

/* Landing category tiles remain inside the standard service container. */
.photography-page .photography-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  width: 100%;
  margin: 0;
}

.photography-page .photography-category-card-all {
  display: none;
}

.photography-page .photography-category-card {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 4 / 2.65;
  border: 0;
  border-radius: 4px;
  background: #eeeeee;
  color: inherit;
  cursor: pointer;
  text-align: left;
}

.photography-page .photography-category-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
  border-radius: 4px;
  filter: grayscale(100%);
  transition: filter 0.35s ease;
}

.photography-page .photography-category-card:hover img,
.photography-page .photography-category-card:focus-visible img {
  filter: grayscale(0%);
}

.photography-page .photography-category-card:focus-visible {
  outline: 2px solid #ffbf00;
  outline-offset: 3px;
}

.photography-page .photography-category-card span {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  padding: 3px 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #111111;
  font-size: 13px;
  font-weight: 500;
}

/* Controls live outside the main photo canvas. On desktop the control rail
   mirrors the width of the faint Madhi Studio watermark rail on the left. */
.photography-page .photography-controls-label {display:none;}
.photography-page .photography-controls {
  position: fixed;
  top: calc(var(--site-header-height) + 51px);
  right: var(--photography-panel-scroll-safe, 12px);
  z-index: 30;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  width: calc(150px - var(--photography-panel-scroll-safe, 12px));
  padding-left: 4px;
  padding-right: var(--photography-controls-right, 6px);
  box-sizing: border-box;
  color: #ffffff;
  text-align: right;
}

.photography-page .photography-filter-list {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  width: 100%;
}

.photography-page .photography-filter-button {
  display: block;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: #ffffff;
  font-size: 15.6px;
  font-weight: 700;
  line-height: 1.45;
  text-align: right;
  cursor: pointer;
}

.photography-page .photography-filter-button:first-child {
  margin-bottom: 5px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.photography-page .photography-filter-button:hover,
.photography-page .photography-filter-button:focus-visible,
.photography-page .photography-filter-button.is-active {
  color: #ffbf00;
}

.photography-page .photography-filter-button:focus-visible,
.photography-page .photography-view-button:focus-visible,
.photography-page .photography-single-arrow:focus-visible {
  outline: 2px solid #FFBF00;
  outline-offset: 3px;
}

@media (max-width:700px){
  .photography-page .photography-filter-button.is-linked-hover {color:#ffbf00;}
  .photography-page .photography-category-card:hover,
  .photography-page .photography-category-card:focus-visible,
  .photography-page .photography-category-card.is-linked-hover {box-shadow:inset 0 0 0 2px #ff7f00;}
  .photography-page .photography-category-card.is-linked-hover img {filter:grayscale(0%);}
  .photography-page .photography-filter-button.is-attention {animation:photographyFilterAttention .9s ease-in-out infinite;}
  .photography-page.photography-gallery-open .photography-mobile-feature-label{display:none !important;}
}

@keyframes photographyFilterAttention {
  0%, 100% { color:#ffbf00; opacity:1; }
  50% { color:#ffffff; opacity:.55; }
}

.photography-page .photography-view-controls {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 8px;
  width: 100%;
  margin-top: 24px;
}

.photography-page .photography-view-button {
  padding: 7px 11px;
  border: 1px solid #ffffff;
  border-radius: 0;
  background: #20242c;
  color: #ffffff;
  font-size: 15.6px;
  font-weight: 400;
  line-height: 1.45;
  cursor: pointer;
}

.photography-page .photography-view-button:hover,
.photography-page .photography-view-button:focus-visible,
.photography-page .photography-view-button.is-active {
  background: #ffbf00;
  color: #000000;
  border-color: transparent;
  font-weight: 400;
}

.photography-page .photography-view-button.is-attention {
  animation: photographyThumbnailAttention 1.8s ease-in-out infinite;
}

@keyframes photographyThumbnailAttention {
  0%, 100% { background: #ffbf00; color: #000000; border-color: transparent; }
  50% { background: #20242c; color: #ffffff; border-color: #ffffff; }
}

.photography-page .photography-photo-entry[hidden] {
  display: none !important;
}

.photography-page .photography-photo-media,
.photography-page .photography-photo-media img {
  border: 0;
  border-radius: 0;
}

.photography-page .photography-photo-media {
  overflow: hidden;
  background: #000000;
}

.photography-page .photography-photo-media img {
  display: block;
}

/* Thumbnail view: natural-aspect-ratio masonry, like the supplied reference. */
.photography-page .photography-gallery.is-thumbnails {
  width: 100%;
  columns: 3;
  column-gap: 9px;
}

.photography-page .photography-gallery.is-thumbnails .photography-photo-entry {
  display: inline-block;
  width: 100%;
  margin: 0 0 9px;
  break-inside: avoid;
  vertical-align: top;
  cursor: pointer;
}

.photography-page .photography-gallery.is-thumbnails .photography-photo-entry:focus-visible {
  outline: 2px solid #ffbf00;
  outline-offset: 3px;
}

.photography-page .photography-gallery.is-thumbnails .photography-photo-media {
  width: 100%;
}

.photography-page .photography-gallery.is-thumbnails .photography-photo-media img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.photography-page .photography-gallery.is-thumbnails .photography-photo-caption,
.photography-page .photography-gallery.is-thumbnails .photography-single-navigation {
  display: none;
}

/* 1-by-1 view: one enlarged photo, bounded by the same vertical rhythm as the
   standard section title / featured-tile area, with caption to the right. */
.photography-page .photography-gallery.is-single {
  display: block;
  width: 100%;
}

.photography-page .photography-gallery.is-single .photography-photo-entry {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 980px) minmax(0, 348px);
  grid-template-areas: "media caption";
  grid-template-rows: 620px;
  column-gap: 24px;
  row-gap: 0;
  align-items: start;
  min-height: 0;
  padding: 0;
  box-sizing: border-box;
}

.photography-page .photography-gallery.is-single .photography-photo-media {
  grid-area: media;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 980px;
  max-width: 100%;
  height: 620px;
}

.photography-page .photography-gallery.is-single .photography-photo-media img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 620px;
  object-fit: contain;
}

.photography-page .photography-single-navigation {
  display: none;
}

.photography-page .photography-gallery.is-single .photography-single-navigation {
  grid-area: media;
  position: relative;
  z-index: 2;
  display: block;
  width: 980px;
  max-width: 100%;
  height: 620px;
  pointer-events: none;
}

.photography-page .photography-single-arrow {
  position: absolute;
  top: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #ffffff;
  font-size: 0;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}

.photography-page .photography-single-arrow[hidden] {
  display: none !important;
}

.photography-page .photography-single-arrow::before {
  content: "";
  display: block;
  width: 28px;
  height: 36px;
  background: currentColor;
}

.photography-page .photography-single-arrow-prev {
  left: 0;
  transform: translate(-100%, -50%);
}

.photography-page .photography-single-arrow-prev::before {
  clip-path: polygon(100% 0, 100% 100%, 0 50%);
}

.photography-page .photography-single-arrow-next {
  right: 0;
  transform: translate(100%, -50%);
}

.photography-page .photography-single-arrow-next::before {
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.photography-page .photography-single-arrow:hover,
.photography-page .photography-single-arrow:focus-visible {
  color: #ffbf00;
}

.photography-page .photography-single-counter {
  display: none;
}

.photography-page .photography-gallery.is-single .photography-single-counter {
  display: block;
  width: auto;
  max-width: none;
  margin: 4px 0 0;
  color: #c4c4c4;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
}

.photography-page .photography-photo-caption {
  color: #ffffff;
}

.photography-page .photography-gallery.is-single .photography-photo-caption {
  grid-area: caption;
  width: 348px;
  max-width: 348px;
  padding-top: 6px;
  text-align: left;
}

.photography-page .photography-photo-caption h2 {
  margin: 0;
  color: #ffbf00;
  font-size: 19.2px;
  font-weight: 600;
  line-height: 1.35;
}

.photography-page .photography-photo-caption p {
  margin: 4px 0 0;
  color: #c4c4c4;
  font-size: 15.6px;
  line-height: 1.4;
}

.photography-page .photography-empty-state {
  width: 100%;
  margin: 0;
  color: #c4c4c4;
  font-size: 14px;
  text-align: left;
}

/* Photography desktop shell: compact navigation, balanced side rails, and
   a full-width central photo canvas. Tablet/mobile behavior stays unchanged. */
@media (min-width: 1101px) {
  .photography-page {
    --photography-left-rail: var(--service-left-rail, var(--madhi-nav-left-rail, clamp(150px, 11.78vw, 205px)));
    --photography-side-rail: var(--service-side-rail, var(--madhi-nav-right-rail, clamp(165px, 12.54vw, 225px)));
    --photography-content-gutter: var(--service-content-gutter, 0px);
    --photography-main-right-gap: var(--service-main-right-gap, clamp(20px, 1.8vw, 28px));
    --photography-panel-scroll-safe: var(--service-panel-scroll-safe, 12px);
    --photography-controls-right: 6px;
    --photography-single-caption-width: var(--service-caption-width, 330px);
    --photography-single-media-height: calc(100svh - var(--site-header-height) - 80px);
  }

  .photography-page .mobile-brand-watermark {
    display: flex;
    position: fixed;
    top: var(--site-header-height);
    left: 0;
    z-index: 3;
    width: var(--photography-left-rail);
    height: calc(100svh - var(--site-header-height));
    align-items: flex-start;
    overflow: hidden;
    opacity: 1;
    pointer-events: none;
    user-select: none;
  }

  .photography-page .mobile-brand-logo {
    display: block;
    width: 100%;
    max-width: 100%;
    height: calc(100% - 10px);
    max-height: 100%;
    margin: 5px 0;
    padding: 0;
    object-fit: contain;
    object-position: left top;
    opacity: 1;
    filter: brightness(0) invert(10.588%);
  }

  .photography-page .page-section > .container,
  .photography-page .photography-category-section > .container,
  .photography-page .photography-gallery-section > .container {
    width: calc(100% - var(--photography-left-rail) - var(--photography-side-rail) - var(--photography-main-right-gap));
    max-width: none;
    margin-right: calc(var(--photography-side-rail) + var(--photography-main-right-gap));
    margin-left: var(--photography-left-rail);
    padding-right: var(--photography-content-gutter);
    padding-left: var(--photography-content-gutter);
    box-sizing: border-box;
  }

  .photography-page .photography-category-section {
    min-height: calc(100svh - var(--site-header-height) - 58px);
    box-sizing: border-box;
  }

  .photography-page .photography-gallery-section {
    min-height: calc(100svh - var(--site-header-height));
    box-sizing: border-box;
  }

  .photography-page:not(.photography-gallery-open) .photography-controls {display:none;}
  .photography-page.photography-gallery-open .photography-service-desktop-overview {display:none;}
  .photography-page .photography-controls {
    top: calc(var(--site-header-height) + 28px);
    right: var(--photography-panel-scroll-safe);
    width: calc(var(--photography-side-rail) - var(--photography-panel-scroll-safe));
  }
  .photography-page .photography-controls-label {
    display:block;
    width:100%;
    margin:0 0 5px;
    color:#FFFFFF;
    font:400 14px/1.45 "Inter",Arial,sans-serif;
    letter-spacing:.04em;
    text-align:right;
  }

  .photography-page.photography-gallery-open .photography-gallery-section {
    padding-top: 22px;
    padding-bottom: 22px;
  }

  .photography-page.photography-gallery-open.photography-thumbnail-view .photography-gallery-section {
    padding-top: 86px;
  }

  .photography-page .photography-gallery.is-single .photography-photo-entry {
    grid-template-columns: minmax(0, 1fr) var(--photography-single-caption-width);
    grid-template-rows: var(--photography-single-media-height);
    column-gap: clamp(20px, 2vw, 34px);
    row-gap: 0;
    padding-bottom: 0;
  }

  .photography-page .photography-gallery.is-single .photography-photo-media {
    width: 100%;
    max-width: none;
    height: var(--photography-single-media-height);
  }

  .photography-page .photography-gallery.is-single .photography-photo-media img {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: contain;
  }

  .photography-page .photography-gallery.is-single .photography-single-navigation {
    width: 100%;
    max-width: none;
    height: var(--photography-single-media-height);
  }


  .photography-page .photography-gallery.is-single .photography-photo-caption {
    width: 100%;
    max-width: none;
  }

  .photography-page #site-footer{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:25;
    width:100%;
    height:58px;
    min-height:58px;
    margin:0;
    pointer-events:none;
  }

  .photography-page #site-footer footer{
    width:100%;
    height:58px !important;
    min-height:58px !important;
    padding:0 24px 6px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
    box-sizing:border-box;
    background:transparent !important;
    border:0 !important;
  }

  .photography-page #site-footer .footer-inner{
    width:100% !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    padding:0 !important;
    text-align:right !important;
  }

  .photography-page #site-footer .footer-main{
    width:auto !important;
    margin:0 !important;
    color:#FFFFFF !important;
    font-size:13px !important;
    text-align:right !important;
    opacity:1 !important;
  }

  .photography-page #site-footer .footer-craft{color:#FFBF00 !important;}

  .photography-page.photography-single-view .photography-gallery-section{
    height:calc(100svh - var(--site-header-height));
    min-height:calc(100svh - var(--site-header-height));
    padding-top:22px;
    padding-bottom:22px;
    overflow:hidden;
  }

  .photography-page.photography-single-view .photography-gallery-section > .container,
  .photography-page.photography-single-view .photography-gallery.is-single,
  .photography-page.photography-single-view .photography-gallery.is-single .photography-photo-entry{
    height:100%;
    min-height:0;
  }

  .photography-page.photography-single-view .photography-gallery.is-single .photography-photo-entry{
    grid-template-rows:minmax(0,1fr);
  }

  .photography-page.photography-single-view .photography-gallery.is-single .photography-photo-media,
  .photography-page.photography-single-view .photography-gallery.is-single .photography-single-navigation{
    height:100%;
  }
}

@media (max-width: 1100px) {
  .photography-page .photography-controls {
    position: static;
    width: calc(100% - 32px);
    max-width: 520px;
    margin: 18px auto 24px;
    padding: 0;
  }

  .photography-page .photography-category-grid,
  .photography-page .photography-gallery.is-thumbnails,
  .photography-page .photography-empty-state {
    width: 100%;
  }

  .photography-page .photography-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .photography-page .photography-gallery.is-thumbnails {
    columns: 2;
  }

  .photography-page .photography-gallery.is-single .photography-photo-entry {
    grid-template-columns: minmax(0, 1fr) 260px;
  }

  .photography-page .photography-gallery.is-single .photography-photo-media,
  .photography-page .photography-gallery.is-single .photography-single-navigation,
  .photography-page .photography-gallery.is-single .photography-photo-caption {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 700px) {
  .photography-page .page-section,
  .photography-page .photography-mobile-feature-label,
  .photography-page .photography-filter-list,
  .photography-page .photography-view-controls {
    display: none !important;
  }

  .photography-page .photography-controls {
    display: none !important;
  }

  .photography-page .photography-category-card-all {
    display: grid;
    place-items: center;
    background: #20242C;
    transition: background-color .2s ease;
  }

  .photography-page .photography-category-card-all span {
    position: static;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #FFFFFF;
    font-size: 15.6px;
    font-weight: 700;
    letter-spacing: .06em;
    text-align: center;
  }

  .photography-page .photography-category-card-all:hover,
  .photography-page .photography-category-card-all:focus-visible {
    background: #FFBF00;
    box-shadow: none;
  }

  .photography-page .photography-category-card-all:hover span,
  .photography-page .photography-category-card-all:focus-visible span {
    color: #000000;
  }

  .photography-page .photography-gallery.is-mobile-stacked {
    display: flex !important;
    flex-direction: column !important;
    columns: auto !important;
    gap: calc(var(--mobile-feature-row-separation, 200px) / 2) !important;
    width: 100% !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-entry {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    break-inside: auto !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-media,
  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-media img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-single-navigation {
    display: none !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-caption {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-top: 10px !important;
    text-align: left !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-caption h2 {
    color: #ffbf00 !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-caption > p:not(.photography-single-counter) {
    color: #ffffff !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-single-counter {
    display: none !important;
  }

  .photography-page .photography-category-section,
  .photography-page .photography-gallery-section,
  .photography-page.photography-gallery-open .photography-gallery-section {
    padding: 18px 0 100px;
  }

  .photography-page .photography-mobile-feature-label{
    width:calc(100% - 32px);
    max-width:520px;
  }

  .photography-page .photography-category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:calc(100% - 24px) !important;
    margin-left:auto !important;
    margin-right:0 !important;
  }

  .photography-page .photography-gallery.is-mobile-stacked .photography-photo-entry[hidden]{
    display:none !important;
  }

  .photography-page .photography-category-card{
    aspect-ratio:4 / 2.5;
  }

  .photography-page .photography-category-card span{
    top:8px;
    left:8px;
    padding:2px 7px;
    font-size:11px;
  }

  .photography-page .photography-category-section > .container,
  .photography-page .photography-gallery-section > .container {
    width: calc(100% - 32px) !important;
    max-width: 520px !important;
    margin-inline: auto !important;
    padding-inline: 0 !important;
  }

  .photography-page .photography-controls {
    margin-top: 12px;
  }

  .photography-page .photography-gallery.is-single .photography-photo-entry {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "media"
      "caption";
    grid-template-rows: auto auto;
    gap: 10px;
    min-height: 0;
    padding: 0 0 72px;
  }

  .photography-page .photography-gallery.is-single .photography-photo-media {
    width: 100%;
    height: auto;
  }

  .photography-page .photography-gallery.is-single .photography-photo-media img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
  }

  .photography-page .photography-gallery.is-single .photography-single-navigation {
    width: 100%;
    height: 100%;
  }

  .photography-page .photography-gallery.is-single .photography-photo-caption {
    width: 100%;
    max-width: 100%;
  }

  .photography-page .photography-gallery.is-single .photography-photo-caption {
    padding-top: 0;
  }
}

@media (max-width: 520px) {
  .photography-page .photography-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .photography-page .photography-gallery.is-thumbnails {
    columns: 1;
  }
}



@media (max-width:700px) and (prefers-reduced-motion:reduce){.photography-page .photography-filter-button.is-attention{animation:none;}}


/* 2026-10-03 — ALL tile is a first-class final category on desktop and mobile. */
.photography-page .photography-category-card-all{
  display:grid !important;
  place-items:center !important;
  background:#20242C !important;
  transition:background-color .2s ease !important;
}
.photography-page .photography-category-card-all span{
  position:static !important;
  inset:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  color:#FFFFFF !important;
  font-size:clamp(64px,9vw,136px) !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  text-align:center !important;
}
.photography-page .photography-category-card-all:hover,
.photography-page .photography-category-card-all:focus-visible{
  background:#FFBF00 !important;
  box-shadow:none !important;
}
.photography-page .photography-category-card-all:hover span,
.photography-page .photography-category-card-all:focus-visible span{color:#000000 !important;}

@media (max-width:700px){
  .photography-page .photography-category-card:not(.photography-category-card-all) span{
    left:auto !important;
    right:8px !important;
    text-align:right !important;
  }
  .photography-page .photography-category-card-all span{
    font-size:clamp(52px,17vw,74px) !important;
  }
}

/* 2026-10-03 v6 — desktop footer + slightly lighter mobile footer. */
.photography-page #site-footer .footer-main{color:#FFFFFF !important;opacity:1 !important;}
.photography-page #site-footer .footer-craft{color:#FFBF00 !important;}
@media (max-width:700px){
  .photography-page #site-footer .footer-main{color:#FFFFFF !important;opacity:1 !important;}
  .photography-page #site-footer .footer-craft{color:#FFBF00 !important;opacity:1 !important;}
}

/* 2026-10-03 v8 — Photography uses the same outlined service-title system. */
@media (min-width:1101px){
  .photography-page .page-section{padding-top:20px !important;}
  .photography-page .page-section .page-title{
    font-family:"Londrina Outline",sans-serif !important;
    font-size:57.6px !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    color:#FFBF00 !important;
    -webkit-text-stroke:1px currentColor !important;
    text-shadow:0 0 6.3px rgba(255,191,0,.48),0 0 12.6px rgba(255,191,0,.18) !important;
  }
  .photography-page .photography-category-section,
  .photography-page.photography-thumbnail-view .photography-gallery-section{
    padding-top:120px !important;
  }
  .photography-page .photography-controls{top:calc(var(--site-header-height) + 25px) !important;}
}


/* =========================================================
   2026-10-03 v10 — requested Photography interaction refinements.
   ========================================================= */
.photography-page .photography-category-card{
  border:2px solid #FFFFFF !important;
  box-sizing:border-box !important;
}
.photography-page .photography-category-card:is(:hover,:focus-visible,.is-linked-hover){
  border-color:#FFBF00 !important;
  box-shadow:none !important;
  outline:none !important;
}
@media (min-width:701px){
  .photography-page .photography-category-card{
    border-width:4px !important;
  }
  .photography-page .photography-category-card:is(:hover,:focus-visible,.is-linked-hover){
    border-width:4px !important;
    border-color:#FFBF00 !important;
  }
}
.photography-page .photography-filter-button.is-linked-hover{
  color:#FFBF00 !important;
}

/* Thumbnail / 1-by-1 controls are neutral at rest and gold only on hover/focus. */
.photography-page .photography-view-button,
.photography-page .photography-view-button.is-active,
.photography-page .photography-view-button.is-attention{
  background:#20242C !important;
  color:#FFFFFF !important;
  border-color:#FFFFFF !important;
  animation:none !important;
  font-weight:400 !important;
}
.photography-page .photography-view-button:is(:hover,:focus-visible){
  background:#FFBF00 !important;
  color:#000000 !important;
  border-color:#FFBF00 !important;
}

/* ALL: further 40% desktop reduction from the current size; white control text at rest. */
.photography-page .photography-category-card-all span{
  font-size:clamp(30px,4vw,60px) !important;
}
.photography-page .photography-filter-button[data-photo-filter="all"],
.photography-page .photography-filter-button[data-photo-filter="all"].is-active{
  color:#FFFFFF !important;
}
.photography-page .photography-filter-button[data-photo-filter="all"]:is(:hover,:focus-visible,.is-linked-hover){
  color:#FFBF00 !important;
}
.photography-page .photography-category-card-all{
  border-color:#FFFFFF !important;
  background:#20242C !important;
  isolation:isolate;
}
.photography-page .photography-category-card-all::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:url("../assets/photography/all-category.webp") center / cover no-repeat;
  filter:grayscale(100%);
  transition:filter .35s ease;
}
.photography-page .photography-category-card-all span{
  position:relative !important;
  z-index:1;
  color:#FFFFFF !important;
}
.photography-page .photography-category-card-all:is(:hover,:focus-visible,.is-linked-hover){
  background:#20242C !important;
  border-color:#FFBF00 !important;
}
.photography-page .photography-category-card-all:is(:hover,:focus-visible,.is-linked-hover)::before{
  filter:grayscale(0%);
}
.photography-page .photography-category-card-all:is(:hover,:focus-visible,.is-linked-hover) span{
  color:#FFFFFF !important;
}
@media (max-width:700px){
  .photography-page .photography-category-card-all:is(:hover,:focus-visible,.is-linked-hover) span{
    color:#FFFFFF !important;
  }
  .photography-page .photography-category-card-all span{
    font-size:clamp(26px,7vw,42px) !important;
  }

  /* Mobile Photography category landing: reveal Madhi background, one tall right-hand column, alphabetical with ALL last. */
  .photography-page .photography-category-section,
  .photography-page .photography-gallery-section{
    background:transparent !important;
  }
  .photography-page .photography-category-section{
    height:calc(100svh - var(--site-header-height, 78px) - 38px) !important;
    min-height:0 !important;
    padding:0 0 4px !important;
    margin-bottom:var(--mobile-section-gap, 100px) !important;
    box-sizing:border-box !important;
  }
  .photography-page .photography-category-section > .container{
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    margin:0 !important;
    padding:0 14px 0 0 !important;
  }
  .photography-page .photography-category-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:repeat(6,minmax(0,1fr)) !important;
    width:min(46vw,180px) !important;
    height:100% !important;
    margin-left:auto !important;
    margin-right:0 !important;
    gap:5px !important;
  }
  .photography-page .photography-category-card,
  .photography-page .photography-category-card img{
    border-radius:0 !important;
  }
  .photography-page .photography-category-card{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    aspect-ratio:auto !important;
  }
}


/* 2026-10-06 pass — footer color consistency. */
.photography-page :is(#site-footer, footer) :is(.footer-main, .footer-main *, .footer-craft, .footer-site-links, .footer-site-links *, .footer-site-link){
  color:#e7e7e7 !important;
  opacity:1 !important;
}
@media (min-width:701px){
  .photography-page #site-footer{
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
  }
  .photography-page #site-footer footer{
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    padding:0 24px 6px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:center !important;
  }
  .photography-page #site-footer .footer-inner{
    width:100% !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    text-align:right !important;
  }
  .photography-page #site-footer .footer-main{
    width:auto !important;
    margin:0 !important;
    font-size:13.9px !important;
    text-align:right !important;
    color:#e7e7e7 !important;
    opacity:1 !important;
  }
  .photography-page #site-footer .footer-craft{color:#e7e7e7 !important;}
}

