/* Portfolio interface refinement — 2026/10. Deliberately scoped over existing brand CSS. */
:root{--ui-ink:#263e50;--ui-blue:#53738a;--ui-paper:#f6f9f9;--ui-pale:#edf3f4;--ui-accent:#eacdd0;--ui-edge:rgba(38,62,80,.18);--ui-round:999px;--ui-ease:cubic-bezier(.22,.82,.2,1)}
html{scroll-padding-top:110px}
body{overflow-x:clip}
button,a{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid #8eafc4!important;outline-offset:4px}
.site-header{background:rgba(248,251,251,.95)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(38,62,80,.10)!important;min-height:86px;transition:background .25s,box-shadow .25s}
.site-header.is-sticky{background:rgba(248,251,251,.97)!important;border-bottom:1px solid rgba(38,62,80,.14)!important;box-shadow:0 8px 30px rgba(38,62,80,.07)}
.site-header .brand,.site-header .nav-link,.site-header .brand-caption,.site-header .header-cta,.site-header .menu-toggle{color:var(--ui-ink)!important}
.site-header .nav-link{padding:17px 0;transition:color .2s}
.site-header .nav-link:hover{color:#789db4!important}
.site-header .nav-link:after{background:var(--ui-accent);height:2px;bottom:9px}
.site-header .header-cta{display:inline-flex;align-items:center;gap:15px;min-height:44px;padding:10px 19px;border:1px solid var(--ui-ink)!important;border-radius:999px;transition:background .25s,color .25s,transform .25s}
.site-header .header-cta svg{width:16px;height:16px}
.site-header .header-cta:hover{background:var(--ui-ink);color:#fff!important;transform:translateY(-1px)}
.mobile-menu{background:#f2f7f8!important;color:var(--ui-ink)!important}
.mobile-menu .mobile-link{color:var(--ui-ink)!important;border-color:rgba(38,62,80,.12)!important}
.mobile-menu svg{width:23px;height:23px}
.mobile-menu .mobile-menu-foot{color:#587587}
.menu-toggle{border-radius:999px;min-width:44px;min-height:44px}
/* Buttons: quieter, high-end and consistently rounded, never emoji arrows. */
.btn,.header-cta,.filter-btn,.submit-btn{border-radius:999px!important}
.btn{justify-content:center;gap:14px;min-height:49px;padding:15px 25px!important;letter-spacing:.095em;transition:background .22s,color .22s,transform .22s}
.btn svg{width:17px;height:17px;flex:none}
.btn:hover{transform:translateY(-2px)}
.quiet-link,.underlined-link{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:13px;padding:11px 17px!important;border:1px solid var(--ui-edge)!important;border-radius:999px!important;font-size:10px;white-space:normal;transition:background .2s,color .2s,border-color .2s,transform .2s}
.quiet-link svg,.underlined-link svg{width:16px;height:16px;flex:none}
.quiet-link:hover,.underlined-link:hover{gap:13px!important;background:var(--ui-ink);color:#fff;border-color:var(--ui-ink)!important;transform:translateY(-1px)}
.back-link{display:inline-flex!important;align-items:center;gap:9px;min-height:44px!important;padding:8px 15px!important;border:1px solid rgba(255,255,255,.5);border-radius:999px;letter-spacing:.11em;transition:background .2s,color .2s}
.back-link svg{width:16px;height:16px}
.back-link.white:hover{background:rgba(255,255,255,.18)}
.round-arrow{display:grid;place-items:center;border-radius:999px!important;min-width:54px;min-height:54px;padding:0!important;border:1px solid rgba(255,255,255,.6);transition:background .22s,transform .22s}
.round-arrow svg{width:23px;height:23px}
.round-arrow:hover{transform:translateY(-2px);background:#fff;color:var(--ui-ink)}
.tile-arrow,.tile-explore{display:grid!important;place-items:center;width:42px!important;height:42px!important;border:1px solid rgba(38,62,80,.19);border-radius:50%;font-size:0!important}
.tile-arrow svg,.tile-explore svg{display:block;width:18px;height:18px}
.tile-explore{background:rgba(247,249,249,.94);border-color:transparent}
.collection-foot>span:last-child{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid var(--ui-edge);border-radius:50%;font-size:0}
.collection-foot svg{width:20px;height:20px}
.collection-card:hover .collection-foot>span:last-child,.project-tile:hover .tile-arrow{background:var(--ui-ink);color:white}
.footer-headline{display:inline-flex!important;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:.16em;transition:color .2s}
.footer-headline>svg{width:clamp(25px,3vw,40px);height:clamp(25px,3vw,40px);margin-left:16px;flex:none}
.footer-headline:hover{color:#fff}
.footer-links a{display:inline-flex;align-items:center;gap:6px;transition:color .2s}
.footer-links a:hover{color:var(--ui-accent)}
.footer-links a svg{width:12px;height:12px}
/* Card rhythm, legible captions, consistent contrast and interaction feedback. */
.collection-card .collection-image,.project-tile .tile-image,.next-image{border-radius:10px;overflow:hidden}
.collection-image img,.tile-image img,.next-image img{transition:transform .65s var(--ui-ease)}
.collection-card:hover img,.project-tile:hover img{transform:scale(1.035)}
.project-grid,.collection-grid{row-gap:clamp(36px,4vw,60px)}
.project-tile .tile-meta{align-items:center}
.project-tile .tile-label,.collection-foot p{line-height:1.6}
.page-home .hero-actions{gap:14px}
.page-home .hero-actions .quiet-link{border-color:#a7c3d0!important}
.page-home .hero-actions .btn-light{min-height:48px}
.page-home .hero-actions .btn svg{width:18px;height:18px}
.stack-stage .stack-card{border-radius:12px;box-shadow:0 22px 42px rgba(13,34,50,.14)}
/* V40 — compact natural-ratio editorial mosaic, with full-screen viewer */
.page-project .project-gallery{padding:clamp(38px,5vw,72px) var(--gutter) clamp(80px,8vw,126px);background:#f5f8f8}
.page-project .project-gallery .gallery-label{max-width:1180px;margin:0 auto 25px}
.case-gallery{max-width:1180px;margin:0 auto}
.case-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin:0 0 18px}
.case-gallery-hint{font:600 12px/1.5 var(--meta);letter-spacing:.14em;text-transform:uppercase;color:#47677b;margin:0}
.case-gallery-instruction{font:400 12px/1.5 var(--body);color:#687f8a;margin:0}
.case-gallery-grid{columns:4;column-gap:clamp(10px,1.25vw,17px);column-fill:balance}
.case-gallery-grid.is-masonry{display:grid;grid-template-columns:repeat(var(--case-columns,4),minmax(0,1fr));gap:clamp(10px,1.25vw,17px);columns:initial;align-items:start}
.case-gallery-column{display:flex;min-width:0;flex-direction:column;gap:clamp(10px,1.25vw,17px)}
.case-gallery-grid.is-masonry .case-gallery-item{margin:0}
.case-gallery-item{display:block;width:100%;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 clamp(10px,1.25vw,17px);line-height:0}
.case-gallery-open{width:100%;height:auto;display:block;padding:0;margin:0;position:relative;overflow:hidden;border:1px solid rgba(26,49,66,.07);border-radius:9px;background:#e7ebeb;cursor:zoom-in;line-height:0;transition:box-shadow .25s ease,transform .25s ease}
.case-gallery-open img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;aspect-ratio:auto;transform:none;filter:none}
.case-gallery-open:hover{box-shadow:0 11px 26px rgba(18,41,59,.13);transform:translateY(-2px)}
.case-gallery-open:focus-visible{outline:3px solid #6f9aab;outline-offset:4px}
.case-gallery-zoom{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:4px 13px;background:rgba(247,250,251,.95);color:#243f50;font:600 10px/1 var(--meta);letter-spacing:.11em;text-transform:uppercase;border:1px solid rgba(36,63,80,.10);border-radius:999px;opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s;pointer-events:none}
.case-gallery-open:hover .case-gallery-zoom,.case-gallery-open:focus-visible .case-gallery-zoom{opacity:1;transform:none}
.case-gallery-grid:has(.case-gallery-item:only-child){columns:initial;display:flex;justify-content:center}
.case-gallery-item:only-child{max-width:440px}
body.viewer-open{overflow:hidden!important}
.case-lightbox[hidden]{display:none!important}
.case-lightbox{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;background:#0b1924;color:#fff;padding:clamp(12px,2.5vw,34px);overscroll-behavior:contain}
.case-lightbox-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:15px;min-height:50px}
.case-lightbox-title{font:500 clamp(12px,1.4vw,16px)/1.4 var(--body);letter-spacing:.015em}
.case-lightbox-count{font:500 13px var(--meta);font-variant-numeric:tabular-nums;letter-spacing:.14em;color:#ccd7dd}
.case-lightbox-close,.case-lightbox-nav{display:grid;place-items:center;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.32);color:#fff;border-radius:50%;width:48px;height:48px;transition:background .2s,transform .2s}
.case-lightbox-close{justify-self:end}
.case-lightbox-close:hover,.case-lightbox-nav:not(:disabled):hover{background:rgba(255,255,255,.25);transform:scale(1.04)}
.case-lightbox-nav:disabled{opacity:.25;cursor:default}
.case-lightbox-stage{min-height:0;flex:1;display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;justify-items:center;gap:clamp(8px,2vw,34px)}
.case-lightbox-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:min(78vh,calc(100dvh - 142px));object-fit:contain;box-shadow:0 22px 65px rgba(0,0,0,.18)}
.case-lightbox-caption{color:#c0cbd2;font:400 12px/1.5 var(--body);text-align:center;margin:14px 0 0;min-height:20px}
@media(max-width:1100px){.case-gallery-grid{columns:3}.case-gallery-grid.is-masonry{grid-template-columns:repeat(var(--case-columns,3),minmax(0,1fr))}}
@media(max-width:900px){.site-header{min-height:74px}.page-project .project-hero{min-height:560px;height:76svh}}
@media(max-width:650px){
 .site-header{min-height:69px;padding-inline:19px}.site-header .header-cta{display:none}
 .page-project .project-hero{height:69svh;min-height:460px}
 .page-project .project-gallery{padding:48px 16px 75px}
 .case-gallery-grid{columns:2;column-gap:10px}
 .case-gallery-grid.is-masonry{grid-template-columns:repeat(var(--case-columns,2),minmax(0,1fr));gap:10px}
 .case-gallery-column{gap:10px}
 .case-gallery-item{margin-bottom:10px}
 .case-gallery-open{border-radius:7px}
 .case-gallery-heading{align-items:center;gap:12px;margin-bottom:14px}
 .case-gallery-instruction{font-size:10px;text-align:right;max-width:145px}
 .case-gallery-hint{font-size:10px}
 .case-gallery-zoom{display:none}
 .case-lightbox{padding:14px 10px 23px}
 .case-lightbox-top{grid-template-columns:minmax(0,1fr) auto auto;gap:10px}
 .case-lightbox-title{font-size:12px;max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .case-lightbox-close{width:44px;height:44px}
 .case-lightbox-stage{grid-template-columns:42px minmax(0,1fr) 42px;gap:3px}
 .case-lightbox-nav{width:40px;height:40px}
 .case-lightbox-stage img{max-height:calc(100dvh - 154px)}
 .case-lightbox-caption{font-size:11px}
 .site-footer.footer-classic .footer-headline{justify-content:center;gap:.1em}
 .site-footer.footer-classic .footer-headline>svg{width:22px;height:22px;margin-left:6px}
 .collection-card .collection-image,.project-tile .tile-image{border-radius:8px}
 .hero-actions .btn,.quiet-link,.underlined-link{min-height:46px}
}
@media(prefers-reduced-motion:reduce){.case-gallery-open,.case-gallery-zoom,.btn,.quiet-link,.underlined-link,.collection-image img,.tile-image img{transition:none!important}}


/* V42: global SVG sizing guard. Cards generated with direct SVG children must never expand to browser defaults. */
svg{width:20px;height:20px;max-width:100%;flex-shrink:0}
.collection-card,.project-tile{position:relative}
/* Rounded, compact affordances on editorial cards; no uncapped standalone arrows. */
.collection-card>.collection-foot{padding-right:58px;min-height:105px}
.collection-card>svg,.project-tile>svg{
  position:absolute;right:2px;bottom:19px;display:block;
  width:42px;height:42px;padding:12px;box-sizing:border-box;
  border:1px solid var(--ui-edge);border-radius:50%;
  color:var(--ui-ink);background:rgba(248,251,252,.95);
  transition:background .22s,color .22s,transform .22s;
  pointer-events:none;
}
.project-tile>.tile-meta{padding-right:58px;min-height:66px}
.project-tile>svg{bottom:8px}
.collection-card:hover>svg,.collection-card:focus-visible>svg,
.project-tile:hover>svg,.project-tile:focus-visible>svg{
  background:var(--ui-ink);color:#fff;transform:translateY(-2px);
}
/* Service list and any future in-text icon never use intrinsic SVG dimensions. */
.services-list a>svg{width:18px;height:18px;display:block;justify-self:end}
.site-header .mobile-link>svg{width:23px;height:23px}
@media(max-width:650px){
  .collection-card>svg,.project-tile>svg{width:39px;height:39px;padding:11px;bottom:12px}
  .collection-card>.collection-foot,.project-tile>.tile-meta{padding-right:49px}
}

/* V46 — 1.3x enlarged uniform gallery. Reference-matched photographic index. A Photographer’s World is the
   fixed template for EVERY project, regardless of how many photos it has.
   Desktop: 4 x 5 portrait thumbnails in four equal columns, 12px gutters,
   max 1022px total (~244 x 305px images; 1.3x the V45 presentation).  All images are always
   shown full-frame, without cropping, inside the full-screen viewer. */
.page-project .project-gallery .gallery-label{max-width:1022px}
.page-project .project-gallery .case-gallery{
  display:block;
  max-width:1022px!important;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.page-project .case-gallery-grid,
.page-project .case-gallery-grid.is-masonry{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:start;
  columns:initial!important;
  column-gap:16px!important;
  column-fill:auto;
}
.page-project .case-gallery-column{display:contents!important}
.page-project .case-gallery-grid .case-gallery-item,
.page-project .case-gallery-grid .case-gallery-item:only-child{
  display:block;
  margin:0!important;
  width:100%;
  max-width:none!important;
  aspect-ratio:4/5;
  min-width:0;
  line-height:0;
}
.page-project .case-gallery-grid .case-gallery-open{
  width:100%;
  height:100%;
  aspect-ratio:4/5;
  padding:0;
  overflow:hidden;
  border-radius:6px;
  background:#e7e9e8;
}
.page-project .case-gallery-grid .case-gallery-open img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  aspect-ratio:4/5!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block;
}
/* Project lightbox: ALWAYS original uncropped photo, not the 4:5 thumbnail. */
.page-project .case-lightbox-stage img,
.case-lightbox-stage img{
  display:block;
  width:auto!important;
  height:auto!important;
  max-width:100%;
  max-height:min(78vh,calc(100dvh - 142px));
  object-fit:contain!important;
  aspect-ratio:auto!important;
}
@media(max-width:800px){
  .page-project .case-gallery-grid,
  .page-project .case-gallery-grid.is-masonry{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:560px){
  .page-project .case-gallery-grid,
  .page-project .case-gallery-grid.is-masonry{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    column-gap:10px!important;
  }
  .page-project .case-gallery-grid .case-gallery-open{border-radius:6px}
}
@media(hover:none){.case-gallery-zoom{display:none}}


/* V48: balanced editorial photo grids, consistently sized thumbnails and centered incomplete rows.
   A&P Wedding / Photographer's World: 9 photos = 3x3. Six = 3x2, eight = 4x2. */
.page-project .project-gallery .case-gallery[data-gallery-columns="1"] { max-width:244px!important; }
.page-project .project-gallery .case-gallery[data-gallery-columns="2"] { max-width:504px!important; }
.page-project .project-gallery .case-gallery[data-gallery-columns="3"] { max-width:764px!important; }
.page-project .project-gallery .case-gallery[data-gallery-columns="4"] { max-width:1022px!important; }
.page-project .project-gallery .case-gallery-grid,
.page-project .project-gallery .case-gallery-grid.is-masonry {
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:flex-start;
  justify-content:center;
  gap:16px!important;
  width:100%;
  max-width:100%;
  grid-template-columns:none!important;
  margin-inline:auto;
}
.page-project .case-gallery-grid[data-gallery-columns="1"] .case-gallery-item { flex:0 0 100%; }
.page-project .case-gallery-grid[data-gallery-columns="2"] .case-gallery-item { flex:0 0 calc((100% - 16px) / 2); }
.page-project .case-gallery-grid[data-gallery-columns="3"] .case-gallery-item { flex:0 0 calc((100% - 32px) / 3); }
.page-project .case-gallery-grid[data-gallery-columns="4"] .case-gallery-item { flex:0 0 calc((100% - 48px) / 4); }
.page-project .case-gallery-grid .case-gallery-item,
.page-project .case-gallery-grid .case-gallery-item:only-child { min-width:0; margin:0!important; max-width:244px!important; }
@media (max-width:800px) {
  .page-project .project-gallery .case-gallery[data-gallery-columns="4"] { max-width:504px!important; }
  .page-project .case-gallery-grid[data-gallery-columns="4"] .case-gallery-item { flex-basis:calc((100% - 16px) / 2); }
}
@media (max-width:600px) {
  .page-project .project-gallery .case-gallery[data-gallery-columns] { max-width:504px!important; }
  .page-project .case-gallery-grid[data-gallery-columns] {gap:10px!important;}
  .page-project .case-gallery-grid[data-gallery-columns]:not([data-gallery-columns="1"]) .case-gallery-item {flex-basis:calc((100% - 10px) / 2);}
  .page-project .case-gallery-grid[data-gallery-columns="1"] .case-gallery-item { flex-basis:min(100%,244px); }
}

/* V60: user-provided wedding tablescape as home hero backdrop only */
.page-home .hero {
  background-color: #f9f7f2;
  background-image:
    linear-gradient(90deg, rgba(250,248,243,.99) 0%, rgba(250,248,243,.97) 18%, rgba(250,248,243,.87) 32%, rgba(250,248,243,.65) 44%, rgba(250,248,243,.35) 56%, rgba(250,248,243,.08) 71%, rgba(250,248,243,0) 83%),
    url("https://static.wixstatic.com/media/e4d95a_92302a808371420f9b1d334ddc2b1cc8~mv2.png");
  background-size: cover, cover;
  background-position: center, center 54%;
  background-repeat: no-repeat;
}
.page-home .hero .hero-visual {
  display: none;
}
.page-home .hero .hero-grain {
  opacity: 0;
}
@media (max-width: 650px) {
  .page-home .hero {
    min-height: 780px;
    background-image:
      linear-gradient(180deg, rgba(250,248,243,.92) 0%, rgba(250,248,243,.72) 31%, rgba(250,248,243,.26) 65%, rgba(250,248,243,0) 90%),
      linear-gradient(90deg, rgba(250,248,243,.62) 0%, rgba(250,248,243,.24) 53%, rgba(250,248,243,0) 90%),
      url("https://static.wixstatic.com/media/e4d95a_92302a808371420f9b1d334ddc2b1cc8~mv2.png");
    background-size: cover, cover, cover;
    background-position: center, center, 57% center;
    background-repeat: no-repeat;
  }
}

/* V61: screenshot-matched Home hero and transparent editorial wordmark */
/* The same full-bleed photo and section height, with soft left-to-right luminosity. */
.page-home .hero {
  color: #262626;
  background-color: #f8f6f0;
  background-image: linear-gradient(90deg, rgba(250,248,243,.99) 0%, rgba(250,248,243,.96) 18%, rgba(250,248,243,.86) 32%, rgba(250,248,243,.63) 44%, rgba(250,248,243,.34) 56%, rgba(250,248,243,.08) 71%, rgba(250,248,243,0) 83%), url("https://static.wixstatic.com/media/e4d95a_92302a808371420f9b1d334ddc2b1cc8~mv2.png");
  background-size: cover, cover;
  background-position: center, center 54%;
  background-repeat: no-repeat;
  grid-template-columns: 62% 38%;
}
/* Blend only the Home masthead with the photograph. Keep readable sticky navigation. */
.page-home .site-header:not(.is-sticky) {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  min-height: 104px;
  padding-left: var(--gutter);
  padding-right: var(--gutter);
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.page-home .site-header .brand { min-width: 0; gap: 0; }
.page-home .site-header .brand-words { display: block; }
.page-home .site-header .brand-name,
.page-home .site-header .brand-stroke {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(23px, 1.78vw, 31px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: .18em;
  color: #262626;
}
.page-home .site-header .desktop-nav { gap: clamp(23px, 2.7vw, 45px); margin-right: clamp(0px, 2vw, 38px); }
.page-home .site-header .nav-link {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(14px, 1vw, 17px);
  font-weight: 400;
  letter-spacing: .055em;
  text-transform: none;
  color: #32302e !important;
}
.page-home .site-header .nav-link:after { background: #3b3a37; height: 1px; bottom: 8px; }
/* Match the two-line charcoal editorial heading and reference spacing. */
.page-home .hero-copy {
  max-width: 1020px;
  padding: 25px 22px 25px var(--gutter);
  transform: translateY(-64px);
  justify-content: center;
}
.page-home .hero-overline {
  color: #6b6967;
  font-family: "Manrope", sans-serif;
  font-size: clamp(10px, .77vw, 13px);
  font-weight: 500;
  letter-spacing: .19em;
  margin-bottom: 28px;
}
.page-home .hero-title {
  color: #262626;
  font-family: "Playfair Display", Georgia, serif;
  font-weight: 400;
  font-size: clamp(64px, 5.2vw, 88px);
  line-height: 1.095;
  letter-spacing: -.054em;
}
.page-home .hero-title em { color: #262626; font-weight: 400; }
.page-home .hero .hero-title .period { color: #262626; }
.page-home .hero-actions { gap: 43px; margin-top: 46px; align-items: center; }
.page-home .hero-actions .btn-light {
  min-height: 61px;
  padding: 14px 31px !important;
  background: #292929;
  color: #faf8f2;
  border: 1px solid #292929;
  border-radius: 0 !important;
  font: 400 19px/1.2 "Playfair Display", Georgia, serif;
  letter-spacing: .025em;
  text-transform: none;
  gap: 20px;
}
.page-home .hero-actions .btn-light:hover { background: #454340; color: #fff; }
.page-home .hero-actions .btn-light svg { width: 18px; height: 18px; }
.page-home .hero-actions .quiet-link {
  min-height: 47px;
  padding: 10px 0 !important;
  color: #33312f;
  border: 0 !important;
  border-bottom: 1px solid #55514c !important;
  border-radius: 0 !important;
  background: transparent;
  font: 400 19px/1.2 "Playfair Display", Georgia, serif;
  letter-spacing: .028em;
  text-transform: none;
  gap: 0;
}
.page-home .hero-actions .quiet-link svg { display: none; }
.page-home .hero-actions .quiet-link:hover { color: #252525; background: transparent; transform: none; }
@media (max-width: 1150px) {
  .page-home .site-header .brand-name,
  .page-home .site-header .brand-stroke { font-size: 22px; letter-spacing: .12em; }
  .page-home .site-header .desktop-nav { gap: 19px; margin-right: 0; }
  .page-home .hero-title { font-size: clamp(58px, 6.2vw, 77px); }
}
@media (max-width: 900px) {
  .page-home .site-header:not(.is-sticky) { min-height: 82px; padding: 0 var(--gutter); }
  .page-home .site-header .brand-name,
  .page-home .site-header .brand-stroke { font-size: clamp(19px, 3.1vw, 26px); letter-spacing: .13em; }
  .page-home .hero { grid-template-columns: 1fr; }
  .page-home .hero-copy { max-width: 100%; transform: translateY(-36px); }
}
@media (max-width: 650px) {
  .page-home .site-header:not(.is-sticky) {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    min-height: 78px;
    padding: 0 22px;
    background: transparent !important;
    border: 0 !important;
  }
  .page-home .site-header .brand-name,
  .page-home .site-header .brand-stroke { font-size: clamp(16px, 4.3vw, 20px); letter-spacing: .115em; }
  .page-home .hero {
    display: flex;
    flex-direction: column;
    height: 100svh;
    min-height: 710px;
    max-height: 900px;
    padding-top: 78px;
    background-image: linear-gradient(180deg, rgba(250,248,243,.94) 0%, rgba(250,248,243,.85) 32%, rgba(250,248,243,.49) 62%, rgba(250,248,243,.08) 100%), linear-gradient(90deg, rgba(250,248,243,.67), rgba(250,248,243,0) 83%), url("https://static.wixstatic.com/media/e4d95a_92302a808371420f9b1d334ddc2b1cc8~mv2.png");
    background-size: cover, cover, cover;
    background-position: center, center, 59% center;
  }
  .page-home .hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    order: 0;
    flex: 1;
    min-height: 0;
    padding: 10px 22px 105px;
    transform: none;
    max-width: 100%;
  }
  .page-home .hero-overline { font-size: 9px; letter-spacing: .12em; line-height: 1.65; margin-bottom: 25px; }
  .page-home .hero-title { font-size: clamp(40px, 10vw, 58px); line-height: 1.11; letter-spacing: -.059em; }
  .page-home .hero-actions { flex-direction: column; align-items: flex-start; gap: 22px; margin-top: 30px; }
  .page-home .hero-actions .btn-light { min-height: 53px; padding: 12px 23px !important; font-size: 17px; }
  .page-home .hero-actions .quiet-link { font-size: 17px; min-height: 40px; }
}
@media (max-width: 380px) {
  .page-home .site-header .brand-name,
  .page-home .site-header .brand-stroke { font-size: 15px; letter-spacing: .085em; }
  .page-home .hero-title { font-size: 39px; }
}

/* V62: restore Home brand monogram alongside editorial wordmark */
.page-home .site-header .brand { gap: 11px; }
.page-home .site-header .brand-monogram {
  display: block;
  width: 37px;
  height: 35px;
  flex: 0 0 auto;
  object-fit: contain;
}
@media (max-width: 650px) {
  .page-home .site-header .brand { gap: 8px; }
  .page-home .site-header .brand-monogram { width: 29px; height: 28px; }
}

/* V63: consistent approved Home header on every page */
/* Preserve the homepage photo-overlay header, while aligning brand, nav and positioning globally. */
.site-header { min-height: 104px; padding: 0 var(--gutter); gap: 26px; }
.site-header:not(.is-sticky) { top: 0; left: 0; right: 0; position: absolute; }
body:not(.page-home) .site-header:not(.is-sticky) {
  background: linear-gradient(180deg, rgba(250,248,243,.97) 0%, rgba(250,248,243,.94) 75%, rgba(250,248,243,.84) 100%) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.site-header .brand { display: flex; flex-direction: row; align-items: center; min-width: 0; gap: 11px; }
.site-header .brand-words { display: block; }
.site-header .brand-monogram { display: block; width: 37px; height: 35px; flex: 0 0 auto; object-fit: contain; }
.site-header .brand-name, .site-header .brand-stroke {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(23px, 1.78vw, 31px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: .18em;
  color: #262626;
}
.site-header .desktop-nav { gap: clamp(23px, 2.7vw, 45px); margin-right: clamp(0px, 2vw, 38px); }
.site-header .nav-link {
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(14px, 1vw, 17px);
  font-weight: 400;
  letter-spacing: .055em;
  text-transform: none;
  color: #32302e !important;
}
.site-header .nav-link:after { background: #3b3a37; height: 1px; bottom: 8px; }
.site-header.is-sticky { min-height: 86px; }
@media (max-width: 1150px) {
  .site-header .brand-name, .site-header .brand-stroke { font-size: 22px; letter-spacing: .12em; }
  .site-header .desktop-nav { gap: 19px; margin-right: 0; }
}
@media (max-width: 900px) {
  .site-header:not(.is-sticky) { min-height: 82px; padding: 0 var(--gutter); }
  .site-header.is-sticky { min-height: 74px; }
  .site-header .brand-name, .site-header .brand-stroke { font-size: clamp(19px, 3.1vw, 26px); letter-spacing: .13em; }
}
@media (max-width: 650px) {
  .site-header:not(.is-sticky) { min-height: 78px; padding: 0 22px; }
  .site-header.is-sticky { min-height: 69px; }
  .site-header .brand { gap: 8px; }
  .site-header .brand-monogram { width: 29px; height: 28px; }
  .site-header .brand-name, .site-header .brand-stroke { font-size: clamp(16px, 4.3vw, 20px); letter-spacing: .115em; }
}
@media (max-width: 380px) {
  .site-header .brand-name, .site-header .brand-stroke { font-size: 15px; letter-spacing: .085em; }
}

/* V64: approved Contact photographic hero, uniform About background and editorial footer scale */
/* Keep the approved logo and editorial navigation. Blend the masthead with the Hero on Contact and About. */
body.page-contact .site-header:not(.is-sticky), body.page-about .site-header:not(.is-sticky) {
  position:absolute!important; top:0; left:0; right:0;
  background:transparent!important; border:0!important; box-shadow:none!important;
  backdrop-filter:none!important; -webkit-backdrop-filter:none!important;
}
/* Contact: cinematic image on right, warm cream fade on left, identical editorial scale to Home. */
.page-contact .contact-intro-simple {
  position:relative; isolation:isolate; overflow:hidden;
  display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
  min-height:760px; height:min(920px,100svh);
  padding:104px var(--gutter) 55px;
  background:#faf8f3; color:#262626;
}
.page-contact .contact-intro-simple::before {
  content:""; position:absolute; z-index:-2; top:0; right:0; bottom:0; width:67%; pointer-events:none;
  background-image:url("https://static.wixstatic.com/media/e4d95a_c115b1d311bb4ab987279af5a7730795~mv2.jpg");
  background-repeat:no-repeat; background-size:cover; background-position:center 69%;
}
.page-contact .contact-intro-simple::after {
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:linear-gradient(90deg,rgba(250,248,243,1) 0%,rgba(250,248,243,.98) 20%,rgba(250,248,243,.86) 32%,rgba(250,248,243,.67) 43%,rgba(250,248,243,.33) 55%,rgba(250,248,243,.08) 69%,rgba(250,248,243,0) 83%);
}
.page-contact .contact-intro-simple .page-title {
  position:relative; z-index:2; margin:0; max-width:830px; transform:translateY(-30px);
  font:400 clamp(64px,5.2vw,88px)/1.095 "Playfair Display",Georgia,serif;
  letter-spacing:-.054em; color:#262626;
}
.page-contact .contact-intro-simple .page-title em { font-style:italic; font-weight:400; color:#262626; }
.page-contact .contact-intro-simple .page-title .hero-dot { color:#262626!important; }
/* Retain all four clickable contact details in a light, legible section beneath the photo. */
.page-contact .contact-details-panel { background:#faf8f3; padding:clamp(55px,6vw,85px) var(--gutter) clamp(65px,7vw,105px); }
.page-contact .contact-details-inner { width:min(100%,1190px); margin:0 auto; }
.page-contact .contact-details-panel .contact-details {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px clamp(34px,7vw,116px);
  width:100%; max-width:none; margin:0; grid-row:auto; grid-column:auto;
}
.page-contact .contact-details-panel .contact-detail {
  min-width:0; display:flex; flex-direction:column; gap:9px; padding:24px 0 23px;
  border-bottom:1px solid rgba(45,50,49,.18); color:#2e3030;
}
.page-contact .contact-details-panel .contact-detail:hover { color:#7a8a86; }
.page-contact .contact-details-panel .contact-detail-label {
  font:500 10px/1.4 "Manrope",sans-serif; color:#777e7b; letter-spacing:.18em;
}
.page-contact .contact-details-panel .contact-detail-value {
  font:400 clamp(16px,1.5vw,21px)/1.45 "Playfair Display",Georgia,serif;
  overflow-wrap:anywhere; letter-spacing:-.013em;
}
/* About: one continuous sage background beneath a softly masked portrait, no colored image column. */
.page-about .about-hero, .page-about .about-hero-copy, .page-about .about-hero-image {
  background:#e3e9e0!important;
}
.page-about .about-hero-copy, .page-about .about-hero-image { background:transparent!important; }
.page-about .about-hero { isolation:isolate; }
.page-about .about-hero-image { overflow:hidden; isolation:auto; }
.page-about .about-hero-image img {
  filter:saturate(.92) contrast(.98); mix-blend-mode:normal;
  -webkit-mask-image:radial-gradient(ellipse 85% 95% at 62% 52%,#000 57%,rgba(0,0,0,.96) 69%,rgba(0,0,0,.72) 81%,transparent 100%);
  mask-image:radial-gradient(ellipse 85% 95% at 62% 52%,#000 57%,rgba(0,0,0,.96) 69%,rgba(0,0,0,.72) 81%,transparent 100%);
}
/* Make every “Let’s make it happen” footer and the Contact statement match other large section titles. */
.site-footer .footer-headline {
  font-size:clamp(42px,5.5vw,76px); line-height:1.13; letter-spacing:-.055em;
}
.page-contact .site-footer .footer-statement {
  font-size:clamp(42px,5.5vw,76px); line-height:1.17; letter-spacing:-.046em;
  max-width:1120px;
}
@media(max-width:900px) {
  .page-contact .contact-intro-simple { min-height:690px; height:85svh; }
  .page-contact .contact-intro-simple::before { width:74%; background-position:center 71%; }
  .page-contact .contact-intro-simple .page-title { font-size:clamp(58px,7.5vw,79px); }
  .page-contact .contact-details-panel .contact-details { gap:8px 35px; }
}
@media(max-width:650px) {
  .page-contact .contact-intro-simple {
    min-height:710px; height:100svh; max-height:850px; padding:90px 22px 75px;
    justify-content:center; align-items:flex-start;
  }
  .page-contact .contact-intro-simple::before { width:100%; background-position:center 67%; }
  .page-contact .contact-intro-simple::after {
    background:linear-gradient(180deg,rgba(250,248,243,.97) 0%,rgba(250,248,243,.91) 33%,rgba(250,248,243,.56) 61%,rgba(250,248,243,.09) 100%),linear-gradient(90deg,rgba(250,248,243,.35),rgba(250,248,243,0));
  }
  .page-contact .contact-intro-simple .page-title { transform:translateY(-125px); font-size:clamp(40px,10vw,58px); line-height:1.11; }
  .page-contact .contact-details-panel { padding:45px 22px 70px; }
  .page-contact .contact-details-panel .contact-details { grid-template-columns:minmax(0,1fr); gap:0; }
  .page-contact .contact-details-panel .contact-detail { padding:18px 0 19px; }
  .page-contact .contact-details-panel .contact-detail-value { font-size:18px; }
  .page-about .about-hero-image img {
    -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%);
    mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%);
  }
  .site-footer .footer-headline, .page-contact .site-footer .footer-statement {
    font-size:clamp(38px,9.2vw,52px); line-height:1.17;
  }
}

/* V65: seamless About portrait on one continuous pale sage backdrop */
/* One undivided background from title to portrait, blend light studio backdrop into the base. */
.page-about .about-hero {
  background-color: #e3e9e0 !important;
  background-image: none !important;
  isolation: isolate;
}
.page-about .about-hero-copy,
.page-about .about-hero-image {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  border: 0 !important;
}
.page-about .about-hero-image { overflow: hidden; isolation: auto; }
.page-about .about-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  mix-blend-mode: multiply !important;
  filter: brightness(1.075) contrast(1.01) saturate(.96) !important;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.24) 4%, rgba(0,0,0,.88) 13%, #000 21%);
  mask-image: linear-gradient(90deg, transparent 0%, rgba(0,0,0,.24) 4%, rgba(0,0,0,.88) 13%, #000 21%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
@media (max-width: 650px) {
  .page-about .about-hero { background: #e3e9e0 !important; }
  .page-about .about-hero-image img {
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.68) 8%, #000 16%);
    mask-image: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.68) 8%, #000 16%);
  }
}

/* V66: actual transparent portrait cutout; no synthetic blending, no grey photographic rectangle */
/* Use the real transparent PNG. It contains no studio backdrop to darken the pale sage canvas. */
.page-about .about-hero {
  background:#e3e9e0!important;
  background-image:none!important;
}
.page-about .about-hero-copy, .page-about .about-hero-image {
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
}
.page-about .about-hero-image { isolation:auto!important; }
.page-about .about-hero-image img {
  mix-blend-mode:normal!important;
  filter:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  opacity:1!important;
  background:transparent!important;
  display:block;
  object-fit:cover;
  object-position:center 22%;
}
@media(max-width:650px){
  .page-about .about-hero {background:#e3e9e0!important;}
  .page-about .about-hero-image img {
    mix-blend-mode:normal!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
    object-fit:cover;
    object-position:center 22%;
  }
}

/* V67: Contact photo-only seamless left-edge fade */
/* Only the left edge of the EXISTING photograph is masked; the photo size,
   position, text, original gradient, links, and all other styling stay untouched. */
@media (min-width: 651px) {
  .page-contact .contact-intro-simple::before {
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.07) 11%, rgba(0,0,0,.26) 23%, rgba(0,0,0,.58) 38%, rgba(0,0,0,.88) 53%, #000 67%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.07) 11%, rgba(0,0,0,.26) 23%, rgba(0,0,0,.58) 38%, rgba(0,0,0,.88) 53%, #000 67%);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
  }
}
/* Mobile already uses its own vertical full-image blend: preserve that composition. */

/* V68: Contact Hero 75-percent photograph, 25-percent cream with seamless fade */
/* Desktop/tablet only: allow the existing image to cover 75% of the hero.
   Keep a real cream quarter at left; blend through the shared edge. */
@media (min-width: 651px) {
  .page-contact .contact-intro-simple::before {
    width: 75%;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.30) 7%, rgba(0,0,0,.72) 15%, rgba(0,0,0,.94) 23%, #000 30%);
    mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.30) 7%, rgba(0,0,0,.72) 15%, rgba(0,0,0,.94) 23%, #000 30%);
  }
  .page-contact .contact-intro-simple::after {
    background: linear-gradient(90deg, rgba(250,248,243,1) 0%, rgba(250,248,243,1) 19%, rgba(250,248,243,.88) 25%, rgba(250,248,243,.49) 32%, rgba(250,248,243,.13) 40%, rgba(250,248,243,0) 48%);
  }
}

/* V69: quiet luxury founder strip + pastel rose + non-pink punctuation */
/* Home — Behind the Vision: inspired by a quiet luxury founder/editorial introduction.
   Preserve the existing image, texts, links and font families while giving them air. */
.page-home .about-strip {
  background: #faf8f5 !important;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.35fr);
  align-items: center;
  justify-content: center;
  column-gap: clamp(48px, 6.6vw, 112px);
  min-height: 0;
  padding: clamp(74px, 7.1vw, 110px) max(var(--gutter), calc((100vw - 1320px)/2));
}
.page-home .about-strip-photo {
  width: min(100%, 350px);
  aspect-ratio: 3 / 4;
  height: auto;
  min-height: 0;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 0;
  background: transparent;
  align-self: center;
}
.page-home .about-strip-photo img {
  display: block;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center 35%;
  filter: saturate(.91) contrast(.99);
}
.page-home .about-strip-copy {
  min-width: 0;
  max-width: 705px;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  background: transparent;
}
.page-home .about-strip-copy .section-label {
  color: #a8969b;
  font-size: 10px;
  letter-spacing: .18em;
}
.page-home .about-strip-copy h2 {
  margin: clamp(19px, 2.35vw, 33px) 0 20px;
  font-size: clamp(42px, 4.6vw, 69px);
  line-height: 1.15;
  letter-spacing: -.052em;
}
.page-home .about-strip-copy .intro-paragraph {
  max-width: 570px;
  margin: 0;
  color: #63706f;
  line-height: 1.82;
}
.page-home .about-strip-copy .intro-hello {
  display: block;
  margin-bottom: 14px;
  font-size: clamp(30px, 3vw, 42px);
  color: #294a5e;
}
.page-home .about-strip-copy .intro-description { display: block; }
.page-home .about-strip-copy .btn {
  margin-top: clamp(24px, 3vw, 36px);
}
/* Retain the typeface and all copy, but never use rose for terminal dots. */
.hero-dot, .tiny-period { color: inherit !important; }
.page-home .hero-title .period,
.page-home .hero .period { color: inherit !important; }
/* The About keyword highlight is now blush, not bright baby pink. */
.page-about .about-hero .pink-highlight { background: #eacdd0; }
@media(max-width: 1050px){
  .page-home .about-strip {
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
    column-gap: clamp(32px, 4.4vw, 54px);
    padding: 64px var(--gutter);
  }
  .page-home .about-strip-photo { width: min(100%, 310px); }
  .page-home .about-strip-copy h2 { font-size: clamp(39px, 4.8vw, 57px); }
}
@media(max-width: 650px){
  .page-home .about-strip {
    grid-template-columns: minmax(0,1fr);
    row-gap: 38px;
    padding: 65px 22px 76px;
    min-height: 0;
  }
  .page-home .about-strip-photo {
    width: min(100%, 320px);
    height: auto;
    min-height: 0;
    aspect-ratio: 3 / 4;
    margin: 0 auto;
  }
  .page-home .about-strip-copy { max-width: 540px; margin: 0 auto; width: 100%; padding: 0; }
  .page-home .about-strip-copy h2 { font-size: clamp(39px, 9vw, 54px); margin: 20px 0 16px; }
  .page-home .about-strip-copy .intro-hello { font-size: 34px; margin-bottom: 14px; }
  .page-home .about-strip-copy .intro-description { font-size: 15px; line-height: 1.75; }
}

/* V70: unified quiet-luxury editorial palette, typography and light closing sections */
/* All pages: two airy tones. Photographic Home, Contact, About and case-study hero compositions are preserved. */
:root { --quiet-ivory:#faf8f5; --quiet-white:#f9fafb; --quiet-ink:#2d3b3e; --quiet-line:#e7e3e1; }
body.theme-light { background:var(--quiet-white); }
.page-home .manifesto, .page-home .expertise-preview { background:var(--quiet-white)!important; }
.page-home .work-intro, .page-home .category-spotlight, .page-home .see-all { background:var(--quiet-ivory)!important; }
.page-work .work-hero, .page-expertise .expertise-hero { background:var(--quiet-ivory)!important; }
.page-work .collections-band, .page-work .category-list { background:var(--quiet-white)!important; }
.page-work .all-work { background:var(--quiet-ivory)!important; }
.page-expertise .expertise-overview { background:var(--quiet-white)!important; }
.page-expertise .expertise-tile { background:var(--quiet-ivory)!important; border-color:var(--quiet-line)!important; }
.page-expertise .collab-callout { background:var(--quiet-ivory)!important; }
.page-expertise .collab-cards > div { border-color:#dbd7d4!important; }
.page-about .about-editorial { background:var(--quiet-white)!important; }
.page-about .about-values { background:var(--quiet-ivory)!important; }
/* Do not change the About cutout backing or Contact photograph and its edge mask. */
.page-about .about-hero { background:#e3e9e0!important; }
.page-contact .contact-details-panel { background:var(--quiet-white)!important; }
.page-project .project-overview { background:var(--quiet-white)!important; }
.page-project .project-gallery { background:var(--quiet-ivory)!important; }
.page-project .project-next { background:var(--quiet-white)!important; }
/* Typography: editorial but intentionally less oversized, existing fonts and italics unchanged. */
body.theme-light .display-title { font-size:clamp(38px,4.35vw,55px)!important; line-height:1.19; letter-spacing:-.046em; }
.page-home .hero-title { font-size:clamp(60px,4.85vw,78px)!important; line-height:1.10; }
.page-home .about-strip-copy h2 { font-size:clamp(38px,4.35vw,55px)!important; }
.page-home .about-strip-copy .intro-hello { font-size:clamp(27px,2.7vw,37px)!important; }
.page-home .manifesto h2 { font-size:clamp(40px,4.35vw,56px)!important; line-height:1.22; }
.page-home .work-intro .section-heading-split h2 { font-size:clamp(38px,4.35vw,55px)!important; }
.page-work .work-hero .page-title, .page-expertise .expertise-hero .page-title {
  font-size:clamp(44px,5vw,72px)!important; line-height:1.10;
}
.page-work .category-hero-content .page-title { font-size:clamp(50px,5.8vw,86px)!important; line-height:1.10; }
.page-project .project-hero h1 { font-size:clamp(51px,6.5vw,94px)!important; line-height:1.09; letter-spacing:-.051em; }
.page-project .next-project h2 { font-size:clamp(37px,4.15vw,55px)!important; }
.page-about .about-hero-copy .page-title { font-size:clamp(37px,4.5vw,68px)!important; }
.page-expertise .collab-callout h2 { font-size:clamp(39px,4.4vw,57px)!important; line-height:1.16; }
.page-contact .contact-intro-simple .page-title { font-size:clamp(60px,5vw,78px)!important; }
/* Remove heavy navy closing banners, retaining original headlines and all existing links. */
body.theme-light .site-footer {
  background:var(--quiet-ivory)!important;
  color:var(--quiet-ink)!important;
  padding:clamp(65px,6.5vw,92px) var(--gutter) clamp(42px,4vw,62px)!important;
  border-top:1px solid var(--quiet-line);
}
body.theme-light .site-footer .footer-top,
body.theme-light .site-footer.footer-classic .footer-top {
  display:flex!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  text-align:center;
  margin:0 auto;
  padding:0!important;
  border:0!important;
  max-width:1140px;
}
body.theme-light .site-footer .footer-top .micro,
body.theme-light .site-footer.footer-classic .footer-top .micro {
  color:#8d8985!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.16em;
}
body.theme-light .site-footer .footer-headline,
body.theme-light .site-footer.footer-classic .footer-headline {
  display:block;
  margin:clamp(14px,2vw,25px) 0 0!important;
  font-size:clamp(38px,4vw,53px)!important;
  font-weight:400;
  line-height:1.2!important;
  letter-spacing:-.045em!important;
  color:var(--quiet-ink)!important;
}
body.theme-light .site-footer .footer-headline em,
body.theme-light .site-footer.footer-classic .footer-headline em { color:#8c9697!important; }
body.theme-light .site-footer .footer-headline svg {
  width:clamp(19px,1.7vw,24px); height:clamp(19px,1.7vw,24px);
  margin-left:10px; vertical-align:middle; stroke-width:1.4;
}
body.theme-light .site-footer .footer-statement {
  margin:0;
  max-width:940px;
  font:400 clamp(37px,4vw,53px)/1.23 var(--heading)!important;
  letter-spacing:-.043em;
  color:var(--quiet-ink)!important;
}
body.theme-light .site-footer .footer-statement span { color:#8c9697!important; }
body.theme-light .site-footer .footer-contact-link {
  display:inline-block;
  align-self:center;
  width:max-content;
  margin-top:clamp(24px,3vw,37px);
  padding:5px 0 7px;
  font:500 11px/1.3 "Manrope",sans-serif;
  letter-spacing:.065em;
  color:#53636a;
  border-bottom:1px solid #a7aaa7;
  transition:color .25s ease,border-color .25s ease;
}
body.theme-light .site-footer .footer-contact-link:hover,
body.theme-light .site-footer .footer-contact-link:focus-visible {
  color:#ae9298;
  border-color:#ae9298;
}
@media (max-width:900px) {
  .page-work .category-hero-content .page-title { font-size:clamp(45px,7.5vw,70px)!important; }
  .page-project .project-hero h1 { font-size:clamp(46px,7.5vw,76px)!important; }
  .page-home .hero-title { font-size:clamp(51px,6.7vw,72px)!important; }
}
@media (max-width:650px) {
  body.theme-light .display-title { font-size:clamp(35px,8.8vw,47px)!important; }
  .page-home .hero-title { font-size:clamp(37px,9.6vw,52px)!important; }
  .page-home .about-strip-copy h2,
  .page-home .work-intro .section-heading-split h2 { font-size:clamp(35px,8.8vw,47px)!important; }
  .page-home .manifesto h2 { font-size:clamp(37px,9.3vw,49px)!important; }
  .page-work .work-hero .page-title, .page-expertise .expertise-hero .page-title {
    font-size:clamp(41px,9.2vw,54px)!important;
  }
  .page-work .category-hero-content .page-title { font-size:clamp(39px,9.5vw,61px)!important; }
  .page-project .project-hero h1 { font-size:clamp(42px,9.7vw,66px)!important; }
  .page-project .next-project h2 { font-size:clamp(35px,8.7vw,47px)!important; }
  .page-about .about-hero-copy .page-title { font-size:clamp(29px,7.7vw,42px)!important; }
  .page-expertise .collab-callout h2 { font-size:clamp(35px,8.7vw,48px)!important; }
  .page-contact .contact-intro-simple .page-title { font-size:clamp(40px,10vw,58px)!important; }
  body.theme-light .site-footer { padding:58px 22px 45px!important; }
  body.theme-light .site-footer .footer-headline,
  body.theme-light .site-footer.footer-classic .footer-headline { font-size:clamp(36px,8.7vw,48px)!important; }
  body.theme-light .site-footer .footer-statement { font-size:clamp(35px,8.1vw,47px)!important; }
}

/* V71: About warm ivory cutout and two blue-grey Work/Expertise intro blocks */
/* About: the same warm ivory as the approved quiet-luxury sections; transparent portrait stays intact. */
body.page-about .about-hero {
  background: #faf8f5 !important;
  background-image: none !important;
}
body.page-about .about-hero .about-hero-copy,
body.page-about .about-hero .about-hero-image {
  background: transparent !important;
  background-image: none !important;
}
/* Both headline lines share the same dark blue; only the word set is pale blue. */
body.page-about .about-hero-copy .page-title,
body.page-about .about-hero-copy .page-title em.about-mindset-line {
  color: #263f50 !important;
}
body.page-about .about-hero .page-title .pink-highlight {
  background: transparent !important;
  box-shadow: none !important;
  color: #829fb0 !important;
  margin-left: .13em;
  padding: 0 !important;
  border: 0 !important;
  text-decoration: none !important;
}
body.page-about .about-hero .page-title .pink-highlight .hero-dot {
  color: #263f50 !important;
}
/* Restore only the original pale blue-grey/sage intro panels; no other section backgrounds change. */
body.page-work .work-hero,
body.page-expertise .expertise-hero {
  background: #e7ebe5 !important;
}

/* V72: refined vertical rhythm across the portfolio, without changing imagery or content */
/* Global: shorten excessive top/bottom blank bands, while retaining editorial breathing room. */
body.theme-light .section-pad {
  padding-top: clamp(57px, 6.4vw, 94px);
  padding-bottom: clamp(57px, 6.4vw, 94px);
}
/* HOME — prevent padded white space accumulating on both sides of Philosophy. */
.page-home .about-strip {
  padding-top: clamp(60px, 6vw, 85px);
  padding-bottom: clamp(60px, 6vw, 85px);
}
.page-home #philosophy.manifesto {
  padding-top: clamp(66px, 6.8vw, 95px);
  padding-bottom: clamp(66px, 6.8vw, 95px);
}
.page-home #philosophy .manifesto-content {
  margin-top: clamp(25px, 3vw, 42px);
}
.page-home .work-intro {
  padding-top: clamp(54px, 5.7vw, 77px);
  padding-bottom: clamp(12px, 2vw, 22px);
}
.page-home .work-intro .section-heading-split {
  margin-top: clamp(20px, 2.6vw, 32px);
}
.page-home .see-all {
  padding-top: clamp(12px, 1.9vw, 22px);
  padding-bottom: clamp(42px, 4.7vw, 67px);
}
.page-home .expertise-preview .expertise-layout {
  margin-top: clamp(31px, 3.6vw, 48px);
}
.page-home .expertise-preview .services-list { margin-top: clamp(23px, 3vw, 38px); }
/* Work/Expertise: compact text-only introduction banners; full-bleed photo heroes untouched. */
body.page-work .work-hero,
body.page-expertise .expertise-hero {
  padding-top: clamp(125px, 10.6vw, 147px) !important;
  padding-bottom: clamp(37px, 4vw, 52px) !important;
}
body.page-work .collections-band {
  padding-top: clamp(53px, 5.3vw, 74px);
  padding-bottom: clamp(55px, 6vw, 88px);
}
body.page-work .collection-grid { margin-top: clamp(30px, 3.7vw, 42px); }
body.page-work .all-work {
  padding-top: clamp(51px, 5vw, 74px);
  padding-bottom: clamp(58px, 6vw, 88px);
}
body.page-work .all-work-heading {
  margin-top: clamp(30px, 3.6vw, 43px);
  margin-bottom: clamp(24px, 2.8vw, 35px);
}
body.page-work .filterbar { margin-bottom: clamp(28px, 3vw, 41px); }
body.page-work .category-list {
  padding-top: clamp(48px, 5.5vw, 75px);
  padding-bottom: clamp(55px, 6vw, 87px);
}
body.page-work .category-grid { margin-top: clamp(30px, 3.7vw, 43px); }
body.page-work .category-next { padding-top: clamp(46px, 5vw, 70px); }
/* Project pages: closer overview, gallery and next-project transitions. Preserve all photo heights. */
body.page-project .project-overview {
  padding-top: clamp(58px, 6.3vw, 89px);
  padding-bottom: clamp(54px, 5.6vw, 80px);
}
body.page-project .project-overview-grid {
  margin-top: clamp(31px, 3.7vw, 47px);
}
body.page-project .project-gallery {
  padding-bottom: clamp(56px, 6vw, 83px);
}
body.page-project .project-next {
  padding-top: clamp(54px, 5.7vw, 78px);
  padding-bottom: clamp(58px, 6vw, 87px);
}
body.page-project .next-project { margin-top: clamp(24px, 2.8vw, 33px); }
body.page-project .next-project h2 { margin-bottom: clamp(19px, 2.3vw, 28px); }
/* About/Expertise: preserve content and portraits; just tune inter-section padding and headings. */
body.page-about .about-editorial-grid {
  margin-top: clamp(34px, 4.2vw, 54px);
}
body.page-about .value-grid {
  margin-top: clamp(36px, 4.2vw, 53px);
}
body.page-expertise .expertise-overview {
  padding-top: clamp(46px, 5vw, 65px);
  padding-bottom: clamp(56px, 5.8vw, 77px);
}
body.page-expertise .expertise-overview-intro { margin-bottom: clamp(25px, 3vw, 35px); }
body.page-expertise .collab-callout h2 {
  margin-top: clamp(22px, 2.6vw, 31px);
  margin-bottom: clamp(32px, 4vw, 49px);
}
/* Contact and closing blocks: keep all existing information and links. */
body.page-contact .contact-details-panel {
  padding-top: clamp(44px, 4.7vw, 66px);
  padding-bottom: clamp(49px, 5.5vw, 78px);
}
body.theme-light .site-footer {
  padding-top: clamp(48px, 5.3vw, 72px) !important;
  padding-bottom: clamp(34px, 3.8vw, 51px) !important;
}
body.theme-light .site-footer .footer-contact-link {
  margin-top: clamp(19px, 2.2vw, 29px);
}
/* Mobile: keep comfortable reading spacing while avoiding double blank gaps. */
@media (max-width: 650px) {
  body.theme-light .section-pad { padding-top: 50px; padding-bottom: 55px; }
  .page-home .about-strip { padding-top: 58px; padding-bottom: 62px; }
  .page-home #philosophy.manifesto { padding-top: 57px; padding-bottom: 60px; }
  .page-home #philosophy .manifesto-content { margin-top: 27px; }
  .page-home .work-intro { padding-top: 51px; padding-bottom: 15px; }
  .page-home .work-intro .section-heading-split { margin-top: 24px; }
  .page-home .see-all { padding-top: 16px; padding-bottom: 53px; }
  body.page-work .work-hero, body.page-expertise .expertise-hero {
    padding-top: 112px !important; padding-bottom: 37px !important;
  }
  body.page-work .collections-band { padding-top: 52px; padding-bottom: 62px; }
  body.page-work .all-work { padding-top: 53px; padding-bottom: 65px; }
  body.page-work .category-list { padding-top: 52px; padding-bottom: 64px; }
  body.page-project .project-overview { padding-top: 56px; padding-bottom: 54px; }
  body.page-project .project-overview-grid { margin-top: 32px; }
  body.page-project .project-gallery { padding-bottom: 60px; }
  body.page-project .project-next { padding-top: 57px; padding-bottom: 68px; }
  body.page-about .about-editorial-grid { margin-top: 34px; }
  body.page-about .value-grid { margin-top: 36px; }
  body.page-expertise .expertise-overview { padding-top: 49px; padding-bottom: 61px; }
  body.page-contact .contact-details-panel { padding-top: 43px; padding-bottom: 58px; }
  body.theme-light .site-footer { padding: 52px 22px 40px !important; }
}

/* V73: uniform About backdrop, charcoal typography, blush hover and equal intro frames */
/* About: one identical cream background behind the portrait and the entire Hero. */
body.page-about .about-hero,
body.page-about .about-hero .about-hero-copy,
body.page-about .about-hero .about-hero-image {
  background-color:#faf8f5!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
}
body.page-about .about-hero::before,body.page-about .about-hero::after,
body.page-about .about-hero .about-hero-image::before,
body.page-about .about-hero .about-hero-image::after {
  content:none!important;display:none!important;
}
body.page-about .about-hero .about-hero-image {isolation:auto!important;}
body.page-about .about-hero .about-hero-image img {
  background:transparent!important;
  mix-blend-mode:normal!important;
  filter:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  opacity:1!important;
}
/* Dark navy headline and primary text now use Home hero charcoal. */
body.theme-light {color:#262626;}
body.theme-light :is(.display-title,.page-title,.intro-hello,.section-heading-split h2,
 .manifesto h2,.expertise-layout h2,.services-list strong,
 .collection-foot h2,.tile-meta h3,.all-work-heading h2,
 .about-editorial h2,.about-values h3,
 .project-overview h2,.project-next h2,.service-info h2,
 .expertise-overview-intro h2,.expertise-tile h3,
 .collab-callout h2,.category-spotlight-category,
 .category-spotlight-card,.contact-detail-value) {color:#262626!important;}
body.theme-light .site-header .brand-name,
body.theme-light .site-header .brand-stroke,
body.theme-light .site-header .nav-link {color:#262626!important;}
body.theme-light .site-footer .footer-headline,
body.theme-light .site-footer.footer-classic .footer-headline,
body.theme-light .site-footer .footer-statement {color:#262626!important;}
.page-home .about-strip-copy .intro-hello,
.page-home .work-intro .section-heading-split h2,
.page-home .category-spotlight-category {color:#262626!important;}
body.page-about .about-hero-copy .page-title,
body.page-about .about-hero-copy .page-title em.about-mindset-line {color:#262626!important;}
/* Retain the intentionally light-blue set and its non-pink period. */
body.page-about .about-hero .page-title .pink-highlight {
  color:#829fb0!important;background:transparent!important;
}
body.page-about .about-hero .page-title .pink-highlight .hero-dot {color:#262626!important;}
/* Blush-pink feedback on clickable buttons and rounded arrows only on hover/focus. */
:root {--quiet-hover-blush:#eacdd0;}
body.theme-light .btn:hover,body.theme-light .btn:focus-visible,
body.theme-light .quiet-link:hover,body.theme-light .quiet-link:focus-visible,
body.theme-light .underlined-link:hover,body.theme-light .underlined-link:focus-visible,
body.theme-light .round-arrow:hover,body.theme-light .round-arrow:focus-visible,
body.theme-light .filter-btn:hover,body.theme-light .filter-btn:focus-visible,
body.theme-light .back-link:hover,body.theme-light .back-link:focus-visible,
body.theme-light .category-spotlight-arrow:hover,
body.theme-light .category-spotlight-arrow:focus-visible {
  background:var(--quiet-hover-blush)!important;
  color:#262626!important;
  border-color:var(--quiet-hover-blush)!important;
  transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
body.page-home .hero-actions .quiet-link:hover,
body.page-home .hero-actions .quiet-link:focus-visible {
  background:var(--quiet-hover-blush)!important;
  color:#262626!important;
  border-bottom-color:var(--quiet-hover-blush)!important;
}
body.theme-light .collection-card:hover>svg,
body.theme-light .collection-card:focus-visible>svg,
body.theme-light .project-tile:hover>svg,
body.theme-light .project-tile:focus-visible>svg,
body.theme-light .project-tile:hover .tile-arrow,
body.theme-light .project-tile:focus-visible .tile-arrow,
body.theme-light .project-tile:hover .tile-explore,
body.theme-light .project-tile:focus-visible .tile-explore,
body.theme-light .collection-card:hover .collection-foot>span:last-child {
  background:var(--quiet-hover-blush)!important;
  color:#262626!important;
  border-color:var(--quiet-hover-blush)!important;
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
body.theme-light .site-footer .footer-headline:hover svg,
body.theme-light .site-footer .footer-headline:focus-visible svg {
  color:#262626!important;
  background:var(--quiet-hover-blush)!important;
  border-radius:50%;
  transition:background .25s ease,color .25s ease;
}
/* Matched fixed height and spacing for the two blue-grey editorial intro blocks. */
body.page-work .work-hero,body.page-expertise .expertise-hero {
  height:410px!important;min-height:410px!important;
  max-height:none;box-sizing:border-box;
  padding:112px 24px 32px!important;
  display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  text-align:center;background:#e7ebe5!important;
}
body.page-work .work-hero .page-title,
body.page-expertise .expertise-hero .page-title {margin:0 auto!important;}
body.page-work .work-hero .page-hero-tail {
  width:100%;margin:14px auto 0!important;
}
@media(max-width:650px){
 body.page-work .work-hero,body.page-expertise .expertise-hero {
   height:375px!important;min-height:375px!important;
   padding:100px 22px 24px!important;
 }
 body.page-work .work-hero .page-hero-tail {margin-top:12px!important;}
}

/* V74: preserve the white typography on photographic project category heroes */
/* Charcoal is for light content backgrounds only. Titles on photographic banners remain white. */
body.page-work .category-hero .page-title {color:#fff!important;}
body.page-work .category-hero .page-title em {color:#d6decc!important;}
body.page-work .category-hero .page-title .hero-dot {color:inherit!important;}
body.page-project .project-hero h1 {color:#fff!important;}

/* V76: white navigation bars on Work and Expertise, original intro panels restored */
/* The white belongs to the header containing the brand and the navigation, NOT the page heading. */
body.page-work .site-header,
body.page-expertise .site-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* V77: one unbroken pure-white header and intro on top-level Work and Expertise */
/* User-requested correction: the logo/navigation strip AND the heading panel are the SAME white. */
body.page-work .site-header,
body.page-expertise .site-header,
body.page-work .work-hero,
body.page-expertise .expertise-hero {
  background:#ffffff!important;
  background-color:#ffffff!important;
  background-image:none!important;
  box-shadow:none!important;
}
/* Avoid a horizontal seam where the header meets the title section. */
body.page-work .site-header,
body.page-expertise .site-header {
  border-bottom:0!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
body.page-work .work-hero::before,
body.page-work .work-hero::after,
body.page-expertise .expertise-hero::before,
body.page-expertise .expertise-hero::after {
  content:none!important;
  display:none!important;
}

/* V78: white header, pale blue-grey title block, white content below */
/* Only Work and Expertise: exact same white above and below the softly tinted heading block. */
body.page-work .site-header,
body.page-expertise .site-header {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  border-bottom: 0 !important;
}
body.page-work .work-hero,
body.page-expertise .expertise-hero {
  background: #e7ebe5 !important;
  background-color: #e7ebe5 !important;
  background-image: none !important;
}
body.page-work .collections-band,
body.page-expertise .expertise-overview {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* V79: mind and set form a single unspaced word */
body.page-about .about-hero .page-title .pink-highlight {
  margin-left: 0 !important;
  padding-left: 0 !important;
  letter-spacing: inherit;
}

/* V80: Home selected-work to practice refined vertical gap */
/* Reduce accumulated empty space between Explore All Projects and The Practice,
   while retaining section boundaries, cards and editorial proportions. */
body.page-home .see-all {
  padding-bottom: clamp(18px, 2.1vw, 28px) !important;
}
body.page-home .expertise-preview.section-pad {
  padding-top: clamp(34px, 3.8vw, 52px) !important;
}
body.page-home .expertise-preview .expertise-layout {
  margin-top: clamp(22px, 2.6vw, 34px) !important;
}
@media (max-width: 650px) {
  body.page-home .see-all { padding-bottom: 22px !important; }
  body.page-home .expertise-preview.section-pad { padding-top: 32px !important; }
  body.page-home .expertise-preview .expertise-layout { margin-top: 23px !important; }
}

/* V81: portfolio mobile QA — safe menus, uncropped About portrait, balanced cards and mobile heroes */
/* Full-height mobile navigation must remain scrollable on small-height phones. */
@media (max-width: 900px) {
  body.theme-light .mobile-menu {
    box-sizing: border-box;
    max-height: 100vh;
    max-height: 100dvh;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding-top: clamp(88px, 16svh, 116px);
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }
  body.theme-light .mobile-menu nav { min-width: 0; }
  body.theme-light .mobile-menu .mobile-link {
    gap: 14px;
    align-items: center;
    min-width: 0;
  }
}
@media (max-width: 650px) {
  /* The three-card carousel must fit inside its stage, even at 600–650px. */
  body.page-home .category-spotlight .category-spotlight-card {
    width: min(57%, 288px) !important;
    top: 48% !important;
  }
  body.page-home .category-spotlight .category-spotlight-caption {
    min-width: 0;
    max-width: 100%;
  }
  body.page-home .category-spotlight .category-spotlight-project {
    overflow-wrap: anywhere;
  }
  /* About: show the entire transparent portrait, never crop its sides. */
  body.page-about .about-hero { min-height: 0 !important; }
  body.page-about .about-hero .about-hero-copy {
    padding-top: clamp(66px, 14vw, 88px);
    padding-bottom: clamp(24px, 5vw, 34px);
  }
  body.page-about .about-hero .about-hero-image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1087 / 1447;
  }
  body.page-about .about-hero .about-hero-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
  }
  /* Long headings on photography must wrap without clipping. */
  body.page-work .category-hero-content .page-title,
  body.page-project .project-hero h1 {
    overflow-wrap: break-word;
    max-width: 100%;
  }
  /* Keep photographic category introductions attractive but not unnecessarily tall. */
  body.page-work .category-hero {
    height: clamp(525px, 77svh, 640px) !important;
    min-height: clamp(525px, 77svh, 640px) !important;
  }
  body.page-work .category-hero-content {
    padding-top: 120px;
    padding-bottom: 36px;
  }
  /* Leave more usable vertical room for long case-study titles. */
  body.page-project .project-hero-inner {
    padding-top: clamp(108px, 14vw, 120px);
    padding-bottom: 34px;
  }
  body.theme-light .mobile-menu .mobile-link {
    font-size: clamp(30px, 8.4vw, 39px);
    padding: 10px 0;
  }
}
@media (max-width: 380px) {
  body.page-about .about-hero-copy .page-title {
    font-size: clamp(27px, 8.3vw, 30px) !important;
  }
  body.page-project .project-hero-inner {
    padding-top: 102px;
    padding-bottom: 27px;
  }
  body.theme-light .mobile-menu .mobile-menu-foot { margin-top: 30px; }
}

/* V82: iPhone screenshots — one Work card per row and readable wrap-safe footer */
/* Work index: later desktop 2-column grid must never win on phones. */
@media (max-width: 650px) {
  body.page-work .collections-band .collection-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:clamp(30px,8vw,48px)!important;
    width:100%;
  }
  body.page-work .collections-band .collection-card,
  body.page-work .collections-band .collection-grid .collection-card:last-child {
    display:block!important;
    position:relative!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    grid-column:auto!important;
    margin:0!important;
  }
  body.page-work .collections-band .collection-card .collection-image {
    display:block;
    width:100%!important;
    height:clamp(255px,66vw,380px)!important;
    overflow:hidden;
    position:relative;
  }
  body.page-work .collections-band .collection-card .collection-image img {
    width:100%!important;height:100%!important;
    object-fit:cover!important;
  }
  body.page-work .collections-band .collection-card .collection-foot {
    display:block!important;
    width:100%;
    min-height:0!important;
    box-sizing:border-box;
    padding:17px 54px 10px 0!important;
    margin:0!important;
  }
  body.page-work .collections-band .collection-card .collection-foot h2 {
    display:block;
    max-width:100%;
    margin:0!important;
    font-size:clamp(25px,7vw,32px)!important;
    line-height:1.2!important;
    overflow-wrap:normal;
  }
  body.page-work .collections-band .collection-card .collection-foot p {
    font-size:clamp(13px,3.8vw,15px)!important;
    line-height:1.65!important;
    margin:9px 0 0!important;
    max-width:100%;
  }
  body.page-work .collections-band .collection-card>svg {
    top:auto!important;
    right:0!important;
    bottom:16px!important;
    left:auto!important;
    width:40px!important;height:40px!important;
  }
  /* Shared footer: keep text, italic word and arrow on natural flowing lines. */
  body.theme-light .site-footer.footer-classic .footer-headline {
    display:block!important;
    width:100%;
    max-width:100%;
    white-space:normal!important;
    text-align:center!important;
    font-size:clamp(34px,8.6vw,43px)!important;
    line-height:1.22!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal;
  }
  body.theme-light .site-footer.footer-classic .footer-headline em {
    display:inline!important;
    white-space:nowrap;
    margin-left:.14em;
    letter-spacing:inherit;
  }
  body.theme-light .site-footer.footer-classic .footer-headline>svg {
    display:inline-block!important;
    position:static!important;
    vertical-align:middle!important;
    width:23px!important;height:23px!important;
    margin:0 0 .08em .18em!important;
  }
  body.theme-light .site-footer.footer-classic .footer-top>div {
    min-width:0;
    width:100%;
    max-width:100%;
  }
}
@media (max-width: 380px) {
  body.theme-light .site-footer.footer-classic .footer-headline {
    font-size:clamp(31px,8.1vw,35px)!important;
  }
}

/* V83: accessible minimal bilingual AN | FR language selector */
body.theme-light .desktop-nav { gap:clamp(14px,1.75vw,32px);margin-right:0; }
body.theme-light .desktop-nav .lang-switch {
  display:inline-flex;align-items:center;justify-content:flex-end;
  gap:8px;white-space:nowrap;flex-shrink:0;
  margin-left:clamp(4px,.8vw,14px);
  color:#5e6464;font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(12px,.92vw,15px);font-weight:400;letter-spacing:.05em;
}
body.theme-light .lang-switch a {
  display:inline-flex;align-items:center;justify-content:center;
  min-width:24px;min-height:40px;text-decoration:none;
  color:#8b9191;transition:color .24s ease,opacity .24s ease;
}
body.theme-light .lang-switch a:hover,
body.theme-light .lang-switch a:focus-visible {
  color:#a88b94;text-decoration:none;
}
body.theme-light .lang-switch a[aria-current='true'] {
  color:#262626;font-weight:600;
}
body.theme-light .lang-switch a:focus-visible {
  outline:2px solid #bdadb0;outline-offset:3px;border-radius:3px;
}
body.theme-light .lang-switch>span {color:#b1b1ae;font-weight:400;}
body.theme-light .mobile-menu .mobile-lang-switch {
  display:flex;align-items:center;gap:12px;margin-top:clamp(18px,4svh,32px);
  padding:0 0 12px;color:#797f7f;font-family:'Playfair Display',Georgia,serif;
  font-size:18px;letter-spacing:.08em;
}
body.theme-light .mobile-menu .mobile-lang-switch a {min-width:42px;min-height:44px;}
@media (max-width:900px) {
  body.theme-light .desktop-nav .lang-switch {display:none;}
}
@media (min-width:901px) and (max-width:1140px) {
  body.theme-light .desktop-nav {gap:clamp(10px,1.25vw,19px);}
  body.theme-light .desktop-nav .lang-switch {margin-left:2px;gap:6px;font-size:12px;}
}
/* French copy can wrap but must never push controls outside the viewport. */
@media (max-width:650px){
  html[lang='fr'] .page-title,
  html[lang='fr'] .display-title,
  html[lang='fr'] .footer-headline {overflow-wrap:break-word;}
  html[lang='fr'] .page-home .hero-title .hero-first-line {white-space:normal;}
  html[lang='fr'] .page-work .category-hero-content .page-title {font-size:clamp(37px,9.4vw,48px)!important;}
  html[lang='fr'] .page-expertise .expertise-hero .page-title {font-size:clamp(38px,10vw,54px)!important;}
  html[lang='fr'] .page-about .about-hero-copy .page-title .about-mindset-line {white-space:normal!important;}
}

/* V84: unified project gallery microcopy on smartphones */
@media (max-width: 650px) {
  body.page-project .project-gallery .case-gallery .case-gallery-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: calc(100vw - 32px);
    max-width: 504px;
    margin-left: 50%;
    margin-right: 0;
    margin-bottom: 18px;
    transform: translateX(-50%);
    text-align: center;
  }
  body.page-project .project-gallery .case-gallery .case-gallery-hint {
    font-size: 10px;
    text-align: center;
    max-width: none;
    width: 100%;
  }
  body.page-project .project-gallery .case-gallery .case-gallery-heading > .case-gallery-instruction {
    display: block;
    flex: none;
    width: 100%;
    max-width: none;
    margin: 0;
    font-size: 10px;
    line-height: 1.5;
    text-align: center;
    text-wrap: balance;
  }
}

/* V85: single-photo project gallery editorial three-column layout */
/* Applies only to the four approved Toyota and B&M project pages. */
body.page-project .project-gallery.single-photo-layout .case-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 244px) minmax(0, 1fr);
  column-gap: clamp(16px, 3vw, 46px);
  align-items: start;
  width: 100%;
  max-width: 1022px !important;
  margin-inline: auto;
}
body.page-project .project-gallery.single-photo-layout .case-gallery-heading {
  display: contents !important;
}
body.page-project .project-gallery.single-photo-layout .case-gallery-hint {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  justify-self: center;
  width: 100%;
  max-width: 220px;
  margin: 0;
  text-align: center;
}
body.page-project .project-gallery.single-photo-layout .case-gallery-heading > .case-gallery-instruction {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  justify-self: center;
  width: 100%;
  max-width: 240px;
  margin: 0;
  text-align: center;
  text-wrap: balance;
}
body.page-project .project-gallery.single-photo-layout .case-gallery-grid {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  justify-self: center;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
body.page-project .project-gallery.single-photo-layout .case-gallery-grid .case-gallery-item {
  width: 100%;
  max-width: 244px;
  margin-inline: auto !important;
}
@media (max-width: 650px) {
  body.page-project .project-gallery.single-photo-layout .case-gallery {
    grid-template-columns: minmax(0, 1fr) minmax(0, clamp(118px, 36vw, 190px)) minmax(0, 1fr);
    column-gap: clamp(6px, 2vw, 12px);
    max-width: 100% !important;
  }
  body.page-project .project-gallery.single-photo-layout .case-gallery .case-gallery-hint {
    font-size: 9px;
    line-height: 1.45;
    text-align: center;
    letter-spacing: .08em;
    overflow-wrap: normal;
  }
  body.page-project .project-gallery.single-photo-layout .case-gallery-heading > .case-gallery-instruction {
    font-size: 9px;
    line-height: 1.45;
    text-align: center;
    max-width: none;
    overflow-wrap: normal;
  }
}

/* V87: replace legacy navy clickable accents with approved charcoal and blush */
/* Shared bilingual UI palette. No backgrounds, photographs, layout or copy are changed. */
body.theme-light .btn.btn-dark {
  background-color: #262626 !important;
  color: #faf8f5 !important;
  border-color: #262626 !important;
}
body.theme-light .btn.btn-dark:hover,
body.theme-light .btn.btn-dark:focus-visible {
  background-color: #eacdd0 !important;
  color: #262626 !important;
  border-color: #eacdd0 !important;
}
body.theme-light .btn.btn-outline {
  color: #262626 !important;
  border-color: #8e8782 !important;
}
body.theme-light .btn.btn-outline:hover,
body.theme-light .btn.btn-outline:focus-visible {
  background-color: #eacdd0 !important;
  color: #262626 !important;
  border-color: #eacdd0 !important;
}
body.theme-light .underlined-link,
body.theme-light .collection-card > svg,
body.theme-light .project-tile > svg,
body.theme-light .collection-foot > span:last-child,
body.theme-light .tile-arrow,
body.theme-light .tile-explore {
  color: #262626 !important;
}
body.theme-light .case-gallery-zoom {
  color: #262626 !important;
  border-color: rgba(38,38,38,.15) !important;
}
body.theme-light .round-arrow:hover,
body.theme-light .round-arrow:focus-visible {
  color: #262626 !important;
}
/* All existing dusty-pink hover/focus backgrounds remain intact. */

/* V88: Expertise CTA transparent outline, blush on hover */
/* The same styling applies automatically to the two localized Expertise CTAs only. */
body.theme-light.page-expertise .btn.btn-dark {
  background: transparent !important;
  color: #262626 !important;
  border: 1px solid #8e8782 !important;
}
body.theme-light.page-expertise .btn.btn-dark:hover,
body.theme-light.page-expertise .btn.btn-dark:focus-visible {
  background: #eacdd0 !important;
  color: #262626 !important;
  border-color: #eacdd0 !important;
}
