.hero .brand-motto{font-size:clamp(5rem,9.4vw,10rem);line-height:.9;letter-spacing:-.045em;margin-bottom:36px;font-weight:400}.hero .brand-motto em{display:inline-block;padding-bottom:.08em}.header .brand{width:162px}.footer-top .brand{width:180px}.footer-top .footer-motto{font-size:1.65rem;font-weight:600;line-height:1.1;color:var(--paper);letter-spacing:-.025em}.references{background:#141414;color:var(--paper)}.references .section-head{align-items:center}.references .section-head h2{max-width:820px}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 28px}.reference-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:inherit}.reference-visual{display:block;position:relative;overflow:hidden;aspect-ratio:4/3;background:#242424}.reference-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .7s;filter:saturate(.65)}.reference-open:hover img,.reference-open:focus-visible img{transform:scale(1.045);filter:saturate(1)}.reference-action{position:absolute;bottom:18px;right:18px;background:#141414c9;color:#fff;padding:8px 14px;font-size:.78rem;backdrop-filter:blur(8px)}.reference-meta{display:flex;flex-direction:column;padding-top:18px;gap:6px}.reference-name{font-family:'Italiana',Georgia,serif;font-size:2rem;line-height:1.1}.reference-place{font-size:.875rem;color:#bcb7ae}.reference-upcoming{margin-top:60px;border-top:1px solid #49473f;padding-top:35px;display:flex;align-items:center;gap:35px}.reference-upcoming .eyebrow{margin:0;color:var(--accent)}.reference-upcoming h3{font-family:'Italiana',Georgia,serif;font-size:2rem;margin:0}.reference-upcoming p{margin:0;color:#bcb7ae;font-size:.875rem}.reference-upcoming a{margin-left:auto;white-space:nowrap}#reference-dialog{width:min(1100px,92vw);max-height:92svh;padding:24px;border:1px solid #444;background:#141414;color:#fff;overflow:auto}#reference-dialog::backdrop{background:#000d;backdrop-filter:blur(8px)}.reference-close{display:block;margin:0 0 18px auto;border:0;border-bottom:1px solid #888;background:none;color:#fff;padding:8px;font-size:.9rem}#reference-media img,#reference-media video{display:block;width:100%;height:auto;max-height:66svh;object-fit:contain;background:#080808}.reference-caption{padding-top:20px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.reference-caption h2{font-size:2rem;margin:0}.reference-caption p{font-size:.9rem;margin:0;color:#bcb7ae}body.reference-modal-open{overflow:hidden}
@media(max-width:1100px){.header nav{gap:20px}.reference-grid{gap:35px 20px}.reference-upcoming{flex-wrap:wrap;gap:20px}.reference-upcoming a{margin-left:0}}
@media(max-width:850px){.header nav{gap:13px;font-size:.8rem}.header .brand{width:132px}.reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero .brand-motto{font-size:clamp(4.9rem,17vw,7.8rem);line-height:.93}.hero .brand-motto br{display:initial}.reference-grid{gap:32px 18px}.reference-name{font-size:1.65rem}.reference-action{bottom:10px;right:10px;font-size:.75rem;padding:6px 9px}.reference-caption{flex-direction:column;gap:8px}.reference-upcoming{flex-direction:column;align-items:flex-start;gap:15px}#reference-dialog{padding:16px}}
@media(max-width:520px){.reference-grid{grid-template-columns:1fr;gap:32px}.reference-visual{aspect-ratio:4/3}.reference-meta{padding-top:15px}.reference-name{font-size:2rem}}
.reference-item{width:100%}.reference-media-trigger{height:100%;position:relative}.reference-visual>.reference-action{z-index:2}.reference-action:hover,.reference-action:focus-visible{background:#f4f2ed;color:#141414}.reference-video-label{position:absolute;left:16px;bottom:18px;background:#141414c9;padding:8px 12px;font-size:.78rem;color:white;pointer-events:none}.reference-media-trigger:focus-visible{outline-offset:-4px}.reference-visual>.reference-action:focus-visible{outline-offset:-2px}
.logo-motto{display:block;font-size:.72rem;line-height:1.03;font-weight:500;letter-spacing:.02em;margin-top:5px;color:#f4f2ed}.header .brand{width:145px}.header{height:104px}.hero{height:calc(100svh - 104px)}.footer-top .logo-motto{font-size:.85rem;margin-top:9px}
@media(max-width:760px){.header{height:90px}.header .brand{width:126px}.header nav{top:90px}.hero{height:calc(100svh - 90px)}.logo-motto{font-size:.7rem}}
.header .logo-motto,.footer-top .logo-motto{font-size:.72rem;font-weight:400;line-height:1.2;letter-spacing:.04em;white-space:nowrap;text-align:center;margin-top:8px}.header{height:98px}.hero{height:calc(100svh - 98px)}.project-uploads{border:1px dashed #938776;padding:22px;margin:10px 0 26px}.project-uploads label{margin-bottom:8px;font-size:1rem}.project-uploads p{font-size:.8rem;color:#615a50;margin:0 0 16px}.project-uploads input{border:0;padding:0;font-size:.85rem}.project-uploads input::file-selector-button{padding:10px 14px;border:1px solid #746753;background:transparent;margin-right:12px;font:inherit;cursor:pointer}#file-list{list-style:none;margin:16px 0 0;padding:0}#file-list li{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid #bbb1a3;font-size:.8rem}#file-list li span{overflow-wrap:anywhere}#file-list button{border:0;background:none;text-decoration:underline;font-size:.8rem;flex-shrink:0}#upload-status:not(:empty){margin-top:15px;margin-bottom:0;color:#5d4123}.field-optional{color:#6e6557;font-size:.78rem}.form-info a{text-decoration:underline}.contact button:disabled{opacity:.6;cursor:wait}
@media(max-width:760px){.header{height:90px}.header nav{top:90px}.hero{height:calc(100svh - 90px)}.header .logo-motto{font-size:.65rem}.project-uploads{padding:16px}}
.header .brand{width:188.5px}.footer-top .brand{width:234px}
@media(max-width:760px){.header .brand{width:163.8px}}
@media(prefers-reduced-motion:reduce){.reference-visual img{transition:none}.reference-open:hover img{transform:none}}
/* Keep the navigation visible while scrolling and clear anchor destinations. */
.header{position:sticky;top:0;z-index:50}
html{scroll-padding-top:118px}
@media(max-width:760px){html{scroll-padding-top:110px}.header nav{max-height:calc(100dvh - 90px);overflow-y:auto}}
.company-details{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:18px;color:#aaa79f;font-size:.78rem;line-height:1.7}
.company-details{justify-content:center;text-align:center}
/* Match the monochrome photography throughout the site, including hover and gallery. */
.reference-card .reference-visual img,.reference-card:hover .reference-visual img,.reference-card:focus-within .reference-visual img,#reference-media img{filter:grayscale(1) contrast(1.15) brightness(.94)}
