/* Portfolio design-system review. Shared elements only. 2026-11-01.
   The original content, photography, testimonial timing and page bodies are intact. */
:root {
  --z-ivory: #faf6ef;
  --z-charcoal: #342f2e;
  --z-taupe: #9a8376;
  --z-copper: #b08b78;
  --z-whiskey: #715952;
  --z-gash: #a10b2a;
  --z-text: #37312e;
  --z-body-size: 18px;
  --z-button-width: 200px;
  --z-button-height: 50px;
  --z-button-radius: 12px;
}
html { scroll-behavior: smooth; }
body { font-family: Georgia, 'Times New Roman', serif !important; }
/* The masthead is shared by all pages. No page-specific positioning. */
.site-header--shared,
.site-header--shared.site-header,
.site-header--shared.masthead {
  box-sizing:border-box !important; margin:0 !important; padding:0 !important;
  min-height:124px !important; height:124px !important;
  max-width:100vw !important; width:100vw !important;
  display:block !important; position:relative !important; left:50% !important;
  transform:translateX(-50%) !important;
  background: transparent !important; border:0 !important;
  z-index:50 !important;
}
.site-header--shared::before {display:none !important;}
.site-header--shared::after {
  content:'' !important; display:block !important;
  position:absolute !important; top:100px !important;
  left:max(24px, calc((100% - 1250px)/2 + 78px)) !important;
  right:max(24px, calc((100% - 1250px)/2 + 18px)) !important;
  height:1px !important;
  background:linear-gradient(to right,rgba(151,13,39,.48),rgba(151,13,39,.68) 76%,rgba(151,13,39,.18)) !important;
  pointer-events:none;
}
.site-header--shared .site-header__inner {
  max-width:1250px !important; padding:0 30px !important;
  margin:0 auto !important; height:100% !important;
  box-sizing:border-box !important;
  position:relative !important; display:flex !important;
  justify-content:space-between !important; align-items:flex-start !important;
  gap:20px !important;
}
.site-header--shared .site-header__brand {
  flex:0 0 86px !important; width:86px !important; height:99px !important;
  display:flex !important; margin:0 !important; padding:0 !important;
  align-items:flex-start !important; justify-content:flex-start !important;
  text-decoration:none !important; background:transparent !important;
  border:0 !important; position:relative !important; z-index:2 !important;
}
.site-header--shared .site-header__brand img {
  display:block !important; width:86px !important; height:99px !important;
  max-width:86px !important; object-fit:contain !important;
}
.site-header--shared .site-header__nav,
.site-header--shared nav.site-header__nav {
  display:flex !important; align-items:stretch !important;
  justify-content:flex-end !important; gap:7px !important;
  position:relative !important; right:auto !important; left:auto !important; top:auto !important;
  width:auto !important; margin:37px 0 0 !important; padding:0 !important;
  height:63px !important; flex-shrink:0 !important;
  background:none !important; box-shadow:none !important;
}
.site-header--shared .site-header__tab,
.site-header--shared .site-header__nav a {
  position:relative !important; margin:0 !important; padding:12px 14px 14px !important;
  display:inline-flex !important; justify-content:center !important; align-items:flex-start !important;
  height:63px !important; box-sizing:border-box !important;
  font: normal 15px/1.45 Georgia, 'Times New Roman', serif !important;
  text-transform:none !important; letter-spacing:.015em !important;
  color:#49413c !important; background:transparent !important;
  text-decoration:none !important; border:1px solid transparent !important;
  border-bottom:0 !important; border-radius:11px 11px 0 0 !important;
  white-space:nowrap !important; transition:background-color .15s ease,color .15s ease !important;
}
.site-header--shared .site-header__tab:hover {background:rgba(184,161,148,.12) !important; color:#7e1a30 !important;}
.site-header--shared .site-header__tab.active,
.site-header--shared .site-header__tab[aria-current="page"] {
  color:var(--z-gash) !important;
  background:linear-gradient(180deg,rgba(192,167,149,.055),rgba(166,132,117,.15)) !important;
  border-color:rgba(148,101,84,.19) !important;
  box-shadow: inset 0 -2.5px 0 var(--z-gash) !important;
  font-weight:600 !important;
}
.site-header--shared .site-header__tab::after,.site-header--shared .site-header__tab::before {
  display:none !important;content:none !important;
}
.site-header--shared .site-header__star {
  position:absolute !important; right:25px !important; top:94px !important;
  font-size:11px !important;line-height:1 !important; color:var(--z-gash) !important;
  z-index:3 !important; transform:none !important; pointer-events:none !important;
}
.site-header--shared .site-header__tab:focus-visible,
a.site-button:focus-visible { outline:2px solid var(--z-gash) !important; outline-offset:3px !important; }
/* Fixed tab widths prevent active font weight from moving adjacent tabs. */
.site-header--shared .site-header__tab:nth-child(1){width:76px !important;min-width:76px !important;}
.site-header--shared .site-header__tab:nth-child(2){width:160px !important;min-width:160px !important;}
.site-header--shared .site-header__tab:nth-child(3){width:78px !important;min-width:78px !important;}
.site-header--shared .site-header__tab:nth-child(4){width:86px !important;min-width:86px !important;}
/* Recurring action buttons deliberately share exact shape, size and type. */
a.site-button,a.site-button:link,a.site-button:visited {
  box-sizing:border-box !important;
  display:inline-flex !important; justify-content:center !important;align-items:center !important;
  flex:0 0 var(--z-button-width) !important;
  width:var(--z-button-width) !important; min-width:var(--z-button-width) !important;
  max-width:var(--z-button-width) !important;
  height:var(--z-button-height) !important; min-height:var(--z-button-height) !important;
  max-height:var(--z-button-height) !important;
  padding:8px 14px !important; margin:0 !important;
  border-radius:var(--z-button-radius) !important;
  border:1px solid rgba(202,177,161,.58) !important;
  background:
    radial-gradient(ellipse at 0% 0%,rgba(195,153,127,.30),transparent 75%),
    radial-gradient(ellipse at 100% 95%,rgba(153,30,52,.19),transparent 72%),
    linear-gradient(130deg,#534c48,#342f30 60%,#6f5c55) !important;
  color:#fff9f4 !important; opacity:1 !important;
  text-align:center !important;text-decoration:none !important;
  font: normal 15px/1.16 Georgia,'Times New Roman',serif !important;
  letter-spacing:0 !important;text-transform:none !important;
  text-shadow:none !important;
  box-shadow:0 4px 15px rgba(51,40,38,.15) !important;
  overflow:hidden !important; isolation:isolate !important;
  gap:6px !important; vertical-align:middle !important;
  position:relative !important; transform:none;
  transition:transform .16s ease,box-shadow .16s ease !important;
}
a.site-button:hover,a.site-button:focus-visible {
  transform:translateY(-2px) !important;
  box-shadow:0 7px 18px rgba(51,40,38,.21) !important;
}
a.site-button::before,a.site-button::after{display:none !important;content:none !important;}
a.site-button > *:not(span){display:none !important;}
a.site-button span{position:static !important;margin:0 !important;padding:0 !important;
  font:inherit !important;color:inherit !important;line-height:inherit !important;
  text-shadow:none !important;letter-spacing:inherit !important;
}
a.site-button span[aria-hidden="true"]{font-size:16px !important;}
a.site-button--taupe {
  background:linear-gradient(130deg,#9b8172,#766257 58%,#ac8a7b) !important;
  border-color:rgba(91,69,60,.33) !important;
}
a.site-button--gash {
  background:linear-gradient(130deg,#684d4e,#4b363d 57%,#941e39) !important;
}
/* Core page prose is legible and coherent; headings retain their own scale. */
main .prose p, main .prose > section li,
main .projects .project-entry p,
main > .content > p.intro,
main .contact-details p,
main .hero-description {
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:var(--z-body-size) !important;
  line-height:1.62 !important;
  font-weight:400 !important;
}
/* Breadcrumbs, index links, graphic labels, footer, and testimonial quotes retain their roles. */
@media(max-width:740px){
  .site-header--shared,.site-header--shared.site-header,.site-header--shared.masthead{height:111px !important;min-height:111px !important;}
  .site-header--shared .site-header__inner {padding:0 16px !important;gap:5px !important;}
  .site-header--shared .site-header__brand {flex-basis:61px !important;width:61px !important;height:82px !important;}
  .site-header--shared .site-header__brand img {width:61px !important;max-width:61px !important;height:82px !important;}
  .site-header--shared .site-header__nav,.site-header--shared nav.site-header__nav {
    height:54px !important;gap:0 !important; margin-top:27px !important;
    flex:0 1 auto !important;min-width:0 !important;}
  .site-header--shared .site-header__tab,.site-header--shared .site-header__nav a {
    height:54px !important;padding:9px 6px 11px !important;
    font-size:clamp(10px,2.45vw,13px) !important;
  }
  .site-header--shared::after{left:72px !important;right:15px !important;top:81px !important;}
  .site-header--shared .site-header__star{right:17px !important;top:76px !important;font-size:9px !important;}
  .site-header--shared .site-header__tab:nth-child(1){width:43px !important;min-width:43px !important;}
  .site-header--shared .site-header__tab:nth-child(2){width:115px !important;min-width:115px !important;}
  .site-header--shared .site-header__tab:nth-child(3){width:45px !important;min-width:45px !important;}
  .site-header--shared .site-header__tab:nth-child(4){width:59px !important;min-width:59px !important;}
  :root{--z-button-width:200px;--z-button-height:50px;}
}
@media(max-width:365px){.site-header--shared .site-header__tab,.site-header--shared .site-header__nav a {padding-inline:4px !important;font-size:10px !important;}}
@media(prefers-reduced-motion: reduce){a.site-button,.site-header--shared .site-header__tab{transition:none !important}}

/* Explicitly prioritize the approved compact geometry over page-specific legacy button styles. */
a.site-button,a.site-button:link,a.site-button:visited{white-space:normal!important;line-height:1.14!important;}
/* Prevent legacy responsive button overrides from shrinking the approved buttons. */
@media(max-width:600px){a.site-button,a.site-button:link,a.site-button:visited{
 width:200px!important;min-width:200px!important;max-width:200px!important;
 height:50px!important;min-height:50px!important;max-height:50px!important;flex-basis:200px!important;
 font-size:15px!important;}}

/* Final narrow-phone QA: prevent primary navigation overlapping the LZ monogram. */
@media(max-width:365px){
 .site-header--shared .site-header__inner{padding-left:8px!important;padding-right:8px!important;gap:3px!important;}
 .site-header--shared .site-header__brand{flex-basis:50px!important;width:50px!important;height:77px!important;}
 .site-header--shared .site-header__brand img{width:50px!important;max-width:50px!important;height:77px!important;}
 .site-header--shared .site-header__tab:nth-child(1){width:40px!important;min-width:40px!important;}
 .site-header--shared .site-header__tab:nth-child(2){width:112px!important;min-width:112px!important;}
 .site-header--shared .site-header__tab:nth-child(3){width:43px!important;min-width:43px!important;}
 .site-header--shared .site-header__tab:nth-child(4){width:54px!important;min-width:54px!important;}
 .site-header--shared::after{left:56px!important;right:12px!important;}
 .site-header--shared .site-header__star{right:11px!important;}
}
