/* Dark stone bronze framing, quiet ivory paper, and a precise compass cursor. */
:root  {
  --edge-gradient:linear-gradient(112deg,#514e46 0%,#72634f 48%,#474c45 100%)
}
.header,.header.scrolled,.profile-footer,.header nav.open  {
  background:var(--edge-gradient)
}
.header,.header.scrolled  {
  border-color:#e8ddc229;
  box-shadow:0 6px 26px #4b453b16
}
.header nav  {
  margin-left:auto
}
.header nav a,.header nav.open>a  {
  color:#eee8dc
}
.header nav a:hover,.header nav a[aria-current]  {
  color:#e4c698
}
.header nav.open>a:hover  {
  color:#e4c698
}
.menu-toggle  {
  color:#eee8dc
}
.menu-toggle i,.menu-toggle i:after  {
  border-color:#eee8dc
}
.menu-feature figcaption  {
  color:#e6d1af
}
.menu-feature img  {
  border:1px solid #e4d0ab40
}
.header .brand  {
  width:182px
}
.header.scrolled .brand  {
  width:155px
}
.minimal-footer  {
  display:grid;
  grid-template-columns:1fr 1.4fr;
  gap:60px;
  align-items:center;
  padding:48px 6.8vw;
  border-top:1px solid #e4d0ab30;
  color:#eee8dc;
  min-height:185px
}
.minimal-footer>.brand  {
  width:220px;
  height:66px;
  display:block
}
.minimal-footer-pages  {
  display:grid;
  grid-template-columns:repeat(3,max-content);
  justify-content:end;
  gap:20px 48px
}
.minimal-footer-pages>a  {
  font:400 12px var(--sans);
  color:#eee8dc;
  transition:color .3s
}
.minimal-footer-pages>a:hover  {
  color:#e4c698
}
.minimal-footer-pages .visual-credits  {
  font-size:9px;
  color:#c8baa3;
  grid-column:1/-1;
  justify-self:end
}
.office-explorer>.office-times  {
  grid-column:1/-1;
  background:#efeee8;
  margin:12px 0 0;
  padding:25px 30px;
  border:0;
  border-radius:3px;
  gap:25px
}
.site-motion-utility  {
  position:fixed;
  bottom:18px;
  right:20px;
  z-index:80;
  pointer-events:none
}
.site-motion-utility .footer-bottom  {
  border:0;
  padding:0;
  margin:0
}
.site-motion-utility .motion-control  {
  pointer-events:auto;
  border:1px solid #a9a58a65;
  background:#faf9f5e8;
  color:#716148;
  padding:9px 13px;
  border-radius:30px;
  font:10px var(--sans);
  backdrop-filter:blur(8px)
}
.brand-gallery.brand-paper  {
  position:relative;
  background:linear-gradient(140deg,#fffefa,#f7f6ee);
  border:1px solid #d3d3c84a;
  border-radius:3px;
  padding:27px 28px 22px;
  box-shadow:0 20px 50px #3e4d340e,0 3px 8px #3e4d3405;
  overflow:hidden
}
.brand-paper:before  {
  content:'';
  position:absolute;
  inset:9px;
  border:1px solid #d8dbc630;
  pointer-events:none
}
.brand-paper .brand-gallery-label  {
  font:7px var(--sans);
  padding:0 0 15px;
  margin:0;
  border-color:#d3d7c63d;
  letter-spacing:.1em;
  color:#8b947d
}
.paper-heading  {
  padding:21px 0 18px;
  position:relative
}
.paper-heading>span  {
  font:7px var(--sans);
  letter-spacing:.17em;
  color:#8b947d
}
.paper-heading h3  {
  font:400 24px/1.2 var(--serif);
  color:#4b5745;
  margin:12px 0 0
}
.brand-paper .brand-logo-grid  {
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px 9px;
  position:relative
}
.brand-paper .brand-logo-tile  {
  min-height:72px;
  height:72px;
  gap:0;
  border:0;
  border-radius:0;
  padding:10px 5px;
  background:transparent;
  box-shadow:none;
  transition:background .35s
}
.brand-paper .brand-logo-tile:hover  {
  background:#ebeedf75;
  box-shadow:none
}
.brand-paper .brand-logo-tile .logo-mark  {
  width:100%;
  height:49px;
  max-width:112px
}
.brand-paper .brand-logo-tile .logo-mark svg  {
  width:100%!important;
  height:49px!important;
  max-height:49px;
  max-width:112px;
  transition:transform .4s
}
.brand-paper .brand-logo-tile:hover svg  {
  transform:scale(1.035)
}
.brand-paper .brand-tile-name  {
  display:none
}
.brand-paper .gallery-source  {
  font:8px var(--sans);
  padding-top:17px;
  margin-top:16px;
  border-top:1px solid #d3d7c63d;
  color:#8b947d
}
.portfolio-panels article  {
  grid-template-columns:.85fr 1.5fr;
  align-items:start
}
.portfolio-panel-copy  {
  padding-top:20px
}
.signature-cursor  {
  position:fixed;
  left:0;
  top:0;
  width:28px;
  height:28px;
  border:1px solid #aa9471b3;
  border-radius:50%;
  pointer-events:none;
  z-index:150;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translate(-50%,-50%);
  transition:width .3s,height .3s,opacity .25s,background .3s,border-color .3s;
  will-change:left,top
}
.signature-cursor:before  {
  content:'';
  position:absolute;
  inset:-7px;
  border:1px solid transparent;
  border-top-color:#bba480a6;
  border-right-color:#bba480a6;
  border-radius:50%;
  transform:rotate(var(--cursor-angle,0deg));
  transition:transform .25s
}
.signature-cursor:after  {
  content:'';
  height:3px;
  width:3px;
  background:#aa9471;
  border-radius:50%;
  transition:opacity .25s
}
.signature-cursor.is-active  {
  opacity:1
}
.signature-cursor.is-photo,.signature-cursor.is-brand  {
  width:90px;
  height:90px;
  background:#514b40a6;
  border-color:#eadbc5c9;
  backdrop-filter:blur(5px);
  color:#faf9f5
}
.signature-cursor.is-photo:after,.signature-cursor.is-brand:after  {
  opacity:0
}
.signature-cursor-label  {
  position:absolute;
  inset:12px;
  display:grid;
  place-items:center;
  text-align:center;
  font:400 10px/1.4 var(--sans);
  color:#faf9f5;
  opacity:0
}
.signature-cursor.is-photo .signature-cursor-label,.signature-cursor.is-brand .signature-cursor-label  {
  opacity:1
}
.signature-cursor.is-brand  {
  width:105px;
  height:105px
}
.signature-cursor.is-brand .signature-cursor-label  {
  font-size:10px
}
.signature-cursor.is-pressed  {
  border-color:#e5c98f
}
.signature-cursor.is-pressed:before  {
  inset:-12px
}
.photo-cursor  {
  display:none!important
}
.partnership-photo img  {
  object-position:center
}
.stage-photo img[src$="business-people.webp"]  {
  object-position:center 45%
}
.partnership-photo:has(img[src$="business-people.webp"])  {
  border-radius:160px 160px 4px 4px
}
.people-editorial-note  {
  font:9px var(--sans);
  color:#8b947d
}
@media(max-width:1000px)  {
  .minimal-footer  {
    gap:30px;
    grid-template-columns:.8fr 1.2fr
  }
  .minimal-footer-pages  {
    gap:20px 30px
  }
  .brand-paper .brand-logo-grid  {
    grid-template-columns:repeat(4,minmax(0,1fr))
  }
  .brand-paper .brand-logo-tile  {
    height:70px;
    min-height:70px
  }
  .brand-gallery.brand-paper  {
    padding:22px
  }
  .paper-heading h3  {
    font-size:22px
  }
}
@media(max-width:640px)  {
  .header .brand  {
    width:155px;
    height:48px
  }
  .header.scrolled .brand  {
    width:140px;
    height:44px
  }
  .menu-toggle  {
    margin-left:auto
  }
  .minimal-footer  {
    grid-template-columns:1fr;
    padding:35px 6vw;
    gap:28px;
    min-height:0
  }
  .minimal-footer>.brand  {
    width:195px;
    height:59px
  }
  .minimal-footer-pages  {
    justify-content:start;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px 18px;
    font-size:11px
  }
  .minimal-footer-pages>a  {
    font-size:11px
  }
  .minimal-footer-pages .visual-credits  {
    justify-self:start;
    margin-top:4px
  }
  .office-explorer>.office-times  {
    padding:22px;
    gap:20px
  }
  .brand-gallery.brand-paper  {
    padding:22px 18px 18px
  }
  .brand-paper .brand-logo-grid  {
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px 5px
  }
  .brand-paper .brand-logo-tile  {
    height:68px;
    min-height:68px;
    padding:8px 4px
  }
  .brand-paper .brand-logo-tile .logo-mark,.brand-paper .brand-logo-tile .logo-mark svg  {
    height:45px!important;
    max-height:45px;
    max-width:90px
  }
  .brand-paper .brand-gallery-label  {
    font-size:6px;
    line-height:1.5;
    gap:14px
  }
  .paper-heading  {
    padding:20px 0 15px
  }
  .paper-heading h3  {
    font-size:22px
  }
  .brand-paper .gallery-source  {
    font-size:7px;
    line-height:1.6;
    margin-top:12px;
    padding-top:13px
  }
  .site-motion-utility  {
    bottom:12px;
    right:12px
  }
  .site-motion-utility .motion-control  {
    font-size:9px;
    padding:8px 11px
  }
  .signature-cursor  {
    display:none
  }
}
@media(prefers-reduced-motion:reduce)  {
  .signature-cursor  {
    display:none
  }
  .brand-paper .brand-logo-tile svg  {
    transition:none
  }
}
.motion-paused .signature-cursor  {
  display:none
}
/* Compact contact composition. Replace demo values and social buttons with verified links. */
.minimal-footer  {
  grid-template-columns:.9fr 1fr 1.35fr;
  gap:40px;
  padding-top:38px;
  padding-bottom:38px
}
.minimal-footer-pages  {
  gap:18px 30px;
  grid-template-columns:repeat(2,max-content)
}
.footer-contact-demo  {
  display:grid;
  gap:8px;
  color:#eee8dc;
  font:12px/1.5 var(--sans);
  order:1;
  justify-self:end
}
.footer-contact-demo .footer-email {
  color:inherit;
  text-decoration:none;
}
.footer-contact-demo .footer-email:hover {
  text-decoration:underline;
  text-underline-offset:4px;
}
.demo-label  {
  color:#d6c09e;
  font-size:8px;
  letter-spacing:.17em
}
.footer-socials  {
  display:flex;
  gap:8px;
  margin-top:5px
}
.social-placeholder  {
  height:33px;
  width:33px;
  border:1px solid #e4d0ab45;
  border-radius:50%;
  background:transparent;
  color:#eee8dc;
  display:grid;
  place-items:center;
  transition:background .35s,transform .35s,border-color .35s;
  cursor:default
}
.social-placeholder svg  {
  height:15px;
  width:15px
}
.social-placeholder:hover  {
  background:#e4d0ab18;
  border-color:#e4d0ab;
  transform:translateY(-3px)
}
.social-placeholder:focus-visible  {
  outline:2px solid #e4d0ab;
  outline-offset:4px
}
.composition-reveal>*  {
  opacity:0;
  transform:translateY(25px);
  transition:opacity .85s var(--arrival-delay,0ms),transform 1s cubic-bezier(.2,.65,.2,1) var(--arrival-delay,0ms)
}
.composition-reveal.composition-seen>*  {
  opacity:1;
  transform:translateY(0)
}
.category-thumb  {
  position:relative;
  transition:transform .6s cubic-bezier(.2,.65,.2,1)
}
.category-thumb:hover  {
  transform:translateY(-9px)
}
.category-thumb-photo:after,.partnership-photo:after  {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#fff5df26,transparent 65%);
  opacity:0;
  pointer-events:none;
  transition:opacity .6s
}
.category-thumb:hover .category-thumb-photo:after,.partnership-photo:hover:after  {
  opacity:1
}
.partnership-photo  {
  position:relative;
  overflow:hidden
}
.partnership-photo img  {
  transition:transform 1.2s cubic-bezier(.2,.65,.2,1)
}
.partnership-photo:hover img  {
  transform:scale(1.045)
}
.brand-paper:hover  {
  box-shadow:0 20px 60px #514c4012
}
.brand-paper:after  {
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#dfd3b614,transparent 55%);
  pointer-events:none;
  opacity:0;
  transition:opacity .5s
}
.brand-paper:hover:after  {
  opacity:1
}
.process-stage.is-current .stage-number  {
  text-shadow:0 0 28px #d9c6a180;
  transition:text-shadow .7s
}
.header nav.open>a  {
  animation:menu-link-arrival .65s both
}
.header nav.open>a:nth-child(2) {
  animation-delay:.06s
}
.header nav.open>a:nth-child(3) {
  animation-delay:.12s
}
.header nav.open>a:nth-child(4) {
  animation-delay:.18s
}
.header nav.open>a:nth-child(5) {
  animation-delay:.24s
}
.header nav.open>a:nth-child(6) {
  animation-delay:.3s
}
@keyframes menu-link-arrival  {
  from {
    opacity:0;
    transform:translateY(18px)
  }
  to {
    opacity:1;
    transform:translateY(0)
  }
}
.brand-market-story  {
  padding-top:100px
}
@media(max-width:1000px) {
  .minimal-footer {
    grid-template-columns:.8fr 1fr 1fr;
    gap:25px
  }
  .minimal-footer>.brand {
    width:170px
  }
  .minimal-footer-pages {
    gap:16px 20px
  }
}
@media(max-width:640px) {
  .minimal-footer {
    grid-template-columns:1fr 1fr;
    gap:26px;
    padding:32px 6.8vw
  }
  .minimal-footer>.brand {
    grid-column:1/-1;
    width:180px;
    height:48px
  }
  .footer-contact-demo {
    justify-self:start;
    order:0;
    font-size:10px
  }
  .minimal-footer-pages {
    gap:16px;
    font-size:10px;
    justify-content:start
  }
  .minimal-footer-pages>a {
    font-size:10px
  }
  .brand-market-story {
    padding-top:60px
  }
  .category-thumb:hover {
    transform:none
  }
}
@media(prefers-reduced-motion:reduce) {
  .composition-reveal>* {
    opacity:1;
    transform:none;
    transition:none
  }
  .header nav.open>a {
    animation:none
  }
  .category-thumb,.partnership-photo img,.social-placeholder {
    transition:none
  }
  .category-thumb:hover,.partnership-photo:hover img,.social-placeholder:hover {
    transform:none
  }
}
.motion-paused .composition-reveal>* {
  opacity:1;
  transform:none;
  transition:none
}
.office-photo-credit {
  display:block;
  font:8px/1.5 var(--sans);
  margin-top:10px;
  color:#f4ead7
}
.office-photo-credit a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px
}

/* The Develop photograph favours the skyline and warm reflections in its tall crop. */
#process-develop .stage-photo img {object-position:40% 50%;filter:none}

/* A slightly larger official mark throughout the header. */
.header .brand {width:244px;height:75px}
.header.scrolled .brand {width:206px;height:64px}
@media(max-width:1000px){.header .brand{width:212px;height:66px}.header.scrolled .brand{width:196px;height:61px}}
@media(max-width:640px){.header .brand,.header.scrolled .brand{width:198px;height:61px}}
@media(max-width:1100px){.header .menu-toggle{margin-left:auto}}
