/* Align each desktop photograph with its adjacent content. */
@media(min-width:761px){
.hero{align-items:stretch!important}.hero>div{min-width:0}
body.ivory .hero .hero-art{position:relative;align-self:stretch!important;justify-self:stretch;width:100%;max-width:none;height:auto!important;min-height:0;margin:0!important;box-shadow:none;border:none}
.hero .hero-art img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.person{align-items:stretch}.cabinet-photo{align-self:stretch;min-height:0;height:auto}.cabinet-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.founder-section{align-items:stretch}.founder-copy{min-height:435px}.founder-portrait{height:auto;min-height:435px;align-self:stretch}
.contact-layout{align-items:stretch}.contact-layout>aside{display:flex;flex-direction:column}.contact-architecture{flex:1;min-height:175px;height:auto}.contact-architecture img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
}
@media(max-width:760px){.hero .hero-art{height:320px!important;margin-top:0!important}.hero .hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.founder-copy{min-height:0}}

/* A slimmer home photograph, with the text alignment preserved. */
@media(min-width:761px){body.ivory.home-preview .hero .hero-art{width:85%;justify-self:end}}

.expertise-menu{position:relative}.expertise-menu summary{cursor:pointer;list-style:none}.expertise-menu summary::-webkit-details-marker{display:none}.expertise-menu>div{position:absolute;top:calc(100% + 14px);left:0;min-width:265px;background:#fffdf7;border:1px solid #dedbd4;padding:10px;z-index:20;box-shadow:0 10px 24px #0b174414}.expertise-menu>div>a{display:block;padding:10px 12px;font-size:13px}.expertise-menu>div>a:hover{background:#f2eee5;color:#861d32}

/* Match the slimmer photograph treatment on expertise pages. */
@media(min-width:761px){body.ivory.service-detail .hero .hero-art{width:85%;justify-self:end}}

/* The cabinet building follows the same narrower photograph format. */
@media(min-width:761px){body.ivory.cabinet-preview .hero .hero-art{width:85%;justify-self:end}}

/* Phone navigation and touch controls. */
@media(max-width:760px){
header nav[aria-label]{display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:space-between;gap:8px;width:100%;font-size:12px}
header nav[aria-label]>a:not(.btn){display:flex;align-items:center;min-height:44px}
header nav[aria-label]>.btn{grid-column:1/-1;min-height:44px;font-size:13px;padding:12px}
header .expertise-menu summary{display:flex;align-items:center;min-height:44px;white-space:nowrap}
header .expertise-menu>div{width:min(88vw,320px);min-width:0;top:100%;padding:8px}
header nav .expertise-menu>div>a{display:flex;align-items:center;min-height:44px;padding:10px 12px;font-size:14px}
.hero>div{min-width:0}.hero-art{width:100%;max-width:100%}
.contact-links .email{overflow-wrap:anywhere}
.form-panel input,.form-panel select,.form-panel textarea{font-size:16px;max-width:100%}
.form-panel button{min-height:44px}
}

@media(max-width:760px){
.strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;padding:22px 0;text-align:center;justify-content:normal;align-items:center;font-size:10px;letter-spacing:1px}
.strip>span{display:flex;align-items:center;justify-content:center;min-width:0;min-height:32px;text-align:center;line-height:1.5}
}
